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

3.6 KiB

Steuern Sie Ihr Nachtlicht über das Internet - Wio Terminal

In diesem Teil der Lektion senden Sie Telemetriedaten mit Lichtwerten von Ihrem Wio Terminal an den MQTT-Broker.

Installieren der JSON Arduino-Bibliotheken

Eine beliebte Methode, Nachrichten über MQTT zu senden, ist die Verwendung von JSON. Es gibt eine Arduino-Bibliothek für JSON, die das Lesen und Schreiben von JSON-Dokumenten erleichtert.

Aufgabe

Installieren Sie die Arduino JSON-Bibliothek.

  1. Öffnen Sie das Nachtlicht-Projekt in VS Code.

  2. Fügen Sie die folgende Zeile als zusätzliche Zeile zur lib_deps-Liste in der Datei platformio.ini hinzu:

    bblanchon/ArduinoJson @ 6.17.3
    

    Dies importiert ArduinoJson, eine Arduino JSON-Bibliothek.

Telemetrie veröffentlichen

Der nächste Schritt besteht darin, ein JSON-Dokument mit Telemetriedaten zu erstellen und es an den MQTT-Broker zu senden.

Aufgabe - Telemetrie veröffentlichen

Veröffentlichen Sie Telemetriedaten auf dem MQTT-Broker.

  1. Fügen Sie den folgenden Code am Ende der Datei config.h hinzu, um den Telemetrie-Themennamen für den MQTT-Broker zu definieren:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    Das CLIENT_TELEMETRY_TOPIC ist das Thema, auf dem das Gerät die Lichtwerte veröffentlichen wird.

  2. Öffnen Sie die Datei main.cpp.

  3. Fügen Sie die folgende #include-Direktive am Anfang der Datei hinzu:

    #include <ArduinoJSON.h>
    
  4. Fügen Sie den folgenden Code in die loop-Funktion ein, direkt vor dem 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());
    

    Dieser Code liest den Lichtwert aus und erstellt ein JSON-Dokument mit ArduinoJson, das diesen Wert enthält. Dieses wird dann in einen String serialisiert und vom MQTT-Client im Telemetrie-MQTT-Thema veröffentlicht.

  5. Laden Sie den Code auf Ihr Wio Terminal hoch und verwenden Sie den Serial Monitor, um die Lichtwerte zu sehen, die an den MQTT-Broker gesendet werden.

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

💁 Sie finden diesen Code im Ordner code-telemetry/wio-terminal.

😀 Sie haben erfolgreich Telemetriedaten von Ihrem Gerät gesendet.

Haftungsausschluss:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben.