Edge Box RPi 200 con Node Red y Modbus RS485
Introducción
Modbus RTU (Unidad Terminal Remota) es un protocolo popular en la automatización industrial para conectar dispositivos como sensores y controladores a través de líneas de comunicación serie. Conocido por su simplicidad y confiabilidad, es ampliamente utilizado en el monitoreo y control de procesos industriales. El Edge Box RPi 200, una puerta de enlace IoT industrial basada en Raspberry Pi, permite la integración de dispositivos Modbus RTU con redes modernas. Usando Node-RED, una herramienta de desarrollo basada en flujos, esta wiki guía a los usuarios en la configuración de comunicación Modbus RTU con el Edge Box RPi 200. Destaca aplicaciones como gestión de energía, monitoreo ambiental y control de procesos. Este recurso ofrece un enfoque rápido y práctico para aprovechar Modbus RTU en varios escenarios industriales.
Comenzando
Antes de iniciar este proyecto, es posible que necesites preparar tu hardware y software con anticipación como se describe aquí.
Preparación del Hardware
Edge Box RPi 200 |
---|
![]() |
Preparación del Software
Edge Box llega a tus manos preinstalado con Raspberry Pi OS. Si estás iniciando este dispositivo por primera vez, por favor lee nuestro Wiki de Introducción. Hemos preparado una Guía de Introducción sobre Node-RED. Se recomienda que revises esta guía antes de proceder con el wiki. En este tutorial, vamos a conectar la PC Host ejecutando el simulador de temperatura ambiente YABE con Node-RED ejecutándose en Edge Box.
RS485
En el Edge Box RPi 200, hay un puerto RS-485. Puedes encontrar más detalles aquí. Antes de trabajar en Node-RED, debes cablear el dispositivo correctamente.
Instalar Nodo Modbus
Para instalar el nodo Modbus, inicia Node-RED en tu Edge Box. Usualmente puedes acceder navegando en un navegador web a http://<tu-ip-edgebox>:1880
. Y sigue estos pasos:
Paso 1. Haz clic en el botón de Configuración, indicado por un icono de tres rayas, ubicado en la esquina superior derecha, luego selecciona Manage palette.
Paso 2. En la pestaña de paleta, navega a la pestaña Install.
Paso 3. Usa la barra de búsqueda de nodos para encontrar el nodo Modbus deseado.
Paso 4. Haz clic en el botón Install junto al nodo.
Paso 5. Si se te solicita, haz clic en el botón Install de la ventana de advertencia desplegable para confirmar la instalación.
Paso 6. Espera a que el proceso de instalación se complete. Una vez terminado, el botón Install debería cambiar a Installed.

Identificar Direcciones Modbus
Identificar las direcciones Modbus correctas es un paso crucial. Se recomienda consultar la hoja de datos del fabricante del PLC, dispositivo o sensor para obtener información detallada sobre las direcciones Modbus, incluyendo registros de entrada, salida y retención.
Aquí vamos a usar el Sensor de Temperatura SHT20 RS485. Usando una interfaz de hardware RS485 (con diseño de protección contra rayos), la capa de protocolo es compatible con el protocolo industrial estándar Modbus-Rtu. Cuando exploramos la hoja de datos podemos encontrar el registro de entrada que proporciona los datos de temperatura y humedad.
Obtener Datos del Dispositivo
Nodos requeridos: Modbus Getter
, 2 nodos Function
, 2 nodos Debug
, Modbus Response
.
Arrastra y suelta estos nodos y conéctalos según la siguiente manera/orden.
Configurar Nodo Modbus Getter
- Haz doble clic en el nodo Modbus Getter.
- Establece Unit ID en
1
. - Establece FC en
FC4: Read Input Registers
. - Establece Address en
1
(como se proporciona en la hoja de datos del dispositivo de simulación). - Establece Quantity en
2
(para leer dos bloques).
Configurar Servidor Modbus
- En la sección Server, haz clic en el botón del lápiz para crear una nueva configuración de servidor.
- Dale un nombre al servidor.
- Establece Type en
Serial Expert
. - Establece Serial Port en
/dev/ttyACM0
. - Establece Serial Type en
RTU
. - Mantén las otras configuraciones como están.
Configuración de Bloques Function
Usamos el bloque function para extraer los valores relevantes de temperatura y humedad. La salida del nodo getter es un número decimal que contiene tanto partes enteras como de punto flotante, por lo que necesitamos ajustar usando matemáticas básicas.
Para Temperatura
var tempMsg = { payload: msg.payload[0] / 100.0 };
return tempMsg;
Para Humedad
var humidMsg = { payload: msg.payload[1] / 100.0 };
return humidMsg;
Desplegar
Presiona el botón Deploy. Verás los valores de humedad y temperatura en la ventana de depuración.

Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.