3.8 KiB
Publikuokite temperatūrą - Virtuali IoT įranga ir Raspberry Pi
Šioje pamokos dalyje publikuosite temperatūros reikšmes, kurias aptinka Raspberry Pi arba virtualus IoT įrenginys, naudodami MQTT, kad vėliau jos galėtų būti naudojamos GDD skaičiavimui.
Publikuokite temperatūrą
Kai temperatūra yra nuskaityta, ją galima publikuoti per MQTT į tam tikrą „serverio“ kodą, kuris nuskaito reikšmes ir saugo jas, kad vėliau būtų galima naudoti GDD skaičiavimui.
Užduotis - publikuokite temperatūrą
Užprogramuokite įrenginį publikuoti temperatūros duomenis.
-
Atidarykite
temperature-sensor
programėlės projektą, jei jis dar neatidarytas. -
Pakartokite veiksmus, kuriuos atlikote 4-oje pamokoje, kad prisijungtumėte prie MQTT ir siųstumėte telemetriją. Naudosite tą patį viešąjį Mosquitto brokerį.
Veiksmai yra šie:
- Pridėkite MQTT pip paketą
- Pridėkite kodą, kad prisijungtumėte prie MQTT brokerio
- Pridėkite kodą, kad publikuotumėte telemetriją
⚠️ Žr. instrukcijas, kaip prisijungti prie MQTT ir instrukcijas, kaip siųsti telemetriją iš 4-os pamokos, jei reikia.
-
Įsitikinkite, kad
client_name
atspindi šio projekto pavadinimą:client_name = id + 'temperature_sensor_client'
-
Telemetrijai, vietoj šviesos reikšmės siųskite temperatūros reikšmę, nuskaitytą iš DHT jutiklio, JSON dokumento savybėje, pavadintoje
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Temperatūros reikšmės nereikia skaityti labai dažnai – ji per trumpą laiką daug nesikeis, todėl nustatykite
time.sleep
į 10 minučių:time.sleep(10 * 60);
💁 Funkcija
sleep
priima laiką sekundėmis, todėl, kad būtų lengviau suprasti, reikšmė perduodama kaip skaičiavimo rezultatas. 60 s per minutę, taigi 10 x (60 s per minutę) suteikia 10 minučių uždelsimą. -
Paleiskite kodą taip pat, kaip paleidote kodą iš ankstesnės užduoties dalies. Jei naudojate virtualų IoT įrenginį, įsitikinkite, kad CounterFit programėlė veikia ir drėgmės bei temperatūros jutikliai buvo sukurti tinkamuose kaiščiuose.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Šį kodą galite rasti code-publish-temperature/virtual-device aplanke arba code-publish-temperature/pi aplanke.
😀 Jūs sėkmingai publikavote temperatūrą kaip telemetriją iš savo įrenginio.
Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudoti profesionalų žmogaus vertimą. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo.