Ligne 1 : |
Ligne 1 : |
− | Introduction | + | == Introduction == |
| Si vous commandez/contrôler votre PI depuis un ordinateur distant en SSH, vous vous trouverez tôt ou tard face à la nécessité de placer un script Python sur votre PI (script disponible sur le NET comme [http://learn.adafruit.com/raspberry-pi-e-mail-notifier-using-leds/python-script ici par exemple]). | | Si vous commandez/contrôler votre PI depuis un ordinateur distant en SSH, vous vous trouverez tôt ou tard face à la nécessité de placer un script Python sur votre PI (script disponible sur le NET comme [http://learn.adafruit.com/raspberry-pi-e-mail-notifier-using-leds/python-script ici par exemple]). |
| | | |
− | Si vous n'utilisez pas encore SSH pour commander votre PI, nous vous conseillons vivement de prendre connaissance de cette méthode très-très-très confortable. | + | <font color="green">Si vous n'utilisez pas encore [[PI-SSH|SSH pour commander votre PI]], nous vous conseillons vivement de prendre connaissance de cette méthode très-très-très confortable et très productive.</font> |
| | | |
− | Certes | + | Certes, il est possible d'utiliser '''nano''' et de recopier le programme ligne par ligne... mais il y a plus simple et plus efficace :-) |
| + | |
| + | == Commande CAT == |
| + | En utilisant une commande cat comme celle présente ci-dessous |
| + | <nowiki>cat <<! > raspi-gmail.py</nowiki> |
| + | |
| + | Vous indiquer à l'interpréteur de commande: |
| + | # qu'il faut créer un fichier raspi-gmail.py (c'est le "> raspi-gmail.py") |
| + | # copier tout ce qui passe au clavier dedans (c'est l'opération de concaténation faire par cat) |
| + | # arrêter l'opération de copiage/concaténation lorsque "!" sera frapper sur une ligne seule (au clavier) |
| + | |
| + | == Le Copier/Coller facile == |
| + | Du coup, faire un copier/coller depuis le Net devient aussi simple que: |
| + | |
| + | 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 = "username" # just the part before the @ sign, add yours here |
| + | PASSWORD = "password" |
| + | |
| + | NEWMAIL_OFFSET = 1 # my unread messages never goes to zero, yours might |
| + | MAIL_CHECK_FREQ = 60 # check mail every 60 seconds |
| + | |
| + | GPIO.setmode(GPIO.BCM) |
| + | GREEN_LED = 18 |
| + | RED_LED = 23 |
| + | GPIO.setup(GREEN_LED, GPIO.OUT) |
| + | GPIO.setup(RED_LED, GPIO.OUT) |
| + | |
| + | while True: |
| + | |
| + | 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> |
| + | |
| + | Voila, vous avez de nouveau le "prompt" de saisie de commande. |
| + | |
| + | Si vous exécutez la commande '''ls''', vous constaterez que le fichier "raspi-gmail.py" est maintenant disponible sur votre Raspberry-Pi. |
| + | |
| + | <nowiki>ls</nowiki> |
| + | |
| + | Vous pouvez maintenant éditer le contenu de fichier directement depuis votre Pi à l'aide de la commande '''nano'''. |
| + | |
| + | <nowiki>nano raspi-gmail.py</nowiki> |