Modifications

Sauter à la navigation Sauter à la recherche
2 836 octets ajoutés ,  21 octobre 2012 à 15:28
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
29 836

modifications

Menu de navigation