Objets principaux de mon blog : ne pas oublier et partager…
L’un des premiers fichiers en PYTHON que j’ai fait. Il s’agit de la mise en place d’un détecteur de mouvement (PIR).
Le montage est le suivant (extrêmement simple hein):
Mon PIR est sur 3,3V, mais la plupart sont sur du 5V, tout dépend de votre modèle.
Le code est le suivant (on pourra ensuite le compléter avec des actions sur la détection de mouvements):
#!/usr/bin/python ################################################################################ # PROJECT: Babyroom - FILE: detection_mouvements.py - CREATION: 2013/03/04 # Ce fichier est sous licence GPL. # $Id$ ################################################################################ """ Detection de mouvements sur le GPIO 4 avec enregistrement dans un fichier de log Ce fichier de log est a destination de rrdtool. U{https://www.hamida.info/}. @version: 1.0 @author: U{Mehdi HAMIDA (idem) } """ # Import required Python libraries import time import RPi.GPIO as GPIO ################################################################################ # Use BCM GPIO references # instead of physical pin numbers GPIO.setmode(GPIO.BCM) # Define GPIO to use on Pi (mon PIR est sur la Pin 4) GPIO_PIR = 4 print " MOUVEMENT DETECTE (CTRL-C pour sortir)" # Set pin as input GPIO.setup(GPIO_PIR,GPIO.IN) # Echo print " Pret" try: # Loop until users quits with CTRL-C while True : type_sonde = "detection_mouvements" logfile = "/data/rrd/log/"+ type_sonde +".log" if GPIO.input(GPIO_PIR): print " Mouvement detecte!" output_file = open(logfile, "w") output_file.write("1") output_file.close() else: output_file = open(logfile, "w") output_file.write("0") output_file.close() time.sleep(1) # every 1 sec except KeyboardInterrupt: print " Quit" # Reset GPIO settings GPIO.cleanup()
Un commentaire
Pingback: Ma framboise surveille la porte | Geek and more