Ich bin blutiger Anfänger in Sachen programmieren. (Dafür ist der kleine Raspi ja gedacht) Nachdem ich viele tolle Anleitungen gefunden habe habe ich ein script erstellt welches auch funktioniert. Ich habe jedoch für einen Punkt keine Lösung gefunden.
Als Einführung: Ein Türkontakt (GPIO.input) schaltet ein Relais zum einschalten einer Beleuchtung (GPIO.output) und versendet einen Nachricht via Pushbullet. Die Nachricht soll natürlich nicht in einen permanenten Schleife kommen sonder nur alle x Minuten.
Wenn das Licht eingeschaltet ist dann bleibt es so lange an wie time.sleep definiert ist. Schöner wäre wenn es natürlich sofort bei geschlossenem Kontakt wieder aus geht.
Wie kann ich das eleganter lösen?
Code: Alles auswählen
#!/usr/bin/python
import time
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(27,GPIO.IN)
GPIO.setup(18,GPIO.OUT)
while True:
if not GPIO.input(27):
GPIO.output(18, 1) #Licht einschalten
import subprocess
print "Nachricht versenden, Licht eingeschaltet"
subprocess.call ("pushbullet.sh") #Nachricht versenden
print "Nachricht wurde versendet"
time.sleep(10)
else:
GPIO.output(18, 0) #Licht ausschalten