Node-RED: construye el Internet de las Cosas

por Ricardo Vega el 07/04/2015

Después de todo el hype creado alrededor del Internet de las Cosas y los dispositivos conectados, tenemos ante nosotros una seria oportunidad, que muchas compañías están viendo, para crear nuevos modelos de negocio alrededor de él. Principalmente, estamos viendo como cada día, grandes empresas tecnológicas como Google o Amazon muestran su interés por este nuevo paradigma, observando más de cerca toda la expectación generada alrededor y trabajando duro para ser actores protagonistas dentro de este barco, tal y como ya lo son hoy por hoy. node-red-construye-internet-cosas-ricardo-vega Un caso especialmente llamativo es el de IBM ya que se está convirtiendo en uno de los principales motores que impulsan el Internet de las Cosas. La multinacional americana, está haciendo una gran apuesta por esta tecnología y ya podemos disfrutar de algunas de sus creaciones. Este es el caso de Node-RED, una nueva herramienta de visualización open-source creada por el equipo de tecnologías emergentes de IBM (IBM Emerging Technology) y que nos permite interconectar todos nuestros elementos del Internet de las Cosas. Estos elementos pueden ser desde dispositivos hardware a APIs o servicios online. Como siempre digo, el gran valor detrás del Internet de las Cosas, no es tener un dispositivo u otro midiendo una gran cantidad de variables, sino las enormes oportunidades que se nos abren ante nosotros fruto de la conexión de todos estos sensores y el manejo autónomo e inteligente de la información capturada. En este sentido, herramientas como Node-RED son, simplemente, lo que nos permite que los dispositivos conectados a Internet sean el Internet de las Cosas.

"Herramientas como Node-RED nos permiten convertir dispositivos conectados a Internet en el Internet de las Cosas"

> [Tweet]
>

¿Por qué Node-RED? A menudo, las soluciones del Internet de las Cosas requieren “tirar” de los datos generados por nuestros dispositivos hardware, APIs y servicios en línea de una forma novedosa a la vez que interesante. El tiempo empleado en escribir el código que permitirá la comunicación entre estos diferentes sistemas, como podrían ser la comunicación Serial o el flujo de autentificación OAuth contra una plataforma social cómo Twitter, es

tiempo que no estamos empleando en dar a nuestra solución el verdadero valor que tiene detrás. node-red-ejemplo-ricardo-vega Necesitamos pues de la ayuda de herramientas que permitan facilitar a desarrolladores de todos los niveles acelerar los flujos de trabajo, creación de eventos y comunicaciones (físicas y digitales) que hacen que unos cuantos dispositivos conectados a Internet puedan ser considerados como parte del Internet de las Cosas. Node-RED nos provee de una interfaz basada en un navegador web que nos permite crear flujos de eventos e interconectarlos todos ellos a través de un ligero entorno de trabajo y desarrollo. Está construido en node.js, lo que le permite funcionar justo al borde de la red o en la nube, dotándole de una notable flexibidad. El ecosistema del gestor de paquetes de node (npm) puede ser usado para extender de forma sencilla la paleta de nodos disponibles, permitiendo conexiones entre nuevos dispositivos y servicios. Node-RED ha sido desarrollado como un proyecto open-source en GitHub y está bajo una licencia Apache 2.

¿Cómo interconecta Node-RED tus “cosas”? La idea de Node-RED es permitir disponer de

mejores medios para comunicar todos tus dispositivos, y también hacer que trabajen mejor juntos. El proyecto es de una gran calidad técnica y es que no en vano, los ingenieros detrás del código (Nicholas O’Leary, Dave Conway-Jones y Andy Standford-Clark) están trabajando también en el protocolo de comunicación MQTT de IBM. De echo, la primera versión de Node-RED estaba completamente ligada a MQTT y cómo mover mensajes entre diferentes puntos manteniendo la ligereza en todo momento. Sin embargo, el proyecto siguió creciendo hasta convertirse más bien en una forma de decirle a tus dispositivos qué quieres que hagan en vez de decirle a cada uno de ellos cómo hacerlo. node-red-webflow-ricardo-vega

Las limitaciones de Node-RED Node-RED es una aplicación basada en node.js, una plataforma JavaScript del lado del servidor que usa un controlador de eventos y un modelo de entradas y salidas para crear aplicaciones intensivas en datos y en tiempo real que puedan funcionar sin problemas a lo largo de muchos dispositivos en arquitecturas distribuidas. Por tanto,

lo único que necesitas para trabajar con Node-RED es que tu dispositivo sea compatible con la librería node.js o con alguno de los módulos que permiten la comunicación con ella. Sin embargo, el número de servicios y dispositivos compatibles es muy grande gracias, en parte, a la tendencia de muchas plataformas modernas de exponer sus datos de una forma funcional a través de APIs públicas que aceptan sin problemas peticiones HTTP. También merece la pena mencionar que node.js funciona sin problemas en un gran número de dispositivos de baja potencia, como la barata Raspberry Pi. node-red-rpi-ricardo-vega Por lo tanto, vemos como la que a priori parece ser la única limitación de Node-RED, en realidad, está bastante resuelta.

Y, ¿qué es lo siguiente? IBM tiene grandes ideas y planes para continuar expandiendo las posibilidades de Node-RED y el Internet de las Cosas que poco a poco iremos conociendo mejor a medida que vayan publicando sus desarrollos. A día de hoy, Node-RED es una plataforma lista para encontrar nuevas audiencias dentro de nichos de

creadores y desarrolladores de todo el mundo. Su objetivo es convertirse en un estándar dentro del mundo del Internet de las Cosas. Yo llevo unas semanas probando qué puedo sacar de esta plataforma y, la verdad, me está gustando mucho. Tengo pensado continuar con ella y mostrarte aquí en el blog qué podemos hacer aprovechando sus funcionalidades. Sin duda la existencia de plataformas como Node-RED o Connect2.me (de la que ya hablamos en este blog) es una fantástica noticia para todos aquellos que se dediquen, ya sea de forma profesional o por hobby, al Internet de las Cosas. Gracias a estas plataformas nuestra vida es mucho más sencilla. Puede que, en algunas ocasiones, sea necesario implementar nuestros propios métodos de acceso a algunas plataformas, servicios o dispositivos pero, por norma general y gracias a utilidades como estas, nuestros desarrollos van a poder ser mucho más ágiles y sencillos. ¿Y tú que opinas? ¿Has probado Node-RED? Deja tus comentarios y comparte esta entrada en tus redes sociales.

Apoya al blog


Si te ha gustado este artículo, valora apoyarme económicamente a través de Patreon, una plataforma de Micro-mecenazgo con la que puedes hacerme un donativo que ayude a la continuidad del blog. Una pequeña ayuda significa mucho. 😃

Deja tu comentario!