mqtt_v3
This commit is contained in:
12
server.py
12
server.py
@@ -33,7 +33,7 @@
|
|||||||
# app.run(host='0.0.0.0', port=3060)
|
# app.run(host='0.0.0.0', port=3060)
|
||||||
|
|
||||||
import eventlet
|
import eventlet
|
||||||
eventlet.monkey_patch() # Das sollte ganz oben sein, um sicherzustellen, dass eventlet alles patcht
|
eventlet.monkey_patch() # Stellt sicher, dass eventlet die nötigen Patches vornimmt
|
||||||
|
|
||||||
from flask import Flask, render_template
|
from flask import Flask, render_template
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO
|
||||||
@@ -44,14 +44,18 @@ app = Flask(__name__, static_url_path='/unsecure/static')
|
|||||||
socketio = SocketIO(app, cors_allowed_origins="*")
|
socketio = SocketIO(app, cors_allowed_origins="*")
|
||||||
|
|
||||||
# MQTT Setup
|
# MQTT Setup
|
||||||
mqtt_client = mqtt.Client()
|
mqtt_client = mqtt.Client(protocol=mqtt.MQTTv5)
|
||||||
|
|
||||||
# Funktion für den Empfang von MQTT-Nachrichten
|
# Funktion für den Empfang von MQTT-Nachrichten
|
||||||
def on_mqtt_message(client, userdata, msg):
|
def on_mqtt_message(client, userdata, msg):
|
||||||
payload = msg.payload.decode()
|
payload = msg.payload.decode()
|
||||||
print(f"[MQTT] {msg.topic}: {payload}")
|
print(f"[MQTT] {msg.topic}: {payload}")
|
||||||
# Sende die erhaltenen MQTT-Daten über WebSocket an alle verbundenen Clients
|
# Stelle sicher, dass das Emitten im richtigen Kontext passiert
|
||||||
socketio.emit("esp_update", {"topic": msg.topic, "payload": payload})
|
socketio.start_background_task(target=emit_mqtt_data, topic=msg.topic, payload=payload)
|
||||||
|
|
||||||
|
def emit_mqtt_data(topic, payload):
|
||||||
|
# Hier wird die MQTT-Nachricht über Socket.IO an alle verbundenen Clients gesendet
|
||||||
|
socketio.emit("esp_update", {"topic": topic, "payload": payload})
|
||||||
|
|
||||||
mqtt_client.on_message = on_mqtt_message
|
mqtt_client.on_message = on_mqtt_message
|
||||||
mqtt_client.connect("localhost", 1883) # MQTT-Broker-Adresse
|
mqtt_client.connect("localhost", 1883) # MQTT-Broker-Adresse
|
||||||
|
|||||||
Reference in New Issue
Block a user