Node-RED es una potente herramienta de código abierto para la programación visual con el fin de crear aplicaciones de Internet de las cosas (IoT). En este tutorial, cubriremos qué es Node-RED, cómo instalarlo y cómo usar la interfaz visual para crear un esquema simple.

Prerrequisitos
Suponemos que estáS familiarizado con la Raspberry Pi, sabeS cómo instalar el sistema operativo y cómo establecer una conexión SSH con su Pi.
- Getting Started with Raspberry Pi
- Install Raspberry Pi OS, Set Up Wi-Fi, Enable and Connect with SSH
¿Qué es Node-RED?
Node-REDes una potente herramienta de código abierto para crear aplicaciones de Internet de las cosas (IoT) con el objetivo de simplificar el componente de programación.
Node-RED se ejecuta en el navegador web y utiliza una programación visual que le permite conectar bloques de código, conocidos como
nodos, para realizar una tarea. Los nodos, cuando se conectan entre sí, se denominan
flujos(flows).

¿Por qué Node-RED es una gran solución?
- Node-RED es de código abierto y desarrollado por IBM.
- La Raspberry Pi ejecuta Node-RED perfectamente.
- Es una herramienta de programación visual, lo que la hace más accesible a una gama más amplia de usuarios.
- Con Node-RED puedes dedicar más tiempo a crear cosas interesantes, en lugar de pasar incontables horas escribiendo código.
¿Qué se puede hacer con Node-RED?
Node-RED hace que sea fácil:
- Acceder a sus GPIO de RPi
- Establecer una conexión MQTT con otros dispositivos (Arduino, ESP8266, ESP32 etcetera)
- Crea una interfaz gráfica de usuario receptiva para sus proyectos
- Comunicar con servicios de terceros (IFTTT.com, Adafruit.io, ThingSpeak, Home Assistant, InfluxDB etcetera)
- Recuperar datos de la web (pronóstico del tiempo, precios de acciones, correos electrónicos, etcétera)
- Crear eventos desencadenados por el tiempo
- Almacene y recupere datos de una base de datos.
Aquí hay una biblioteca con algunos
ejemplos de flujos y nodospara Node-RED.
Instalación de Node-RED en Raspberry PiUna vez establecida una
conexión SSH con tu Raspberry Pi, introduce lo siguiente para instalar Node-RED:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) Node-RED se instala de forma predeterminada en el sistema operativo Raspberry Pi (32 bits). Sin embargo, se recomienda ejecutar el comando anterior para instalar los paquetes necesarios y actualizarlo a la versión más reciente. Recibirás un mensaje informándote sobre esto. Pulse
Yy luego pulse
Enterpara aceptar.
Node-RED no se instala de forma predeterminada en el sistema operativo Raspberry Pi (64 bits).
A continuación, se te preguntará: “¿Le gustaría instalar nodos específicos de Pi?” Presiona
Yy luego
Enter.
La instalación de Node-RED tardará unos minutos. Al final, debería recibir un mensaje similar en la ventana de la Terminal:

