3.8 KiB
I-publish ang temperatura - Virtual IoT Hardware at Raspberry Pi
Sa bahaging ito ng aralin, ipapadala mo ang mga halaga ng temperatura na natukoy ng Raspberry Pi o Virtual IoT Device gamit ang MQTT upang magamit ito sa pag-compute ng GDD sa hinaharap.
I-publish ang temperatura
Kapag nabasa na ang temperatura, maaari itong ipadala gamit ang MQTT sa isang 'server' code na magbabasa ng mga halaga at itatabi ang mga ito para magamit sa kalkulasyon ng GDD.
Gawain - i-publish ang temperatura
I-program ang device upang maipadala ang data ng temperatura.
-
Buksan ang proyekto ng
temperature-sensor
app kung hindi pa ito bukas. -
Ulitin ang mga hakbang na ginawa mo sa aralin 4 upang kumonekta sa MQTT at magpadala ng telemetry. Gagamitin mo ang parehong pampublikong Mosquitto broker.
Ang mga hakbang para dito ay:
- Idagdag ang MQTT pip package
- Idagdag ang code para kumonekta sa MQTT broker
- Idagdag ang code para mag-publish ng telemetry
⚠️ Tingnan ang mga tagubilin para sa pagkonekta sa MQTT at ang mga tagubilin para sa pagpapadala ng telemetry mula sa aralin 4 kung kinakailangan.
-
Siguraduhin na ang
client_name
ay sumasalamin sa pangalan ng proyektong ito:client_name = id + 'temperature_sensor_client'
-
Para sa telemetry, sa halip na magpadala ng light value, ipadala ang halaga ng temperatura na nabasa mula sa DHT sensor bilang isang property sa JSON document na tinatawag na
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Hindi kailangang madalas basahin ang halaga ng temperatura - hindi ito masyadong magbabago sa maikling panahon, kaya itakda ang
time.sleep
sa 10 minuto:time.sleep(10 * 60);
💁 Ang
sleep
function ay tumatanggap ng oras sa segundo, kaya upang mas madaling basahin, ang halaga ay ipinapasa bilang resulta ng isang kalkulasyon. 60 segundo sa isang minuto, kaya 10 x (60 segundo sa isang minuto) ay nagbibigay ng 10 minutong delay. -
Patakbuhin ang code sa parehong paraan tulad ng ginawa mo sa nakaraang bahagi ng assignment. Kung gumagamit ka ng virtual IoT device, siguraduhin na ang CounterFit app ay tumatakbo at ang mga humidity at temperature sensor ay nalikha sa tamang mga pin.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Makikita mo ang code na ito sa code-publish-temperature/virtual-device folder o sa code-publish-temperature/pi folder.
😀 Matagumpay mong naipadala ang temperatura bilang telemetry mula sa iyong device.
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito.