Recopilar datos OPC UA con N3uron

Última actualización:

Introducción

Este tutorial continúa Instalar N3uron. Utiliza el módulo OpcUaClient de un dispositivo reComputer RK Series para conectarte al servidor público DataSim de N3uron, importar variables de una planta fotovoltaica simulada como etiquetas (Tags) y ver sus valores en WebUI. No necesitas un PLC ni un sensor adicional.

text
N3uron DataSim OPC UA Server
opc.tcp://datasim.n3uron.com:4840
             |
             | OPC UA over TCP
             v
reComputer RK Series (N3uron)
     OpcUaClient / DataSim
             |
             v
       N3uron Tags
             |
             v
     Data -> Realtime

Requisitos previos

ElementoRequisito
HardwareUn dispositivo reComputer RK Series
Sistema operativoUn sistema Linux ARM64 compatible basado en Debian; en la prueba se utilizó Debian/Armbian
SoftwareN3uron instalado, con el módulo OpcUaClient disponible
RedAcceso saliente al servidor público DataSim por el puerto TCP 4840 y acceso desde el navegador a la WebUI del dispositivo RK
PC clienteUn equipo con un navegador moderno en una red que pueda acceder al dispositivo RK

Para otro modelo RK, confirma su arquitectura Linux y los requisitos de N3uron siguiendo el tutorial de instalación antes de continuar.

Paso 1: Comprobar el dispositivo y el servicio N3uron

Ejecuta los siguientes comandos en un terminal o una sesión SSH del dispositivo RK:

bash
cat /etc/os-release
uname -m
hostname -I
sudo systemctl status n3uron --no-pager

En Linux ARM64, uname -m suele mostrar aarch64. Anota la dirección IP del dispositivo en la LAN. El servicio N3uron debería indicar active (running).

Si el servicio está instalado pero detenido, inícialo:

bash
sudo systemctl start n3uron

Si N3uron no está instalado, completa primero Instalar N3uron.

Paso 2: Abrir N3uron WebUI

Abre la siguiente dirección en el navegador del equipo cliente:

text
http://<RK_DEVICE_IP>:8003

Sustituye <RK_DEVICE_IP> por la dirección IP del dispositivo RK. Si se configura HTTPS, su puerto predeterminado es 8443.

Inicia sesión con la cuenta de administrador configurada durante la instalación. El panel de navegación incluye Data, System y User.

Paso 3: Crear el módulo OPC UA Client

  1. Ve a System → Config → Modules.
  2. Abre el menú Modules y selecciona New Module.
  3. Establece el nombre como OpcUaClient.
  4. Establece Module type como OpcUaClient y pulsa Save.

Seleccionar OpcUaClient como tipo de módulo

La captura muestra el menú de tipos antes de aplicar la selección. Selecciona OpcUaClient, que aparece resaltado, en lugar de mantener ModbusServer. El nombre del módulo por sí solo no determina su tipo.

Expande el módulo guardado en Explorer. Debería contener Certificates, OPC Browser y Logger.

Paso 4: Configurar el cliente DataSim

Selecciona OpcUaClient, abre el menú del panel Model y elige New Client. Asigna al cliente el nombre DataSim.

Crear un cliente OPC UA

Configura los siguientes parámetros de conexión. El endpoint público y la cuenta de demostración también se documentan en el ejemplo N3uron de Seeed.

ParámetroValor
Client nameDataSim
Enable data collectionYes
Endpoint URLopc.tcp://datasim.n3uron.com:4840
Discovery URL, si se configuraopc.tcp://datasim.n3uron.com:4840
Security modeNone
Security policyNone / None (Insecure)
Authentication → EnabledYes
Authentication → Usersunn3rgy
Authentication → Passwordn3uron

Endpoint, seguridad y autenticación de DataSim

Pulsa Save y espera a que el módulo se conecte. Si el servidor utiliza la misma URL de descubrimiento y de endpoint, introduce la dirección del endpoint en ambos campos; consulta la documentación de configuración del cliente de N3uron.

Paso 5: Explorar los nodos OPC UA

Expande System → Config → Modules → OpcUaClient y selecciona OPC Browser. Elige DataSim en la lista desplegable Client.

Seleccionar DataSim en OPC Browser

Pulsa Rebrowse si es necesario. Cuando la exploración se complete, aparecerán los nodos de nivel superior del servidor.

