Salut,
Pour la gestion de ma chaudière, voici comment je récupère l'info de ma sonde :
Code : Tout sélectionner
def temperature():
global temp
tfile = open("/sys/bus/w1/devices/28-00042c77e5ff/w1_slave")
text = tfile.read()
tfile.close()
temperaturedata = text.split("\n")[1].split(" ")[9]
temperature = float(temperaturedata[2:])
temp = round(temperature / 1000, 2)
Ensuite avec la valeur temp qui est arrondi a 2 chiffres apres la virgules, je peu faire des actions comme :
Si la température est supérieure ou égale à 20°C qui sera ma consigne, j'allume une LED verte, si je suis inférieur a la consigne, j'allume la led Rouge, ensuite en attend 30sec et on recommence.
On considère la led verte cablé sur le GPIO 17 et la rouge sur le GPIO 18 ( BCM )
( Le code n'est pas complet, et il faut évidement changé le numéro de sonde ! )
Code : Tout sélectionner
tfile = open("/sys/bus/w1/devices/28-00042c77e5ff/w1_slave")
text = tfile.read()
tfile.close()
temperaturedata = text.split("\n")[1].split(" ")[9]
temperature = float(temperaturedata[2:])
temp = round(temperature / 1000, 2)
consigne = 20
LEDVERTE = 17
LEDROUGE =18
while True:
if temp >= consigne:
GPIO.output(LEDVERTE,GPIO.HIGH)
GPIO.output(LEDROUGE,GPIO.LOW)
elif temp < consigne:
GPIO.output(LEDVERTE,GPIO.LOW)
GPIO.output(LEDROUGE,GPIO.HIGH)
else:
GPIO.output(LEDVERTE,GPIO.HIGH)
GPIO.output(LEDROUGE,GPIO.HIGH)
time.sleep(30)
J'ai rajouter le else: qui n'est pas obligatoire mais qui si jamais pour une raison x ou y la valeur de la sonde n'est pas numérique ( sonde HS par exemple ? ) les 2 LED s'allument.