Diario del Curso IoT, Smart Cities y Node-RED

El diario del curso es una herramienta para seguir los puntos vistos en cada sesión del curso, que permite conocer el avance sesión a sesión.

También sirve para documentar los puntos y dudas que surgen en el curso fuera del temario, pero que es importante tenerlo por escrito como: enlaces interesantes, ampliar un tema de interés, tecnologías relacionadas, etc…

Sesión 1 (3 de mayo) – «Presentación Curso»

Capítulos vistos:

Sesión 2 (4 de mayo) – «Hardware IoT»

Smart Spots: https://smartcities.hopu.eu/index.html

OPA LWM2M: https://en.wikipedia.org/wiki/OMA_LWM2M

Logroño ciudad Inteligente: https://ciudadinteligente.logrono.es/

Soldar Módulos Wemos D1 Mini:

  • Usar espadines hembra en los ESP8266
  • Usar espadines macho en los shields: relé, oled y led.
  • Usar espadines macho/hembra (los más alargados) en el resto de shields: DHT11, DS18B20, BMP180,

Nodos y Firmware: https://aprendiendoarduino.wordpress.com/2021/12/05/material-curso-node-red/

Capítulos vistos:

Sesión 3 (9 de mayo) – «Comunicaciones IoT»

Plataforma Smart cities: https://elliotcloud.com/smart-cities-2/

Acceso a los metadatos: https://sacseguridad.com/auto-entrenamiento-y-aprendizaje-de-las-camaras-de-video-bosch-o-camera-trainer/

Bosch Metadata Publisher
Es una herramienta gratuita que permite al desarrollador de aplicaciones utilizar el protocolo MQTT y así poder trabajar en ambientes de comunicación M2M (Machine to Machine) o IoT (Internet of Things), posibilitando el desarrollo de aplicaciones que involucren dispositivos de automatización industrial o de edificios con base en la generación de metadatos por parte de la cámara.

Metadata y eventos de analíticas vía ONVIF
Con la interfaz de conformidad ONVIF disponible en las cámaras Bosch con FW 6.10 y superior se es compatible para recibir eventos de análisis basados en el motor de reglas de IVA en el borde y la secuencia de metadatos en el formato ONVIF. Use esta funcionalidad para desarrollar interfaces de integración con sistemas VMS de terceros, o para desarrollar sus propias aplicaciones de software que toman como base el foro ONVIF.

Capítulos vistos:

Sesión 4 (11 de mayo) – «Protocolos IoT»

Actualizada parte de SQLite en Instalación de Servicios en Raspberry Pi OS

Actualizada lista de librerías en Sensorización IoT con ESP8266

Listado completo de firmware de shields: https://github.com/jecrespo/Curso-Node-RED/tree/master/Remote%20Nodes%20Firmware/Wemos%20Shields%20Usage

HW LoRaWAN:

LoRa Network Server: https://www.chirpstack.io/

Broker MQTT:

  • Host: aprendiendonodered.com
  • Port: 8883
  • username: cursomqtt
  • Topic Path: cursomqtt/#

Capítulos vistos:

Sesión 5 (16 de mayo) – «MQTT»

Demo LoRa punto a punto: https://www.aprendiendoarduino.com/2018/03/07/demo-lora-con-moteino/

Datos enviados a Broker MQTT

Mosquitto Clients Count. Se quedan las conexiones al hacer un deploy. Probar con netstat -ntp | grep ESTABLISHED.*mosquitto

Configuración mosquitto: https://mosquitto.org/man/mosquitto-conf-5.html

  • message_size_limit
  • max_queued_messages
  • memory_limit
  • max_connections

Capítulos vistos:

Sesión 6 (18 de mayo) – «Instalación y Configuración Node-RED»

Problema en el cierre de socket en nodos MQTT: https://github.com/node-red/node-red/issues/3593

NodeRed 3.0.0-beta.1: https://discourse.nodered.org/t/node-red-3-0-0-beta-1-released/62124

Instalada beta en https://enriquecrespo.com:18809/

Instalar en Docker Node-RED dev: https://hub.docker.com/r/nodered/node-red-dev/tags

Demo Sigfox: https://www.aprendiendoarduino.com/2018/03/05/demo-mkrfox1200/

HW Sigfox:

Capítulos vistos:

Sesión 7 (23 de mayo) – «Node-RED»

TTN: The Things Network (TTN) es una iniciativa basada en la comunidad para establecer una red global de IoT. La iniciativa fue lanzada por Wienke Giezeman en 2015 y actualmente cubre más de 20.000 pasarelas LoRaWAN instaladas en más de 150 países. Los voluntarios se encargan de la construcción, el cuidado y el pago de los portales

Recomendado doble pantalla

Plantilla settings.js para Node-RED: https://github.com/jecrespo/configuracion-node-red

Múltiples instancias Node-RED con inicio mediante systemd:

  • https://nodered.org/docs/faq/customising-systemd-on-pi
  • Copiar el directorio completo .node-red: cp -R .node-red/ .node-red_1
  • Modificar en settings.js: uiPort: process.env.PORT || 1881 y userDir: ‘/home/pi/.node-red_1/’
  • sudo find / -name nodered.service (buscar donde está el servicio generalmente bajo /usr/lib/systemd/system/nodered.service)
  • sudo cp nodered.service nodered2.service
  • Añadir la línea: Environment=”NODE_RED_OPTIONS=-s /home/pi/.node-red2/settings.js”
  • sudo systemctl enable nodered2.service
  • sudo systemctl start nodered2.service

Capítulos vistos:

Sesión 8 (25 de mayo) – «Dashboard Node-RED»

7.1 – Fundamentos Programación Node-RED (Ejercicio final)

OJO: Al importar también importa el nodo de configuración, pero no las contraseñas

Práctica 3: Wifi + MQTT con ESP8266 (poner en funcionamiento nodo DS18B20 + Relé y/o DS18B20 + Oled)

Capítulos vistos:

Sesión 9 (30 de mayo) – «Desarrollo Node-RED I»

Organización de sesión presencial

  • Proyector con conector VGA o HDMI
  • Wifi con acceso a Internet
  • Un puerto ethernet con acceso a Internet

MQTT no publica arrays de datos como mensajes independientes. Ver ejemplo en https://enriquecrespo.com:1880/

Anidar referencias a los mensajes: https://nodered.org/blog/2021/04/08/version-1-3-released#referencing-msg-properties-in-change-switch-nodes. Útil para guardar en una variable de cotexto los últimos datos de MQTT.

Gateway Bluetooth con Raspberry Pi. Nodos BLE:

OJO BLE scanner de ble sense necesita de mandar un comando si Node-RED no se ejecuta como root. Ver la documentación del nodo

Ejemplo con Xiaomi Mi Flora:

Gateway Zigbee:

Capítulos vistos:

Sesión 10 (1 de junio) – «Desarrollo Node-RED I»

Organización sesión presencial

Instalar paquetes con npm:

  • npm install <nombre paquete> en el directorio .node-red
  • reiniciar node-red y refrescar navegador para ver el nuevo paquete
  • error «../libusb/libusb/os/linux_udev.c:40:10: fatal error: libudev.h: No such file or directory» – instalar sudo apt install libudev-dev
  • npm list – paquetes instalados y sus dependencias
  • npm list -g –depth=0 – paquetes instalados globalmente
  • npm outdated – paquetes desactualizados
  • npm install -g –unsafe-perm node-red – instalar node-red

Uso nodo email https://flows.nodered.org/node/node-red-node-email

Mejora ejemplo worldmap: limpiar capa. Probar https://flows.nodered.org/flow/002f4173484dabaf3d6742b8da9642ee

Nodo gefence y dibujar un polígono: https://flows.nodered.org/node/node-red-node-geofence

Buttons personalizados con nodo template.ui: https://tech.scargill.net/more-node-red-dashboard-success/

Nagios MQTT y Node-RED:

Capítulos vistos:

Sesión 11 (9 de junio – presencial)

Cualquier consulta o temas relacionados (p.e. cámaras Bosch) contacto en aprendiendoarduino@gmail.com

Ver plataforma con Node-RED de Smart City

OpenMQTTGateway https://docs.openmqttgateway.com/. Básicamente es un firmware que pones en un dispositivo como Arduino, ESP32, Raspberry Pi, etc… que conecta con redes LoRa, BLE, IR, etc… con una serie de dispositivos compatibles y los publica por MQTT.

Termostato al estilo de Nest con soporte táctil: https://flows.nodered.org/node/node-red-contrib-ui-thermostat

Node-RED y Elastic Search

Capítulos vistos:

Otros temas de interés

Puntos que no haya dado tiempo de ver

2 comentarios en “Diario del Curso IoT, Smart Cities y Node-RED

  1. Pingback: Presentación Curso Smart Cities | Aprendiendo Arduino

  2. Pingback: Diario del Curso IoT, Smart Cities y Node-RED -

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.