Народ, помогите сделать уведомлялку о новых email-ах. Скетч для ардуино я сам написать в состоянии , но программу, которая будет проверять почту и отправлять на COM-порт, например, 1 или 0, не получается .
Код (Text): # -*- coding: utf-8; -*- import imaplib import serial import re from time import sleep def unread_count(): """ Возвращает количество непрочитанных сообщений, соединяясь с GMail через IMAP-протокол """ conn = imaplib.IMAP4_SSL('imap.gmail.com', '993') conn.login('your.name@gmail.com', 'yourpassword') _, data = conn.status("INBOX", "(UNSEEN)") count = re.search("UNSEEN (\d+)", data[0]).group(1) return int(count) def main(): # Открываем соединение до Arduino. # Замените /dev/ttyACM0 на имя порта, где у вас Arduino # Указанное имя работает для Arduino Uno на Linux io = serial.Serial('/dev/ttyACM0', 9600) try: while True: c = unread_count() print 'Got %s unread messages' % c # посылаем в текстовом виде количество непрочитанных # сообщений на Arduino io.write("%s\n" % c) # Отдыхаем минуту sleep(60) except KeyboardInterrupt: # штатное завершение, ничего не делаем pass finally: # в любом случае убираем за собой io.close() if __name__ == '__main__': main()
Спасибо! Это же скрипт на python, верно? У меня тут два вопроса возникло: 1) Код (Text): # Замените /dev/ttyACM0 на имя порта, где у вас Arduino # Указанное имя работает для Arduino Uno на Linux А как его узнать, если я работаю под windows? 2) Какой сигнал посылает скрипт на Arduino?
Это полноценная программа на Питоне 1) COM1, COM2, COM152 2) Код (Text): # посылаем в текстовом виде количество непрочитанных # сообщений на Arduino io.write("%s\n" % c)
Я писал на Python 2.x, у вас Python 3.2 Попробуйте Код (Text): print 'Got {0} unread messages'.format(c) …и ниже по аналогии
В версии python3.2 необходимо писать: print('Got {0} unread messages'.format(c)), т.к. там не много изменился синтаксис функции print. ImportError: No module serial - значит что у вас не установлен модуль serial для python. Можно взять отсюда: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyserial. Там еще много полезных скомпилированных библиотек для python.