本文介绍基于OPC UA协议的设备(以下统称设备)接入网关,并与物联网平台交互的方法。
前提条件
- 仅支持使用Link IoT Edge专业版(LE Pro),实现OPC UA设备接入。
- 根据您的实际环境,参考专业版环境搭建完成边缘实例的创建,上线网关。
一、搭建OPC UA Server
OPC UA Server的环境依赖如下表格所示:
依赖组件 | 版本要求 | 安装命令 |
python | ≥ 3.5.2 | 无 |
pip | ≥ 9.0.1 | 无 |
opcua | ≥ 0.98.3 | pip install opcua==0.98.3 |
根据以下步骤,完成OPC UA Server的搭建。该OPC UA Server模拟一个LED灯设备,该设备具有温度(temperature)属性,高温报警(high_temperature)事件。
- 下载OPC UA Server。
wget http://iotedge-web.oss-cn-shanghai.aliyuncs.com/public/driverSample/opcua_simulation_server.tar.gz
- 启动OPC UA Server。
tar -zxvf opcua_simulation_server.tar.gz cd opcua_simulation_server && ./opcua_simulation_server.sh
二、安装OPC UA客户端
使用OPC UA驱动接入OPC UA设备时需要完成设备配置操作,该操作需要借助OPC UA客户端作为辅助工具,获取OPC UA Server模拟设备信息,用于在控制台创建产品和配置驱动时使用。
本示例使用OPC UA客户端UaExpert工具。
- 下载并安装OPC UA客户端UaExpert工具。
- 安装完成后打开UaExpert工具。
- 在工具栏中单击“
+
”图标,新增OPC UA Server。 - 填写OPC UA Server的URL地址,建立与OPC UA Server的连接。URL为
OPC UA Server所在主机的IP地址:端口号
。说明 OPC UA Server示例中默认监听端口为4840
,因此OPC UA Server的URL地址格式示例如下:opc.tcp://192.168.1.1:4840
- 配置完成URL地址后单击OK,显示设备信息。
三、创建基于OPC UA协议的设备
- 参考创建产品,创建OPC UA产品。
其中,部分参数设置如下:
参数 描述 所属品类 选择标准品类下的 。节点类型 选择网关子设备。 接入网关协议 选择OPC UA。 - 参考单个添加物模型,在产品详情页为OPC UA产品添加如下自定义功能,然后发布上线自定义功能。
- 添加属性
- 根据下图所示,设置属性参数。
- 设置参数完成后,单击新增扩展描述,配置节点名称。节点名称:设备在OPC UA Server中的变量节点DisplayName的值。
- 添加服务
- 根据下图所示,设置服务参数。
- 单击输入参数下的增加参数,为产品服务新增参数。
- 设置参数完成后,单击新增扩展描述,配置节点名称。
节点名称:设备method在OPC UA Server中的变量节点DisplayName的值。
- 添加事件
- 根据下图所示,设置事件参数。
- 单击输出参数下的增加参数,为产品事件新增参数。
- 设置参数完成后,单击新增扩展描述,配置节点名称。
节点名称:设备事件在OPC UA Server中的变量节点DisplayName的值。
- 添加属性
- 参考单个创建设备,添加设备。
四、配置边缘实例
- 登录边缘计算控制台,左侧导航栏单击边缘实例。
- 在边缘实例页面找到前提条件中已创建的边缘实例,单击实例名称后的查看。
- 分配OPC UA驱动到边缘实例中。
- 选择OPCUA驱动,单击设备列表后的驱动配置,在弹出对话框中单击添加通道,设置通道参数。
表 1. 参数说明 参数 描述 配置举例 通道名称 OPC UA通道名称 opcua_server 通道地址 OPC UA Server的URL地址 opc.tcp://192.168.1.1:4840 用户名 OPC UA Server连接用户名 demo 密码 OPC UA Server连接密码 abc123 方法调用超时时间 请求调用OPC UA Server调用超时时间 10 - 单击分配子设备,在OPCUA驱动下为边缘实例分配子设备。
- 分配子设备成功后,单击设备名称右侧的设备配置。
表 2. 参数说明 参数 描述 关联通道 选择已添加的通道。 节点路径 设备在OPC UA Server中,从Objects开始到设备节点的绝对路径。 例如demo_led设备在OPC UA Server中的路径为Objects/demo_led。
- 在实例详情页面右上角单击部署,部署边缘实例。
- 在实例详情页面设备驱动配置页签中,选择OPCUA驱动,查看设备是否在线。
文档内容是否对您有帮助?