Node-RED es una herramienta creada por el grupo de Servicios de Tecnologías Emergentes de IBM. Caracterizado por ser muy fácil de controlar con Raspberry Pi, es uno de los softwares más útiles entre estudiantes de programación y aficionados que desean realizar un proyecto con aplicaciones profesionales, como una alarma desarrollada con Arduino con funciones de envío de notificaciones push a cualquier dispositivo inteligente compatible.
Qué es Node-RED y cuáles son sus posibilidades exactas
Node-RED es una potente herramienta capaz de comunicar hardware y servicios de manera ágil y muy sencilla. Fue creada por Dave Conway-Jones y Nick O’Leary hace casi una década, dos miembros del grupo de Servicios de Tecnologías Emergentes de la firma IBM. ¿Su objetivo? Resolver la problemática de la excesiva complejidad que presenta el proceso de integración del hardware con otros servicios.
Está creado a partir de JavaScript D3 y NodeJS, que se encargan de la interfaz web y de proporcionar la potencia suficiente para hacer de Node-RED un software tan fiable como escalable, respectivamente.
La principal baza de Node-RED es que da al usuario la posibilidad de hacer uso de complejas tecnologías de la manera más sencilla. Esto permite aprovechar todo el potencial del hardware desde el primer momento, sin tener que dominarlo ni ser un experto para sacar todo el jugo que esconden. Es una herramienta sencilla que da resultados desde el minuto uno y que permite, en última instancia, poner en marcha un proyecto mucho antes de lo esperado.
Los nodos son los más diminutos integrantes de la estructura de Node-RED, cuya función es determinante para garantizar el buen desarrollo del software. Los nodos se arrastran mediante la interfaz gráfica y se encuentran organizados en flujos que agrupan a su vez varios de estos nodos, llamados flows, para permitir ejecutar una acción concreta: hacer una llamada HTTP o o recibir un mensaje MQTT, por ejemplo. Y lo más sorprendente de todo es que se puede lograr sin apenas programar.
Es decir, Node-RED es un software muy potente que permite programar en JavaScript del lado del servidor. Se puede acceder a él mediante un navegador convencional, lo que simplifica todo el proceso. Solo es preciso acceder a un website para crear sistemas propios, sin necesidad de instalar ningún entorno de desarrollo específico, los conocidos como IDEs.
Introducción a Node-RED con Raspberry Pi
Instalar Node-RED en Raspberry Pi permite al usuario hacer un proyecto IoT. Para esta sencilla acción es preciso instalar el sistema operativo Raspbian en la placa y el bróker MQTT Mosquitto para facilitar la comunicación con Node-RED, además de tener que echar mano de un interruptor magnético y de una placa NodeMCU, Arduino MKR1000 o cualquier otra compatible.
Estos son los ingredientes necesarios para crear una alarma con Arduino y ESP8266, capaz de emitir alertas al smartphone cuando se abra una ventana o una puerta. Lo mejor de todo es que está integrado totalmente con Node-RED y cuenta con protocolos de comunicación MQTT.
Esto no es moco de pavo, ya que Node-RED, que actualmente es el mayor ecosistema de código abierto que existe, está optimizado para funcionar con conexiones múltiples. Su uso, de hecho, está muy extendido en la actualidad, haciendo uso de él empresas de la talla de PayPal o Netflix en sus entornos virtuales.
Aunque para aprovechar al máximo el potencial de Node-RED y Raspberry Pi apenas es necesario programar, sí que es conveniente tener cierta base en la materia. Algunas acciones solo estarán al alcance de un versado programador que conozca los fundamentos más avanzados de la disciplina, ya que para exprimir Node-RED hacen falta conocimientos avanzados de lógica computacional para poder ser aplicado a proyectos de mayor envergadura.
Instalación de Node-RED y su aplicación a una alarma con Arduino
Como Raspbian viene con el software ya preinstalado, la instalación de Node-RED en Raspberry Pi es más sencilla de lo que cabría esperar. Basta con abrir un terminal para actualizar Node-RED y NodeJS para introducir el comando necesario y trabajar con las versiones más recientes. Este proceso queda perfectamente explicado por uno de los referentes del mundo maker, Luis Del Valle, que ha dedicado todo un post a esta cuestión con Node-RED en programarfacil.com/blog/raspberry-pi/introduccion-node-red-raspberry-pi/ en el que explica, punto por punto, los aspectos necesarios para finalizar con éxito la instalación de una alarma con Arduino.
La inicialización de Node-RED admite dos modos: automático y manual. Asignar una IP fija a la placa mediante el MAC permite agilizar la inicialización cada vez que sea preciso utilizarla, algo que adquiere especial relevancia si se tiene en cuenta que para inicializar Node-RED es fundamental la IP de Raspberry Pi.
Un punto importante en el desarrollo de este proyecto y que el usuario debe tener en cuenta es que se puede utilizar tanto un ESP8266 (Wemos o NodeMCU) como una placa Arduino MKR100. En realidad, la programación es calcada en ambas, excepto aspectos concretos como las cuestiones relativas al Wi-Fi, que varían en función de cada una. Raspberry Pi se encarga de gestionar la recepción de mensajes MQTT mediante Mosquitto y de poner en contacto el hardware con el Pushover a través de Node-RED, lo que da forma a la infraestructura de toda la alarma y su sistema.
Node-RED también puede ser utilizado para extender las funcionalidades de la alarma en particular y de cualquier proyecto en general, otorgando al programador la capacidad para desarrollar con el tiempo el proyecto y lanzar versiones avanzadas del mismo. Una de sus virtudes es que da al usuario total libertad para que elija hasta qué punto profundizar, pudiendo ampliar las funciones de su sistema para que reconozca a usuarios concretos o haga una distinción de perfiles de manera simultánea.
¿Quién es Luis Del Valle?
Luis Del Valle es todo un referente en el mundo maker. Apasionado desde siempre por la programación y habiéndose formado en esta disciplina, es una de las figuras clave en la divulgación de las bondades de algunas de las placas de programación más famosas de nuestro tiempo, como Arduino.
En 2015 fundó Programar Fácil, el que se acabaría convirtiendo en uno de los proyectos divulgativos de programación más exitosos de la década en el panorama nacional, dedicado principal pero no exclusivamente a la programación con Arduino. En su inauguración se estrenó el podcast “La Tecnología Para Todos”, por el que se han dejado caer figuras como Enrique Gómez, Óscar González, José Enrique Crespo o César García, de Rincón Ingeniero, Brico Geek, Aprendiendo Arduino y La Hora Maker, respectivamente.
En la actualidad, Luis Del Valle compagina su proyecto de divulgación con la docencia en modalidad telepresencial a través de ProgramarFacil.com, con cursos avanzados formados por módulos con herramientas integradas dedicadas pensados para aprender a programar con Arduino desde cero.