You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/et/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md

84 lines
2.8 KiB

# Juhi oma öölampi Interneti kaudu - Wio Terminal
Selles õppetunni osas saadad telemeetriat Wio Terminali valguse tasemetega MQTT brokerile.
## Paigalda JSON Arduino teegid
Populaarne viis sõnumite saatmiseks MQTT kaudu on kasutada JSON-i. Arduino jaoks on olemas JSON-teek, mis muudab JSON-dokumentide lugemise ja kirjutamise lihtsamaks.
### Ülesanne
Paigalda Arduino JSON teek.
1. Ava öölambi projekt VS Code'is.
1. Lisa järgmine rida `lib_deps` loendisse `platformio.ini` failis:
```ini
bblanchon/ArduinoJson @ 6.17.3
```
See impordib [ArduinoJson](https://arduinojson.org), Arduino JSON teegi.
## Telemeetria avaldamine
Järgmine samm on luua telemeetria jaoks JSON-dokument ja saata see MQTT brokerile.
### Ülesanne - telemeetria avaldamine
Avalda telemeetria MQTT brokerile.
1. Lisa järgmine kood `config.h` faili lõppu, et määratleda telemeetria teema nimi MQTT brokeri jaoks:
```cpp
const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
```
`CLIENT_TELEMETRY_TOPIC` on teema, kuhu seade avaldab valguse tasemed.
1. Ava `main.cpp` fail.
1. Lisa järgmine `#include` direktiiv faili algusesse:
```cpp
#include <ArduinoJSON.h>
```
1. Lisa järgmine kood `loop` funktsiooni sisse, vahetult enne `delay`:
```cpp
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());
```
See kood loeb valguse taseme, loob ArduinoJson-i abil JSON-dokumendi, mis sisaldab seda taset. Seejärel serialiseeritakse see stringiks ja avaldatakse telemeetria MQTT teemas MQTT kliendi poolt.
1. Laadi kood oma Wio Terminali ja kasuta Serial Monitori, et näha, kuidas valguse tasemed saadetakse MQTT brokerile.
```output
Connecting to WiFi..
Connected!
Attempting MQTT connection...connected
Sending telemetry {"light":652}
Sending telemetry {"light":612}
Sending telemetry {"light":583}
```
> 💁 Selle koodi leiad [code-telemetry/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/wio-terminal) kaustast.
😀 Sa oled edukalt saatnud telemeetria oma seadmest.
---
**Lahtiütlus**:
See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.