31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
import paho.mqtt.client as mqttClient
|
|
client = mqttClient.Client()
|
|
import mysql.connector
|
|
import sys
|
|
sys.path.insert(0, "/myenv/lib/python3.11.2/site-packages")
|
|
|
|
# Configuration de la connexion MySQL
|
|
mydb = mysql.connector.connect(
|
|
host="54.36.188.119",
|
|
user="michel",
|
|
password="#SO2&1nf%mZ@jfh",
|
|
database="Sondes"
|
|
)
|
|
|
|
# Fonction de callback quand un message est reçu
|
|
def on_message(_client, _userdata, msg):
|
|
print(f"Message reçu sur {msg.topic}: {msg.payload.decode()}")
|
|
cursor = mydb.cursor()
|
|
frigo_name = msg.topic.split('/')[-1] # Prend la dernière partie après le "/"
|
|
sql = "INSERT INTO Meudon (Sonde, Temperature) VALUES (%s, %s)"
|
|
val = (frigo_name, msg.payload.decode())
|
|
cursor.execute(sql, val)
|
|
mydb.commit()
|
|
|
|
# Configuration du client MQTT
|
|
client.username_pw_set("Bwps", "scJ5ACj2keRfI^")
|
|
client.on_message = on_message
|
|
client.connect("54.36.188.119", 1883, 60)
|
|
client.subscribe("Meudon/#") # S'abonner à tous les topics commençant par Saclay
|
|
client.loop_forever() # Rester connecté en continu pour écouter les messages
|