Rasp-Hack-GMAIL-LED
Introduction
Voici un exemple simple qui interroge votre compte GMail et utiliser une librairie pour déterminer combien il y a de mail non-lu.
Lorsque le programme constate qu'il y a plus d'un certain nombre d'émail non lu, il allume la LED rouge... sinon c'est la LED Verte qui est allumée.
prérequis
Cet exemple se base sur le précédent tutoriel Pi Leds dont il exploitera le montage.
Librairies nécessaires
Cet exemple utilise la librairie feedparser. Pour l'installer, il faut utiliser la commande pip suivante:
sudo pip install feedparser
Script Python
Le script Python
Pour créer facilement ce script sur votre python, nous vous proposons une méthode à base de copier/coller à l'aide des étapes suivantes à réaliser dans un terminal (ou une connexion SSH).
Copier/coller le code
Voici une méthode Copier/Coller super simple
On commence par demander la création du fichier
cat <<! > raspi-gmail.py
On fait ensuite le copier/coller du code
#!/usr/bin/env python # -*- coding: latin-1 -*- import RPi.GPIO as GPIO, feedparser, time DEBUG = 1 USERNAME = "utilisateur-gmail" # seulement ce qui se trouve devant le signe @, mettez le votre ici PASSWORD = "mot-de-passe" NEWMAIL_OFFSET = 1 # le nombre de message non lu, le mien est à 88, vous devriez y placer votre propre valeur MAIL_CHECK_FREQ = 60 # vérifier les e-mails toutes les 60 secondes (4 toutes les 4 secondes ca marche pas mal pour faire un test) GPIO.setmode(GPIO.BCM) GREEN_LED = 18 RED_LED = 23 GPIO.setup(GREEN_LED, GPIO.OUT) GPIO.setup(RED_LED, GPIO.OUT) while True: # === retirer le commentaire des lignes suivantes si vous voulez voir l'URL appelée === # url = "https://" + USERNAME + ":" + PASSWORD +"@mail.google.com/gmail/feed/atom" # print url newmails = int(feedparser.parse("https://" + USERNAME + ":" + PASSWORD +"@mail.google.com/gmail/feed/atom")["feed"]["fullcount"]) if DEBUG: print "You have", newmails, "new emails!" if newmails > NEWMAIL_OFFSET: GPIO.output(GREEN_LED, True) GPIO.output(RED_LED, False) else: GPIO.output(GREEN_LED, False) GPIO.output(RED_LED, True) time.sleep(MAIL_CHECK_FREQ)
On termine l'opération de saisie simplement avec:
!
Editer le fichier
Vous aurez besoin de modifier le fichier raspi-gmail.py, pour y inclure votre login et mot de passe GMail.
Vous pouvez utiliser nano... rudimentaire mais simple et efficace.
nano raspi-gmail.py
Sachez juste que les options affichée comme ^X signifie Ctrl+X
Rendre le fichier exécutable
Par défaut, les fichier sont considéré comme des fichiers texte non exécutable... même s'il contiennent des scripts.
Il faut donc indiquer au système d'exploitation qu'il peut autoriser l'exécution de notre raspi-blink.py
chmod +x raspi-gmail.py
Exécuter notre programme
sudo ./raspi-gmail.py
Si votre compte ne contient qu'un seul e-mail non lu... il suffit de vous envoyer un e-mail pour voir la LED rouge s'allumer.
Au premier démarrage de mon programme j'ai constaté que j'avais 88 e-mails non lus.
J'ai donc modifier
Arrêter votre programme
Un simple Ctrl + C fera l'affaire