3.5 KiB
Kontrolin ang iyong nightlight gamit ang Internet - Wio Terminal
Sa bahaging ito ng aralin, magpapadala ka ng telemetry na may mga antas ng liwanag mula sa iyong Wio Terminal papunta sa MQTT broker.
I-install ang mga JSON Arduino library
Isang sikat na paraan ng pagpapadala ng mga mensahe gamit ang MQTT ay sa pamamagitan ng JSON. Mayroong Arduino library para sa JSON na nagpapadali sa pagbabasa at pagsusulat ng mga JSON na dokumento.
Gawain
I-install ang Arduino JSON library.
-
Buksan ang nightlight project sa VS Code.
-
Idagdag ang sumusunod bilang karagdagang linya sa
lib_deps
na listahan saplatformio.ini
na file:bblanchon/ArduinoJson @ 6.17.3
Ini-import nito ang ArduinoJson, isang Arduino JSON library.
Mag-publish ng telemetry
Ang susunod na hakbang ay gumawa ng JSON na dokumento na may telemetry at ipadala ito sa MQTT broker.
Gawain - mag-publish ng telemetry
Mag-publish ng telemetry sa MQTT broker.
-
Idagdag ang sumusunod na code sa ibaba ng
config.h
na file upang tukuyin ang pangalan ng telemetry topic para sa MQTT broker:const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
Ang
CLIENT_TELEMETRY_TOPIC
ay ang topic kung saan magpapadala ang device ng mga antas ng liwanag. -
Buksan ang
main.cpp
na file. -
Idagdag ang sumusunod na
#include
directive sa itaas ng file:#include <ArduinoJSON.h>
-
Idagdag ang sumusunod na code sa loob ng
loop
function, bago angdelay
:int light = analogRead(WIO_LIGHT); DynamicJsonDocument doc(1024); doc["light"] = light; string telemetry; serializeJson(doc, telemetry); Serial.print("Sending telemetry "); Serial.println(telemetry.c_str()); client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());
Binabasa ng code na ito ang antas ng liwanag, at gumagawa ng JSON na dokumento gamit ang ArduinoJson na naglalaman ng antas na ito. Pagkatapos, ito ay sine-serialize sa isang string at ipinapadala sa telemetry MQTT topic gamit ang MQTT client.
-
I-upload ang code sa iyong Wio Terminal, at gamitin ang Serial Monitor upang makita ang mga antas ng liwanag na ipinapadala sa MQTT broker.
Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"light":652} Sending telemetry {"light":612} Sending telemetry {"light":583}
💁 Maaari mong makita ang code na ito sa code-telemetry/wio-terminal na folder.
😀 Matagumpay mong naipadala ang 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, pakitandaan 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.