Différences entre versions de « PI-Easy-Copy-Paste »
(Page créée avec « 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... ») |
|||
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 | ||
+ | |||
+ | 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> |
Version du 21 octobre 2012 à 11:04
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 ici par exemple).
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.
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
cat <<! > raspi-gmail.py
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
cat <<! > raspi-gmail.py
On fait ensuite le copier/coller du code
#!/usr/bin/env python 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)
On termine l'opération de saisie simplement avec:
!