本文主要说明如何通过自定义 Topic 对实例下所创建的设备进行设备数据上报及控制设备,以满足由用户自行定义 MQTT 协议 Payload 部分数据格式的场景需要。
前提条件
已 购买实例。
已按 实例接入指引 在用户自有账号下创建完产品、导入对应的物模型以及创建完一个设备。
已下载 MQTTX 调试工具,并将设备通过 MQTTX 工具成功连接,使设备处于在线状态。
操作步骤
平台发送消息到设备
1. 登录 物联网开发平台,进入目标产品的产品详情页面。
2. 在 Topic列表 > 自定义 Topic 中找到当前设备的自定义 Topic。

当用户基于物联网平台的各场景应用通过应用端小程序、App 或业务后台需要向设备下发控制消息时,物联网开发平台为应用提供 设备透传指令控制的 API ,用户只需集成该 API 即可向自定义 Topic 发送消息;设备订阅该 Topic,即可接收到平台下发的控制设备消息。
云端发布 Topic:
{ProductID}/{DeviceName}/data设备订阅 Topic:
{ProductID}/{DeviceName}/data说明:
自定义Topic
{ProductID}/{DeviceName}/data 具有发布与订阅权限,由平台为每个设备默认创建。用户订阅和发布时需将 ProductID、DeviceName 更换成用户账号下所创建的产品 ID 与 DeviceName。3. 设备在 MQTTX 工具连接成功后,需要订阅 Topic(示例:QMXXXXXXX8/78901/data)。操作时必须更换为成功通过 MQTT 身份认证的产品 ID 与 DeviceName,否则会出现无权限订阅的提示。

4. 打开 设备透传指令 控制的云 API 在线调试,输入对应的参数后发起调用,最后查看响应结果。若出现未订阅的报错,需要返回第3步重新订阅。

5. 发送成功后,回到控制台设备详情页的云日志 > 内容日志中验证通信内容是否有显示,同时也可以查看 MQTTX 工具中订阅的自定义 Topic 是否有收到下发的内容指令。当在控制台查看有下行类型的日志,且内容与远控 API 的消息内容一致,或者 MQTTX 工具能显示接收到的消息,表明远控消息成功下发到设备。


设备上报消息到平台
1. 在 MQTTX 工具中填写自定义 Topic(示例:QMXXXXXXX8/78901/data)后,根据所选内容格式(如 JSON 格式),上报内容需采用相应格式。

2. 若在内容日志中查到通过 MQTTX 工具发布到平台的消息内容,则表示设备发布消息到平台的操作已经成功完成。
