设备消息调试


设备消息调试

ThingsCloud 控制台为您提供了快捷的设备消息调试界面,可以帮助您:

  • 实时监视设备和云平台之间双向传输的所有消息。
  • 查看消息格式错误的提示信息。
  • 向设备下发消息,包括:下发属性、下发命令、下发自定义数据。

这些消息包括设备发送给云平台的消息,以及云平台下发给设备的消息。设备和云平台之间的所有互动都体现在消息中,所以,通过监视设备消息,可以帮助您快速定位和排查设备和云平台的通信是否符合预期。

开启消息日志

要查看这些消息,首先需要开启设备的消息日志,如下图:

articles/2022/20221128185123_a478ad39e88acd0ee88c9febb890ac98.png

每个消息可以点击右侧的图标,查看消息详情,如下图:

articles/2022/20221128192505_ac3f348ce7dbb8a39688137ff97cc0ba.png

ThingsCloud 不仅支持 JSON 消息格式,还支持 二进制Plaintext 格式,例如 RS485/Modbus RTU 消息是二进制格式,我们用 HEX 十六进制字符串形式来表示。如下图:

articles/2022/20221128182219_2dcfe2b4398dd41f7dc8c8008d8421a6.png

查看错误信息

通过消息日志,还可以监视消息格式错误的原因,帮助您排查问题。

例如,如果您在设备类型中添加了属性定义,但设备上报的属性值不符合该属性定义时,云平台会拒绝接收消息,并产生错误信息。

这里以温度属性为例,加入我们将属性的最大值设置为 10。

articles/2022/20221128184807_138bd1c26d7ac55cefb223f79bcc6f46.png

当设备上报的属性值不符合这个范围时,该消息便无法被云平台接收。

articles/2022/20221128184858_b93cc7c66f991778b98487d5d3209da9.png

您可以点击查看错误详情,如下图:

articles/2022/20221128184930_e6f9c330012d65610ac845a085b0bc40.png

在错误信息的 JSON 中,有详细的错误原因说明。这个 JSON 信息也可以由设备在上报消息后,通过订阅上报响应消息,来实时获得。

向设备下发消息

在设备调试界面中,可以快速为设备下发各类消息,可用于协议调试和设备故障排查。

下发属性

提示

如何在设备上接收云平台下发的属性?请查看 设备接收云端下发属性

articles/2022/20221128183614_294c5919fcf77f67e0ecd98417e6e787.png

articles/2022/20221128183831_43b62b96997d1a06de02e10939516cdc.png

下发命令

提示

如何在设备上接收云平台下发的命令?请查看 设备接收云端下发命令

articles/2022/20221128183946_03ae872584758676050fafe81b73bfd2.png

下发自定义数据

提示

如何在设备上接收云平台下发的自定义数据?请查看 自定义数据流的 MQTT 主题

我们在设备类型中添加自定义数据流,如下图:

articles/2022/20221128183219_5a6554b5f1b495c56ff08f1b1047f55e.png

这样一来,我们在设备调试界面就可以选择自定义数据流,作为下发消息的通道。

articles/2022/20221128184143_e22bdddd5576b82f523baa553dac02b5.png

这里我们为接入的 DTU 设备下发一个 Modbus RTU 的查询指令,使用 HEX 消息格式。

articles/2022/20221128182617_828234ddb8c2da3b750bc51c174c4666.png

DTU 将指令透传到 RS485 串口总线,获得传感器的回复消息,同时解析为传感器属性 JSON,进入设备属性。

articles/2022/20221128183039_485d567ceec742edbd6eacb8a4b69cc6.png

利用 HEX 下发消息调试功能,您还可以在设备安装部署时快捷执行一些一次性的指令,例如修改设备 Modbus 从机站号、对设备初始化配置等。