Ich habe einen Fotowiderstand mit meinem Raspberry PI über einen 1uF Kondensator verbunden und ein einfaches Programm zur Überprüfung der Werte ausgeführt. Es sind meist zusammengeführte Skripte von anderen Programmen, die ich habe, also könnte es Buggy sein. Ich bin neu in diesem Zeug. Ich habe 2 Variablen festgelegt. Wenn der Wert des Fotowiderstandes unter 1000 liegt, ist es wahr, andernfalls ist es falsch. Ich würde meinen LED's durch JSON Befehl zum Openhab Server nicht steuern. Wenn der Fotowiderstand True liefert, sendet er den Befehl "ON" an Openhab, andernfalls sendet er den Befehl "OFF". Alles ist in Ordnung, außer einer Sache. Skript sendet Befehle an Openhab mit jedem Maß des Fotowiderstandswerts. Ich möchte, dass der Befehl erst dann "EIN" gesendet wird, wenn der Wert unter 1000 erkannt wird (True), dann bleibe dort und sende keine Befehle an Openhab, wenn der Fotowiderstand eine Ausgabe über 1000 (Falsch) usw. liefert. Hauptziel ist hier, die LED-Farbe zu ändern, wenn die Hauptbeleuchtung eingeschaltet ist, und sie zu ändern, wenn die Hauptbeleuchtung ausgeschaltet ist. Ich hoffe ich habe es gut erklärt. Bitte helfen Sie.Befehle an Openhab senden, abhängig von den Lichtsensorwerten Python Raspberry Pi
Mein aktuelles Programm:
#!/usr/local/bin/python
import RPi.GPIO as GPIO, time
import urllib
import urllib2
import requests
GPIO.setmode(GPIO.BCM)
def RCtime (PiPin):
measurement = 0
# Discharge capacitor
GPIO.setup(PiPin, GPIO.OUT)
GPIO.output(PiPin, GPIO.LOW)
time.sleep(0.1)
GPIO.setup(PiPin, GPIO.IN)
# Count loops until voltage across
# capacitor reads high on GPIO
while (GPIO.input(PiPin) == GPIO.LOW):
measurement += 1
return measurement
def LIGHTcheck():
if RCtime(27)<1000:
LIGHT = True
print LIGHT
return LIGHT
if RCtime(27)>1000:
LIGHT = False
print LIGHT
return LIGHT
def LightON():
url = 'http://openhab-server:8080/CMD?switch2=ON'
postdata = {"ON"}
print(postdata)
resp = requests.get(url=url)
def LightOFF():
url = 'http://openhab-server:8080/CMD?switch2=OFF'
postdata = {"OFF"}
print(postdata)
resp = requests.get(url=url)
while True:
if LIGHTcheck() == True:
LightON()
elif LIGHTcheck() == False:
LightOFF()