Linux influxdb
Bonjour,
J'ai écrit un programme en python qui me renvoie une température (liée à un potentiomètre). Quand la température est supérieure à 19.5 degrés, la climatisation se met en marche et donc la led rouge s'allume. Quand la température est inférieure à 18.5 degrés le chauffage se met en marche et donc la led bleu s'allume.
Je cherche maintenant à récupérer la valeur de ma température et l'état de ma climatisation et de mon chauffage (0 ou 1) sur ma bdd influxdb mais je ne sais pas quelle commande effectuer.
Voici mon code Python:
J'ai écrit un programme en python qui me renvoie une température (liée à un potentiomètre). Quand la température est supérieure à 19.5 degrés, la climatisation se met en marche et donc la led rouge s'allume. Quand la température est inférieure à 18.5 degrés le chauffage se met en marche et donc la led bleu s'allume.
Je cherche maintenant à récupérer la valeur de ma température et l'état de ma climatisation et de mon chauffage (0 ou 1) sur ma bdd influxdb mais je ne sais pas quelle commande effectuer.
Voici mon code Python:
import time
import sqlite3
from influxdb import InfluxDBClient
def bdd():
connexion = sqlite3 .connect("thermostat.db")
def lecture_pot():
pot = open("/sys/bus/iio/devices/iio:device0/in_voltage3_raw","r")
temp=15.0+(int(pot.read())*10/4096.0) # ne pas oublier de convertir en int ce qu'on lit dans pot
pot.close()
print(temp)
return temp
def led_rouge(v):
f = open("/sys/class/gpio/gpio50/value","w")
if v==0:
s="0"
else:
s="1"
f.write(s)
f.close()
def led_vert(v):
f = open("/sys/class/gpio/gpio60/value","w")
if v==0:
s="0"
else:
s="1"
f.write(s)
f.close()
def led_bleue(v):
f = open("/sys/class/gpio/gpio3/value","w")
if v==0:
s="0"
else:
s="1"
f.write(s)
f.close()
while 1:
time.sleep(1) #lit toutes les secondes
t=lecture_pot()
temp_c=19
if (t<(temp_c-0.5)):
led_rouge(1) # on allume le chauffage
led_vert(0)
led_bleue(0)
elif (t>(temp_c+0.5)):
led_rouge(0) # on allume la clim
led_vert(0)
led_bleue(1)
else :
led_rouge(0) # on eteint les deux
led_vert(1)
led_bleue(0)
A voir également:
- Linux influxdb
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
- Linux mint 22.1 - Accueil - Linux
- R-linux - Télécharger - Sauvegarde
- Backtrack linux - Télécharger - Sécurité
1 réponse
Bonjour,
Quelques remarques en vrac :
Bonne chance
Quelques remarques en vrac :
- Pense à utiliser les balises de code (4e bouton) pour mettre en forme le code.
- En python, pour ouvrir un fichier de manière plus moderne, on écrirait de nos jours plutôt :
with open("file", "w") as f:
f.write("something")
- Dans ton message j'ai l'impression que l'explication sur les LEDs et le code sont contradictoire. Le code semble "logique" (lumière rouge quand il faut chauffer).
- Pour la question sur influxdb, le mieux est de regarder ce tutoriel qui explique comment installer le module python adéquat et comment l'utiliser.
- Il faudrait clarifier ce que tu veux faire dans cette base (quelle est la donnée à sauver, dans quelle table, etc...) et plus généralement ce que tu cherches à faire grâce à cette base.
Bonne chance