使用 N3uron 采集 OPC UA 数据
最近更新:
介绍
本教程接续安装 N3uron,使用 reComputer RK 系列设备上的 OpcUaClient 模块连接 N3uron 公共 DataSim 服务器,将模拟光伏站点的变量导入为标签(Tag),并在 WebUI 中查看数据,无需额外连接 PLC 或传感器。
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准备工作
| 项目 | 要求 |
|---|---|
| 硬件 | 一台 reComputer RK 系列设备 |
| 操作系统 | 兼容的 ARM64 Debian 系 Linux,测试使用 Debian/Armbian |
| 软件 | 已安装 N3uron,并可使用 OpcUaClient 模块 |
| 网络 | 可通过 TCP 4840 端口访问公共 DataSim 服务器,浏览器可访问 RK 设备 WebUI |
| 客户端电脑 | 运行现代浏览器,并与 RK 设备网络互通 |
其他 RK 型号请先按照安装教程确认 Linux 架构与 N3uron 的系统要求。
步骤 1:检查设备与 N3uron 服务
在 RK 设备的终端或 SSH 会话中执行:
cat /etc/os-release
uname -m
hostname -I
sudo systemctl status n3uron --no-pagerARM64 Linux 的 uname -m 通常输出 aarch64。记录设备的局域网 IP 地址,N3uron 服务应显示 active (running)。
如果服务已安装但尚未运行,执行:
sudo systemctl start n3uron如果还没有安装 N3uron,请先完成安装 N3uron。
步骤 2:打开 N3uron WebUI
在客户端电脑的浏览器中打开:
http://<RK_DEVICE_IP>:8003将 <RK_DEVICE_IP> 替换为 RK 设备的实际 IP 地址。配置 HTTPS 后,默认 HTTPS 端口为 8443。
使用安装时配置的管理员账户登录。左侧导航栏包含 Data、System 和 User。
步骤 3:创建 OPC UA Client 模块
- 进入 System → Config → Modules。
- 打开 Modules 菜单,选择 New Module。
- 将名称设为
OpcUaClient。 - 将 Module type 设为
OpcUaClient,然后点击 Save。

截图显示的是应用选择前的类型菜单,请选择红框中的 OpcUaClient,不要保留为 ModbusServer。仅修改模块名称不会改变模块类型。
保存后,在 Explorer 中展开模块,应能看到 Certificates、OPC Browser 和 Logger。
步骤 4:配置 DataSim 客户端
选择 OpcUaClient,打开 Model 面板菜单,点击 New Client,将客户端命名为 DataSim。

按下表配置连接。公共服务器地址和演示账户也可参考 Seeed N3uron 示例。
| 配置项 | 值 |
|---|---|
| Client name | DataSim |
| Enable data collection | Yes |
| Endpoint URL | opc.tcp://datasim.n3uron.com:4840 |
| Discovery URL,如需配置 | opc.tcp://datasim.n3uron.com:4840 |
| Security mode | None |
| Security policy | None / None (Insecure) |
| Authentication → Enabled | Yes |
| Authentication → User | sunn3rgy |
| Authentication → Password | n3uron |

点击 Save,等待模块建立连接。如果服务器的 Discovery URL 与 Endpoint URL 相同,可在两个字段中填写相同地址,详见 N3uron 客户端配置文档。
步骤 5:浏览 OPC UA 节点
展开 System → Config → Modules → OpcUaClient,点击 OPC Browser,在 Client 下拉列表中选择 DataSim。

如有需要,点击 Rebrowse。浏览成功后,界面会显示服务器的顶层节点。

依次展开以下路径:
Objects
└── PVSIM
└── BLUELAKE
└── PVG001
└── WST
├── HEIGHT_SUN
├── HUMIDITY
├── POA_IRRADIANCE
├── PRESSURE
├── TEMPERATURE_2M
└── WIND_SPEED_10M服务器还可能提供预测变量和其他分支。账户名 sunn3rgy 不一定对应一个文件夹,请以当前浏览到的节点树为准。
步骤 6:将变量导入为标签
本例使用 WST 分支下的四个变量:
| OPC UA 节点 | 含义 |
|---|---|
HUMIDITY | 相对湿度 |
POA_IRRADIANCE | 光伏阵列平面太阳辐照度 |
TEMPERATURE_2M | 2 m 高度的环境温度 |
WIND_SPEED_10M | 10 m 高度的风速 |
- 在 OPC Browser 中展开
Objects → PVSIM → BLUELAKE → PVG001 → WST。 - 将
HUMIDITY拖入 Model 面板的根目录/。 - 同样导入
POA_IRRADIANCE、TEMPERATURE_2M和WIND_SPEED_10M。 - 确认 Model 树中出现四个标签;如有待保存的更改,点击保存。
- 查看标签的数据源设置时,Source → Enabled 应为
Yes,数据源模块应指向OpcUaClient。

步骤 7:查看实时数据
在左侧导航栏进入 Data → Realtime,部分版本显示为 Real Time。在 Tag groups 中选择 /,即可查看四个标签的 Value、Quality 和 Timestamp。

RK3576 上的示例读数如下:
| 标签 | 示例数值 | Quality |
|---|---|---|
HUMIDITY | 约 71.82 | Good |
POA_IRRADIANCE | 0 | Good |
TEMPERATURE_2M | 13.96 | Good |
WIND_SPEED_10M | 0.76 | Good |
这些是示例读数,并非固定预期值。Good 表示所示时间对应的读数可用。可连续观察会变化的变量及其时间戳,确认数据更新。单个数值为 0 并不代表连接异常。
至此,四个标签已可在 N3uron 中用于后续数据处理、MQTT 发布或 WebVision 仪表盘。
常见问题
| 现象 | 检查方法 |
|---|---|
看不到 OPC Browser | 在 Explorer 中展开 OpcUaClient,确认 Module type 为 OpcUaClient。 |
配置界面显示 Channel、Modbus TCP 或端口 502 | 模块类型可能选错,应创建 OpcUaClient,而非 ModbusServer。 |
| DataSim 无法连接 | 检查服务器地址、演示账户、DNS、互联网连接及 TCP 4840 出站访问。 |
节点树中没有 SUNN3RGY 文件夹 | 展开 PVSIM → BLUELAKE → PVG001 → WST,节点结构可能与旧版示例不同。 |
| 标签没有数值 | 检查 Source Enabled、OPC UA Node ID、客户端诊断及 Quality。 |
| 数值没有变化 | 检查 Timestamp 和模拟服务器的更新行为。 |
| 采集运行一段时间后停止 | 检查模块许可证状态;未授权模块可能受到两小时演示会话限制。 |
查看服务状态和近期日志:
sudo systemctl status n3uron --no-pager
sudo journalctl -u n3uron -n 80 --no-pager检查 TCP 连通性:
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)
PYTCP 连接成功不等于 OPC UA 身份认证成功,还需要结合客户端诊断与 Data → Realtime 中的数值确认。