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

3.4 KiB

Controle a sua luz noturna pela Internet - Wio Terminal

Nesta parte da lição, irá enviar telemetria com os níveis de luz do seu Wio Terminal para o broker MQTT.

Instalar as bibliotecas JSON para Arduino

Uma forma popular de enviar mensagens através do MQTT é utilizando JSON. Existe uma biblioteca Arduino para JSON que facilita a leitura e escrita de documentos JSON.

Tarefa

Instale a biblioteca Arduino JSON.

  1. Abra o projeto da luz noturna no VS Code.

  2. Adicione a seguinte linha adicional à lista lib_deps no ficheiro platformio.ini:

    bblanchon/ArduinoJson @ 6.17.3
    

    Isto importa a ArduinoJson, uma biblioteca JSON para Arduino.

Publicar telemetria

O próximo passo é criar um documento JSON com a telemetria e enviá-lo para o broker MQTT.

Tarefa - publicar telemetria

Publique telemetria no broker MQTT.

  1. Adicione o seguinte código ao final do ficheiro config.h para definir o nome do tópico de telemetria para o broker MQTT:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    O CLIENT_TELEMETRY_TOPIC é o tópico onde o dispositivo irá publicar os níveis de luz.

  2. Abra o ficheiro main.cpp.

  3. Adicione a seguinte diretiva #include ao início do ficheiro:

    #include <ArduinoJSON.h>
    
  4. Adicione o seguinte código dentro da função loop, mesmo antes do 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 lê o nível de luz e cria um documento JSON utilizando a ArduinoJson com este nível. Depois, este é serializado para uma string e publicado no tópico de telemetria MQTT pelo cliente MQTT.

  5. Carregue o código para o seu Wio Terminal e utilize o Monitor Serial para ver os níveis de luz a serem enviados para o broker MQTT.

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

💁 Pode encontrar este código na pasta code-telemetry/wio-terminal.

😀 Conseguiu enviar telemetria com sucesso a partir do seu dispositivo.

Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, tenha em atenção que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.