Espacio de direcciones DataSim en OPC Browser

Expande la siguiente ruta:

text
Objects
└── PVSIM
    └── BLUELAKE
        └── PVG001
            └── WST
                ├── HEIGHT_SUN
                ├── HUMIDITY
                ├── POA_IRRADIANCE
                ├── PRESSURE
                ├── TEMPERATURE_2M
                └── WIND_SPEED_10M

El servidor también puede ofrecer variables de previsión y otras ramas. El nombre de cuenta sunn3rgy no tiene por qué coincidir con una carpeta; sigue el árbol de nodos actual.

Paso 6: Importar variables como etiquetas

Utiliza cuatro variables de la rama WST:

Nodo OPC UADescripción
HUMIDITYHumedad relativa
POA_IRRADIANCEIrradiancia solar en el plano del generador fotovoltaico
TEMPERATURE_2MTemperatura ambiente a 2 m
WIND_SPEED_10MVelocidad del viento a 10 m
  1. En OPC Browser, expande Objects → PVSIM → BLUELAKE → PVG001 → WST.
  2. Arrastra HUMIDITY a la carpeta raíz / del panel Model.
  3. Repite la operación con POA_IRRADIANCE, TEMPERATURE_2M y WIND_SPEED_10M.
  4. Confirma que las cuatro etiquetas aparecen en el árbol Model. Guarda los cambios pendientes.
  5. En los ajustes de origen de una etiqueta, Source → Enabled debería ser Yes, y el módulo de origen debería hacer referencia a OpcUaClient.

Cuatro variables OPC UA importadas en N3uron Model

Paso 7: Consultar los valores en tiempo real

Ve a Data → Realtime en el panel de navegación. Algunas versiones denominan esta página Real Time. Selecciona / en Tag groups para ver las cuatro etiquetas, incluidos Value, Quality y Timestamp.

Cuatro etiquetas con calidad Good en N3uron Realtime

El ejemplo con RK3576 muestra las siguientes lecturas:

EtiquetaValor de ejemploQuality
HUMIDITYAproximadamente 71.82Good
POA_IRRADIANCE0Good
TEMPERATURE_2M13.96Good
WIND_SPEED_10M0.76Good

Estas lecturas son ejemplos, no valores esperados fijos. Good indica una lectura utilizable en el momento mostrado. Observa el valor y la marca de tiempo de una variable cambiante durante varios ciclos de actualización para confirmar que se actualiza. Un valor de 0 por sí solo no indica un problema de conexión.

Las cuatro etiquetas ya están disponibles en N3uron para su procesamiento posterior, publicación por MQTT o uso en paneles WebVision.

Solución de problemas

SíntomaQué comprobar
No aparece OPC BrowserExpande OpcUaClient en Explorer y confirma que Module type sea OpcUaClient.
Los ajustes muestran Channel, Modbus TCP o el puerto 502El tipo de módulo puede ser incorrecto. Crea un módulo OpcUaClient en lugar de ModbusServer.
DataSim no se conectaComprueba el endpoint, las credenciales de demostración, DNS, el acceso a Internet y el puerto TCP saliente 4840.
No existe una carpeta SUNN3RGYExplora PVSIM → BLUELAKE → PVG001 → WST; el árbol de nodos puede diferir de ejemplos antiguos.
Las etiquetas no muestran datosComprueba Source Enabled, OPC UA Node ID, los diagnósticos del cliente y Quality.
Los valores no cambianComprueba Timestamp y el comportamiento de actualización del simulador.
La recopilación se detiene al cabo de un tiempoComprueba la licencia del módulo; los módulos sin licencia pueden estar limitados a una sesión de demostración de dos horas.

Comprueba el estado del servicio y los registros recientes:

bash
sudo systemctl status n3uron --no-pager
sudo journalctl -u n3uron -n 80 --no-pager

Para comprobar la conectividad TCP:

bash
python3 - <<'PY'
import socket
host, port = 'datasim.n3uron.com', 4840
try:
    with socket.create_connection((host, port), timeout=8):
        print('TCP 4840 reachable')
except Exception as exc:
    print('Connection failed:', exc)
PY

Una conexión TCP correcta no verifica por sí sola la autenticación OPC UA. Comprueba también los diagnósticos del cliente y los valores en Data → Realtime.