Saltar a contenido

Node-RED

Node-RED

Para la lectura de los sensores de IoT es muy común utilizar una herramienta low-code como Node-RED.

Node-RED es una herramienta de programación visual desarrollada en NodeJS que se implementa en dispositivos controladores de hardware. Trabaja mostrando de manera visual las relaciones y funciones de manera que se pueda programar sin escribir código.

Funciona como un motor de flujos con enfoque IoT, que permite definir gráficamente flujos de servicios, a través de protocolos estándares como REST, MQTT, Websocket, AMQP… además de ofrecer integración con APIs de terceros, tales como Twitter, MongoDB, S3, etc...

Otros sistemas

Si quieres instalar Node-RED en local o en otros sistemas, la documentación oficial ofrece diferentes guías rápidas.

Para arrancar Node-RED mediante Docker, empleamos el comando:

docker run -it -p 1880:1880 -v node_red_data:/data --name iabd-nodered nodered/node-red

Una vez, arrancado, si accedemos a http://localhost:1880 se nos abrirá la pantalla de bienvenida:

Inicio de Node-RED

Hola Node-RED

A continuación vamos a ver un par de ejemplos sobre como funciona Node-RED, para los cuales nos vamos a basar en los siguientes artículos de la documentación de Node-RED:

Una vez hemos visto un par de ejemplos básicos, comentar un par de aspectos:

  • Cada nodo sólo puede tener una entrada y múltiples salidas.
  • Si un nodo tiene cambios sin desplegar, se muestra un circulo azul sobre él. Si hay errores en la configuración, se muestra un triángulo rojo.
  • Los mensaje que viajan de un nodo a otros son mensajes JSON.

Más información

Si quieres saber más sobre Node-RED y cómo lo utilizan nuestros compañeros del IES Navarro Santafé, puedes ver la siguiente playlist con vídeo-tutoriales de José Férriz. También es recomendable consultar el Cookbook con explicaciones de cómo realizar ciertas acciones: https://cookbook.nodered.org/

Probando

Cuando nos aparece un ejemplo en un tutorial que queramos probar, podemos copiar el código JSON con el código del flujo e importar el código con la opción del menú Import, botón derecho Insert -> Import o Ctrl + i, y a continuación pegar en el fragmento en el diálogo.

Node-RED y MongoDB

Para poder trabajar con MongoDB vamos a instalar en la paleta, a modo de plugin, el nodo node-red-contrib-mongodb4, que podéis consultar en https://flows.nodered.org/node/node-red-contrib-mongodb4.

El primer paso será importar sus ejemplo y comprobar cómo funciona.

Ejemplos del conector MongoDB
Ejemplos del conector MongoDB

Para probar los ejemplos, deberás configurar en el conector una conexión a MongoAtlas con los datos de tu cluster.

Elementos evaluables

  • Flujo con generación aleatoria de temperaturas y humedad cada 30 segundos, mediante dos flujos separados que se unen para crear un único mensaje que genere la estructura JSON diseñada en la sesión anterior (debe contener, como mínimo, los campos timestamp y metadata, así como el identificador del sensor).
  • Flujos que realicen operaciones de lectura y escritura de datos en MongoAtlas.

Plazo de entrega

  • Capturas de pantallas y archivo comprimido con los flujos desde Node-RED. - Miércoles 13 Diciembre - 17:00h