Différences entre versions de « PI-Easy-Copy-Paste »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
(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:

  1. qu'il faut créer un fichier raspi-gmail.py (c'est le "> raspi-gmail.py")
  2. copier tout ce qui passe au clavier dedans (c'est l'opération de concaténation faire par cat)
  3. 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:

!