samedi 26 novembre 2022

Tag Archives: détecteur intrusion

Ma framboise surveille la porte

Mon second code en PYTHON. Il s’agit de la mise en place d’un détecteur d’ouverture de porte.

Le montage est encore plus simple que celui du détecteur de mouvements :

babyroom_intrusion

#!/usr/bin/python
################################################################################
# PROJECT: Babyroom - FILE: detection_intrusion.py - CREATION: 2013/03/02
# Ce fichier est sous licence GPL.
# $Id$
################################################################################
"""
Detection d'intrusion sur le GPIO 17 avec enregistrement dans un fichier de log
Ce fichier de log est a destination de rrdtool.
U{http://geekandmore.fr/}.

@version: 1.0
@author: U{Mehdi HAMIDA (idem) <idem@highlanders.org>}
"""

# 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
DOOR_PIN = 17

print " INTRUSION DETECTEE (CTRL-C pour sortir)"

# Set pin as input
GPIO.setup(DOOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)      # Echo

print "  Pret"

try: 
# Loop until users quits with CTRL-C
	while True :
		type_sonde = "detection_intrusion"
               	logfile = "/data/rrd/log/"+ type_sonde +".log"

		if GPIO.input(DOOR_PIN):
			print "  Intrusion detectee!"
               	 	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(0.5) 

except KeyboardInterrupt:
	print "  Quit"
	# Reset GPIO settings
	GPIO.cleanup()