import paho.mqtt.client as mqttClient import mysql.connector import os from dotenv import load_dotenv load_dotenv() # Site figé ici site = "Saclay" # 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()