物联网平台中,服务端和设备端通过Topic来实现消息通信。Topic是针对设备的概念,Topic类是针对产品的概念。
产品Topic类
为了方便海量设备基于Topic进行通信,简化授权操作,物联网平台增加了产品Topic类的概念。Topic类是一类Topic的集合,例如,产品的自定义Topic类/${YourProductKey}/${YourDeviceName}/user/update
是具体设备Topic/${YourProductKey}/device1/user/update
、/${YourProductKey}/device2/user/update
等的集合。
登录物联网平台控制台,在对应实例下,选择 ,单击产品对应的查看,进入产品详情页,单击Topic类列表页签,可以在基础通信Topic、物模型通信Topic、自定义Topic页签查看相应的Topic类。关于这三类Topic的说明,请参见Topic分类。
Topic类列表中:
- Topic类以正斜线(/)进行分层,区分每个类目。其中,有两个类目为既定类目:${YourProductKey}表示产品的标识符ProductKey,${YourDeviceName}表示设备名称。
- 操作权限:
- 发布表示设备可以往该Topic发布消息。
- 订阅表示设备可以订阅该Topic,从而获取消息。
设备Topic
产品的Topic类不用于通信,只是定义Topic,用于消息通信的是具体的设备Topic。
您创建设备后,产品的所有Topic类会自动映射到设备上,生成具体设备Topic,您无需单独为每个设备创建Topic。设备Topic格式和产品Topic类格式一致,区别在于Topic类中的变量${YourDeviceName},在Topic中是具体的设备名称(DeviceName)。

设备Topic只能被该设备用于消息通信,例如,Topic:/${YourProductKey}/device1/user/update
归属于设备device1,所以只能被设备device1用于发布或订阅消息,而不能被设备device2用于发布或订阅消息。
设备发送SUB指令订阅某个Topic后,登录物联网平台控制台,在对应实例下,选择 ,单击设备对应的查看,进入设备详情页,单击Topic列表页签,已订阅Topic列表展示了设备订阅成功的所有Topic。云端系统可以通过其中的Topic发送下行消息。
单击列表中已订阅的自定义Topic对应的发布消息,可通过该Topic从云端发布一条消息到设备端。使用通配符的自定义Topic除外,具体信息,请参见带通配符的自定义Topic。
设备可以通过UNSUB指令取消与指定Topic的订阅关系,取消成功后,该Topic从已订阅Topic列表中删除。
如果您需要管控单个设备的消息收发,请在物联网平台控制台对应实例下的设备列表页或在服务端调用DisableThing接口,禁用该设备;或在业务上管控发送给设备的消息。
Topic分类
物联网平台将Topic分为三类。
类别 | 说明 |
---|---|
基础通信Topic | 物联网平台预定义的基础功能通信Topic,包含: |
物模型通信Topic | 物联网平台预定义的物模型通信Topic。各物模型功能Topic消息的数据格式,请参见设备属性、事件、服务。
说明 在云端,不可以调用Pub接口向物模型通信Topic发送消息。
在云端通过物模型功能远程控制设备,请调用SetDeviceProperty或SetDevicesProperty设置设备属性值;调用InvokeThingService或InvokeThingsService调用设备服务。 |
自定义Topic | 您可以根据业务需求,在产品的Topic类列表页自定义Topic类,具体操作请参见自定义Topic类。
Topic类是一个Topic模版配置,编辑更新某个Topic类后,可能对产品下所有设备使用该类Topic通信产生影响。建议在设备研发阶段设计好,设备上线后不再变更Topic类。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交