|
|||||||
Как мигнуть светодиодом в Arduino через USB с помощью Питона
Время создания: 05.12.2010 16:00
Раздел: Компьютер - Аппаратное обеспечение - Arduino / Atmega8
Запись: xintrea/mytetra_syncro/master/base/0000003339/text.html на raw.github.com
|
|||||||
|
|||||||
Индикация о новом сообщении Gmail через Arduino Неделю назад получил бандероль с Freeduino 2009 — полный аналог Arduino Duemilanove. Хочу показать простенький пример. В данном примере Arduino будет Вас информировать о новых сообщениях на Gmail. Так как, пока не приобрел LCD дисплей, в качестве индикации будет моргать светодиод. Приложение состоит из 2-х частей. Первая часть на ПК — скрипт на Python, который с помощью cron запускается каждые n минут, проверяет сообщения и отправляет количество непрочитанных писем по последовательному порту в Arduino. Вторая часть на Arduino — скейтч, который проверяет значение отправляемое с ПК и если писем больше нуля то начинает моргать светодиод. Схема подключения светодиода: Скрипт на Python, для работы требуется библиотека PySerial: import urllib, re, serial
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()
ser = serial.Serial('/dev/ttyUSB0', 9600) ser.write(gml) ser.close() Скетч для Arduino:
int ledPin = 13; int mail = 0; int i = 0;
void setup(){ Serial.begin(9600); pinMode(ledPin, OUTPUT); }
void led_blink(){ if (i == 1){ digitalWrite(ledPin, HIGH); delay(500); digitalWrite(ledPin, LOW); delay(1000); } delay(1000); }
void loop(){ if (Serial.available() > 0){ mail = Serial.read(); if (char(mail) != '0'){ i = 1; } else{ i = 0; digitalWrite(ledPin, LOW); } } led_blink(); } В crontab прописываете путь до скрипта и интервал между запусками. В Arduino заливаете скейтч и наслаждаетесь миганию светодиода при получении новых сообщений. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|