Gateway con HiveMQ Edge
Guia para configurar HiveMQ Edge como bridge OPC UA a MQTT para conectar PLCs con Rela-ai.
Que es HiveMQ Edge
HiveMQ Edge es un software gratuito que convierte tu computador Linux (o Raspberry Pi) en un gateway industrial. Tiene un bridge OPC UA a MQTT nativo — no necesitas plugins adicionales.
Ventajas:
- Gratis y open source
- Bridge OPC UA nativo (sin plugins)
- Interfaz web para configuracion
- Soporte para Modbus, S7, EtherNet/IP ademas de OPC UA
- Buffer local si se pierde la conexion a internet
Que necesitas
- Computador Linux (Ubuntu 20.04+, Raspberry Pi OS, o similar)
- Java 11+ instalado
- Cable ethernet para la red del PLC
- Acceso a internet
- Datos del PLC: IP, puerto OPC UA, Node IDs
Paso 1: Instalar HiveMQ Edge
# Descargar la ultima version
wget https://github.com/hivemq/hivemq-edge/releases/latest/download/hivemq-edge.zip
# Descomprimir
unzip hivemq-edge.zip
cd hivemq-edge
# Verificar Java
java -version # Debe ser 11+
# Iniciar
./bin/run.shAccede a la interfaz web: http://localhost:8080
Credenciales por defecto: admin / hivemq
Paso 2: Configurar el bridge OPC UA
En la interfaz web de HiveMQ Edge:
- Ve a Protocol Adapters → OPC UA → Add New
- Configura:
- Name:
PLC-Linea1(nombre descriptivo) - Server URL:
opc.tcp://<IP-del-PLC>:4840 - Publish Topic:
planta-norte/gateway-linea1 - Subscriptions: agrega los Node IDs que quieres monitorear
- Name:
- Payload Format: selecciona OPC UA Pub/Sub JSON si esta disponible, o JSON como alternativa
- Click en Save y luego Start
Paso 3: Configurar bridge MQTT remoto
Si tu broker MQTT esta en internet (no local), configura un MQTT bridge:
- Ve a Bridges → MQTT → Add New
- Configura:
- Remote Broker:
mqtt://broker.hivemq.com:1883(o tu broker) - Username/Password: credenciales del broker
- Topics: mapea el topic local al remoto (generalmente el mismo)
- Remote Broker:
- Save y Start
Paso 4: Verificar
# Desde otra maquina, suscribete al topic
mosquitto_sub -h broker.hivemq.com -t "planta-norte/gateway-linea1" -vDeberias ver mensajes JSON cada vez que un valor cambia en el PLC.
Paso 5: Configurar Rela-ai
- En el dashboard, crea una fuente con protocolo OPC UA → Via Gateway MQTT
- Configura broker URL y topic
- Rela-ai recibe los datos automaticamente
Formato de payload
HiveMQ Edge envia los datos en formato JSON. Si el formato no es OPC UA Pub/Sub JSON nativo, puedes usar un Data Policy en HiveMQ Edge para transformar el payload antes de enviarlo.
Formato esperado por Rela-ai:
{
"MessageType": "ua-data",
"PublisherId": "PLC-Linea1",
"Messages": [{
"Payload": {
"Temperature": {"Value": 75.5, "StatusCode": 0},
"Pressure": {"Value": 1.2, "StatusCode": 0}
}
}]
}Tips
- Auto-start: Configura HiveMQ Edge como servicio systemd para que arranque automaticamente al encender.
- Multiples PLCs: Puedes agregar multiples adaptadores OPC UA, uno por cada PLC, publicando en topics diferentes.
- Monitoreo: La interfaz web muestra metricas en tiempo real: mensajes/segundo, conexiones activas, errores.
- Seguridad OPC UA: Configura certificados y autenticacion en el adaptador si el PLC lo requiere.