Ma framboise suit vos mouvements

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):

babyroom_pir

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()

A propos de Mehdi HAMIDA

Avec plus de 20 ans d’expérience dans la tech, je me suis spécialisé dans la gestion des données, le cloud (AWS, Snowflake) et l'architecture IT. Avant ça, j’étais expert technique et chef de projet sur des missions stratégiques. Je m'appelle Mehdi HAMIDA, et aujourd’hui, je partage simplement mes découvertes et connaissances à travers ce blog.

Lire aussi

Harry Potter : Wizards Unite

Le studio Niantic, qui a conçu Ingress et Pokémon Go (mais surtout Ingress), a annoncé …

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *