Archivo de la categoría: Saber más

Saber más: Raspberry Pi y Node-RED para IoT

Curso Raspberry Pi y Node-RED para IoT 2022: https://www.aprendiendoarduino.com/cursos/raspberry-pi-y-node-red-para-iot/

Día 1 (19/04/2022) – «Presentación del Curso»

Hoja de préstamo de material.

10 años de Raspberry Pi: https://www.youtube.com/watch?v=eiwm5TMHIy8 

Raspberry Pi Compute Module 4s: https://www.muycomputer.com/2022/04/06/raspberry-pi-compute-module-4s/

Día 2 (20/04/2022) – «Raspberry Pi OS y Linux»

Think TIC: https://www.larioja.org/thinktic/fr/contacto/think-tic

mDNS: https://en.wikipedia.org/wiki/Multicast_DNS

Conectar mediante SSH en Windows 10: ssh -l pi 192.168.6.xx

Raspberry Pi con Ethernet

Raspberry Pi con SSD: https://www.youtube.com/watch?v=gp6XW-fGVjo

Resumen día 1: Paso a Paso: Instalar Raspberry Pi OS

Continuar con:

Día 3 (21/04/2022) – «Linux e Instalación Servicios»

Servicios como ZeroTier o Remote.it nos permite administrar redes virtuales y entender el funcionamiento de las VPNs o los túneles.

Acceso por VNC usando remote.it. Añadir el servicio VNC en Remote.it

Comprobado el acceso a las Raspberry Pi desde Casa:

  • ZeroTier: conectado a la red ThinkTIC
  • Remote.it: acceso por SSH a Raspberry Pi
  • VNC: escritorio remoto

Contraseña por defecto Raspberry Pi: https://www.adslzone.net/noticias/seguridad/grave-fallo-raspberry-cambiar-contrasena/

Raspberry Pi OS elimina el usuario por defecto: https://www.muyseguridad.net/2022/04/13/raspberry-pi-usuario-por-defecto/

Ejercicio Paso a Paso: Instalar Node-RED, Webmin y SQLite

Día 4 (22/04/2022) – «Node-RED e Instalación de Servicios»

Resumen de lo visto hasta ahora y lo que veremos los próximos días.

Tenemos una Raspberry Pi instalada, configurada y con acceso remoto.

  • Podemos programarla con Python y Node-RED
  • Podemos administrarla con Webmin
  • Podemos almacenar datos con SQLite
  • Y todo en local o en remoto.

Acceso Remote.it a Node-RED HTTP y HTTPS.

Ejecutar un programa en el inicio en Raspberry Pi: https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/

Open Weather Map:

Día 5 (23/04/2022) – «MQTT»

Hacer copia de seguridad de la tarjeta SD.

Servidor MQTT:

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

Encuesta Node-RED 2019: https://nodered.org/about/community/survey/2019/

Instrucciones instalación Node-RED: https://nodered.org/#get-started

Día 6 (25/04/2022) – «MQTT y Fundamentos Node-RED»

Resumen de lo visto en el ecuador del curso y lo que nos queda.

Dispositivos instalados, número de clientes en broker y carga del servidor

Aedes: https://flows.nodered.org/node/node-red-contrib-aedes

Xiaomi MiFlora: https://www.banggood.com/es/Global-Version-Xiaomi-4-In-1-Flower-Plant-Light-Temperature-Tester-Garden-Soil-Moisture-Nutrient-Monitor-p-1068369.html

Escanear dispositivos bluetooth: sudo hcitool lescan o bluetoothctl y luego poner scan on

zigbee2mqtt: https://www.zigbee2mqtt.io/

Ejercicio Paso a Paso: Node-RED y MQTT

Día 7 (26/04/2022) – «Instalación Node-RED»

Broker MQTT público: https://www.hivemq.com/mqtt-cloud-broker/

InfluxDB cloud: https://www.influxdata.com/products/influxdb-cloud/

MQTT broker escalable: https://vernemq.com/

Low Code Programming: https://aprendiendoarduino.wordpress.com/2021/11/07/low-code-programming/

