- 在ThingsBoard上创建设备
- 启动演示OPC-UA服务器
- 配置SIA Connect
- 添加实例
- 在ThingsBoard上查看数据
- 使用共享属性修改OPC-UA节点值
- 在ThingsBoard上可视化数据
- 结论
本指南将带领您完成通过SIA Connect将OPC-UA设备连接到ThingsBoard平台的全过程。
SIA Connect是实现这一连接的工具。通过将OPC-UA设备连接到ThingsBoard平台,您可以以高度可扩展且灵活的方式对设备进行监控、控制和自动化。请按照本指南逐步完成此过程。
在ThingsBoard上创建设备
为简便起见,我们将通过UI手动创建设备:
启动演示OPC-UA服务器
我们将使用Docker镜像作为演示OPC-UA服务器,可通过以下命令安装并运行:
1
docker run -it -p 4840:4840 thingsboard/tb-gw-opcua-server:latest
运行Docker镜像后,您将在终端中看到以下日志:

配置SIA Connect
安装SIA Connect
本示例中,我们通过.deb包安装了SIA Connect。您可在此处查看官方安装指南。此外,您也可以使用此处的Docker镜像进行安装。 安装成功后,访问默认地址127.0.0.1:80(Web UI运行地址,具体地址可能因您的配置而异)。
您需要登录并输入LICENSE key。也可以使用演示版本,该版本有30分钟会话限制。
安装OPC-UA连接器
接下来需要下载OPC-UA连接器。请按以下步骤操作:
- 在侧边栏中进入”连接器“页面;
- 点击”搜索要下载和安装的连接器“输入框,输入连接器名称”OPC-UA“;
- 找到”OPC-UA Client“,点击相应按钮进行下载。
OPC-UA连接器已安装。
安装MQTT连接器
还需要下载MQTT连接器以建立与ThingsBoard的连接。步骤与下载其他连接器相同:
- 在侧边栏中进入”连接器“页面;
- 点击”搜索要下载和安装的连接器“输入框,输入”MQTT“;
- 找到”MQTT“,点击相应按钮进行下载。
MQTT连接器已安装。
添加实例
要连接我们的测试设备,需要创建两个实例:
- 一个用于设备——该实例将连接到演示OPC-UA服务器并接收其数据;
- 一个用于ThingsBoard——该实例将映射来自设备实例的数据,转换为合适格式,并发送到ThingsBoard。
添加OPC-UA设备实例
首先创建OPC-UA设备实例,请按以下步骤操作:
- 在侧边栏的”Instance“标签页中点击”+ Add new instance“按钮;
- 填写输入字段:
- “Name“——”OPC-UA Device“;
- “Address“——”opc.tcp://127.0.0.1:4840/freeopcua/server/“;
- 禁用安全设置;
- 点击”Save instance“按钮。
OPC-UA设备实例已添加。
此外,需要创建项(item)。项代表实例内的数据点,例如PLC中的标签、MQTT broker中的主题、REST API的端点或数据库查询。请按以下步骤向OPC-UA设备实例添加新项:
- 在”Items“区域点击”+ New item“;
- 填写输入字段:
- “Name“——”Temperature“;
- 将”Read write“设置为”Read only“;
- “Identifier“——”ns=2;i=13“;
- 点击”Save item“按钮。
此时您将看到已添加的”Temperature“项。
按上述步骤添加其他项,如”Power”和”Humidity”。
| 项名称 | 标识符 |
|---|---|
| Power | ns=2;i=14 |
| Humidity | ns=2;i=15 |
完成后,您将得到如下项列表:
添加ThingsBoard实例
该实例将映射来自设备实例的数据,转换为合适格式并发送到ThingsBoard。要添加新实例,请按以下步骤操作:
- 在侧边栏的”Instance(实例)”标签页点击”+ Add new instance(添加新实例)”按钮;
- 填写输入字段:
- “Name(名称)”——”ThingsBoard”;
- “Address(地址)”——”您的ThingsBoard主机”。本示例为thingsboard.cloud;
- “Port(端口)”——”1883”;
- 在”Username(用户名)”、”Device id(设备ID)”和”Password(密码)”字段中填入创建设备时指定的凭据;
- 点击”Save instance(保存实例)”按钮。
ThingsBoard实例已添加。
现在需要添加新项。请按以下步骤操作:
- 在”Items(项)”区域点击”+ New item(新增项)”;
- 填写输入字段:
- “Name(名称)”——”Publish data(发布数据)”;
- 将”Read write(读写)”设置为”Write only(仅写)”;
- “Topic(主题)”——”v1/devices/me/telemetry”;
- “Input template(输入模板)”——”{%ITEM.NAME%: %VALUE%}”;
- 点击”Save item(保存项)”按钮。
“Publish data(发布数据)”项已添加。
最后,需要添加映射。映射是两个项之间的虚拟连接,用于处理二者之间的数据传输(例如从PLC项到MQTT项的映射)。请按以下步骤操作:
- 在”Mappings on ThingsBoard(ThingsBoard上的映射)”区域点击”+ New mapping(新增映射)”;
- “Sender Item(发送者项)”选择实例”OPC-UA Device”和项”Temperature(温度)”;
- “Receiver item(接收者项)”选择”Instance(实例)”为”ThingsBoard”、项为”Publish data(发布数据)”;
- 点击”Save mapping(保存映射)”按钮。
映射已添加。
按上述步骤添加其他映射,如”Power(功率)”和”Humidity(湿度)”。
完成以上步骤后,您将得到如下映射列表:
在ThingsBoard上查看数据
当您成功完成上述所有步骤且SIA Connect已发送数据后,可在ThingsBoard实例中设备的”Latest telemetry(最新遥测)”标签页查看:
- 进入ThingsBoard实例”Entities(实体)”下的”Devices(设备)”页面;
- 点击表格中的OPC-UA Device行打开设备详情;
- 进入”Latest telemetry(最新遥测)”标签页。
您应能看到传入数据。
使用共享属性修改OPC-UA节点值
本节将配置SIA Connect以修改OPC-UA节点的值,具体为修改设备状态节点。
为此,需要在SIA Connect的ThingsBoard实例中再创建一个项:
- 在侧边栏的”Instance(实例)”标签页中选择”ThingsBoard”;
- 在”Items(项)”区域点击”+ New item(新增项)”;
- 填写输入字段:
- “Name(名称)”——”Shared attribute update(共享属性更新)”;
- 将”Read write(读写)”下拉框设置为”Read only(仅读)”;
- “Topic(主题)”——”v1/devices/me/attributes”;
- 点击”Save item(保存项)”按钮。
项已添加。
此外,需要在OPC-UA Device实例上创建项,请按以下步骤操作:
- 在侧边栏的”Instance(实例)”标签页中选择OPC-UA Device;
- 在”Items(项)”区域点击”+ New item(新增项)”;
- 填写输入字段:
- “Name(名称)”——”Status(状态)”;
- 将”Read write(读写)”下拉框设置为”Read and Write(读写)”;
- “Post-processing (reading)(后处理-读取)”——”%VALUE%”;
- “Identifier(标识符)”——”ns=4;s=Status_s”;
- 点击”Save item(保存项)”按钮。
项已添加。
下一步是创建另一个映射,用于ThingsBoard实例与OPC-UA设备之间的数据传输。请按以下步骤操作:
- 在ThingsBoard实例中向下滚动到”Mappings(映射)”区域,点击”+ New Mapping(新增映射)”按钮;
- “Sender Item(发送者项)”选择实例”ThingsBoard”和项”Shared attribute update(共享属性更新)”;
- “Receiver item(接收者项)”选择实例”OPC-UA Device”和项”Status(状态)”;
- 在”Custom value(自定义值)”字段粘贴”%VALUE.status%”;
- 点击”Save mapping(保存映射)”按钮。
最后,需要在ThingsBoard平台的设备上创建共享属性。请按以下步骤操作:
- 进入ThingsBoard实例的”Entities(实体)”下的”Devices(设备)”页面;
- 点击”OPC-UA Device”,进入”Attributes(属性)”标签页;
- 在下拉框中选择”Shared attributes(共享属性)”,点击”+”按钮创建新共享属性;
- 在”Key(键)”字段填入”status”,并在下拉框中选择”Boolean(布尔)”数据类型;
- 点击”Add(添加)”按钮。
共享属性已添加。
在ThingsBoard上可视化数据
为了可视化SIA Connect的数据,我们将创建仪表板:
- 首先,下载sia_connect.json文件;
导入仪表板后,请确认已在实体别名中指定您的OPC-UA Device,以确保数据正确显示。
若正确完成以上步骤,您现在应能看到仪表板中显示来自OPC-UA Device的数据。
结论
按照本指南的说明,您可以轻松地使用SIA Connect在OPC-UA设备与ThingsBoard平台之间建立连接。本指南经过精心设计,提供完成此连接所需的全部内容与步骤。无论您是资深专家还是初学者,本指南都能让该过程简单明了。