设备接入
使用MQTT.fx模拟设备接入。
- 下载MQTT.fx及证书,证书下载地址。
安装完成后打开,MQTT.fx软件界面如下:
Connect左边的蓝色齿轮为设置。
Publish是消息发送,Subscribe为消息接收,Log可查看日志。
- 单击设置-General,输入以下信息
Broker Address:输入节点的公网地址。
Broker Port: MQTTS协议使用的端口,默认为7883。
尝试连接时间和保持连接时间等自定义。
- 单击设置-User Credentials
Client ID和密码需要工具进行转换。利用网页转换工具进行转换。
填写添加设备(IoT边缘)后生成的设备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" } ] }
- 进入边缘设备查看数据上报情况
进入IoTDA单击设备,进入概览发现并无数据上报,说明设备发送的数据在节点本地被集成SDK的monitor-app应用拦截。
- 输入订阅的topic,可在IoTDA->产品->topic管理中查看。
Topic:$oc/devices/hw_iotedge_device2/sys/commands/#
其中,hw_iotedge_device2为设备ID,请替换为实际值,设备ID请进入设备详情查看。
进入Subscribe,可以看到订阅命令收到一条command。这是因为monitor-app应用拦截了设备上报的数据。当数据内容为error时,monitor-app应用会向hub调用设备命令,该命令为重启操作,命令消息体如下图所示,具体处理逻辑见4.3.3.2.2。这说明集成appClient的应用可以实现了数据处理和命令下发的功能。