Bewegungssensor auslesen und Signal senden

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
timwolf003
User
Beiträge: 1
Registriert: Mittwoch 17. Juni 2020, 17:45

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
Benutzeravatar
__blackjack__
User
Beiträge: 13119
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@timwolf003: Bei dem Quelltext fehlt komplett die Einrückung. Also nicht nur in der Anzeige weil das nicht in Code-Tags gesetzt wurde, sondern auch im Quelltext des Beitrags.

Was man deutlich erkennen kann ist, dass es sich um Python 2 handelt, was man nicht mehr verwendet.

Ansonsten ja, das klingt nicht unmöglich. So eine weitere Angaben würde ich das `psutil`-Modul empfehlen um den anderen Prozess zu finden und ihm ein Signal zu senden. Die Konstanten für die Signale gibt es im `signal`-Modul.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten