自定义 Topic 消息通信

最近更新时间:2025-08-08 12:13:51

我的收藏

概述

本文主要说明如何通过自定义 Topic 对公共实例下所创建的设备进行设备数据上报及控制设备,以满足由用户自行定义 MQTT 协议 Payload 部分数据格式的场景需要。

前提条件

1. 已开通 公共实例
2. 已按 公共实例接入准备 在用户自有账号下创建完产品、以及创建完一个设备。
3. 已下载 MQTTX 调试工具,并将设备通过MQTTX 工具成功连接,使设备处于在线状态。

操作步骤

平台发送消息到设备

1. 如下图所示,进入公共实例接入准备 步骤中所创建设备的设备云端日志, 在设备云端日志 > 内容日志 > 自定义 topic 中找到当前设备的自定义 Topic。

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

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

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



设备上报消息到平台

1. 在 MQTTX 工具中填写自定义 Topic:QMYINX0OF8/78901/data(示例)后,根据 MQTTX 工具选择的内容格式,例如选择是 JSON 格式,则上报的内容需是 JSON 格式。

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