🔒 Sécurisation via .env + refactorisation Monitor et MQTT

This commit is contained in:
2025-04-22 10:48:58 +02:00
parent 4991b6354c
commit 4dd230f77b
6 changed files with 80 additions and 50 deletions

View File

@@ -1,30 +1,35 @@
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")
import os
from dotenv import load_dotenv
# Configuration de la connexion MySQL
load_dotenv()
# Site figé ici
site = "Saclay"
# Connexion MySQL
mydb = mysql.connector.connect(
host="54.36.188.119",
user="michel",
password="#SO2&1nf%mZ@jfh",
database="Sondes"
host=os.getenv("DB_HOST"),
user=os.getenv("DB_USER"),
password=os.getenv("DB_PASSWORD"),
database=os.getenv("DB_NAME")
)
# Fonction de callback quand un message est reçu
# Callback MQTT
def on_message(_client, _userdata, msg):
print(f"Message reçu sur {msg.topic}: {msg.payload.decode()}")
print(f"[{site}] 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 Saclay (Sonde, Temperature) VALUES (%s, %s)"
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()
# Configuration du client MQTT
client.username_pw_set("Bwps", "scJ5ACj2keRfI^")
# Client MQTT
client = mqttClient.Client()
client.username_pw_set(os.getenv("MQTT_USER"), os.getenv("MQTT_PASSWORD"))
client.on_message = on_message
client.connect("54.36.188.119", 1883, 60)
client.subscribe("Saclay/#") # S'abonner à tous les topics commençant par Saclay
client.loop_forever() # Rester connecté en continu pour écouter les messages
client.connect(os.getenv("MQTT_HOST"), 1883, 60)
client.subscribe(f"{site}/#")
client.loop_forever()