
Curso «Raspberry Pi y Node-RED para IoT 2022. 2ª ed.»: https://www.aprendiendoarduino.com/raspberry-pi-y-node-red-para-iot-2a-ed/
Día 1 (13/06/2022) – «Presentación del Curso»
Hoja de préstamo de material.
Capítulos vistos:
Día 2 (14/06/2022) – «Raspberry Pi OS y Linux»
Resumen de lo hecho el día 1: Raspberry Pi instalada y configurada con acceso remoto por VNC, incluso por cloud. ¿Dudas del proceso?


ssh: https://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html
Raspberry Pi Compute Module 4s: https://www.muycomputer.com/2022/04/06/raspberry-pi-compute-module-4s/
mDNS: https://en.wikipedia.org/wiki/Multicast_DNS
Capítulos vistos:
- 2.1.- Qué es Raspberry Pi
- 2.3.- Raspberry Pi OS
- 2.2.- HW Raspberry Pi
- 2.4.- Acceso Remoto Raspberry Pi
- 2.5.- Paso a Paso: Instalar Raspberry Pi OS (continuación)
Día 3 (15/06/2022) – «Linux e Instalación Servicios»
Resumen de lo hecho el día 2: Configurado acceso remoto a Raspberry Pi y redes virtuales.
Planificación para jueves o viernes: Node-RED y MQTT
Acceso a Raspberry Pi de casa con Zero Tier:
- Instalar Zero Tier en Raspberry Pi de casa: curl -s https://install.zerotier.com | sudo bash
- Unirse a la red: sudo zerotier-cli join [network-id] with [device-id]
- Autorizar a la Raspberry Pi a entrar en la red desde el panel de control de Zero Tier
- Comprobar que está en la red: sudo zerotier-cli listnetworks
- Probar desde las otras Raspberry Pi en red Zero Tier que hace ping a Raspberry de Casa
- Instalar Zero Tier en los PCs del aula y unirse a la red
- Comprobar que se llega a los Node-RED (puertos 1880, 1881 y 1882) y Grafana (puerto 3000) de Raspberry Pi casa
- Abandonar la red: sudo zerotier-cli leave [network-id]
- Eliminar Raspberry Pi del panel de control de Zero Tier
Servicios como ZeroTier o Remote.it nos permite administrar redes virtuales y entender el funcionamiento de las VPNs o los túneles.
Zero Tier self-hosted: https://docs.zerotier.com/self-hosting/network-controllers/?utm_source=ztp
Acceso P2P con remote.it
MOOCs recomendados:
- Introducción a Linux: https://www.edx.org/course/introduction-to-linux
- Introducción a Linux (Español): https://www.edx.org/course/introduccion-a-linux
- Bases de datos relacionales https://www.edx.org/course/databases-5-sql
- Introducción a SQL: https://www.edx.org/course/introduction-to-sql-2
Capítulos vistos:
- 3.1.- Conceptos básicos de Linux
- 3.2.- Instalación Software en Raspberry Pi OS
- 3.3.- Paso a Paso: Instalar Servicios en Raspberry Pi
Día 4 (16/06/2022) – «Node-RED»
Resumen de lo hecho: Configurado acceso remoto a Raspberry Pi, acceso remoto y gestión Raspberry Pi via web.
- Podemos programarla Node-RED
- Podemos administrarla con Webmin
- Podemos almacenar datos con SQLite
- Y todo en local o en remoto.
Todo lo aprendido con Raspberry Pi es extensible a cualquier dispositivo con Linux, especialmente sistemas embebidos, gateways y servidores (publicos o privados).
Capítulos vistos:
- 3.3.- Paso a Paso: Instalar Servicios en Raspberry Pi (continuar)
- 5.2.- Qué es Node-RED
Día 5 (17/06/2022) – «MQTT»
Open Weather Map:
Servidor MQTT:
- Host: aprendiendonodered.com
- Port: 8883
- username: cursomqtt
- Topic: cursomqtt/#
Instrucciones instalación Node-RED: https://nodered.org/#get-started
Capítulos vistos:
- 5.2.- Qué es Node-RED (ejercicio)
- 4.1.- Protocolo MQTT
Día 6 (20/06/2022) – «Node-RED y MQTT»
Ecuador del curso: Todo listo para configurar Node-RED y programar con Node-RED.
Documentación final actualizada y publicada.
Control de Acceso con MQTT: https://es.aliexpress.com/item/1005003127209417.html
Dispositivos instalados, número de clientes en broker y carga del servidor
top -p `pgrep "mosquitto"`
tail -f /var/log/mosquitto/mosquitto.log
MOOCs:
- Fundamentos de redes: https://www.edx.org/course/introduction-to-networking
- Network and Security Foundations: https://www.edx.org/course/network-security-foundations
Conectar los Arduinos
Capítulos vistos:
- 4.1.- Protocolo MQTT (continuar)
- 4.2.- MQTT y Node-RED
Día 7 (21/06/2022) – «Desarrollo Node-RED»
Más de MQTT en: 4.1.- Protocolo MQTT
Software MQTT: https://mqtt.org/software/
Broker MQTT público: https://www.hivemq.com/mqtt-cloud-broker/
Broker privado con MQTT en 1 min. Aedes: https://flows.nodered.org/node/node-red-contrib-aedes
MQTT Clean Session: http://www.steves-internet-guide.com/mqtt-clean-sessions-example/
Topic restriction: http://www.steves-internet-guide.com/topic-restriction-mosquitto-configuration/
Automatizar con Node-RED y MQTT:
- Encender y apagar tras dos segundos con delay
- Encender y apagar tras dos segundos con trigger
- Encender con una pulsación y apagar con otra con toggle
- Encender con temperatura > 25 grados y apagar cuando es menor
Programación distribuida. Envío de mensaje e instrucciones entre instancias de Node-RED para delegar funciones:
- Publicar en cursomqtt/{nombre}/clima el nombre de una ciudad española mediante un inject
- Suscribirse a cursomqtt/enrique/clima/resultado devuelve el clima para esa ciudad
- Si se usara el mismo topic para responder a todos, todos recibiríamos las respuestas a las preguntas de todos.
- Si usamos el mismo topic para responder, creamos un bucle
Lógica para programar la función anterior:
- Suscribirse al topic cursomqtt/{nombre}/clima y consultar el clima actual con openweathermap, de la ciudad española que pasemos
- Devolver el resultado en un JSON en cursomqtt/{nombre}/clima/resultado
- No devolver el mensaje en el mismo topic. Peligro de hacer un bucle!!!
Capítulos vistos:
Día 8 (22/06/2022) – «Dashboard Node-RED»

