Cómo empezar a usar Node-Red en Raspberry Pi

Node-Red en Raspberry Pi

En este artículo veremos cómo empezar a usar Node-Red en una computadora Raspberry Pi. Si no conoces Node-Red, te invito a ver este otro artículo, donde cuento de qué se trata.

Qué es Node-Red y para qué sirve

Instalando Node-Red

En principio vamos a necesitar instalar los paquetes de software si es que no venían por defecto en la imagen que estamos utilizando.

Hay varias maneras de instalar Node-Red en Raspbian (el sistema operativo de Raspberry Pi). En esta oportunidad usaremos el repositorio de paquetes de Raspbian, ya que hace ya tiempo que Node-Red fue incluido en este.

Ejecutamos en la consola: 

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install nodered

Esto instalará Node-Red y todas las dependencias.

Ejecutando Node-Red

Una vez instalado, podemos ejecutarlo desde la consola usando el comando

node-red

Esto ejecutará node-red como aplicación, por lo que si hacemos ctrl+c o cerramos la ventana de la consola, inmediatamente se detendrá.

Generalmente se desea que Node-Red corra como servicio, para evitar que la aplicación se cierre cuando cerramos la consola. Además, al correr como servicio se puede gestionar de una manera mucho más confiable y eficiente.

Correr Node-Red como servicio es tan fácil como ejecutar el siguiente comando

sudo node-red-start

Para detener el servicio usamos

sudo node-red-stop

Y para reiniciarlo

sudo node-red-restart

Para hacer que Node-Red se inicie cada vez que arranca nuestra Raspberry, ejecutamos el siguiente comando.

sudo systemctl enable nodered.service

Accediendo a Node-Red

Una vez que el Node-Red está arriba, ya sea como servicio o como aplicación, podemos acceder a él mediante la interfaz web apuntando nuestro navegador a la siguiente url.

http://<ip de la raspberry>:1880

En caso que estemos accediendo a Node-Red desde la misma Raspberry, podemos usar:

http://localhost:1880

Armando nuestra primer aplicación

Ahora realicemos nuestros primeros pasos para usar Node-Red en Raspberry Pi.

Primero vamos a agregar dos nodos de la paleta de la izquierda al área de trabajo. Estos nodos son inject y debug.

Para esto solo tenemos que seleccionar al nodo correspondiente y arrastralo hasta el área de trabajo, que por defecto se llama Flow 1.

Pantalla de Node-Red
Estructura de Node-Red

Una vez que los nodos están incorporados, los conectamos haciendo click en la salida del nodo inject, llevando la otra punta de la conexión a la entrada del nodo debug.

Luego de conectar los nodos debemos hacer un deploy, lo que equivale a enviar el código al servidor, en este caso nuestra Raspberry. Para esto hacemos click en el botón rojo que dice Deploy, como no podía ser de otra manera :>).

Ahora nuestro proyecto ya está listo para usarse. Para verificar el funcionamiento hacemos click en el botón de entrada del nodo inject. Esto generará un mensaje de salida en este nodo, que será transmitido a la entrada del nodo debug.

El mensaje por defecto es la marca de tiempo del momento en que se presione el botón. Obviamente este mensaje se puede modificar en la configuración del nodo o agregando algún otro nodo en el medio. Esto lo haremos en el siguiente paso.

Cada vez que hagamos click en este botón, veremos cómo aparecen los mensajes en la pestaña debug, tal como se muestra el la figura.

Nodos en Node-Red
Inyección de mensaje en Node-Red

Agregando una función Javascript

Agreguemos ahora un bloque de función para modificar el mensaje. Para esto seleccionamos un bloque function de la paleta y lo arrastramos al espacio de trabajo. Luego lo conectamos entre los nodos inject y debug.

Función en Node-Red
Nodo de función

Haciendo doble click en el nodo function abrimos la configuración del nodo. Dentro del nodo copiamos y pegamos el siguiente código.

// Create a Date object from the payload
var date = new Date(msg.payload);

// Change the payload to be a formatted Date string
msg.payload = date.toString();

// Return the message so it can be sent on
return msg;
Código de función
Código de la función

Este código tomará el mensaje que viene del nodo inject y le dará formato para que lo muestre como fecha. Una vez copiado el código, hacemos click en el botón Done y luego volvemos a hacer Deploy, ya que hemos modificado el código y tenemos que enviarlo de nuevo al servidor Node.

Ahora cada vez que hacemos click en el botón del nodo inject, veremos que en la solapa de debug aparece un mensaje con la fecha y el tiempo actual.

Debug en Node-Red
Mensaje modificado

Hasta aquí aprendimos la operación básica de Node-Red, pero las capacidades de este software son muy amplias. Usando Node-Red podemos crear interacciones entre sensores, servicios, bases de datos, gráficas, etc.

Si te gustó esta introducción a Node-Red no dejes de compartir este artículo. También te invito a hacer tus comentarios o consultas en el área de comentarios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.