3.9 KiB
Temperatur veröffentlichen - Virtuelle IoT-Hardware und Raspberry Pi
In diesem Teil der Lektion wirst du die vom Raspberry Pi oder virtuellen IoT-Gerät erkannten Temperaturwerte über MQTT veröffentlichen, damit sie später zur Berechnung der GDD verwendet werden können.
Temperatur veröffentlichen
Sobald die Temperatur ausgelesen wurde, kann sie über MQTT an einen 'Server'-Code gesendet werden, der die Werte liest und speichert, um sie für eine GDD-Berechnung zu verwenden.
Aufgabe - Temperatur veröffentlichen
Programmiere das Gerät so, dass es die Temperaturdaten veröffentlicht.
-
Öffne das Projekt der App
temperature-sensor
, falls es noch nicht geöffnet ist. -
Wiederhole die Schritte aus Lektion 4, um eine Verbindung zu MQTT herzustellen und Telemetrie zu senden. Du wirst denselben öffentlichen Mosquitto-Broker verwenden.
Die Schritte dafür sind:
- Füge das MQTT-Pip-Paket hinzu
- Füge den Code hinzu, um eine Verbindung zum MQTT-Broker herzustellen
- Füge den Code hinzu, um Telemetrie zu veröffentlichen
⚠️ Sieh dir die Anleitung zur Verbindung mit MQTT und die Anleitung zum Senden von Telemetrie aus Lektion 4 an, falls nötig.
-
Stelle sicher, dass der
client_name
den Namen dieses Projekts widerspiegelt:client_name = id + 'temperature_sensor_client'
-
Für die Telemetrie: Anstatt einen Lichtwert zu senden, sende den vom DHT-Sensor ausgelesenen Temperaturwert in einer Eigenschaft des JSON-Dokuments namens
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Der Temperaturwert muss nicht sehr häufig ausgelesen werden – er wird sich in kurzer Zeit nicht stark ändern. Setze daher
time.sleep
auf 10 Minuten:time.sleep(10 * 60);
💁 Die Funktion
sleep
nimmt die Zeit in Sekunden. Um es leichter lesbar zu machen, wird der Wert als Ergebnis einer Berechnung übergeben. 60 Sekunden in einer Minute, also ergibt 10 x (60 Sekunden in einer Minute) eine Verzögerung von 10 Minuten. -
Führe den Code auf die gleiche Weise aus wie den Code aus dem vorherigen Teil der Aufgabe. Wenn du ein virtuelles IoT-Gerät verwendest, stelle sicher, dass die CounterFit-App läuft und die Feuchtigkeits- und Temperatursensoren an den richtigen Pins erstellt wurden.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Du findest diesen Code im Ordner code-publish-temperature/virtual-device oder im Ordner code-publish-temperature/pi.
😀 Du hast die Temperatur erfolgreich als Telemetrie von deinem Gerät veröffentlicht.
Haftungsausschluss:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben.