Modifications

Sauter à la navigation Sauter à la recherche
3 249 octets ajoutés ,  29 février 2016 à 17:03
aucun résumé de modification
Ligne 2 : Ligne 2 :  
Voici un exemple simple qui interroge votre compte GMail et utiliser une librairie pour déterminer combien il y a de mail non-lu.
 
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.  
+
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.
 +
 
 +
[[Fichier:Rasp-Hack-LED (mini).jpg]]
 +
 
 +
=== Pi-Cobbler ou Pi-Cobbler-Plus? ===
 +
 
 +
{{picobbler-compatibility}}
    
== prérequis ==
 
== prérequis ==
Ligne 13 : Ligne 19 :     
== 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
 +
 +
== Où acheter ==
 +
Vous trouverez les produits nécessaire chez MCHobby
 +
* {{link-product-pi2}}
 +
* {{link-product-pi3}}
 +
* {{link-product-piplus}}
 +
* {{link-product-picobblerplus}}
 +
* {{link-product-pi}}
 +
* {{link-product-picobbler}}
 +
* {{pl|90|breadboard}}
 +
* {{pl|66|Kit de LEDs}}
 +
 +
{{MCH-Accord}}
 +
 +
{{ADF-Accord}}
29 837

modifications

Menu de navigation