设备接入边缘节点(MQTT)
IoT边缘应用部署完成后,边缘节点即作为远端物联网平台在设备侧的延伸,云边协同,共同完成设备管理。边缘节点可以为近端连接的设备就近提供计算和管理服务,如低时延业务本地管理、与云端断链时的本地控制和规则执行等。设备通过接入边缘节点,最终通过边缘节点将数据上传到远端物联网平台。
创建产品
对于设备通过边缘节点上报至物联网平台的数据,云端物联网平台要能够解析设备上报的数据。故需要在设备接入服务侧完成设备的产品模型,编解码插件的开发。
- 访问IoT边缘,进入IoT边缘控制台。
- 选择左侧导航栏“边缘节点 > 设备建模 ”进入页面。
- 单击右上角的“创建产品”,按照页面提示填写信息,然后单击“立即创建”。
参数名称
说明
所属资源空间
所属资源空间:选择创建边缘节点时,绑定设备接入服务时选择的设备归属资源空间,如edge。
产品名称
自定义,如iot_edge。
协议类型
MQTT。
数据格式
JSON。
厂商名称
自定义,如test。
设备类型
自定义,如MQTT_Device。
- 单击“产品名称”下的产品iot_edge进入产品详情页面。
- 在“模型定义”页签下,单击“自定义模型”。
产品模型是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的属性信息。
- 填写服务ID、服务类型,单击“确认”。
服务ID/服务类型:自定义,如sensor
- 展开服务列表,单击“添加属性”,分别添加温度、湿度两个属性。
添加“温度”属性,属性名称为“temp”,如下图所示:
添加“湿度”属性,属性名称为“humi”,如下图所示:
- 单击“添加命令”,添加一条控制命令。
- 模型定义完成,参数信息预览如下图所示。
添加边缘设备
- 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
- 选择左侧导航栏的“边缘节点 > 节点管理”,选择您的边缘节点名称,进入节点详情页。
- 选择左侧导航栏“边缘设备”页签,单击“添加边缘设备”,填写参数后,单击“确认”。
- 所属产品:已创建的产品,如iot_edge
- 设备标识码:自定义,如iot_edge_test_0319
- 设备名称:自定义,如iot_edge_test_0319
- 模块ID:不填 添加边缘设备的什么时候填写模块ID?
- password:自定义,如12345678
- 添加设备成功,请保存好设备ID和密钥,用于设备接入平台认证。
- 完成添加设备后,可以在设备列表中查看设备状态,并管理边缘设备。
图1 边缘设备列表
也可以单击“设备ID(单击进入设备详情)”跳转至“设备接入服务控制台”进行设备管理。
边缘设备是作为子设备挂在节点设备下的。
设备接入调测
本章节以MQTT.fx为例,介绍以MQTT原生协议接入IoT边缘节点,通过边缘节点上报设备属性至物联网平台。MQTT.fx是目前主流的MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。
- 访问这里,填写添加边缘设备后生成的设备ID和设备密钥,生成连接信息(ClientId、Username、Password)。
- 打开MQTT.fx软件,单击设置图标。
- 参考截图中配置鉴权参数,然后单击截图中“Apply”。
- Broker Address:填写边缘节点服务器公网IP地址
- Broker Port:填写边缘节点提供给南向MQTT(S)设备接入的端口,即7883
- Cliend ID:设备cliendID,参考1获取
- User Name:即设备ID,参考1获取
- Password:加密后的设备密钥,参考1获取
在设备对接边缘节点场景中,需要在设备侧集成相应证书(证书文件),用于设备校验边缘节点的身份。
- 单击“Connect”,设备鉴权成功后,在IoT边缘控制台和物联网平台可以看到设备处于在线状态。如果模拟器右侧的红灯变成绿灯,说明与物联网平台的连接成功。
IoTEdge云服务上边缘节点显示子设备在线:
物联网平台显示边缘节点、子设备在线:
- 通过MQTT.fx模拟设备上报属性,并在物联网平台查看设备上报数据。
在Publish页签,填写设备属性上报Topic,及JSON消息体,单击“Publish”完成上报。
- Topic:$oc/devices/iot_edge_test_0219/sys/properties/report
- 消息体:
{ "services" : [{ "service_id" : "sensor", "properties" : { "temp" : 25, "humi" : 11 }, "event_time" : "20210212T121212Z" } ] }
在物联网平台查看设备上报数据。
- 通过MQTT.fx订阅命令下发Topic,并在物联网平台下发控制命令,查看设备是否收到平台下发的命令。