Precio electricidad: https://www.ree.es/es/apidatos
Catálogo de datos del gobierno: https://datos.gob.es/es/catalogo
Programación visual para microcontroladores: https://xod.io/
Capítulos vistos:
- 6.3.- Mensajes Node-RED
- 6.4.- Dashboard Node-RED
- 2.6.- Raspberry Pi en la Industria
Día 9 (23/06/2022) – «Configuración Node-RED»
Resumen de lo visto en el curso y lo que haremos los dos últimos días.
Owntracks: https://owntracks.org/
Worldmap : https://flows.nodered.org/node/node-red-contrib-web-worldmap
Ejemplo terremotos mejorado: https://flows.nodered.org/flow/002f4173484dabaf3d6742b8da9642ee
Demo 2N. Integrar control de accesos de 2N:
- Conocer estado del switch: https://10.0.0.10/api/switch/status
- Cambiar el estado del switch: https://10.0.0.10/api/switch/ctrl?switch=1&action=on
Capítulos vistos:
- 5.4.- Instalación de Node-RED
- 5.5.- Configurar y Securizar Node-RED
- 5.6.- Paso a Paso: Instalar, Configurar y Securizar Node-RED en Raspberry Pi
Día 10 (24/06/2022) – «Proyectos Finales con Node-RED»
Resumen de lo visto en el curso
MOOC Introducción a Docker y Contenedores: https://www.coursera.org/learn/introduccion-a-contenedores-con-docker
Netflix usa MQTT: https://www.hivemq.com/case-studies/netflix/
Nodo generador y decodificador de códigos QR: https://flows.nodered.org/node/node-red-contrib-image-tools
Curso Node-RED Developer: https://www.aprendiendoarduino.com/cursos/node-red-developer-professional/
Seguridad Node-RED:
- Node-RED usa oauth2.0 para securiza la admin api
- Usa auth bearer token. Expira en: 604800 segundos (7 días)
- El navegador guarda el token y luego cuando vuelves a acceder no pide la contraseña. Puedes ver los token en el fichero /home/pi/-node-red/.sessions.json

El acceso al Dashboard y rutas HTTP usa basic Auth:

Eliminar contraseñas de los ordenadores!!!!
Recoger material.
Y cualquier duda a aprendiendoarduino@gmail.com
Capítulos vistos:
- 6.7.- Nodos Node-RED
- 6.8.- Desarrollo Node-RED: Reconocimiento de Matrículas
- 6.9.- Desarrollo Node-RED: BBDD y Tratamiento Datos
Capítulos para más información:
- 5.1.- Low-Code Programming
- 5.3.- Node-RED y Edge Computing
- 6.2.- Uso del Editor de Node-RED
- 6.5.- Ejercicios Dashboard
- 6.6.- Nodos de Configuración en Node-RED
- 6.10.- Más Ejercicios