3.6 KiB
Publikovanie teploty - Virtuálny IoT hardvér a Raspberry Pi
V tejto časti lekcie budete publikovať hodnoty teploty zistené Raspberry Pi alebo Virtuálnym IoT zariadením cez MQTT, aby mohli byť neskôr použité na výpočet GDD.
Publikovanie teploty
Keď je teplota odčítaná, môže byť publikovaná cez MQTT do nejakého 'serverového' kódu, ktorý tieto hodnoty prečíta a uloží ich, aby mohli byť použité na výpočet GDD.
Úloha - publikovanie teploty
Naprogramujte zariadenie na publikovanie údajov o teplote.
-
Otvorte projekt aplikácie
temperature-sensor
, ak už nie je otvorený. -
Opakujte kroky, ktoré ste vykonali v lekcii 4 na pripojenie k MQTT a odosielanie telemetrie. Budete používať rovnaký verejný Mosquitto broker.
Kroky sú nasledovné:
- Pridajte balík pip pre MQTT
- Pridajte kód na pripojenie k MQTT brokeru
- Pridajte kód na publikovanie telemetrie
⚠️ Pozrite si pokyny na pripojenie k MQTT a pokyny na odosielanie telemetrie z lekcie 4, ak je to potrebné.
-
Uistite sa, že
client_name
odráža názov tohto projektu:client_name = id + 'temperature_sensor_client'
-
Pre telemetriu, namiesto odosielania hodnoty svetla, odošlite hodnotu teploty odčítanú zo senzora DHT ako vlastnosť v JSON dokumente nazvanú
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Hodnotu teploty nie je potrebné odčítavať veľmi často - nebude sa výrazne meniť v krátkom čase, preto nastavte
time.sleep
na 10 minút:time.sleep(10 * 60);
💁 Funkcia
sleep
berie čas v sekundách, takže pre jednoduchšie čítanie je hodnota odovzdaná ako výsledok výpočtu. 60 sekúnd v minúte, takže 10 x (60 sekúnd v minúte) dáva 10-minútové oneskorenie. -
Spustite kód rovnakým spôsobom, ako ste spustili kód z predchádzajúcej časti úlohy. Ak používate virtuálne IoT zariadenie, uistite sa, že aplikácia CounterFit je spustená a senzory vlhkosti a teploty boli vytvorené na správnych pinoch.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Tento kód nájdete v priečinku code-publish-temperature/virtual-device alebo v priečinku code-publish-temperature/pi.
😀 Úspešne ste publikovali teplotu ako telemetriu zo svojho zariadenia.
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.