Hallo Zusammen
An meinem Rapsberry Pi habe ich einen Bewegungsmelder angeschlossen. Um den angeschlossenen Bewegungsmelder auszulesen, ist auf Pin 8 des Raspberry die Datenleitung Out bzw. Data angeschlossen.
Wenn der Melder eine Bewegung erkennt, liegt am digitalen Ausgang Data ein High-Pegel von 3.3V an.
Sobald also 3.3V anliegen (also eine Bewegung erkannt wird) soll das Skript dies auslesen können und ein SIGUSR2 Signal an das node pi-server.js Programm senden.
Folgendes Skript habe ich schon gefunden:
#!/usr/bin/python
#Import
import RPi.GPIO as GPIO
import time
import datetime
print "BEWEGUNGSMELDER"
print ""
#Board Mode: Angabe der Pin-Nummer
GPIO.setmode(GPIO.BOARD)
#GPIO Pin definieren fuer den Dateneingang vom Sensor
PIR_GPIO = 8
GPIO.setup(PIR_GPIO,GPIO.IN)
read=0
wait=0
try:
#PIR auslesen
while GPIO.input(PIR_GPIO)==1:
read=0
print "WARTEN auf Bewegung..."
#Abbruch ctrl+c
while True :
#PIR auslesen
read = GPIO.input(PIR_GPIO)
if read==1 and wait==0:
print "ALARM %s: Bewegung erkannt!" % datetime.datetime.now()
wait=1
elif read==0 and wait==1:
print "WARTEN auf Bewegung..."
wait=0
time.sleep(0.01)
except KeyboardInterrupt:
print "Beendet"
GPIO.cleanup()
Sobald das Skript also ''read==1'' macht, sollte er nicht ''print Alarm'' machen sondern ''SIGUSR2 Signal'' an ''ode pi-server.js Programm'' senden.
Ist das möglich, und falls ja wie?
Ich entschuldige mich für die (wahrscheinlich) teilweise falschen Formulierungen aber leider bin ich noch totaler Anfänger auf dem Gebiet.
Besten Dank im Voraus euch allen!
Liebe Grüsse
Tim
An meinem Rapsberry Pi habe ich einen Bewegungsmelder angeschlossen. Um den angeschlossenen Bewegungsmelder auszulesen, ist auf Pin 8 des Raspberry die Datenleitung Out bzw. Data angeschlossen.
Wenn der Melder eine Bewegung erkennt, liegt am digitalen Ausgang Data ein High-Pegel von 3.3V an.
Sobald also 3.3V anliegen (also eine Bewegung erkannt wird) soll das Skript dies auslesen können und ein SIGUSR2 Signal an das node pi-server.js Programm senden.
Folgendes Skript habe ich schon gefunden:
#!/usr/bin/python
#Import
import RPi.GPIO as GPIO
import time
import datetime
print "BEWEGUNGSMELDER"
print ""
#Board Mode: Angabe der Pin-Nummer
GPIO.setmode(GPIO.BOARD)
#GPIO Pin definieren fuer den Dateneingang vom Sensor
PIR_GPIO = 8
GPIO.setup(PIR_GPIO,GPIO.IN)
read=0
wait=0
try:
#PIR auslesen
while GPIO.input(PIR_GPIO)==1:
read=0
print "WARTEN auf Bewegung..."
#Abbruch ctrl+c
while True :
#PIR auslesen
read = GPIO.input(PIR_GPIO)
if read==1 and wait==0:
print "ALARM %s: Bewegung erkannt!" % datetime.datetime.now()
wait=1
elif read==0 and wait==1:
print "WARTEN auf Bewegung..."
wait=0
time.sleep(0.01)
except KeyboardInterrupt:
print "Beendet"
GPIO.cleanup()
Sobald das Skript also ''read==1'' macht, sollte er nicht ''print Alarm'' machen sondern ''SIGUSR2 Signal'' an ''ode pi-server.js Programm'' senden.
Ist das möglich, und falls ja wie?
Ich entschuldige mich für die (wahrscheinlich) teilweise falschen Formulierungen aber leider bin ich noch totaler Anfänger auf dem Gebiet.
Besten Dank im Voraus euch allen!
Liebe Grüsse
Tim