Différences entre versions de « Rasp-Hack-GMAIL-LED »
(Page créée avec « == 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 co... ») |
|||
Ligne 13 : | Ligne 13 : | ||
== Script Python == | == 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<br /> | ||
+ | |||
+ | On commence par demander la création du fichier | ||
+ | <nowiki>cat <<! > raspi-gmail.py</nowiki> | ||
+ | |||
+ | On fait ensuite le copier/coller du code | ||
+ | <nowiki>#!/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)</nowiki> | ||
+ | |||
+ | On termine l'opération de saisie simplement avec: | ||
+ | <nowiki>!</nowiki> | ||
+ | |||
+ | === Editer le fichier === | ||
+ | Vous aurez besoin de modifier le fichier raspi-gmail.py, pour y inclure votre login et mot de passe GMail.<br /> | ||
+ | Vous pouvez utiliser nano... rudimentaire mais '''simple et efficace'''. | ||
+ | |||
+ | <nowiki>nano raspi-gmail.py</nowiki> | ||
+ | |||
+ | 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 | ||
+ | <nowiki>chmod +x raspi-gmail.py</nowiki> | ||
+ | |||
+ | == Exécuter notre programme == | ||
+ | <nowiki>sudo ./raspi-gmail.py</nowiki> | ||
+ | |||
+ | 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.<br /> | ||
+ | J'ai donc modifier | ||
+ | |||
+ | == Arrêter votre programme == | ||
+ | Un simple Ctrl + C fera l'affaire |
Version du 21 octobre 2012 à 15:28
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