Raspberry Pi Gmail индикатор Python GPIO pip cron

Индикатор новых сообщений в Gmail

В это статье рассказывается, как сделать индикатор новых сообщений в Gmail для Raspberry Pi. Для этого понадобится программа на языке Python длиной всего в 10 строк! Если в подключенной учетной записи Gmail имеются новые сообщения, то светодиод загорается, если непрочитанных сообщений нет, он гаснет.

Проект основан на основе аналогичного для Arduino и Mac OS X.

Скрипт на Python для упрощения проверки сообщений на Gmail использует модуль feedparser, а также модуль RPi.GPIO для управления выводами шины GPIO. Самый простой способ устанавливать модули Python, это менеджер пакетов Pythonpip. Для установки pip используйте команду apt-get.

Замечание: для свежих версий Raspbian (после 15.07.2012) также потребуется пакет с заголовочными файлами python2.7-dev.

Наберите в консоли терминала:

sudo apt-get install python-pip python2.7-dev

Теперь, для того, чтобы pip правильно заработал, нужно обновить пакет distribute с помощью программы easy_install:

sudo easy_install -U distribute

Теперь, с помощью pip установим модули feedparser и GPIO:

sudo pip install feedparser RPi.GPIO

Наконец, все приготовления выполнены. Cкопируйте текст скрипта в файл raspi_gmail.py на Raspberry Pi:

import RPi.GPIO as GPIO, feedparser
USERNAME="username@gmail.com"
PASSWORD="password"
GPIO_PIN=12
GPIO.setmode(GPIO.BOARD)
GPIO.setup(GPIO_PIN, GPIO.OUT)
newmails = int(feedparser.parse("https://" + USERNAME + ":" + PASSWORD + "@mail.google.com/gmail/feed/atom")["feed"]["fullcount"])
if newmails > 0: 
	GPIO.output(GPIO_PIN, True)
else: 
	GPIO.output(GPIO_PIN, False)

Теперь осталось только добавить задачу вcronдля запуска каждую минуту. Для этого, откройте для редактирования файл конфигурации командой:

sudo crontab -e

Добавьте эту строку в конце файла (проверьте путь к скрипту):

* * * * * python /home/pi/raspi_gmail.py

Все готово!

С этого момента cron будет запускать наш скрипт каждую минуту. Если в Gmail есть непрочитанные сообщения, то 12-й вывод GPIO будет в состоянии логической единицы и светодиод будет гореть, в противном случае, на выводе будет логический ноль и светодиод не будет гореть.

Оригинал статьи на английском языке: http://mitchtech.net/raspberry-pi-physical-gmail-notifier/?utm_source=rss&utm_medium=rss&utm_campaign=raspberry-pi-physical-gmail-notifier

Оригинал статьи на русском языке: http://www.armlinux.ru/%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D0%BD%D0%BE%D0%B2%D1%8B%D1%85-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-gmail/

Хотелось рассказать об еще одном простом применении Raspberry Pi. Интересно получится ли у вас сделать такой индикатор. Я все делал по инструкции, но почему-то скрипт не работает. Я отредактировал код и теперь этот скрипт просто включает светодиод.

import RPi.GPIO as GPIO
GPIO_PIN=12
GPIO.setmode(GPIO.BOARD)
GPIO.setup(GPIO_PIN, GPIO.OUT)
GPIO.output(GPIO_PIN, True)

Надеюсь, что у вас все получится, если вы будете делать подобный индикатор! ;-) 

Тэги:

 

Автор:

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

  • Ivanserov8
    26.09.2013 в 14:49 ответ

    Я бы хотел сделать, чтобы выводилось на дисплей 20х4 информация о почте

    • Gasinskiy12
      26.09.2013 в 15:16 ответ

      Да было бы не плохо. На такой дисплейчик можно и тему, от кого письмо и время, когда пришло сообщение. У меня есть 16х2 дисплей только никак не получается подключить...

Ваш комментарий

Авторизуйтесь для отправки комментария

© Сообщество пользователей RaspberryPi 2021