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

3.4 KiB

Bedien je nachtlampje via het internet - Wio Terminal

In dit deel van de les stuur je telemetrie met lichtniveaus van je Wio Terminal naar de MQTT-broker.

Installeer de JSON Arduino-bibliotheken

Een populaire manier om berichten via MQTT te verzenden is door gebruik te maken van JSON. Er is een Arduino-bibliotheek voor JSON die het lezen en schrijven van JSON-documenten eenvoudiger maakt.

Taak

Installeer de Arduino JSON-bibliotheek.

  1. Open het nachtlampproject in VS Code.

  2. Voeg de volgende regel toe aan de lib_deps lijst in het platformio.ini bestand:

    bblanchon/ArduinoJson @ 6.17.3
    

    Dit importeert ArduinoJson, een Arduino JSON-bibliotheek.

Telemetrie publiceren

De volgende stap is het maken van een JSON-document met telemetrie en dit verzenden naar de MQTT-broker.

Taak - telemetrie publiceren

Publiceer telemetrie naar de MQTT-broker.

  1. Voeg de volgende code toe aan de onderkant van het config.h bestand om de telemetrie-topicnaam voor de MQTT-broker te definiëren:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    De CLIENT_TELEMETRY_TOPIC is de topic waar het apparaat lichtniveaus naar zal publiceren.

  2. Open het main.cpp bestand.

  3. Voeg de volgende #include directive toe aan de bovenkant van het bestand:

    #include <ArduinoJSON.h>
    
  4. Voeg de volgende code toe binnen de loop functie, net vóór de 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());
    

    Deze code leest het lichtniveau en maakt een JSON-document met behulp van ArduinoJson dat dit niveau bevat. Dit wordt vervolgens geserialiseerd naar een string en gepubliceerd op de telemetrie-MQTT-topic door de MQTT-client.

  5. Upload de code naar je Wio Terminal en gebruik de Serial Monitor om de lichtniveaus te zien die naar de MQTT-broker worden verzonden.

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

💁 Je kunt deze code vinden in de code-telemetry/wio-terminal map.

😀 Je hebt met succes telemetrie vanaf je apparaat verzonden.


Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.