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/single-board-computer-telem...

3.3 KiB

Controla tu luz nocturna a través de Internet - Hardware IoT Virtual y Raspberry Pi

En esta parte de la lección, enviarás telemetría con niveles de luz desde tu Raspberry Pi o dispositivo IoT virtual a un broker MQTT.

Publicar telemetría

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

Tarea

Publica telemetría en el broker MQTT.

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

  2. Si estás utilizando un dispositivo IoT virtual, asegúrate de que el terminal esté ejecutando el entorno virtual. Si estás utilizando una Raspberry Pi, no estarás usando un entorno virtual.

  3. Agrega la siguiente importación al inicio del archivo app.py:

    import json
    

    La biblioteca json se utiliza para codificar la telemetría como un documento JSON.

  4. Agrega lo siguiente después de la declaración de client_name:

    client_telemetry_topic = id + '/telemetry'
    

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

  5. Reemplaza el contenido del bucle while True: al final del archivo con lo siguiente:

    while True:
        light = light_sensor.light
        telemetry = json.dumps({'light' : light})
    
        print("Sending telemetry ", telemetry)
    
        mqtt_client.publish(client_telemetry_topic, telemetry)
    
        time.sleep(5)
    

    Este código empaqueta el nivel de luz en un documento JSON y lo publica en el broker MQTT. Luego, se detiene por un momento para reducir la frecuencia con la que se envían los mensajes.

  6. Ejecuta el código de la misma manera que ejecutaste el código de la parte anterior de la tarea. Si estás utilizando un dispositivo IoT virtual, asegúrate de que la aplicación CounterFit esté ejecutándose y que el sensor de luz y el LED hayan sido creados en los pines correctos.

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Sending telemetry  {"light": 0}
    Sending telemetry  {"light": 0}
    

💁 Puedes encontrar este código en la carpeta code-telemetry/virtual-device o en la carpeta code-telemetry/pi.

😀 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 automatizadas 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.