summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--README.md7
-rw-r--r--docs/overview.pngbin0 -> 438193 bytes
-rw-r--r--mqtt_client/main.py23
-rw-r--r--mqtt_client/requirements.txt1
5 files changed, 33 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c3b019b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/db-store/
+venv
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0779778
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+# Projeto de estação meteorológica
+Precisamos de um nome melhor.
+
+Objetivo: Monitorar dados de sensor de microcontroladores e exibi-los em dashboards.
+
+O plano inicial é esse:
+![Imagem overview do plano](docs/overview.png)
diff --git a/docs/overview.png b/docs/overview.png
new file mode 100644
index 0000000..044e554
--- /dev/null
+++ b/docs/overview.png
Binary files differ
diff --git a/mqtt_client/main.py b/mqtt_client/main.py
new file mode 100644
index 0000000..1a3ca8a
--- /dev/null
+++ b/mqtt_client/main.py
@@ -0,0 +1,23 @@
+import paho.mqtt.client as mqtt
+import json
+
+def on_connect(client, userdata, flags, reason_code, properties):
+ print(f"Conectado: {reason_code}")
+ # Me inscrevo em todos os tópicos sobre clima
+ client.subscribe("weather/#")
+
+# Simplesmente imprime a mensagem como texto.
+def on_message(client, userdata, msg):
+ payload = json.loads(msg.payload)
+ print(msg.topic)
+ print(f"Value: {payload["value"]}")
+ print(f"Unit: {payload["unit"]}")
+ print(f"Timestamp: {payload["timestamp"]}")
+
+mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
+mqttc.on_connect = on_connect
+mqttc.on_message = on_message
+
+mqttc.connect("127.0.0.1", 1883, 60)
+
+mqttc.loop_forever()
diff --git a/mqtt_client/requirements.txt b/mqtt_client/requirements.txt
new file mode 100644
index 0000000..96a2716
--- /dev/null
+++ b/mqtt_client/requirements.txt
@@ -0,0 +1 @@
+paho-mqtt==2.1.0