Forum

Einloggen | Registrieren | RSS  

raspberry pi und PIR (Computertechnik)

verfasst von luemar(R), 27.04.2017, 18:56 Uhr

» Hi,
»
» irgendwie hab ich die Benachrichtigungs-E-Mail übersehen und deinen Post
» erst heute gelesen...
»
» » Habe Deinen letzte Hinweis mal so getestet:
» » hat aber nicht funktioniert, obwohl ich den if Block an 2 verschiedenen
» » Stellen einfügte(ohne Fehlermeldung)
» Wundert mich nicht ;-) wenn man das Programm mal auf das Wesentliche
» reduziert hast du folgendes geschrieben
» 1. Ist True gleich True dann
» 2. Schlafe eine Sekunde
» 3. Beginne bei 1.
»
» » Funktioniert hat der Test mit einem Script mit gpiozero:
» » Damit reagiert aber der PIR nach jedem Auslösen 2 mal, unabhängig von
» der
» » Stellung der Potentiometer.
» wait_for_motion() blockiert vermutlich bis ein Event kommt (hab nicht
» nachgesehen, aber der Methoden-Name impliziert das schon mal). Wird dann
» eine Bewegung erkannt zählst du den counter hoch, soweit ok.
» Dann prüfst du ob der counter > 5 ist ... das ist er sobald die Schleife
» fünf mal durchlaufen wurde, also der PIR fünf mal ausgelöst hat, und danach
» jedes mal wenn der PIR auslöst - du setzt den counter nämlich nicht
» zurück.
» Die Prüfung auf time.time() > (last_time + 3) ergibt immer TRUE, da du in
» jedem Schleifendurchlauf last_time auf die aktuelle Zeit zu setzten, fünf
» Sekunden schläfst und dann prüfst ob mehr als drei Sekunden vergangen sind
» (das ist immer der Fall, da du ja für 5 Sekunden schläfst)
»
» Ich hab den Eindruck, dass du das algorithmischen Denken noch etwas üben
» musst. Owa des wird scho nu - so wai i di kenn gibt aia eh koin rua :-)
»
» » Mein Test entsprich aber nicht dem, was ich brauche: Mein PIR-Script
» sollte
» » in den Schlafmodus versetzt werden
» » wenn count > x und time.time() < (last_time + y) ist, d.h. erst nachdem
» » diese Konditionen erfüllt sind wieder ansprechen können.
» Da kann ich dir nicht so ganz folgen. Kannst du das mal in ein paar
» normalen Sätzen formulieren?
» z.B. So: "Wenn der PIR eine Bewegung erkennt soll ein Foto gemacht werden.
» Danach sollen alle Bewegungen für X Sekunden ignoriert werden. Dann soll
» bei einer weiteren Bewegung wieder ein Foto gemacht werden."
»
» Hab übrigens mal den PIR der neulich mit der Post kam und den PI aus den
» Umzugskartons gekramt und ein bisschen experimentiert. Mein PIR (basiert
» auf HC-SR501) meldet in der empfindlichsten Einstellung nur alle zehn
» Sekunden eine Bewegung. Verhält sich dein PIR auch so? Ein paar Zeilen
» Pyhton-Script hab ich auch geschrieben. Die funktionieren soweit auch, aber
» so lange ich nicht weiß was du eigentlich erreichen willst behalte ich den
» Code mal für mich, sonst verwirre ich dich damit möglicherweise mehr als
» ich dir weiterhelfen kann ;-)
»
» » Dieses Poblem poste ich auf www.forum-raspberrypi.de.
» Gerne auch mal den Deep-Link, dann muss man nicht suchen ;-)
» http://www.forum-raspberrypi.de/Thread-python-time-sleep-methode
» Versteht das bitte nicht falsch, niemand muss sich rechtfertigen wenn er in
» mehreren Foren zum gleichen Problem Hilfe sucht, das ist schon OK. Aber es
» ist nur Fair gegenüber allen Leuten, die sich mit deiner Fragestellung
» befassen, darauf hinzuweisen. Möglicherweise hat sich das Thema ja schon in
» einem anderen Forum erledigt.

Hallo Experten und bastelix,
schätze die eingehende Antwort, lerne auf diesem Forum mehr als in Lehr-Texten und Tutorials.

