current run socketIO
This commit is contained in:
@@ -25,6 +25,6 @@ def fetch_command():
|
|||||||
pending_command = None
|
pending_command = None
|
||||||
return jsonify({'befehl': cmd})
|
return jsonify({'befehl': cmd})
|
||||||
return jsonify({'befehl': None})
|
return jsonify({'befehl': None})
|
||||||
# @unsecure.route('/test')
|
@unsecure.route('/test')
|
||||||
# def test():
|
def test():
|
||||||
# return render_template('test.html')
|
return render_template('test.html')
|
||||||
|
|||||||
85
server.py
85
server.py
@@ -1,35 +1,74 @@
|
|||||||
|
|
||||||
|
|
||||||
import eventlet
|
# import eventlet
|
||||||
eventlet.monkey_patch() # Das sollte ganz oben sein, um sicherzustellen, dass eventlet alles patcht
|
# eventlet.monkey_patch() # Das sollte ganz oben sein, um sicherzustellen, dass eventlet alles patcht
|
||||||
|
|
||||||
from flask import Flask, render_template
|
# from flask import Flask, render_template
|
||||||
|
# from flask_socketio import SocketIO
|
||||||
|
# import paho.mqtt.client as mqtt
|
||||||
|
# from routes.unsecure_routes import unsecure
|
||||||
|
|
||||||
|
# app = Flask(__name__, static_url_path='/unsecure/static')
|
||||||
|
# socketio = SocketIO(app, cors_allowed_origins="*")
|
||||||
|
|
||||||
|
# # MQTT Setup
|
||||||
|
# mqtt_client = mqtt.Client(protocol=mqtt.MQTTv5)
|
||||||
|
|
||||||
|
# def on_mqtt_message(client, userdata, msg):
|
||||||
|
# payload = msg.payload.decode()
|
||||||
|
# print(f"[MQTT] {msg.topic}: {payload}")
|
||||||
|
# # Sende die erhaltenen MQTT-Daten über WebSocket an alle verbundenen Clients
|
||||||
|
# socketio.emit("esp_update", {"topic": msg.topic, "payload": payload})
|
||||||
|
|
||||||
|
# mqtt_client.on_message = on_mqtt_message
|
||||||
|
# mqtt_client.connect("localhost", 1883) # MQTT-Broker-Adresse
|
||||||
|
# mqtt_client.subscribe("lires/esp1/status")
|
||||||
|
# mqtt_client.loop_start()
|
||||||
|
|
||||||
|
# @socketio.on("send_to_esp")
|
||||||
|
# def handle_send(data):
|
||||||
|
# mqtt_client.publish("lires/esp1/control", data)
|
||||||
|
|
||||||
|
# app.register_blueprint(unsecure)
|
||||||
|
|
||||||
|
# if __name__ == '__main__':
|
||||||
|
# socketio.run(app, host="0.0.0.0", port=3060)
|
||||||
|
|
||||||
|
from flask import Flask
|
||||||
from flask_socketio import SocketIO
|
from flask_socketio import SocketIO
|
||||||
import paho.mqtt.client as mqtt
|
|
||||||
from routes.unsecure_routes import unsecure
|
from routes.unsecure_routes import unsecure
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__, static_url_path='/unsecure/static')
|
app = Flask(__name__, static_url_path='/unsecure/static')
|
||||||
socketio = SocketIO(app, cors_allowed_origins="*")
|
app.config['SECRET_KEY'] = 'super-secret-key' # beliebig ändern
|
||||||
|
socketio = SocketIO(app, cors_allowed_origins="*", async_mode='threading')
|
||||||
|
|
||||||
# MQTT Setup
|
|
||||||
mqtt_client = mqtt.Client(protocol=mqtt.MQTTv5)
|
|
||||||
|
|
||||||
def on_mqtt_message(client, userdata, msg):
|
|
||||||
payload = msg.payload.decode()
|
|
||||||
print(f"[MQTT] {msg.topic}: {payload}")
|
|
||||||
# Sende die erhaltenen MQTT-Daten über WebSocket an alle verbundenen Clients
|
|
||||||
socketio.emit("esp_update", {"topic": msg.topic, "payload": payload})
|
|
||||||
|
|
||||||
mqtt_client.on_message = on_mqtt_message
|
|
||||||
mqtt_client.connect("localhost", 1883) # MQTT-Broker-Adresse
|
|
||||||
mqtt_client.subscribe("lires/esp1/status")
|
|
||||||
mqtt_client.loop_start()
|
|
||||||
|
|
||||||
@socketio.on("send_to_esp")
|
|
||||||
def handle_send(data):
|
|
||||||
mqtt_client.publish("lires/esp1/control", data)
|
|
||||||
|
|
||||||
|
# Blueprint registrieren
|
||||||
app.register_blueprint(unsecure)
|
app.register_blueprint(unsecure)
|
||||||
|
|
||||||
|
# Simuliere regelmäßige Daten-Updates
|
||||||
|
import threading
|
||||||
|
import time
|
||||||
|
|
||||||
|
def send_data():
|
||||||
|
counter = 0
|
||||||
|
while True:
|
||||||
|
print(f"Sending data: {counter}")
|
||||||
|
data = {
|
||||||
|
'test': 'Live-Daten',
|
||||||
|
'status': 'OK',
|
||||||
|
'counter': counter
|
||||||
|
}
|
||||||
|
socketio.emit('update_data', data)
|
||||||
|
counter += 1
|
||||||
|
time.sleep(2) # alle 2 Sekunden neue Daten
|
||||||
|
|
||||||
|
# Hintergrund-Thread starten
|
||||||
|
thread = threading.Thread(target=send_data)
|
||||||
|
thread.daemon = True
|
||||||
|
thread.start()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
socketio.run(app, host="0.0.0.0", port=3060)
|
socketio.run(app, host='0.0.0.0', port=5000)
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
<p><strong>Status:</strong> <span id="status"></span></p>
|
<p><strong>Status:</strong> <span id="status"></span></p>
|
||||||
<p><strong>Counter:</strong> <span id="counter"></span></p>
|
<p><strong>Counter:</strong> <span id="counter"></span></p>
|
||||||
|
|
||||||
|
<script src="https://cdn.socket.io/4.6.1/socket.io.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
const socket = io();
|
const socket = io();
|
||||||
|
|
||||||
@@ -18,8 +19,10 @@
|
|||||||
document.getElementById('test').textContent = data.test;
|
document.getElementById('test').textContent = data.test;
|
||||||
document.getElementById('status').textContent = data.status;
|
document.getElementById('status').textContent = data.status;
|
||||||
document.getElementById('counter').textContent = data.counter;
|
document.getElementById('counter').textContent = data.counter;
|
||||||
console.log('Neue Daten:', data);
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user