Node-RED es una herramienta de programación visual. Muestra visualmente las relaciones y funciones, y permite al usuario programar sin tener que escribir una línea de código. Node-RED es un editor de flujo basado en el navegador donde se puede añadir o eliminar nodos y conectarlos entre sí con el fin de hacer que se comuniquen entre ellos. Es una plataforma emergente, gratuita y muy atractiva para integrar todo tipo de accesorios del cuarto de radio.
Esta página no pretende explicar o aclarar todas las posibilidades que ofrece Node-Red, sin duda que vas a encontrar en Internet todo tipo de información sobre lo que es y se puede hacer con Node-Red. Aquí vamos a ver cómo puedes controlar desde esta plataforma tu sistema de control de motores (ARS-USB) o controlador de Stacks/Antennas (RemoteBox) de forma que es una alternativa muy interesante para el control de motores y antenas.
Para simplificar el acceso de Node-Red al RemoteBox, vamos a usar el servicio ser2net. Este programa ser2net hace las veces de enrutador de puerto serie a TCP/IP luego desde Node-Red en vez de utilizar el puerto serie, se empleará una conexión TCP/IP.
Nota: Existe una versión avanzada de ser2net denominada ser2net+ que permite varias conexiones simultáneas TCP/IP al mismo puerto serie, con lo cual podemos tener por ejemplo el RBM y Node-Red accediendo al mismo RemoteBox
En este esquema se muestra el diagrama de la solución completa. Consta de los siguientes módulos:
- Ser2Net: módulo que queda a la escucha en un puerto TCP/IP y que encamina el tráfico hacia el puerto serie de cada dispositivo (RemoteBox, StackMain o ARS-USB). Node-Red accede a este servicio para acceder a los equipos a controlar.
- Node-Red: Herramienta Visual de control que permite gestionar cualquier tipo de los equipos: RemoteBox, ARS-USB, StackMain.
- EA4TX Flow: Flow demo para usarse en Node-Red, que controla cualquiera de los equipos diseñados por EA4TX (RemoteBox, ARS-USB, …) y dota de una interface gráfica para el control de las antenas.
La solución ofrece 2 interfaces:
- WEB: Por un lado Node-Red (EA4TX Flow) dota de una interface gráfica via WEB, con lo cual cualquier dispositivo tipo movil, tableta u ordenador pueden interactuar y manejar las antenas del remoteBox
- Nativa TCP/IP: de forma que el programa RBM que se incluye con el RemoteBox, puede convivir e interactuar con el mando RemoteBox.
La plataforma hardware ideal para gestionar los equipos (ARS-USB, RemoteBox, …) es sin duda la Raspberry Pi, debido a su fiabilidad, bajo consumo – con lo cual nos despreocupamos al dejarla encendida 24h – y a su interesante precio.
Puesto que una RsPi cuenta con 4 puertos USB, podemos tener conectados hasta 4 equipos diferentes por Raspberry Pi.
En unos simples pasos, vamos a poner en marcha esta solución, no será necesario tener grandes conocimientos informáticos aunque siempre puedes solicitar en nuestra tienda una Raspberry o la imagen con Node-Red y todo ya instalado.
1.- Instalación del servicio Ser2Net
El servicio ser2net se puede instalar mediante el comando:
2.- Instalación de Node-Red
Aunque Node-Red puede funcionar sobre cualquier plataforma (Linux, Windows, Mac OSX), nos vamos a limitar en su funcionamiento en una Raspberry Pi.
Para instalar Node-Red sin duda alguna lo mejor es acudir a la fuente oficial:
https://nodered.org/docs/getting-started/raspberrypi
Y una vez instalado, ya podrás acceder a tu Raspberry Pi mediante el navegador:
Nota: sustituye <hostname> por la IP de tu Raspberry Pi

3.- Importar Flows EA4TX
Para familiarizarte al principio con Node-Red lo mejor es leer algún tutorial en internet o ver algún video, en concreto familiarizarse con el entorno y su interface, saber lo que es un nodo, como editar nodos y sobre todo, cargar o importar un Flow, puesto que aquí es donde tendrás que llegar para poder importar el Flow del RemoteBox.
Para importar el Flow para el control del RemoteBox debes ir a la parte derecha superior e indicar Importar (Import)

Seleccionar el fichero a importar y por ejemplo que se importe sobre un nuevo flow.

En este caso, la importación ha añadido 2 Flows o flujos:
- EA4TX ARS Rotor: para la gestión del rotor
- RemoteBox: Para la gestión del RemoteBox
Los flujos agrupan nodos que permitirán representar gráficamente el equipo. En el caso del flujo RemoteBox se agrupan unos nodos que corresponden con cada una de las antenas y el nodo que gestiona el acceso al RemoteBox que llamaremos sub-flow.
Además se ha incorporado 2 subflows:
- EA4TX Rotor Node
- RemoteBox Node
Los sub-flows son un conjunto de nodos que operan a modo librería. El subflow EA4TX Rotor Node gestiona todo lo referente al control de motores mientras que el subflow RemoteBox Node lo relacionado al RemoteBox.
Así por ejemplo en un Flujo al que añadimos uno de estos subflows, lo tenemos representado a modo de un nodo más y en nuestro caso presenta 2 propiedades que son:
- IP del equipo (por ejemplo si está en la misma maquina 127.0.0.1)
- Puerto: Puerto en el que está escuchando. Este parámetro por ejemplo corresponde con el puerto definido en el servicio ser2net para ese dispositivo

Por otro lado cada sub-flow incluye una entrada de comandos, y una salida para sus respuestas.

La entrada de este sub-flow se usan para enviar ordenes, por ejemplo para activar/seleccionar antenas y la salida para conocer el estado de las antenas.
Para finalizar vamos a explicar el funcionamiento del flujo RemoteBox
La gestión de comunicaciones con el RemoteBox nos la proporciona el sub-flujo que se ve en la parte inferior y que está representado como un nodo de color rosa. Presenta una entrada marcada con 9 y su salida con el 1 .
La salida está conectada al punto 2 donde es procesada. Puesto que este RemoteBox es una versión de 2 Radios y 6 Antenas, se procesa si la respuesta es para la Radio 1 para pasarse hacia el nodo 3 o hacia el 4
En cada uno de estos nodos 3 ó 4 , se analiza la información para cada una de las antenas y se envía al siguiente nodo para su visualización y procesamiento (nodos 5 y 6 ).
Si el usuario interacciona con los botones de las antenas (cualquiera de los nodos 6 ) su salida es interpretada por los nodos 7 y dirigida hacia el sub-flow al que accede por 9
Y el aspecto del flujo completo para el control del RemoteBox, es el siguiente:

Puedes descargar este Flujo: