物模型 Topic 消息通信

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

我的收藏

功能概述

本文主要说明如何通过物模型 Topic 对公共实例下所创建的设备进行设备数据上报及控制设备,物模型 Topic 的消息上下行需要遵循腾讯云物联网开发平台所约定的物模型协议,平台会对使用物模型 Topic 的消息格式进行业务校验。

前提条件

1. 已开通 公共实例
2. 已按 公共实例接入准备 在您自有账号下创建完产品、导入对应的物模型以及创建完一个设备。
3. 已下载 MQTTX 调试工具。

操作步骤

控制台操作

公共实例接入准备 文档创建智慧生活 > 电工照明 > 冷暖白光灯类别产品和设备,DeviceName 需创建一个为 dev001 的设备,如图所示,当设备成功连接平台,并向物模型 Topic 发布消息后,则可以在设备云端日志下的内容日志查看当前设备的物模型(属性/事件/行为)Topic 的日志。

设备属性上报
当设备需要向云端上报设备运行状态的变化时,以通知应用端小程序、App 实时展示或云端业务系统接收设备上报属性数据,物联网开发平台为设备设定了默认的 Topic:
设备属性上行请求 Topic: $thing/up/property/{ProductID}/{DeviceName}
设备属性下行响应 Topic: $thing/down/property/{ProductID}/{DeviceName}

下发物模型属性指令到设备

1. 当 MQTTX 连接成功后,需要订阅物模型属性下行Topic$thing/down/property/AJZJ5G17ZX/dev001(您订阅时,需更换成您自己账号所创建的产品 ID 与 DeviceName)

注意:
MQTT 工具提示无法订阅 Error:Not authorized(code:128),表示 Topic 字符串有误,需要检查是否添加“$”符号。

2. 打开 物模型指令控制 的云 API 进行在线调试,输入对应的参数后发起调用后,可查看响应结果。

3. 发送成功后,返回至设备云端日志中验证通信内容是否有显示:

4. 同时也可查看 MQTTX 工具中订阅的物模型 Topic 是否有收到下发的内容指令。


设备上报物模型属性到平台

1. 在 MQTTX 工具中填写物模型属性上行响应 Topic:$thing/up/property/AJZJ5G17ZX/dev001(示例)。
设备端请求报文示例:
{
"method":"report",
"clientToken":"123",
"params":{
"power_switch":1,
"brightness":99
}
}

注意:
请确保发布和订阅的是同一个 ProductId,如遇到返回结果“FAIL,topic without permission”,需检查物模型 Topic 发布和订阅的 ProductId 是否保持一致,以及确保上报的编码格式为 JSON。
2. 可在控制台设备云端日志物模型日志查看通过 MQTTX 工具上报的指令,以及内容日志的 topic 通信内容。



常见问题

若需要了解物模型更多内容,请查看以下文档:
如何管理产品的物模型,了解 物模型定义
了解设备与平台之间的物模型协议,请参见 物模型协议
物模型通信常见问题,请参见 消息通信常见问题