Configurar los ajustes de Node-RED
Después de la instalación, se recomienda configurar las opciones y los ajustes iniciales. Ejecuta el siguiente comando:
node-red admin init
- Presione Enter para crear un archivo de configuración de Node-RED en /home/pi/.node-red/settings.js
- ¿Desea configurar la seguridad del usuario? Y(si).
- Ingrese un nombre de usuario y presione Enter (debe recordarlo más tarde).
- Introduzca una contraseña y pulse Enter(debe recordarla más tarde).
- A continuación, debe definir los permisos de usuario. Estableceremos el acceso completo, asegúrese de que la opción de acceso completo esté resaltada en azul y presione Enter.
- Puede agregar otros usuarios con diferentes permisos si lo desea. Por ahora, solo crearemos un usuario. Siempre puede agregar otros usuarios más adelante.
- ¿Desea habilitar la función Proyectos? No.
- Introduzca un nombre para el archivo de flujos.
- Pulse Enter para seleccionar el nombre predeterminado flows.json.
- Proporcione una frase de contraseña para cifrar el archivo de credenciales. Obtén más información sobre qué es una frase de contraseña.
- Seleccione un tema para el editor. Basta con pulsar Enter ara seleccionar el valor predeterminado.
- Pulse Enter de nuevo para seleccionar el editor de texto predeterminado.
- ¿Permitir que los nodos de función carguen módulos externos? Y(si).
- La configuración de Node-RED se ha realizado correctamente. Se guardan todos los ajustes on settings.js.
Inicio de Node-RED
Ejecute el siguiente comando para iniciar Node-RED:
Debería recibir un mensaje similar en la Terminal:
node-red-start
Inicio Automático de Node-RED en el arranque
Para ejecutar automáticamente Node-RED cuando se inicia la tarjeta raspberry Pi, debe ingresar el siguiente comando. Esto significa que mientras su Raspberry Pi esté encendida, Node-RED estará funcionando.
sudo systemctl enable nodered.serviceAhora, reinicia tu Pi para que el inicio automático surta efecto. La próxima vez que se reinicie la Raspberry Pi, Node-RED ya estará funcionando.
sudo rebootSi, más adelante, desea deshabilitar el inicio automático en el arranque, puede ejecutar:
sudo systemctl disable nodered.servicePara obtener más información sobre el proceso de instalación, consulte la
documentación oficial.
Acceso a Node-RED
Node-RED se ejecuta en el puerto 1880. Para acceder a Node-RED, abra un navegador y escriba la dirección IP de Raspberry Pi seguida de :1880. Por ejemplo:
192.164.1.106:1880 Para obtener la dirección IP de tu Raspberry Pi, puedes ejecutar el siguiente comando:
hostname -I
Después de ingresar la dirección IP de Raspberry Pi seguida de :1880 en el navegador web, obtendrá acceso a la página de inicio de sesión de Node-RED. Inicie sesión con el nombre de usuario y la contraseña que ha establecido anteriormente.

Ahora, tiene acceso a Node-RED. Puede empezar a crear sus flujos.

Descripción general de Node-RED
Echemos un vistazo a la interfaz visual de Node-RED.

Secciones principales de la interfaz Node-RED
La siguiente imagen muestra las secciones principales de Node-RED etiquetadas.

Nodos
En la barra lateral izquierda, puedes ver una lista con un montón de bloques. Estos bloques se
denominan nodosy están separados por su funcionalidad. Si selecciona un nodo, puede ver cómo funciona en la pestaña
de documentación de nodos.
Los nodos tienen puertos de entrada y/o salida para recibir y enviar información a otros nodos. Por ejemplo, un nodo recibe una entrada de un nodo anterior, procesa esa información y envía un mensaje diferente a otro nodo que hará algo con esa información. La información que se pasa entre los nodos se denomina
mensaje(message).
Flow(Flujo)
Los nodos son los componentes básicos de un
flujo(Flow). Los nodos se conectan entre sí para crear un flujo que realizará una tarea determinada. Un
flujo (Flow).También es una pestaña en el espacio de trabajo donde se colocan y organizan los nodos.
En el centro, tienes el
Flowy aquí es donde colocas los nodos.
Barra lateral derecha
La barra lateral de la derecha tiene varias herramientas.
- Information: muestra información sobre los flujos;
- Help: muestra la documentación de los nodos;
- Debug: el icono de error abre una ventana de depuración que muestra los mensajes pasados a los nodos de depuración, es útil para fines de depuración;
- Config nodes: El icono de engranaje muestra información sobre los nodos de configuración. Los nodos de configuración no aparecen en el espacio de trabajo principal y son nodos especiales que contienen configuraciones reutilizables que pueden ser compartidas por varios nodos en un flujo.
Deploy
El deploy guarda todos los cambios realizados en el flujo (Flow) y comienza a ejecutarlo.
Creación de un simple archivo de flujo(Flow)
Para que te acostumbres a la interfaz de Node-RED, vamos a crear un flujo sencillo. El flujo que crearemos, simplemente imprime un mensaje en la consola de depuración, cuando se activa.
Arrastre un
nodo deinserción y un
nodo de depuración al flujo y conéctelos.
Ahora, editemos el nodo de inyección. Haga doble clic en el nodo. En la siguiente figura, puede ver las diferentes configuraciones que puede cambiar.
En el campo
msg.payload
, seleccione string y escriba
Hello
. A continuación, haga clic en
Done.

Los mensajes (
msg
) en Node-RED son objetos javascript que pueden tener varias propiedades. El payload (
carga útil)
es la propiedad predeterminada con la que trabajan la mayoría de los nodos. Puede pensar en él como el contenido principal del mensaje que desea enviar al siguiente nodo. En nuestro caso, simplemente estamos enviando un mensaje de texto.
No editaremos el nodo de depuración, pero puede hacer doble clic en él para verificar sus propiedades.
Puede seleccionar la salida del nodo de depuración, que es
msg.payload
y donde queremos enviar esa salida. En nuestro caso, queremos enviarlo a la ventana de depuración.
Para guardar su aplicación, debe hacer clic en el botón
Deployen la esquina superior derecha.

