Publicando Datos Industriales en la Nube de AWS Usando N3uron, MQTT y Modbus
Introducción
En la automatización industrial, Modbus destaca como uno de los protocolos más comunes. MQTT se ha consolidado como el protocolo líder para IoT en la automatización industrial debido a sus múltiples características. Su diseño ligero, eficiencia, escalabilidad y soporte para mensajes asíncronos son notables. En MQTT, los dispositivos se comunican solo cuando ocurre un evento reportable, en contraste con las comprobaciones de actualización constantes. Este enfoque basado en eventos, junto con la notificación por excepción —enviando datos solo cuando se desvían de las normas o ante disparadores específicos— conserva ancho de banda y recursos, optimizando la transmisión de datos para aplicaciones IoT críticas.
La potente combinación del reComputer R1000 y el N3uron Duo facilita una gestión eficiente de la planta al proporcionar una conectividad robusta y capacidades de manipulación de datos. Este Wiki enfatiza la importancia de Modbus TCP en entornos industriales, resaltando la integración fluida de dispositivos MQTT para mejorar aún más la conectividad.
Requisitos Previos
Hardware
reComputer R1000 |
---|
![]() |
Software
Recomendamos encarecidamente estudiar la guía de Introducción a N3uron. Esta guía ofrece conocimientos esenciales sobre cómo navegar por la interfaz web de N3uron, entender conceptos como la Web UI y el módulo Web Vision, comprender el concepto de etiquetas y crear dashboards básicos. Si aún no has explorado estos fundamentos, es aconsejable hacerlo antes de continuar. Puedes acceder a la guía mediante el enlace proporcionado.
Configurar los ajustes de Ethernet para Modbus TCP/IP
Dado que el dominio IP de tu PLC/Dispositivo es diferente de tu configuración inalámbrica, es posible que tengas que cambiar la configuración de IP manualmente. Para ello,
Paso 01: Ejecuta el siguiente comando si estás utilizando Bullseye:
sudo nano /etc/dhcpcd.conf
Paso 02: Luego, configura los ajustes del puerto Ethernet según el dominio de red de tu PLC/Dispositivo y establece prioridades utilizando el comando metric. La métrica más baja tiene la prioridad más alta.
- Paso 01: Si estás utilizando Bookworm OS, puedes usar la interfaz gráfica para hacer clic en el icono de red. En las opciones avanzadas, elige "Editar conexiones."
- Paso 02: Selecciona "Wired Connection 2" (ETH 1) y añade la dirección, la máscara de subred y la puerta de enlace en los ajustes de IPv4.
Creación y Configuración del Módulo Modbus
Crea una instancia de módulo dentro de la interfaz WebUI de N3uron
- Paso 01: En el panel de navegación, selecciona Config.
- Paso 02: En el panel del Explorador, selecciona Modules.
- Paso 03: Haz clic en el menú Modelo y selecciona New Module.
- Paso 04: La instancia puede tener cualquier nombre, pero en este ejemplo usaremos ModbusClient.
- Paso 05: Establece la propiedad Tipo de Módulo en ModbusClient. Deja el resto de las propiedades con sus valores predeterminados y haz clic en Save.
Creación y Configuración del Canal
- Paso 01: Bajo el Modbus Client y Modelo creado, selecciona New Channel. Asigna al canal el nombre Client.
- Paso 02: Ahora, vamos a comunicarnos con el PLC utilizando Modbus TCP. Por favor, proporciona la dirección IP del PLC y la dirección del puerto.
Si estás utilizando Modbus RTU, existen diversas configuraciones a considerar. Para ello, necesitas proporcionar detalles como el puerto COM, la velocidad en baudios, etc. Para obtener más información sobre la configuración de los protocolos Modbus RTU y TCP en N3uron, consulta la guía proporcionada.
- Paso 03: Añade un dispositivo: Cada canal puede tener uno o más dispositivos. Asigna un nombre al dispositivo y continúa con la configuración. En este caso, el nombre del dispositivo es PLC.
- Paso 04: Hay algunos ajustes que puedes modificar a través de esta interfaz. Puedes encontrar más detalles en este enlace. Sin embargo, en este caso, los dejaremos tal como están.
Configuración de Etiquetas
- Paso 01: Ve a la WebUI, selecciona Config, y luego haz clic en Tag. En la sección Modelo, haz clic en el menú y elige New Tag. Nómbrala Q1. Normalmente, Q se utiliza para indicar la bobina de salida.
- Paso 02: Luego, necesitas realizar las siguientes configuraciones: y haz Save.
- Source : Enabled/Yes
- Module Type : ModbusClient
- ModuleName: ModbusClient
- Config: Device: Client/PLC
- Modbus address: 008931
- Data type: Boolean
Es recomendable consultar la hoja de datos del fabricante del PLC o dispositivo en lo que respecta a las direcciones Modbus. Allí encontrarás detalles sobre direcciones de entrada, salida y de retención. De acuerdo con estas especificaciones, se deben realizar los ajustes correspondientes en la línea de dirección Modbus en la configuración de la etiqueta. Por ejemplo, si el fabricante designa la bobina de salida Q1 como 8193, la dirección debería configurarse como 008193. De manera similar, si la entrada de red se denota como 1 y es de tipo bobina, la dirección debería establecerse como 000001.
- Paso 03: Simulación en tiempo real
Una vez conectado al sistema, puedes ver el estado en tiempo real de las bobinas de salida y de entrada.
La interacción con el PLC a través de la interfaz N3uron requiere permisos de acceso adecuados, incluyendo capacidades de lectura y escritura.
Crear una Instancia del Módulo MQTT dentro de la Interfaz WebUI de N3uron
- Paso 01: En el panel de navegación, selecciona Config.
- Paso 02: En el panel del Explorador, selecciona Modules.
- Paso 03: Haz clic en el menú Modelo y selecciona New Module.
- Paso 04: La instancia puede tener cualquier nombre, pero en este ejemplo usaremos MQTT.
- Paso 05: Establece la propiedad Tipo de Módulo en MqttClient. Deja el resto de las propiedades con sus valores predeterminados y haz clic en Save.
Configurar el Módulo MQTT de N3uron
- Paso 01: En el panel del Explorador, selecciona la instancia MQTT que acabas de crear.
- Paso 02: Haz clic en el botón del menú Modelo y selecciona New Connection.
- Paso 03: Asigna un nombre a la nueva conexión. En este ejemplo, se ha nombrado MqttClient: Haz Save en las configuraciones.
- Destination broker : Custom
- Authentication mode: Password
- Username : Your Broker Username
- Password: Your Broker Password
- Protocol: MQTT
- Broker URL: Broker ip
Suscribirse a un Tema Usando el Módulo MQTT de N3uron
- Paso 01: En el panel Modelo, haz clic derecho sobre la conexión AWS, selecciona New Subscriber y asigna un nombre. En este ejemplo, utilizaremos simplemente Subscriber.
- Paso 02: Haz clic en él y añade un nombre en el campo Topic. En este ejemplo, hemos usado device/data.
Para pruebas y experiencia práctica, te hemos proporcionado un código Arduino que se puede ejecutar en XIAO. Además, necesitarás ingresar tus propias credenciales en este código antes de subirlo.
- Paso 03: Configura las siguientes propiedades utilizando los valores que se muestran a continuación, dejando el resto con sus valores predeterminados: Y haz Save.
- Qos: Qos 0.
- Encoding: UTF8
- Compression: None
- Serialization: JSON
- Data parser/Type: MqttClient JSON
Crear una Etiqueta
- Paso 01: Dentro del panel del Explorador, selecciona Tags.
- Paso 02: En el menú Modelo, haz clic derecho en el icono de carpeta, selecciona New Tag y asigna un nombre. En este ejemplo, utilizaremos test.
- Paso 03: En el panel de Configuración, establece las siguientes propiedades utilizando los valores que se muestran a continuación, dejando el resto con sus valores predeterminados: Haz clic en Save.
- Type: Number.
- Source/Enabled: Yes
- Module Type: MqttClient
- Module name: MQTT
- Config/Subscriber: MqttClient/Subscriber
- Paso 04: Simulación en tiempo real
Una vez conectado al sistema, puedes ver el estado en tiempo real de la salida desde el Broker MQTT.
Bonus: Publica el Estado de la Fábrica con AWS
Hemos proporcionado instrucciones paso a paso sobre cómo conectar la nube de AWS a tu dispositivo reComputer R1000. Si eres nuevo en este wiki, por favor consulta este enlace.
- Paso 01: En el panel del Explorador, selecciona la instancia MQTT que acabas de crear.
- Paso 02: Haz clic en el botón del menú Modelo y selecciona New Connection.
- Paso 03: Asigna un nombre a la nueva conexión. En este ejemplo, se ha nombrado MqttPublisher.
- Paso 04: Configura las propiedades de la conexión:
- A: Selecciona Amazon Web Services del menú desplegable Destination Broker. El Authentication mode será Certificate. Además, en este ejemplo, el Client Id es N3uron.
- B: Carga el Certificate, Private key and CA certificate que descargaste y guardaste cuando creaste el Thing en el AWS IoT Console.
- C: En el AWS IoT Console, en el menú de la izquierda, ve a Settings y copia tu Device Data Endpoint. Regresa a N3uron y pégalo en el campo Broker URL.
- D: Deja el resto de las propiedades con sus valores predeterminados y haz clic en Save.
- Paso 05: Dentro del panel Modelo, haz clic derecho sobre la conexión MqttPublisher que acabas de configurar, selecciona New Publisher y asigna un nombre. En este ejemplo, utilizaremos simplemente AWS.
Paso 06: Haz clic en él y añade un nombre en el campo Topic. En este ejemplo, hemos usado N3uron.
Paso 07: Haz clic en el botón Tag Filter, selecciona New Tag Filter y cambia el nombre predeterminado. En este ejemplo, hemos usado TagFilter. Deja el Modo, la Ruta y el patrón Regex con sus valores predeterminados. Con esta configuración, cada etiqueta configurada en N3uron se publicará en nuestro Broker de AWS.
- Paso 08: Ve al AWS IoT Console y, en el menú de la izquierda, selecciona MQTT test client. Haz clic en la pestaña Subscribe to a topic, introduce N3uron en el filtro de tema para suscribirte a todo, y haz clic en Subscribe.
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte el soporte necesario y asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.
--------------------------------------------------