3.6 KiB
Objavljanje temperature - Virtualna IoT strojna oprema in Raspberry Pi
V tem delu lekcije boste objavili vrednosti temperature, ki jih zazna Raspberry Pi ali virtualna IoT naprava prek MQTT, da jih boste lahko kasneje uporabili za izračun GDD.
Objavite temperaturo
Ko je temperatura prebrana, jo lahko objavite prek MQTT na neko 'strežniško' kodo, ki bo prebrala vrednosti in jih shranila za uporabo pri izračunu GDD.
Naloga - objavite temperaturo
Programirajte napravo, da objavi podatke o temperaturi.
-
Odprite projekt aplikacije
temperature-sensor
, če še ni odprt. -
Ponovite korake, ki ste jih izvedli v lekciji 4, da se povežete z MQTT in pošljete telemetrijo. Uporabili boste isti javni Mosquitto posrednik.
Koraki za to so:
- Dodajte pip paket za MQTT
- Dodajte kodo za povezavo z MQTT posrednikom
- Dodajte kodo za objavo telemetrije
⚠️ Oglejte si navodila za povezavo z MQTT in navodila za pošiljanje telemetrije iz lekcije 4, če je potrebno.
-
Prepričajte se, da
client_name
odraža ime tega projekta:client_name = id + 'temperature_sensor_client'
-
Za telemetrijo namesto pošiljanja vrednosti svetlobe pošljite vrednost temperature, prebrano s senzorja DHT, v lastnosti JSON dokumenta, imenovani
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Vrednosti temperature ni treba brati zelo pogosto - v kratkem času se ne bo veliko spremenila, zato nastavite
time.sleep
na 10 minut:time.sleep(10 * 60);
💁 Funkcija
sleep
sprejme čas v sekundah, zato je za lažje branje vrednost podana kot rezultat izračuna. 60 sekund v minuti, torej 10 x (60 sekund v minuti) daje 10-minutno zakasnitev. -
Zaženite kodo na enak način, kot ste zagnali kodo iz prejšnjega dela naloge. Če uporabljate virtualno IoT napravo, se prepričajte, da je aplikacija CounterFit zagnana in da so senzorji za vlago in temperaturo ustvarjeni na pravilnih pinih.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 To kodo lahko najdete v mapi code-publish-temperature/virtual-device ali v mapi code-publish-temperature/pi.
😀 Uspešno ste objavili temperaturo kot telemetrijo iz vaše naprave.
Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitna napačna razumevanja ali napačne interpretacije, ki bi nastale zaradi uporabe tega prevoda.