Hallo Forum,
im Augenblick bastel ich eine Lösung mit dem Raspi als Alarmanlage und bin auch schon recht weit.
Zukünftig wird der Raspi auf einem GPIO Pin ein Signal von der Alarmanlage bekommen und weitere Schritte auslösen - das versuche ich gerade nachzustellen.
Dazu habe ich ein Skript geschrieben, dass u.a. folgende Zeilen enthält:
GPIO.setmode(GPIO.BOARD)
GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.add_event_detect(pin, GPIO.RISING)
while True:
if GPIO.event_detected(self.alarmpin):
Bisher habe ich folgendes Verständnis (und bin nicht sicher, ob ich richtig liege):
- Definition von Pin-Nummerierung als HW Layout
- Definition des Eingangspin und Initialisierung als logisch 0 (low)
- Starten des Monitoring ob der Pin auf logisch 1 (high) gezogen wird
- Wenn der Pin auf high gezogen worden ist, dann tue etwas
So - jetzt die "seltsamen" Auffälligkeiten:
- Bereits das metallische Berühren an dem Pin löst bereits das event_detect aus. Warum?
(Meine Erwartung ist, dass hier ein logisch high Pegel (3,3V) anliegen muss. Wie kann ich das realisieren?)
- Die Konsequenz ist, das bereits eine reine Verkabelung von dem Pin ein Detect auslöst
- Dazu wird dann noch ständig (wenn in einer Schleife genutzt) das detect ausgelöst. Hier soll das nur einmal in einer gewissen Zeit (z.B. 10s) geschehen. Wie geht das? Der Parameter "bouncetime" wird ignoriert.
Vielen Dank für die Unterstützung
Gruß
Merlin