3.4 KiB
Hallitse yövaloa Internetin kautta - Wio Terminal
Tässä osassa oppituntia lähetät telemetriatietoja valotasoista Wio Terminal -laitteestasi MQTT-välityspalvelimelle.
Asenna JSON Arduino -kirjastot
Yksi suosittu tapa lähettää viestejä MQTT:n kautta on käyttää JSON-muotoa. Arduino tarjoaa JSON-kirjaston, joka helpottaa JSON-dokumenttien lukemista ja kirjoittamista.
Tehtävä
Asenna Arduino JSON -kirjasto.
-
Avaa yövaloprojekti VS Codessa.
-
Lisää seuraava rivi
lib_deps
-listaanplatformio.ini
-tiedostossa:bblanchon/ArduinoJson @ 6.17.3
Tämä tuo käyttöön ArduinoJson-kirjaston, joka on Arduino JSON -kirjasto.
Telemetrian julkaiseminen
Seuraava vaihe on luoda JSON-dokumentti telemetriatiedoista ja lähettää se MQTT-välityspalvelimelle.
Tehtävä - telemetrian julkaiseminen
Julkaise telemetria MQTT-välityspalvelimelle.
-
Lisää seuraava koodi
config.h
-tiedoston loppuun määrittääksesi telemetria-aiheen nimen MQTT-välityspalvelimelle:const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
CLIENT_TELEMETRY_TOPIC
on aihe, johon laite julkaisee valotasotiedot. -
Avaa
main.cpp
-tiedosto. -
Lisää seuraava
#include
-direktiivi tiedoston alkuun:#include <ArduinoJSON.h>
-
Lisää seuraava koodi
loop
-funktion sisään, juuri ennendelay
-komentoa: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());
Tämä koodi lukee valotason ja luo JSON-dokumentin, joka sisältää tämän tason käyttäen ArduinoJson-kirjastoa. JSON-dokumentti sarjoitetaan merkkijonoksi ja julkaistaan telemetria-MQTT-aiheeseen MQTT-asiakkaan avulla.
-
Lataa koodi Wio Terminal -laitteeseesi ja käytä sarjamonitoria nähdäksesi, kuinka valotasot lähetetään MQTT-välityspalvelimelle.
Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"light":652} Sending telemetry {"light":612} Sending telemetry {"light":583}
💁 Löydät tämän koodin code-telemetry/wio-terminal -kansiosta.
😀 Olet onnistuneesti lähettänyt telemetriatietoja laitteestasi.
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.