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.
Pi-Cobbler ou Pi-Cobbler-Plus?
Avec l'arrivée du Raspberry Pi 3, Raspberry Pi-2 et Raspberry Pi-B PLUS, Raspberry Pi Zero W vient également un GPIO étendu de 40 broches rétro-compatible avec le GPIO des premières générations du Raspberry-Pi qui, lui, n'avait que 26 broches.
Les 26 premières broches du GPIO étant identiques entre le Raspberry-Pi modèle B et le Raspberry-Pi 3, Pi 2 (ou Pi B+), tout ce que vous appendrez sur le GPIO du modèle B fonctionnera à l'identique aussi sur un modèle B+, le Pi 2 et le Pi 3:-) |
La seule vraie différence réside dans la longueur du GPIO du modèle Pi-3, Pi-2 ou B+ qui contient des broches en plus... et le Pi-Cobbler PLUS qui à également grandi pour accueillir les broches en plus.
Avec l'apparition du Pi Zero, nous pouvons reparler de la correspondance des GPIO.
Pour notre plus grand bonheur, le GPIO du Pi Zero et du Pi 3 (ou Pi 2) sont identiques :) chouette.
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
Où acheter
Vous trouverez les produits nécessaire chez MCHobby
- Raspberry Pi-2
- Raspberry Pi 3
- Raspberry Pi-B PLUS
- Pi-Cobbler PLUS
- Raspberry Pi B
- Pi-Cobbler
- breadboard
- Kit de LEDs
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.
Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com