From c9c328a28d2fb57e75c822a3bb0cbd7bb6e906f1 Mon Sep 17 00:00:00 2001
From: SebastianEbert <sebastian.ebert@tu-dresden.de>
Date: Fri, 29 Nov 2024 16:43:51 +0100
Subject: [PATCH] mock sensor

---
 tools/{webapp => selector-webapp}/app.py      |  0
 .../templates/index.html                      |  0
 tools/sensor-mock/mqtt_random_publisher.py    | 39 +++++++++++++++++++
 3 files changed, 39 insertions(+)
 rename tools/{webapp => selector-webapp}/app.py (100%)
 rename tools/{webapp => selector-webapp}/templates/index.html (100%)
 create mode 100644 tools/sensor-mock/mqtt_random_publisher.py

diff --git a/tools/webapp/app.py b/tools/selector-webapp/app.py
similarity index 100%
rename from tools/webapp/app.py
rename to tools/selector-webapp/app.py
diff --git a/tools/webapp/templates/index.html b/tools/selector-webapp/templates/index.html
similarity index 100%
rename from tools/webapp/templates/index.html
rename to tools/selector-webapp/templates/index.html
diff --git a/tools/sensor-mock/mqtt_random_publisher.py b/tools/sensor-mock/mqtt_random_publisher.py
new file mode 100644
index 0000000..bc5de8b
--- /dev/null
+++ b/tools/sensor-mock/mqtt_random_publisher.py
@@ -0,0 +1,39 @@
+import time
+import random
+import paho.mqtt.client as mqtt
+
+# MQTT Configuration
+BROKER = "test.mosquitto.org"  # Replace with your broker's address
+PORT = 1883
+TOPIC = "random/float"
+
+# MQTT Client Setup
+client = mqtt.Client()
+
+def connect_mqtt():
+    try:
+        client.connect(BROKER, PORT, 60)
+        print(f"Connected to MQTT Broker: {BROKER}")
+    except Exception as e:
+        print(f"Failed to connect to broker: {e}")
+
+# Publishing random float every second
+def publish_random_floats():
+    print(f"Publishing to topic: {TOPIC}")
+    while True:
+        random_float = round(random.uniform(0.01, 10), 2)
+        client.publish(TOPIC, random_float)
+        print(f"Published: {random_float} to {TOPIC}")
+        time.sleep(1)
+
+if __name__ == "__main__":
+    connect_mqtt()
+    client.loop_start()  # Start the MQTT loop to process network events
+    try:
+        publish_random_floats()
+    except KeyboardInterrupt:
+        print("\nExiting...")
+        client.loop_stop()
+        client.disconnect()
+
+# usage: mosquitto_sub -h test.mosquitto.org -t "random/float"
-- 
GitLab