Ich möchte 2 Dinge erreichen:
1. dass der PIR definierbare Male - z.B. 3 Mal - anspricht, in festlegbaren Zeitabständen - z.B. 30 sec.
und dann jeweils die Aufnahme eines Fotos und dessen Versand per E-Mail an mich auslöst, das um Fehlalarme zu erkennen (ein entsprechendes Script für Foto + E-Mail habe ich),
Vielleicht wäre eine Fotosequenz oder ein Video die einfachere Lösung.

2. dass danach der PIR eine definierbare Zeit in den Schlafmodus versetzt wird, damit ich nicht laufend Mails mit Fotos bekomme wenn sich Unbefugte im Überwachungsbereich bewegen.

Wenn das mal funktioniert möchte ich neben dem Bild noch ein SMS erhalten und mir einen remote access
einrichten.

Zu 1.:
Mein PIR PI-ADA-189 verhält sich in verschiedenen Scripts erratisch d.h. es gibt kein 1:1 Verhältnis
zwischen Aktivierung und Ausgangssignal, könnte auch am Script liegen:

mit dem RPi.GPIO Modul und folgendem Script:

>#!/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',count,'.Mal', time.strftime('%d.%m.%Y %H:%M:%S'))
>>return

>try:
>>gpio.add_event_detect(23, gpio.RISING, callback = mein_callback)

>>while True:
>>>time.sleep(8)

>except KeyboardInterrupt:
>>print('PIR deaktiviert')

>gpio.cleanup()

"schläft" der PIR 10 sec. (wie Du erwähnt hast) plus die in time.sleep eingestellten Sekunden.
Wird der PIR vor Ablauf dieser Zeit erneut aktiviert "schläft" er erneut während dieser Zeitperiode.
Theoretisch würde er, wenn er repetitiv vor Ablauf der Zeitperiode aktiviert würde, kein
Ausgangssignal mehr liefern, also blockiert bleiben.

Mit dem Modul gpiozero und folgendem Versuchs-Script (unvollständig):

>#!/usr/bin/python3
>import time
>from gpiozero import MotionSensor
>pir = MotionSensor(11)
>global count
>count = 0
>global last_time
>last_time = time.time()

>while 1:
>>pir.wait_for_motion()
>>count += 1
>>print('PIR 1', count, 'mal aktiviert am', last_time)
>>time.sleep(11)

wird der print Befehl, je nachdem welcher Wert in time.sleep eingetragen ist, unregelmässig, 1 mal, 3 mal 4 mal usw. ausgeführt und erst ab 10 sec gibt es eine annähernd 1:1 Reaktion auf Aktivierungen des PIR.

Zu 2. habe ich noch kein Lösung gefunden, bin dankbar um Anregungen.
Das mit anderen Foren geht klar.

Ein ziemlicher Brocken. Bin gespannt, luemar.



Gesamter Thread:

raspberry pi und PIR - luemar(R), 17.04.2017, 20:30
raspberry pi und PIR - Gast, 17.04.2017, 20:48
raspberry pi und PIR - luemar(R), 17.04.2017, 20:56
raspberry pi und PIR - Gast, 17.04.2017, 21:34
raspberry pi und PIR - luemar(R), 18.04.2017, 11:39
raspberry pi und PIR - finni(R), 18.04.2017, 14:12
raspberry pi und PIR - luemar(R), 18.04.2017, 17:17
raspberry pi und PIR - bastelix(R), 18.04.2017, 12:06
raspberry pi und PIR - bastelix(R), 18.04.2017, 11:56
raspberry pi und PIR - luemar(R), 20.04.2017, 12:04
raspberry pi und PIR - bastelix(R), 22.04.2017, 22:46
raspberry pi und PIR - luemar(R), 27.04.2017, 18:56
raspberry pi und PIR - bastelix(R), 27.04.2017, 23:47
raspberry pi und PIR - luemar(R), 07.05.2017, 17:29
raspberry pi und PIR - luemar(R), 07.05.2017, 17:30
raspberry pi und PIR - bastelix(R), 07.05.2017, 19:47
raspberry pi und PIR - luemar(R), 08.05.2017, 22:03
raspberry pi und PIR - ELEKTRONIK- MODELLBAU- FREUNDE, 19.04.2017, 18:10