La aplicación se ha guardado.
Probando el Flow (flujo)
Probemos nuestro flujo simple. Abra la ventana de
debugy haga clic en el nodo de inyección para activar el flujo.

Como puede ver, nuestro mensaje se imprime en la ventana de
debugcuando activa el nodo de inyección. Este es un ejemplo muy básico y no hace nada útil. Sin embargo, el propósito de esta publicación es familiarizarlo con la interfaz Node-RED. En poco tiempo, comenzarás a crear tus propios flujos.
Exportación e importación de nodos
En esta sección, aprenderá a guardar los nodos. Esto es útil si necesitas:
- Copia de seguridad de su flujo de Node-RED
- Mover tu flujo a otra Raspberry Pi (o máquina)
- Comparte tu proyecto Node-RED con otras personas
Abra el menú principal y seleccione la
opción Exportar.

Se abre una nueva ventana. Puede seleccionar si desea guardar los nodos seleccionados, el flujo actual o todos los flujos. También puede descargar los nodos como un archivo JSON o copiar el JSON en el portapapeles.

Para mostrarle cómo funciona, haga clic en Descargar
paralos nodos seleccionados. Descargará un archivo JSON llamado
flows.json
.
Puedes importar esos nodos posteriormente a otra Raspberry Pi u otra máquina con Node-RED instalado, yendo al menú principal y seleccionando la opción
Importar.
En la ventana
Importar nodos, puede cargar un archivo JSON o pegar JSON sin procesar.

Instalación de nodos Pallete
Como hemos visto anteriormente, Node-RED viene con un montón de nodos preinstalados en el Pallete (barra lateral izquierda). Hay muchos más nodos disponibles que puede instalar y usar para sus proyectos. Puedes encontrarlos en la
biblioteca de Node-RED. Si necesitas alguna tarea específica para tu proyecto, probablemente ya haya un nodo para eso.
Por ejemplo, si necesita agregar la función para enviar un correo electrónico a, puede buscar en Google algo como esto: “enviar nodo de correo electrónico-nodo rojo”. Uno de los primeros resultados de búsqueda es esta página con el
nodo-red-node-email. Viene con algunos nodos para enviar y recibir correos electrónicos.
Si quieres instalar esos nodos (o cualquier otro nodo) para poder utilizarlos en tu flujo, ve al menú principal y selecciona la opción
Manage pallete.

Se abrirá la siguiente ventana. Seleccione la pestaña de instalación y busque los nodos que desea instalar, por ejemplo,
node-red-node-email
.

Dashboard de Node-RED
Node-RED Dashboard es un módulo que proporciona un conjunto de nodos en Node-RED para crear rápidamente un panel de datos en vivo. Puede instalar esos nodos mediante el
menu>
Manage Pallete. A continuación, busque
node-red-dashboard
e instálelo.

Después de la instalación, los nodos del panel de control aparecerán en la paleta.
Los nodos de la sección del panel proporcionan widgets que se muestran en la interfaz de usuario (UI) de la aplicación. Se puede acceder a la interfaz de usuario en la siguiente URL:
http://Your_RPi_IP_address:1880/ui Por ejemplo, en mi caso:
http://192.168.1.106:1880/ui 
Por el momento, verás la pantalla anterior cuando accedas a la interfaz de usuario. Esto se debe a que no ha agregado ninguno de esos nodos de panel al flujo. No cubriremos cómo crear una interfaz de usuario de panel en este tutorial.
Finalizando
Este tutorial es una guía rápida de introducción a Node-RED. Aquí Aprendió cómo instalar Node-RED en una Raspberry Pi, cómo crear un flujo simple, importar y exportar nodos, instalar nodos e instalar el panel de control de Node-RED.
Aprende esto en un curso
Si prefieres verlo en vivo y con alguien que resuelva tus dudas, estos cursos presenciales de MCI Educación cubren el tema de este tutorial:
- Automatización y visualización de datos con Node Red y RB Pi — nivel intermedio, 16 horas presenciales en Santiago
- Domina la Raspberry Pi: Sistemas y Conectividad — nivel intermedio, 18 horas presenciales en Santiago