Files
Gestion_sondes/Cuisine_meudon.py

35 lines
954 B
Python

import paho.mqtt.client as mqttClient
import mysql.connector
import os
from dotenv import load_dotenv
load_dotenv()
# Site figé ici
site = "Meudon"
# Connexion MySQL
mydb = mysql.connector.connect(
host=os.getenv("DB_HOST"),
user=os.getenv("DB_USER"),
password=os.getenv("DB_PASSWORD"),
database=os.getenv("DB_NAME")
)
# Callback MQTT
def on_message(_client, _userdata, msg):
print(f"[{site}] Message reçu sur {msg.topic}: {msg.payload.decode()}")
cursor = mydb.cursor()
frigo_name = msg.topic.split('/')[-1]
sql = f"INSERT INTO {site} (Sonde, Temperature) VALUES (%s, %s)"
val = (frigo_name, msg.payload.decode())
cursor.execute(sql, val)
mydb.commit()
# Client MQTT
client = mqttClient.Client()
client.username_pw_set(os.getenv("MQTT_USER"), os.getenv("MQTT_PASSWORD"))
client.on_message = on_message
client.connect(os.getenv("MQTT_HOST"), 1883, 60)
client.subscribe(f"{site}/#")
client.loop_forever()