Ejercicio Paso a Paso: Configurar Node-RED

Día 8 (27/04/2022) – «Programación Node-RED»

Eliminar o deshabilitar los flujos y empezamos desde cero.

Logs remote.it. Caída a las 0:14

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/

Día 9 (28/04/2022) – «Programación Node-RED II»

Filtrar datos de un csv.

Precio de los combustibles: https://datos.gob.es/es/catalogo/e05068001-precio-de-carburantes-en-las-gasolineras-espanolas

Precio electricidad: https://www.ree.es/es/apidatos

Edge Computing: https://aprendiendoarduino.wordpress.com/2020/07/24/node-red-y-edge-computing/

Owntracks: https://owntracks.org/

Worldmap : https://flows.nodered.org/node/node-red-contrib-web-worldmap

Arte con Raspberry Pi y Node-RED

Día 10 (29/04/2022) – «Desarrollo con Node-RED»

Resumen de lo visto en el curso

Segunda edición del curso: https://www.larioja.org/thinktic/es/cursos-eventos/proximos-cursos-eventos/curso-raspberry-pi-node-red-iot

Curso Node-RED Developer

Códigos de los ejemplos del curso:

Alexa y Node-RED:

Flujo de node-red https://flows.nodered.org/node/node-red-contrib-amazon-echo sin skills. Se pone a escuchar Node-RED en el puerto 80 y debe estar Node-RED en la misma red que el amazon echo. En caso que el puerto 80 esté usado hay que usar un proxy. Proxy https://github.com/datech/node-red-contrib-amazon-echo/issues/89

Este nodo simula una lámpara HUE en Node-RED con las llamadas a la API de HUE, pero se puede usar para otras cosas. Simula una bombilla inteligente y como pone en el description solo tiene unas funciones limitadas, emula una Philips Hue bridge. Ver http://192.168.1.12/api/name (192.168.1.12 es la IP de Node-RED en una Raspberry Pi)
Al poner el node abre el puerto indicado mostrando http://192.168.1.12:8008/description.xml

Otra opción sin skills ni registro https://flows.nodered.org/node/node-red-contrib-alexa-local similar.

Opción con skill: https://flows.nodered.org/node/node-red-contrib-alexa-smart-home

Seguridad Node-RED:

  • Node-RED usa oauth2.0 para securiza la admin api
  • Usa auth bearer token. Expira en: 604800 segundos (7 días)
  • Ver https://discourse.nodered.org/t/node-red-configuration-adminauth-sessionexpirytime/8261/2. Parámetro sessionExpiryTime en settings.js
  • Ver AccessToken en Application – Storage – Local Storage
  • 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:

Nodos Node-RED y Prácticas!!!

Eliminar contraseñas de los ordenadores!!!!

Recoger material.

Y cualquier duda a aprendiendoarduino@gmail.com

Saber Más Fundamentos IoT para Formación Profesional

La imagen tiene un atributo ALT vacío; su nombre de archivo es aprendiendoarduino_logo.png

Curso Semipresencial “Fundamentos IoT para Formación Profesional”: https://www.aprendiendoarduino.com/cursos/fundamentos-iot-open-source-para-formacion-profesional/

Sesión 1 (on-line)

Puntos vistos:

Otros temas:

Sesión 2 (on-line)

Puntos vistos:

Otros temas:

  • Enlaces adicionales del lunes
  • Disponibilidad del material de prácticas
  • Entraremos en temas prácticos desde hoy e intercalaremos otros temas más teóricos
  • Tener Node-RED instalado y funcionando desde sesión 3 o 4 para ir conociendo y hacer ejemplos aunque no entendamos al 100%, nos servirá como «pegamento» entre los conceptos que veamos. Dar un poco de ritmo al curso.
  • Node-RED con 2021: https://nodered.jp/noderedcon2021/index-en.html

Sesión 3 (on-line)

Puntos vistos:

Otros temas:

Sesión 4 (on-line)

Puntos vistos:

Otros temas:

Sesión 5 (on-line)

Puntos vistos:

Otros puntos:

xkcd: Dependency

Sesión 6 (on-line)

Puntos vistos:

Otros puntos:

Sesión 7 (on-line)

Puntos vistos:

Otros puntos:

Sesión 8 (on-line)

Puntos vistos:

Otros puntos:

  • Integrar sistemas con Node-RED: «pegamento». Cualquier «cosa» con IP puede manejarse con Node-RED y facilita el consumo de datos IP (APIs).
  • Con Node-RED puedo hacer todo lo que hace IFTTT: https://ifttt.com/
  • Ejemplo IoT: monitorizar estructuras de edificios. ¿HW? ¿Comunicaciones? ¿Protocolo? ¿Gestión y almacenamiento de datos? ¿Gestión de dispositivos (alta, baja, avería, alerta, error de comunicación, etc…)? ¿Programación Node-RED? ¿Algo más?
  • Material alumnos para sesiones presenciales:
    • Ordenador o portátil por cada alumno
    • Acceso a su Raspberry Pi o instancia Node-RED, puede ser en local o instalada en casa con acceso por VNC o similar. Puedo proporcionar instancia de Node-RED.
    • Placas o dispositivos para conectar. Si es posible configuradas, pero sino las configuraremos en el aula.
    • Otros dispositivos a integrar con Node-RED: Gateway y dispositivos LoRa, PLCs Siemens, gateway KNX y dispositivos KNX, Asterisk, gateway y dispositivos Z-Wave, hub delta dore y dispositivos, etc… (comprobar requisitos del aula e indicar si es necesario alguno adicional)
  • Material aula para sesiones presenciales:
    • Proyector con HDMI o VGA
    • Pizarra y rotuladores de pizarra
    • Red Wifi protegida con acceso a Internet
    • Uno o varios switches con al menos 10 bocas, IP por DHCP y acceso a internet
    • Cables ethernet varios
    • Un par de cables HDMI y un par de teclados y ratones para conectar a las Raspberry Pi
    • Varias regletas eléctricas
    • Alimentadores USB si es posible

Sesión 9 (presencial)

Puntos vistos:

  • Proyecto Final
  • Conectar dispositivos
  • Conectar Raspberry Pis y otros Node-RED

Otros puntos:

Sesión 10 (on-line)

Puntos vistos:

Otros puntos:

IoT Reference Model | CC BY-SA @tamberg, FHNW | Thomas Amberg | Flickr

Sesión 11 (on-line)

Puntos vistos:

Otros puntos:

Sesión 12 (presencial)

Puntos vistos:

[{"id":"af22b399.12614","type":"exec","z":"8a81314e.a0f79","command":"vcgencmd measure_temp","addpay":false,"append":"","useSpawn":"","timer":"","name":"RPi Temp.","x":325.2221908569336,"y":46.33333683013916,"wires":[["14f0a295.59181d"],[],[]]},{"id":"408435c9.447fec","type":"exec","z":"8a81314e.a0f79","command":"top -d 0.5 -b -n2 | grep \"Cpu(s)\"|tail -n 1 | awk '{print $2 + $4}'","addpay":false,"append":"","useSpawn":"","timer":"","name":"CPU Load","x":325.2221908569336,"y":126.33333683013916,"wires":[["2c7475c7.6cc01a"],[],[]]},{"id":"8fbcbdf9.549b7","type":"exec","z":"8a81314e.a0f79","command":"free | grep Mem | awk '{print 100*($4+$6+$7)/$2}'","addpay":false,"append":"","useSpawn":"","timer":"","name":"Free Memory","x":325.2222099304199,"y":190.55557250976562,"wires":[["daf6433c.bad81"],[],[]]},{"id":"14f0a295.59181d","type":"function","z":"8a81314e.a0f79","name":"","func":"str = msg.payload\nmsg.payload = str.substring(5,9);\nreturn msg;","outputs":1,"noerr":0,"x":471.888858795166,"y":33.00000190734863,"wires":[["46daa272.4333ac","334a9ddd.345602"]]},{"id":"daf6433c.bad81","type":"function","z":"8a81314e.a0f79","name":"","func":"str = msg.payload\nmsg.payload = parseInt(str.substring(0,str.length - 1));\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":180,"wires":[["1ba39571.ba75ab"]]}]
INSERT INTO `Datos_Node` (`nodo`, `json`) VALUES ('nodo00', '{\"temp\":53,\"CPU\":30\",\"mem\":120\"}');

Otros puntos:

Otro Material no Visto

Saber Más Fundamentos IoT CEFIRE

La imagen tiene un atributo ALT vacío; su nombre de archivo es aprendiendoarduino_logo.png

Curso On-Line “Fundamentos IoT”: https://www.aprendiendoarduino.com/cursos/fundamentos-iot-open-source-para-aplicaciones-industriales/

Semana 1

Darse de alta en los servicios Thingspeak y Grafana Cloud

Práctica 1: Instalación y configuración Raspberry Pi OS. Para este fin de semana, mandar comentarios y tutoria si es necesario

Vídeo tutoriales de instalación Raspberry Pi OS Headless:

Video en drive

Monitorización para principiantes: https://endef.com/monitorizacion-ee-para-principantes/

Simatic IoT2050:

Limitación RPi virtual vs Rpi OS:

  • Ojo a las redes
  • Algún SW no viene instalado
  • Versión de kernel antigua 5.4 vs 4.19

Raspberry Pi 64 bits:

Semana 2

  • Programa del curso
  • Modo Kiosko
  • Problema con dashboard y muchos puntos en la gráfica
  • Demo y Dashboard Node-RED en móvil
  • Sensores
  • Actuadores y Periféricos
  • Librerías
  • Práctica 2
  • Consultas

Semana 3 Lunes

Semana 3 Miércoles

Semana 4 Lunes

Semana 4 Miércoles

Código para obtener los datos Raspberry Pi y mandar a MQTT: https://github.com/jecrespo/Curso-Node-RED/blob/master/Monitor%20Raspberry%20Pi/monitor_raspberrypi.json

Clonar imágenes Raspberry Pi:

Cómo funciona Node-RED: Arquitectura asíncrona y basada en eventos.

Cuando se hace clic en el botón de despliegue, el editor crea la representación JSON completa de su configuración de flujo. Esto se pasa a través de una petición HTTP Post al tiempo de ejecución. Asumiendo que se está haciendo un «despliegue completo», el tiempo de ejecución detiene todos los nodos actuales y los descarta. A continuación, recorre cada nodo de la definición de flujo JSON y crea un nuevo objeto nodo del tipo apropiado, pasando su configuración.

Instalado en /usr/lib/node_modules/node-red y se ejecuta el fichero red.js

Semana 5 Lunes

Tutoría Fin de Curso

Puntos saltados que veremos lo que más interesen

Saber Más Node-RED Developer

Curso On-Line “Node-RED Developer para IoT (Nivel I)”: https://www.aprendiendoarduino.com/cursos/node-red-developer-para-iot-nivel-i/

Día 1 – «Presentación del Curso»

Reto/Ejercicio: Instalar una instancia privada de Node-RED en Raspberry Pi o en un PC/Portátil.

Instrucciones instalación Node-RED: https://nodered.org/#get-started

Instalar Rapsbian:

Puntos vistos:

Día 2 – «Programación Básica»

Reto/Ejercicio: Hacer los primeros flujos sencillos. Hacer que cuando la temperatura esté fuera de un rango entre 18 y 22 grados, ponga en rojo un elemento del dashboard y mande un email.

¿Qué tal la instalación de Raspbian y Node-RED?

Instalar MQTT Explorer: http://mqtt-explorer.com/

Proceso de instalación certificados letsencrypt: https://letsencrypt.org/

  • Certbot simplifica todo el proceso: https://certbot.eff.org/ 
  • sudo yum install epel-release
  • yum install certbot
  • Solo certificado: certbot certonly –standalone
  • Para renovar hacer: certbot renew
 Congratulations! Your certificate and chain have been saved at:
 /etc/letsencrypt/live/xxxxx/fullchain.pem
    Your key file has been saved at:
 /etc/letsencrypt/live/xxxxx/privkey.pem
    Your cert will expire on xxxx. To obtain a new or tweaked
    version of this certificate in the future, simply run certbot
    again. To non-interactively renew *all* of your certificates, run
    "certbot renew" 

Una vez tenemos los certificados TLS en la ruta indicada, dependiendo del software que los necesite configurarlo, indicando la ruta donde están los certificados.

Puntos vistos:

Día 3 – «Mensajes y Dashboard»

Reto/Ejercicio: Hacer un flujo para publicar datos de CPU, Memoria y temperatura de las Raspberry Pi de casa en MQTT topic aprendiendonodered/alumnoxx/raspberrypi/[CPU,Memoria,Temperatura] y que la instancia de Node-RED del curso las recoja y muestre en el dashboard. Para ello usar el broker MQTT. Opcionalmente usar el broker integrado en Node-RED aedes o HTTP endpoint.

Usar estos nodos:

[{"id":"af22b399.12614","type":"exec","z":"8a81314e.a0f79","command":"vcgencmd measure_temp","addpay":false,"append":"","useSpawn":"","timer":"","name":"RPi Temp.","x":325.2221908569336,"y":46.33333683013916,"wires":[["14f0a295.59181d"],[],[]]},{"id":"408435c9.447fec","type":"exec","z":"8a81314e.a0f79","command":"top -d 0.5 -b -n2 | grep \"Cpu(s)\"|tail -n 1 | awk '{print $2 + $4}'","addpay":false,"append":"","useSpawn":"","timer":"","name":"CPU Load","x":325.2221908569336,"y":126.33333683013916,"wires":[["2c7475c7.6cc01a"],[],[]]},{"id":"8fbcbdf9.549b7","type":"exec","z":"8a81314e.a0f79","command":"free | grep Mem | awk '{print 100*($4+$6+$7)/$2}'","addpay":false,"append":"","useSpawn":"","timer":"","name":"Free Memory","x":325.2222099304199,"y":190.55557250976562,"wires":[["daf6433c.bad81"],[],[]]},{"id":"14f0a295.59181d","type":"function","z":"8a81314e.a0f79","name":"","func":"str = msg.payload\nmsg.payload = str.substring(5,9);\nreturn msg;","outputs":1,"noerr":0,"x":471.888858795166,"y":33.00000190734863,"wires":[["46daa272.4333ac","334a9ddd.345602"]]},{"id":"daf6433c.bad81","type":"function","z":"8a81314e.a0f79","name":"","func":"str = msg.payload\nmsg.payload = parseInt(str.substring(0,str.length - 1));\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":180,"wires":[["1ba39571.ba75ab"]]}]

Vídeos explicando como hacer determinadas cosas en Node-RED. Solicitar aquellos temas que no tengáis claro como hacer.

Datos publicados en Broker MQTT y disponibles para todos. Ver con MQTT Explorer.

Uso de nodo file storage en docker.

  • ruta de fichero en docker es /data
  • ruta por defecto /usr/src/node-red/

Puntos vistos:

Día 4 – «Dashboard y Mensajes»

Reto/Ejercicio: Hacer un dashboard para ver la temperatura de todas las Raspberry Pi publicada en MQTT y sus gráficas. Usar MQTT Explorer para ver que datos

Ejemplo sencillo de dashboard:

Ejercicio día 2:

Como se están publicando los datos en MQTT, verlos con MQTT Explorer. Y datos almacenados.

Puntos vistos:

Día 5 – «Industria y MQTT»

Reto/Ejercicio: Hacer un IFTTT con Node-RED. ¿Ideas?. P.e. si recibo un correo con el subject «twitter», twittear el contenido del correo. P.e. si recibo una llamada por la el HTTP endpoint mandar un email.

IFTTT Propio. Como IFTTT es ahora de pago, hacer tu propio IFTTT con Node-RED. Planes IFTTT: https://ifttt.com/plans

Puntos vistos:

Día 6 – «MQTT y Estructura Flujos»

Reto/Ejercicio: Sobre el ejercicio del día 2, añadir de forma dinámica los umbrales máximos y mínimos de alerta mediante dos sliders en el dashboard.

Puntos del curso ordenados.

Más de 2.2M de datos generados.

Preparad para el próximo día la cuenta de github o bitbucket

Plataforma IoT Low Code: https://elliotcloud.com/. Cinco verticales:

Vídeo del ejercicio día 3:

Código ejercicio 3: https://github.com/aprendiendonodered/ejercicio03

Vídeo del ejercicio día 4:

Código del ejercicio 4: https://github.com/aprendiendonodered/ejercicio04

Puntos vistos:

Día 7 – «Proyectos»

Reto/Ejercicio: Hacer un subflujo con 3 salidas, que pasándole una variable de entorno del topic donde se suscriba y el número de datos a analizar, devuelva la media, máxima y mínima de esos datos por cada salida.

Posible error en web https://www.aprendiendoarduino.com/

Monitorizar el nivel de CO2 en las aulas: https://anaire.org/

Vídeo ejemplo de configuración del color del fondo usando otros botones: https://www.loom.com/share/01e0780081dc4489bf0542e1d8f3b8ec

[{"id":"bce47629.9fe348","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"4af7152f.f760fc","type":"ui_button","z":"bce47629.9fe348","name":"Verde","group":"bffdcbc1.a72298","order":3,"width":0,"height":0,"passthru":false,"label":"Verde","tooltip":"","color":"","bgcolor":"green","icon":"","payload":"green","payloadType":"str","topic":"","x":160,"y":80,"wires":[["23266e50.ff3442"]]},{"id":"c80cb0ae.e9bf1","type":"ui_button","z":"bce47629.9fe348","name":"Rojo","group":"bffdcbc1.a72298","order":1,"width":0,"height":0,"passthru":false,"label":"Rojo","tooltip":"","color":"","bgcolor":"red","icon":"","payload":"red","payloadType":"str","topic":"","x":160,"y":160,"wires":[["23266e50.ff3442"]]},{"id":"d9f808b6.2de0e8","type":"ui_button","z":"bce47629.9fe348","name":"Negro","group":"bffdcbc1.a72298","order":2,"width":0,"height":0,"passthru":false,"label":"Negro","tooltip":"","color":"","bgcolor":"black","icon":"","payload":"black","payloadType":"str","topic":"","x":160,"y":260,"wires":[["23266e50.ff3442"]]},{"id":"ac22cd7c.00d88","type":"ui_button","z":"bce47629.9fe348","name":"","group":"bffdcbc1.a72298","order":4,"width":0,"height":0,"passthru":false,"label":"button","tooltip":"","color":"","bgcolor":"{{background}}","icon":"","payload":"","payloadType":"str","topic":"","x":630,"y":160,"wires":[[]]},{"id":"23266e50.ff3442","type":"change","z":"bce47629.9fe348","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":160,"wires":[["ac22cd7c.00d88"]]},{"id":"bffdcbc1.a72298","type":"ui_group","name":"Default","tab":"601bd98f.ac6fc8","order":1,"disp":true,"width":"6","collapse":false},{"id":"601bd98f.ac6fc8","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]

Vídeos del ejercicio día 5

Código ejercicio día 5: https://github.com/aprendiendonodered/ejercicio05

Integración de Node-RED con email, twitter y HTTP endpoint:

Puntos vistos:

Día 8 – «Funciones»

Reto/Ejercicio: Clonar el proyecto https://github.com/aprendiendonodered/ejercicio04 y añadir toda la información de todas las Raspberry Pi que publican datos en mqtt://enriquecrespo.com:1883 y añadir las chart a cada datos, mostrando los datos de forma visual y personalizando el dashboard.

Corregido los códigos a importar del botón de cambia de color y subflow con variables de entorno MAX y MIN.

KNX en Node-RED: https://flows.nodered.org/node/node-red-contrib-knx-ultimate

Vídeo del ejercicio día 5 publicado.

Puntos vistos:

Día 9 – «Biblioteca Node-RED»

Reto/Ejercicio: Hacer una función que guarde los últimos 20 valores en una variable de contexto y una vez tenga los 20, mande la media, máximo y mínimos por tres salidas y en una cuarta mande los 20 mensajes que ha retenido de forma consecutiva.

Hacer también este mismo ejercicio buscando nodos en https://flows.nodered.org/ que hagan esas funciones.

Puntos vistos:

Día 10 – «Debug Node-RED»

Reto/Ejercicio: Hacer una aplicación con Node-RED y publicar. Recoger datos de una Raspberry Pi, ordenarlos y guardar en formato csv. Luego, obtener los datos pulsando un botón del dashboard y mostrarlos en un chart del dashboard.

Disponibilidad de los servicios tras el curso

  • nodered.enriquecrespo.com se apagará, pero si queréis usarlo durante un tiempo, lo puedo mantener un tiempo
  • mosquitto en enriquecrespo.com permanecerá activo. Si alguien desea un usuario con acceso exclusivo a un grupo de topics, puedo suministrarlo.
  • si alguien quiere una instancia de Node-RED basada en docker en enriquecrespo.com puedo suministrarla.

Nodos AI:

Puntos vistos:

Temas que mandaré la próxima semana:

  • Ejercicios resueltos del curso y vídeos: Ejercicios Resueltos del Curso
  • Tutorial Plataforma IoT segura en VPS o Servidor Público: Node-RED + Mosquitto + Servicios (p.e. InfluxDB y Grafana)

Otros puntos (no los vamos a ver pero hemos hablado de ello):

Otros puntos para futuros cursos:

  • Documentar Flujos
  • Control de Flujos
  • Trabajar con Datos Formateados
  • Ejemplos Node-RED y MQTT
  • Personalización Dashboard Node-RED
  • Ejemplos Dashboard Node-RED
  • Creación de Nodos

Saber más Curso Raspberry Pi y Node-RED

Curso «Introducción a Raspberry Pi y Node-RED para uso en la Industria Conectada«: https://www.aprendiendoarduino.com/cursos/introduccion-a-raspberry-pi-y-node-red-para-uso-en-la-industria-conectada/

blog-image

Día 1: “Presentación del Curso”

Raspberry Pi es un ordenador de placa reducida, ordenador de placa única u ordenador de placa simple (SBC) de bajo costo desarrollado en el Reino Unido por la Raspberry Pi Foundation. Se ha convertido en un hardware muy popular debido a su bajo coste y gran potencia ampliamente utilizado en proyectos IoT e Industria conectada.

Node-RED es una herramienta de programación que se utiliza para conectar dispositivos de hardware, APIs y servicios de internet. Adecuado para los equipos dedicados al Internet de las cosas Industrial( IIoT) y personal dedicado al diseño y prueba de soluciones para la comunicación de equipos de planta con aplicaciones de IT. Dado que la mayoría de dispositivos IoT para industria 4.0 posibilitan realizar un programa de control con la herramienta de Node-Red, el dominio de dicha herramienta permitiría al equipo IIoT explorar y ampliar las soluciones que ofrece a la empresa que lo use.

Día 2: “Raspbian y Linux”

Noticias Industria Conectada: https://sie.fer.es/esp/Servicios/Comunicacion/Sala_Prensa/Archivo_fotografico/Primera_plataforma_integrada_datos_desarrollada_JIG_Digital_junto_5_empresas_vitivinicolas/webDoc_28268.htm

Raspberry Pi con SSD: https://www.youtube.com/watch?v=gp6XW-fGVjo&t=11s

Encuesta Node-RED 2019: https://nodered.org/about/community/survey/2019/

PLCs con node-red:

Configurar remote.it en Raspberry Pi: sudo connectd_installer

Día 3: “Python”

Hoja de préstamo de material

Raspberry Pi como punto de acceso: https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md

Wibeee:

Arquitectura IoT: https://aprendiendoarduino.wordpress.com/2018/11/11/arquitecturas-iot/

Sistema de sonido en múltiples habitaciones con Raspberry Pi: https://www.balena.io/blog/diy-raspberry-pi-multi-room-audio-system

Día 4: “Raspberry Pi GPIO”

Fallo script aemet. Aumento de la seguridad por defecto en openssl version 1.1.1:

Datos de consumo eléctrico Iberdrola:

APIs i-de:

Open Weather Map:

Fiware:

FogFlow Generic Enabler es un marco de trabajo de ejecución distribuido para dar soporte a las aplicaciones dinámicas flujos de procesamiento sobre nubes y edges. https://www.nec.com/en/global/techrep/journal/g18/n01/180110.htm

Wirecloud Generic Enabler ofrece una potente plataforma de mashup web que facilita el desarrollo de dashboards operacionales que son altamente personalizables por los usuarios finales. https://wirecloud.readthedocs.io/en/stable/

Perseo Generic Enabler introduce el Procesamiento de Eventos Complejos (CEP) definido mediante una sistema basado en reglas, que le permite disparar eventos que envían peticiones HTTP, correos electrónicos, tweets, SMS, mensajes, etc.

Día 5: “MQTT”

Raspberry Pi Imager: https://www.raspberrypi.org/blog/raspberry-pi-imager-imaging-utility/

Utilidad para configurar una Raspberry Pi: https://www.pibakery.org/

Ayuda en python: help() y dir()

Ejecutar un programa en el inicio en Raspberry Pi: https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/

Librería para DHT11: https://pypi.org/project/Adafruit-DHT/

Alternativas a Node-RED:

  • Crosser: https://crosser.io/
  • Splunk es un software para buscar,monitorizar y analizar macrodatos generados por máquinas de aplicaciones, sistemas e infraestructura IT a través de una interfaz web. Splunk captura, indexa y correlaciona en tiempo real, almacenando todo en un repositorio donde busca para generar gráficos, alertas y paneles fácilmente definibles por el usuario. https://www.splunk.com/es_es#
  • https://n8n.io/ n8n is a free Node-based source-available Workflow Automation Tool. It can be self-hosted, easily extended, and so also used with internal tools.
  • https://www.iobroker.net/ ioBroker is an integration platform for the Internet of Things, focused on Smart home, Building Automation, Smart Metering, Ambient Assisted Living, Process Automation…
  • https://logitek.es/opc_router/ The OPC Router is one of the leading data hubs and OPC gateways in the Industry 4.0. As an OPC UA client the OPC Router connects various systems
  • https://sitewhere.io/en/ SiteWhere es una plataforma de habilitación de aplicaciones de código abierto de fuerza industrial para Internet de las cosas (IoT). Proporciona una infraestructura basada en microservicios para múltiples inquilinos que incluye las características clave requeridas para construir e implementar aplicaciones de IoT.
  • https://thingsboard.io/ ThingsBoard Open-source IoT Platform Device management, data collection, processing and visualization for your IoT solution.

Día 6: “Programación Node-RED”

MQTT Clean Session: http://www.steves-internet-guide.com/mqtt-clean-sessions-example/

MQTT broker escalable: https://vernemq.com/

Arduino Day La Rioja 2020:

M5Stick:

Día 7: “Debug Node-RED”

Entender QoS y Persistencia en MQTT

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

Topic restriction: http://www.steves-internet-guide.com/topic-restriction-mosquitto-configuration/

ACL en mosquitto con auth plugin: https://gist.github.com/TheAshwanik/7ed2a3032ca16841bcaa

Brokers gratuitos en la nube:

sudo -i: https://unix.stackexchange.com/questions/309986/how-to-use-sudo-with-the-i-option

Demo M5stick: https://github.com/jecrespo/Curso-Node-RED/tree/master/demo-m5stick

Demo Camara mqtt: https://github.com/jecrespo/Curso-Node-RED/tree/master/demo-camara-mqtt

Nodo Image Output: https://flows.nodered.org/node/node-red-contrib-image-output

Node-RED y cámara Raspberry Pi: https://randomnerdtutorials.com/node-red-with-raspberry-pi-camera-take-photos/

Día 8: “Ejemplos Node-RED”

Aquí no acaba el curso: https://aprendiendoarduino.wordpress.com/2017/06/26/y-aqui-no-acaba-el-curso-2/

MQTT V5.0:

Node-RED Gratuitos en la nube:

Curso Node-RED Developer (Próximamente)

Puntos última sesión: