接入模拟设备
创建产品
- 选择左侧导航栏“边缘节点 > 设备建模”进入页面,单击右上角“创建产品”。
- 创建产品
- 所属资源空间:与节点所属资源空间一致
- 产品名称:自定义
- 协议类型:MQTT
- 数据格式:JSON
- 厂商名称:自定义
- 设备类型:MQTT_Device
- 在单击“产品名称”下的产品hw_iotedge_mqtt进入产品详情页面。
- 在“模型定义”页签下,单击“自定义模型”。
- 填写服务ID、服务类型,单击“确认”。
- 服务ID:power
- 服务类型:power
- 新增属性
- 属性名称:status
- 属性描述:自定义
- 数据类型:string
- 访问权限:可读可写
- 长度:10
- 枚举值:normal,error
- 新增命令
- 命令名称:power_control
- 下发参数
- 参数名称:restart
- 数据类型:string
- 描述:自定义
添加边缘设备
- 单击“边缘节点 > 节点管理 > 节点名称”进入节点详情页,然后单击“边缘设备 > 添加边缘设备”。
图1 添加边缘设备
- 输入设备信息。
- 所属产品:即前面创建的产品
- 设备标识码:自定义
- 设备名称:自定义
- password:自定义
接入设备
使用MQTT.fx模拟设备接入。
- 下载MQTT.fx及证书,证书下载地址。
安装完成后打开,MQTT.fx软件界面如下:
Connect左边的蓝色齿轮为设置。
Publish是消息发送,Subscribe为消息接收,Log可查看日志。
- 单击设置-General,输入以下信息
- Broker Address:输入节点的公网地址。
- Broker Port:MQTT(S)协议使用的端口,默认为7883。
- 尝试连接时间和保持连接时间等自定义。
- 单击设置-User Credentials
Client ID和密码需要工具进行转换。利用网页转换工具进行转换。
填写添加边缘设备后生成的设备ID和设备密钥,生成连接信息(ClientId、Username、Password)。
- 单击设置-SSL/TLS
勾选Enable SSL/TLS,单击CA certificate,选择下载的证书文件。
单击Apply应用设置后返回。
单击Connect连接,连接成功后右边红点会变成绿色,IoTDA也会显示设备在线。
- 选择publish输入topic地址。
Topic:$oc/devices/hwiotedgedevice2/sys/properties/report
其中,hwiotedgedevice2为设备ID,请替换为实际值,可在IoTDA->设备->所有设备列表中查看。消息体输入:
{ "services": [{ "service_id": "power", "properties": { "status":"error" }, "event_time": "20210508T173342Z" } ] }
- 输入订阅的topic,可在IoTDA->产品->topic管理中查看。
Topic:$oc/devices/hw_iotedge_device2/sys/commands/#
其中,hw_iotedge_device2为设备ID,请替换为实际值,设备ID请进入设备详情查看。
返回到publish,单击publish按钮后进入Subscribe,可以看到订阅命令收到一条command。
- 进入边缘设备查看数据上报情况
进入IoTDA单击设备,进入概览发现并无数据上报,说明设备发送的数据在节点本地被集成SDK的monitor-app应用拦截,当数据内容为error时,在本地向hub调用重启命令。应用实现了数据处理和命令下发的功能。