4.1 KiB
Chapisha joto - Wio Terminal
Katika sehemu hii ya somo, utachapisha thamani za joto zilizogunduliwa na Wio Terminal kupitia MQTT ili ziweze kutumika baadaye kuhesabu GDD.
Chapisha joto
Baada ya kusoma joto, linaweza kuchapishwa kupitia MQTT kwa 'server' fulani ya msimbo ambayo itasoma thamani hizo na kuzihifadhi tayari kutumika kwa hesabu ya GDD. Microcontrollers hazisomi muda kutoka kwenye mtandao na kufuatilia muda kwa saa halisi moja kwa moja, kifaa kinahitaji kupangwa kufanya hivyo, kwa kudhani kina vifaa vinavyohitajika.
Ili kurahisisha mambo kwa somo hili, muda hautatumwa pamoja na data ya sensa, badala yake unaweza kuongezwa na msimbo wa server baadaye unapopokea ujumbe.
Kazi
Panga kifaa kuchapisha data ya joto.
-
Fungua mradi wa
temperature-sensor
wa Wio Terminal -
Rudia hatua ulizofanya katika somo la 4 kuunganishwa na MQTT na kutuma telemetry. Utatumia broker wa Mosquitto wa umma ule ule.
Hatua za kufanya hivi ni:
- Ongeza maktaba za Seeed WiFi na MQTT kwenye faili
.ini
- Ongeza faili ya usanidi na msimbo wa kuunganishwa na WiFi
- Ongeza msimbo wa kuunganishwa na broker wa MQTT
- Ongeza msimbo wa kuchapisha telemetry
⚠️ Rejelea maelekezo ya kuunganishwa na MQTT na maelekezo ya kutuma telemetry kutoka somo la 4 ikiwa inahitajika.
- Ongeza maktaba za Seeed WiFi na MQTT kwenye faili
-
Hakikisha
CLIENT_NAME
katika faili ya kichwaconfig.h
inaakisi mradi huu:const string CLIENT_NAME = ID + "temperature_sensor_client";
-
Kwa telemetry, badala ya kutuma thamani ya mwanga, tuma thamani ya joto iliyosomwa kutoka sensa ya DHT katika mali kwenye hati ya JSON inayoitwa
temperature
kwa kubadilisha kazi yaloop
katikamain.cpp
:float temp_hum_val[2] = {0}; dht.readTempAndHumidity(temp_hum_val); DynamicJsonDocument doc(1024); doc["temperature"] = temp_hum_val[1];
-
Thamani ya joto haitaji kusomwa mara kwa mara - haitabadilika sana kwa muda mfupi, kwa hivyo weka
delay
katika kazi yaloop
kuwa dakika 10:delay(10 * 60 * 1000);
💁 Kazi ya
delay
inachukua muda kwa millisekunde, kwa hivyo ili iwe rahisi kusoma thamani inapitishwa kama matokeo ya hesabu. 1,000ms katika sekunde, 60s katika dakika, kwa hivyo 10 x (60s katika dakika) x (1000ms katika sekunde) inatoa kuchelewesha kwa dakika 10. -
Pakia hii kwenye Wio Terminal yako, na tumia serial monitor kuona joto likitumwa kwa broker wa MQTT.
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"temperature":25} Sending telemetry {"temperature":25}
💁 Unaweza kupata msimbo huu katika folda ya code-publish-temperature/wio-terminal.
😀 Umefanikiwa kuchapisha joto kama telemetry kutoka kwa kifaa chako.
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.