10 / 4 / 2021 - Tecnologías IoT, Hands on y MVP
Contingut
- 1 Conceptos previos (9 / 4 / 2021)
- 2 Temario (10 / 4 / 2021)
Conceptos previos (9 / 4 / 2021)
- putty, FileZilla y órdenes básicas de GNU/Linux
- Pequeño ejercicio conjunto de MQTT con MySQL
- Ejercicio del ascensor (concepto de la pasarela IoT -IoT Gateway-). Snap!, NodeRED usando HTTP y control desde el móvil
- Google Sheets desde el NodeRED
- Protocolos para la IOT. TCP, HTTP, HTTPS, CoAP, ModBus-TCP, MQTT, MQTTS y OPC-UA
- Ejemplos HTTP, OPC-UA y ModBus TCP en Python y Node.js
- Combinaciones de protocolos
Temario (10 / 4 / 2021)
Repaso
Protocolos TCP
TCP (Transmission Control Protocol): retrato del protocolo de transporte
HTTP
Generalidades del protocolo HTTP
Firmware comprimido en zip que presenta una página web en HTML capaz de controlar el led blanco. IoT-02_wifi_01_simpleWiFiServer en GitHub
MQTT y MQTTS
Conexión entre la placa IoT-02 y Snap! mediante MQTT
Firmware comprimido en zip de la placa IoT-02 de subscripción y publicación MQTT
Código prueba_IoT02_mqtt en xml para Snap! (enlace directo. El código se puede abrir directamente en una nueva pestaña del navegador). Sirve para probar el firmware del enlace anterior.
Protocolo UDP
UDP: ¿qué es el protocolo UDP?
Firmware que implementa el protocolo UDP para la placa IoT-02.
unsigned int udpPortRx = 3334; unsigned int udpPortTx = 3333;
Introducción a NodeRED
Código para importar en el NodeRED funcionando con el protocolo UDP. El puerto de recepción del ordenador (3333) tiene que ser el de transmisión de la placa y el de recepción de la placa (3334) tiene que ser el de transmisión del ordenador.
Puerto Rx = 3333 Puerto Tx = 3334
Graficación básica con un panel de control del NodeRED
Verificar si están instalados los nodos node-red-dashboard en el NodeRED (ir a Settings/Palette/Nodes). En caso de que no estén, ir a Settings/Palette/Install y hacer la instalación.
¡Atención!: Sólo puede haber un escuchador (listener) UDP por puerto. Si se copia este flujo en otra pestaña del NodeRED, borrad el nodo UDP escuchador del flujo anterior. Se podría cambiar el número de puerto para que no hubiese colisión, pero también se tendría que cambiar en el código del firmware de la placa IoT-02.
Código para importar en el NodeRED funcionando con el protocolo UDP y graficando la lectura analógica de la LDR. Se hacen consultas en el intervalo de un segundo. Para la visualización se usa una gráfica (chart) y un reloj (gaugage). También se han incorporado unos botones para controlar el led blanco y el verde.
Ejercicio NodeRED con MQTT
Hacer las modificaciones necesarias al código para importar en el NodeRED funcionando con el protocolo UDP y graficando la lectura analógica de la LDR para que funcione mediante MQTT.
Integración de la placa IoT-02 con el ejercicio del ascensor
- Indicador de piso con los leds
- Control de posición con los botones
- Uso de la pantalla OLED para introducir información de valor para el usuario
Uso del VPS del Máster de Industria 4.0 el curso 2020-2021
InfluxDB básico
Conexión InfluxDB con NodeRED
Uso de InfluxDB en el VPS del Máster de Industria 4.0 el curso 2019-2020
Introducción a Grafana
Uso de Grafana en el VPS del Máster de Industria 4.0 el curso 2019-2020
Ejercicio
Lectura de la LDR, temperatura, presión y humedad de la placa IoT-02 y graficarlas con Grafana.
Uso de bots
Bot de Telegram
Bot de Mastodon
No todas las instancias de Mastodon facilitan la instalación de bots. Para hacer los primeros pasos os recomiendo esta instancia pensada para hospedar bots de Mastodon.
Ejemplo de bot de Mastodon para hacer lecturas de sensores cada hora.
Getting credentials for the Mastodon API with Mastodon.py, step by step