J'ai photorésistance connecté à mon Raspberry PI par 1uF condensateur, et un programme simple pour vérifier les valeurs. C'est principalement des scripts fusionnés d'autres programmes que j'ai, donc c'est peut-être en buggy. Je suis nouveau dans ce genre de choses. J'ai mis 2 variables. Si la valeur de la photorésistance est inférieure à 1000, alors c'est vrai, sinon c'est faux. Je ne voulais pas contrôler la commande JSON de ma LED au serveur Openhab. Lorsque la photorésistance donne True, elle envoie la commande "ON" à Openhab, sinon elle envoie la commande "OFF". Tout va bien, sauf une chose. Script envoyant des commandes à Openhab avec chaque mesure de la valeur de la photorésistance. Je veux qu'il envoie la commande "ON" seulement la première fois quand une valeur inférieure à 1000 est détectée (True) alors reste là, n'envoie pas de commandes à Openhab au moment où la photorésistance donne une sortie au dessus de 1000 (False) et ainsi de suite. Le but principal ici est de changer la couleur de la LED lorsque l'éclairage principal est allumé, et de la changer lorsque l'éclairage principal est éteint. J'espère que je l'ai bien expliqué. S'il vous plaît aider.Envoyer des commandes à Openhab en fonction des valeurs de capteur de lumière Python Raspberry Pi
Mon programme actuel:
#!/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()