Bonjour,
j’ai un script python qui permet de detecter des mouvements et de m’alerter par mail.
Il fonctionne correctement
Je voudrais le programmer pour qu’il se lance au démarrage en tâche de fond.
j’ai essayé de faire un update-rc.d monscript.py defaults mais au reboot le script s’est lancé et a bloqué le démarrage car il tournait en boucle. Je n’avais plus alors accès au ssh ni au serveur web.
C’est comme si le démarrage n’était pas fini. et mon ctrl+c pour quitter ne marchait pas.
Avez-vous une solution à mon problème?
voici mon code python:
[quote]#
Detecter des mouvements avec un capteur infrarouge
Importation des librairies pythons
import RPi.GPIO as GPIO
import time
import urllib
import os
import datetime
Utiliser les BCM GPIO et pas les numeros des pins sur P1
GPIO.setmode(GPIO.BCM)
Pin GPIO utilisee
GPIO_PIR = 4
Configurer la pin 7 en entree
GPIO.setup(GPIO_PIR,GPIO.IN)
Initialisation des variables
Current_State = 0
Previous_State = 0
try:
print "Attente detection…"
logFile.close()
Boucle jusqu a ce que la sortie du capteur passe a 0
while GPIO.input(GPIO_PIR)==1:
Current_State = 0
Tourne en boucle jusqu’a ce que l utilisateur quitte (par CTRL+C)
while True :
# Lire l'etat du capteur
Current_State = GPIO.input(GPIO_PIR)
print Current_State;
if Current_State==1 and Previous_State==0:
# Le detecteur a envoye un signal
sts = p.close()
if sts != 0:
print "Sendmail exit status", sts
# On attend secondes
time.sleep(2)
# On enregistre l'ancien etat
Previous_State=1
elif Current_State==0 and Previous_State==1:
# Le capteur est a nouveau pret
Previous_State=0
# On attend 1 seconde
time.sleep(1)
except KeyboardInterrupt:
print " Quit"
Reinitialisation des parametres GPIOs
GPIO.cleanup()[/quote]
merci d’avance
edit:
dans /etc/rc.local, il suffit d’ajouter le script et de rajouter & précédé d’un espace!