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

3.3 KiB

Styr din nattlampa över Internet - Wio Terminal

I denna del av lektionen kommer du att skicka telemetri med ljusnivåer från din Wio Terminal till MQTT-brokern.

Installera JSON Arduino-bibliotek

Ett populärt sätt att skicka meddelanden över MQTT är att använda JSON. Det finns ett Arduino-bibliotek för JSON som gör det enklare att läsa och skriva JSON-dokument.

Uppgift

Installera Arduino JSON-biblioteket.

  1. Öppna nattlampa-projektet i VS Code.

  2. Lägg till följande som en extra rad i listan lib_deps i filen platformio.ini:

    bblanchon/ArduinoJson @ 6.17.3
    

    Detta importerar ArduinoJson, ett Arduino JSON-bibliotek.

Publicera telemetri

Nästa steg är att skapa ett JSON-dokument med telemetri och skicka det till MQTT-brokern.

Uppgift - publicera telemetri

Publicera telemetri till MQTT-brokern.

  1. Lägg till följande kod längst ner i filen config.h för att definiera telemetriämnets namn för MQTT-brokern:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    CLIENT_TELEMETRY_TOPIC är ämnet som enheten kommer att publicera ljusnivåer till.

  2. Öppna filen main.cpp

  3. Lägg till följande #include-direktiv högst upp i filen:

    #include <ArduinoJSON.h>
    
  4. Lägg till följande kod inuti funktionen loop, precis före 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());
    

    Denna kod läser ljusnivån och skapar ett JSON-dokument med ArduinoJson som innehåller denna nivå. Detta serialiseras sedan till en sträng och publiceras på telemetri-MQTT-ämnet av MQTT-klienten.

  5. Ladda upp koden till din Wio Terminal och använd Serial Monitor för att se ljusnivåerna som skickas till MQTT-brokern.

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

💁 Du kan hitta denna kod i mappen code-telemetry/wio-terminal.

😀 Du har framgångsrikt skickat telemetri från din enhet.


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör det noteras att automatiska översättningar kan innehålla fel eller inexaktheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.