50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
import paho.mqtt.client as mqtt
|
|
import mysql.connector
|
|
import json
|
|
|
|
print("projet lance...")
|
|
|
|
db = mysql.connector.connect(
|
|
host="127.0.0.1",
|
|
user="web_user",
|
|
password="poubelle2026",
|
|
database="smart_bins"
|
|
)
|
|
|
|
cursor = db.cursor()
|
|
|
|
def on_message(client, userdata, msg):
|
|
try:
|
|
data = json.loads(msg.payload.decode())
|
|
|
|
print("recu :", data)
|
|
|
|
sql = """
|
|
INSERT INTO mesures (id_poubelle, niveau, poids, temperature, batterie)
|
|
VALUES (%s, %s, %s, %s, %s)
|
|
"""
|
|
values = (
|
|
data.get("id_poubelle", 1),
|
|
data.get("niveau", 0),
|
|
data.get("poids",0),
|
|
data.get("temperature", 0),
|
|
data.get("batterie", 100)
|
|
)
|
|
|
|
cursor.execute(sql, values)
|
|
db.commit()
|
|
|
|
print("Enregistre en DB")
|
|
|
|
except Exception as e:
|
|
print("Erreur :", e)
|
|
|
|
client = mqtt.Client()
|
|
client.connect("localhost",1883, 60)
|
|
|
|
client.subscribe("smart_trash/data")
|
|
client.on_message = on_message
|
|
|
|
print("En attente des donnees MQTT...")
|
|
client.loop_forever()
|