Видео ролики бесплатно онлайн

Смотреть измена видео

Официальный сайт maxceiling 24/7/365

Смотреть видео бесплатно

20.04.10 21:43 aspire89

HardwareИндикация о новом сообщении Gmail + термометр через Arduino

Что такое Arduino и с чем его едят можно посмотреть на официальном сайте.
В данном примере Arduino будет Вас информировать о новых сообщениях на Gmail. Так как, пока не приобрел LCD дисплей, в качестве индикации будут моргать светодиоды. Дома еще завалялся цифровой датчик DS1820. Не лишним будет выводить температуру в комнате на conky с интервалом 30 с.

Приложение состоит из 2-х частей. Первая часть на ПК — скрипт на Python, который с помощью conky запускается каждые 30 секунд, проверяет сообщения, отправляет количество непрочитанных писем по последовательному порту в Arduino и запрашивает температуру. Вторая часть на Arduino — скейтч, который проверяет значение отправляемое с ПК и если писем больше нуля то начинает моргать светодиодами, а также считывает с датчика температуру и отправляет по последовательному порту.


Схема подключения элементов:
ds1820_2led.png

Скрипт на Python, для работы требуется библиотека PySerial:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import urllib, re, serial, os

gml = ''
username="***"
password="***"
adr = "https://"+username+":"+password+"@mail.google.com/mail/feed/atom"  
cont = urllib.urlopen(adr)  
s = cont.read()

reg = re.compile(r"<fullcount>\d+</fullcount>")  

gmlcnt = reg.search(s).group()
reg2 = re.compile(r"\d+")  
gml = reg2.search(gmlcnt).group()

if os.path.exists('/dev/ttyUSB0') == 1:
   ser = serial.Serial('/dev/ttyUSB0', 9600)
   ser.write(gml) #отправляем кол-во непрочитанных писем
   ser.write("t") #отправляем символ "t", по получении которого arduino опросит датчик
   print ser.readline().strip() #получаем значение температуры
   ser.close()


Скейтч для arduino, для работы потребуется библиотека OneWireTempSensor.h:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <OneWire.h>
#include <OneWireTempSensor.h>

OneWireTempSensor sensors(2);
int numdevs;
int R = 12;
int G = 11;
int i = 0;

void setup(){
  numdevs = sensors.getDevices();
  Serial.begin(9600);
  pinMode(R, OUTPUT);  
  pinMode(G, OUTPUT);  
}

void led_blink(){
  if (i == 1){
    digitalWrite(R, HIGH);
    digitalWrite(G, LOW);
    delay(100);
    digitalWrite(G, HIGH);
    digitalWrite(R, LOW);
    delay(100);
  }
}
   
void loop(){
  int temp;
  int mail;

  if (Serial.available() > 0){
    mail = Serial.read();
    if ((char(mail) != 't') && (char(mail) != '0')){
      i = 1;
    }
    if(char(mail) == 't'){
      temp = (int) sensors.getTempC(0);
        if (temp != 85){
          Serial.println(temp);
        }
    }
    if (char(mail) == '0'){
      i = 0;
      digitalWrite(R, LOW);
      digitalWrite(G, LOW);
    }
  }
  led_blink();
}
 


Библиотека OneWireTempSensor.h не совсем корректно работает со старыми датчиками DS1820 и бывают моменты когда датчик выдает +85 градусов, поэтому с коде сделана на это поправка.
И строчка в conky:
${execi 30 python ~/dev/Gmail_check.py}°C



Комментариев нет

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 111)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2155 из 161 города)
            Топ пользователей Топ блогов

            Новенькие: olegteror, T1mbo, bombadill, salmaja, harekml
            welinux.ru

            Смотреть онлайн бесплатно

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн