Node-RED Developer 2021. Nivel I

Curso On-Line “Node-RED Developer para IoT (Nivel I) 2021” de 30 horas de duración del 19 al 30 de abril de 2021 en Think TIC de Logroño.

Node-Red es una herramienta open source de desarrollo/programación basada en flujos. Es una programación visual desarrollada originalmente por IBM para conectar dispositivos de hardware, API y servicios en línea como parte del Internet de las cosas (IoT).

El objetivo de este curso es que el alumno aprenda el uso de Node-RED y la programación visual mediante flujos para su uso en entornos de domótica, IIoT e IoT. El alumno será capaz de instalar, configurar y realizar proyectos de dificultad intermedia usando Node-RED.

Node red es adecuado para profesionales 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.

Información e inscripciones: https://www.larioja.org/thinktic/es/cursos-eventos/proximos-cursos-eventos/curso-online-node-red-developer-iot-nivel-i

Sesión Día 1:

Ejercicio 1: Instalar instancia personal de la última versión de Node-RED.

Entregable: Mostrar la última versión instalada con un flujo básico desplegado. Captura de pantalla.

Sesión Día 2:

Ejercicio 2: Configurar https y contraseña en la instancia de Node-RED.

Entregable: Mostrar uso de https y contraseña en Node-RED. Captura de pantalla.

Sesión Día 3:

  • Temas avanzados
  • Próximos vídeos/post: activar SSL en Node-RED, Múltiples instancias en Node-RED
  • Comandos para parar e iniciar Node-RED:
    • node-red-stop to stop Node-RED
    • node-red-start to start Node-RED again
    • node-red-log to view the recent log output
    • sudo systemctl enable nodered.service to autostart Node-RED at every boot
    • sudo systemctl disable nodered.service to disable autostart on boot
    • sudo systemctl status nodered.service to check service status
    • sudo systemctl restart nodered.service to restart service
  • Obtener contraseña cifrada bcrypt Node-Red. Usar esta web con 8 rounds: https://bcrypt-generator.com/
  • node-red admin en docker: https://discourse.nodered.org/t/using-command-line-access-with-the-docker-install/30434/5
  • Arquitectura Node-RED

  • Proceso de arranque de Node-RED
Node-Red-Start-Process

Ejercicio 3: Hacer el flujo del tutorial: https://nodered.org/docs/tutorials/second-flow

Entregable: Flujo programado con los datos recibidos.

Sesión Día 4:

Ejercicio 4: Publicar los datos en el broker publico y suscribirse a los topics publicados con datos.

Entregable: Flujo programado con los datos recibidos.

Sesión Día 5:

Ejercicio 5: Configurar y habilitar los proyectos en la instancia de Node-RED y publicar el primer flujo en Github/Bitbucket

Entregable: Repositorio en Github/Bitbucket público con al menos tres cambios.

Sesión Día 6:

Ejercicio 6: Crear un primer Dashboard con los datos disponibles en el Broker Público del curso.

Entregable: Repositorio en Github/Bitbucket público

Sesión Día 7:

Ejercicio 7: Publicar los datos de CPU, Memoria y Temperatura de la Raspberry Pi y en broker MQTT. Hacer un proyecto que publique los datos y los muestre. Puede usare como base este proyecto: https://github.com/aprendiendonodered/ejercicio03

Entregable: Repositorio en Github/Bitbucket público

Sesión Día 8:

Ejercicio 8: Hacer un proyecto que le pase el valor de la alerta de la CPU o Temperatura de la Raspberry Pi mediante un formulario en Node-RED y mande una alerta por email cuando se supere y cuando se reponga el valor.

Entregable: Repositorio en Github/Bitbucket público

Sesión Día 9:

Ejercicio 9: Partiendo del ejercicio 8, guardar los datos de Raspberry Pi en un fichero csv. Crear un botón para borrar fichero y otro para enviar el fichero por email como adjunto.

Entregable: Repositorio en Github/Bitbucket público

Sesión Día 10:

Ejercicio 10: Basado en el ejercicio 9, hacer un flujo que agrupe los datos en grupos de 25 y sacar los datos de media, máxima y mínima cada 25 valores y guardar en otro fichero llamado raspberrypi_agrupados.csv con los campos: timestamp,CPU_AVG,CPU_MAX,CPU_MIN,Memory_AVG,Memory_MAX,Memory_MIN,Temperature_AVG,Temperature_MAX,Temperature_MIN. Opcionalmente guardar en alguna base de datos.

Entregable: Repositorio en Github/Bitbucket público