habe mittels add_vent_detect und der callback Funktion ein Script für den PIR an meinem Raspberry Pi B+ geschrieben, dass mir jeweils ein Bild der PiCamera an meine E-Mail Adresse schickt.
Ein Zähler registriert jede PIR-Aktivierung. Nach n Aktivierungen bekomme ich über ein if statement
eine Text Nachricht, aber die im if Statement ebenfalls eingetragene time.sleep Methode um den PIR
eine vordefinierte Zeit zu inaktivieren funktionier nicht.
Wo liegt der Fehler ?
time.sleep Methode
-
luemar -
17. April 2017 um 20:06 -
Erledigt
-
-
time.sleep Methode? Schau mal ob du hier fündig wirst!
-
Würdest du mal den Code mitschicken? Sonst wird's mit der Antwort echt schwierig.
-
FAQ => Nützliche Links / Linksammlung => Interrupt => #9
-
Würdest du mal den Code mitschicken? Sonst wird's mit der Antwort echt schwierig.Vielen dank für die prompte Antwort. Lasse den Code für die PiCamera und das E-Mail schicken zwecks Lesbarkeit weg,
ist ohnehin unproblematisch (mir ist eben aufgegangen, dass ich evtl. ein separates if statement für die time.sleep() Methode brauche ??):
#!/usr/bin/python3
import sys, time
import RPi.GPIO as gpio
gpio.setmode(gpio.BOARD)
gpio.setup(23, gpio.IN)
count = 0
def mein_callback(pin):
global count
count += 1
print('PIR 1 aktiviert am',(time.strftime('%d.%m.%Y %H:%M:%S')), count)
if count%3 == 0:
print('3 mal')
time.sleep(30)
return
try:
gpio.add_event_detect(23, gpio.RISING, callback = mein_callback)
while True:
time.sleep(1)
except KeyboardInterrupt:
print('PIR deaktiviert')
gpio.cleanup() -
1. Bitte nicht Beiträge vollständig quoten/zitieren, vor allem wenn diese genau da drüber stehen.
2. Nur wenn man den vollständigen Code kennt kann man im passenden Zusammenhang helfen. Ohne den vollständigen Code zu kennen => Nein, ein separates if statement für die time.sleep() Methode wird nicht benötigt.
3. FAQ => Nützliche Links / Linksammlung => HowTo: CODE / PHP Code im Forum posten
4. Siehe Beitrag#3
-
Vielen dank für die prompte Antwort. Lasse den Code für die PiCamera und das E-Mail schicken zwecks Lesbarkeit weg,
ist ohnehin unproblematisch (mir ist eben aufgegangen, dass ich evtl. ein separates if statement für die time.sleep() Methode brauche ??):
#!/usr/bin/python3
import sys, time
import RPi.GPIO as gpio
gpio.setmode(gpio.BOARD)
gpio.setup(23, gpio.IN)
count = 0
def mein_callback(pin):
global count
count += 1
print('PIR 1 aktiviert am',(time.strftime('%d.%m.%Y %H:%M:%S')), count)
if count%3 == 0:
print('3 mal')
time.sleep(30)
return
try:
gpio.add_event_detect(23, gpio.RISING, callback = mein_callback)
while True:
time.sleep(1)
except KeyboardInterrupt:
print('PIR deaktiviert')
gpio.cleanup()also ich muss gestehen, ich habe den Code oben mit dem Zähler noch nicht in das Script für PiCamera und E-Mail integriert.
Möchte das erst tun wenn der Code oben nach meinen Vorstellungen funktioniert.
Die weiteren Links habe ich angesehen aber kein vergleichbaren Fall gefunden. -
Keinen vergleichbaren Fall?
Wonach suchst du - nach fix und fertigem Code den du 1:1 nur noch kopieren brauchst? Na dann viel Glück!
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!