Conexión entre la placa IoT-02 y Snap! mediante MQTT

De binefa.com
Salta a la navegació Salta a la cerca

Uso de websockets MQTT

Como usar MQTT con websockets, normales (ws) y seguros (wss), en Snap!

Saber la MAC del ESP32 de la placa IoT-02

Listado de prefijos MAC (3 primeros bytes) pertencientes a Espressif

00_recMacSnap

La petición de la MAC es genérica. Cualquier placa tiene que poder responder. Para que sólo nos conteste su MAC una placa concreta, el firmware propuesto obliga a apretar el botón IO0 en el momento de hacer la petición desde el Snap!.

Código en Snap! para saber la MAC y firmware para gestionar la MAC en la placa IoT-02. IoT-02_mqtts_03 en GitHub

Ejercicio 1 de Snap! con MQTT

Verificar que os funciona el ejemplo

Controlando los 4 leds y el relé de enclavamiento

01_ctrlOutputs

Código en Snap! para controlar las salidas digitales y firmware para gestionar las salidas digitales en la placa IoT-02. IoT-02_mqtts_04 en GitHub

Ejercicio 2 de Snap! con MQTT

Verificar que os funciona el ejemplo añadiendo el control de los leds amarillo y rojo.

Subscripción a los 3 botones y publicación a las salidas digitales

02_subButtonsPubOutputs

Código en Snap! para subscribirse al cambio de los botones y publicar las salidas digitales y firmware para gestionar la publicación/subscripción en la placa IoT-02. IoT-02_mqtts_05 en GitHub

Petición del estado de una entrada digital

03_requestingDigitalInput.png

Código en Snap! incorporando la lectura del estado del relé de enclavamiento y firmware para gestionar, también, la lectura del estado del relé de enclavamiento en la placa IoT-02. IoT-02_mqtts_06 en GitHub

Ejercicio 3 de Snap! con MQTT

Verificar que os funciona el ejemplo añadiendo la petición del estado de los tres botones.

Petición del valor de una entrada analógica

04_requestingAnalogInput.png

Código en Snap! incorporando la lectura analógica de la LDR y firmware para gestionar, también, la lectura analógica de la LDR en la placa IoT-02. IoT-02_mqtts_07 en GitHub

Ejercicio 4 de Snap! con MQTT

Verificar que os funciona el ejemplo enseñando el valor de luz leída en tanto por ciento (%). Sabiendo que el convertidor analógico a digital es de 12 bits (valor entre 0 y 4095).

Petición de datos al sensor BME280

05_requestingTemp.png

Código en Snap! incorporando la lectura de temperatura del sensor BME280 y firmware para gestionar, también, la lectura del sensor mediante el protocolo I2C en la placa IoT-02. IoT-02_mqtts_08 en GitHub

Ejercicio 5 de Snap! con MQTT

Verificar que os funciona el ejemplo añadiendo la petición de la humedad relativa en %, la presión en hPa y la altura relativa en metros.

Escritura a la pantalla OLED

06_publishingOled.png

Código en Snap! incorporando la escritura a la pantalla OLED y firmware para gestionar, también, la escritura a la pantalla mediante el protocolo I2C en la placa IoT-02. IoT-02_mqtts_09 en GitHub

Ejercicio 6 de Snap! con MQTT

Mediante Snap! hacer que en la pantalla aparezca, de forma infinita y con una cadencia de dos segundos, el porcentaje de luz leída por la LDR y después la temperatura en grados centígrados.