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

3.4 KiB

Controla tu luz nocturna a través de Internet - Wio Terminal

En esta parte de la lección, enviarás telemetría con los niveles de luz desde tu Wio Terminal al broker MQTT.

Instalar las bibliotecas JSON para Arduino

Una forma popular de enviar mensajes a través de MQTT es utilizando JSON. Existe una biblioteca de Arduino para JSON que facilita la lectura y escritura de documentos JSON.

Tarea

Instala la biblioteca Arduino JSON.

  1. Abre el proyecto de la luz nocturna en VS Code.

  2. Agrega la siguiente línea adicional a la lista lib_deps en el archivo platformio.ini:

    bblanchon/ArduinoJson @ 6.17.3
    

    Esto importa ArduinoJson, una biblioteca JSON para Arduino.

Publicar telemetría

El siguiente paso es crear un documento JSON con la telemetría y enviarlo al broker MQTT.

Tarea - publicar telemetría

Publica telemetría en el broker MQTT.

  1. Agrega el siguiente código al final del archivo config.h para definir el nombre del tema de telemetría para el broker MQTT:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    El CLIENT_TELEMETRY_TOPIC es el tema al que el dispositivo publicará los niveles de luz.

  2. Abre el archivo main.cpp.

  3. Agrega la siguiente directiva #include al principio del archivo:

    #include <ArduinoJSON.h>
    
  4. Agrega el siguiente código dentro de la función loop, justo antes del 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());
    

    Este código lee el nivel de luz y crea un documento JSON utilizando ArduinoJson que contiene este nivel. Luego, se serializa a una cadena y se publica en el tema de telemetría MQTT mediante el cliente MQTT.

  5. Sube el código a tu Wio Terminal y utiliza el Monitor Serial para ver los niveles de luz que se envían al broker MQTT.

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

💁 Puedes encontrar este código en la carpeta code-telemetry/wio-terminal.

😀 Has enviado telemetría desde tu dispositivo con éxito.


Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.