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/lt/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md

3.3 KiB

Valdykite savo naktinę lemputę internetu - Wio Terminal

Šioje pamokos dalyje siųsite telemetriją su šviesos lygiais iš savo Wio Terminal į MQTT brokerį.

Įdiekite JSON Arduino bibliotekas

Populiarus būdas siųsti pranešimus per MQTT yra naudojant JSON. Yra Arduino biblioteka JSON, kuri palengvina JSON dokumentų skaitymą ir rašymą.

Užduotis

Įdiekite Arduino JSON biblioteką.

  1. Atidarykite naktinės lemputės projektą VS Code.

  2. Pridėkite šią eilutę kaip papildomą įrašą į lib_deps sąrašą platformio.ini faile:

    bblanchon/ArduinoJson @ 6.17.3
    

    Tai importuoja ArduinoJson, Arduino JSON biblioteką.

Telemetrijos publikavimas

Kitas žingsnis yra sukurti JSON dokumentą su telemetrija ir išsiųsti jį MQTT brokeriui.

Užduotis - telemetrijos publikavimas

Publikuokite telemetriją MQTT brokeriui.

  1. Pridėkite šį kodą į config.h failo apačią, kad apibrėžtumėte telemetrijos temos pavadinimą MQTT brokeriui:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    CLIENT_TELEMETRY_TOPIC yra tema, kurioje įrenginys publikuos šviesos lygius.

  2. Atidarykite main.cpp failą.

  3. Pridėkite šią #include direktyvą failo viršuje:

    #include <ArduinoJSON.h>
    
  4. Pridėkite šį kodą į loop funkciją, tiesiai prieš delay:

    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());
    

    Šis kodas nuskaito šviesos lygį, sukuria JSON dokumentą naudojant ArduinoJson, kuriame yra šis lygis. Tada jis serializuojamas į eilutę ir publikuojamas telemetrijos MQTT temoje per MQTT klientą.

  5. Įkelkite kodą į savo Wio Terminal ir naudokite Serial Monitor, kad pamatytumėte, kaip šviesos lygiai siunčiami į MQTT brokerį.

    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"light":652}
    Sending telemetry {"light":612}
    Sending telemetry {"light":583}
    

💁 Šį kodą galite rasti code-telemetry/wio-terminal aplanke.

😀 Jūs sėkmingai išsiuntėte telemetriją iš savo įrenginio.


Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudoti profesionalų žmogaus vertimą. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo.