Updates MQTT service

This commit is contained in:
2025-12-26 17:21:29 +01:00
parent 6e03feba61
commit 2a77a4f4b4

View File

@@ -1,32 +1,35 @@
import paho.mqtt.client as mqtt import paho.mqtt.client as mqtt
import json import json
import time import time
import base64
class MQTTService: class MQTTService:
address : str = None def __init__(self, address: str, port: int):
port : int = None
def __init__(self, address : str, port : int):
self.address = address self.address = address
self.port = port self.port = port
def publish(self, client_id : str, topic: str, data: bytes, qos: int = 0): def publish(self, client_id: str, topic: str, message: str, qos: int = 0):
client = mqtt.Client(client_id=client_id) client = mqtt.Client(client_id=client_id)
try : try:
client.connect(self.address, self.port) client.connect(self.address, self.port)
client.loop_start()
data = str(message).encode()
payload = { payload = {
"timestamp": int(time.time()), "timestamp": int(time.time()),
"data": data, "data": base64.b64encode(data).decode('utf-8')
} }
client.publish(topic, json.dumps(payload), qos) result = client.publish(topic, json.dumps(payload), qos=qos)
result.wait_for_publish()
except Exception as e: except Exception as e:
print(e) print("Erreur MQTT:", e)
finally: finally:
client.loop_stop() client.loop_stop()
client.disconnect() client.disconnect()
if __name__ == "__main__": if __name__ == "__main__":
pass service = MQTTService("127.0.0.1", 1883)
service.publish("test", "test", "Hello from MQTT", 1)