更新时间:2024-04-29 GMT+08:00

自定义Topic通信概述

概述

使用MQTT协议接入的设备,平台和设备之间基于Topic进行通信。Topic分为系统Topic和自定义Topic。系统Topic为平台预置的基本通信Topic,自定义Topic是可以根据实际业务需要用户自行定义的Topic,客户可根据使用场景进行选择使用。值得注意的是,自定义Topic与系统Topic的消息上报一样,在平台都进行透传(平台不主动解析数据具体内容)。

表1 topic分类

Topic类别

描述

使用场景

系统Topic

平台预先定义了各种设备和平台通信的Topic,具体Topic列表和功能说明可参考Topic定义

消息上报、属性上报、命令下发、事件类主题。

自定义Topic

用户可以自定义Topic,设备和平台间可以基于用户自定义的Topic进行通信。

自定义topic分类:

  • $oc开头的自定义Topic:在产品中定义需要使用的Topic,这类Topic有$oc/devices/{device_id}/user/前缀,消息上报或者消息下发时平台会校验Topic是否在产品中定义,未在产品中定义的Topic会被平台拒绝。

在业务需要特定Topic的场景。比如说端到端通信广播通信、设备迁移等。

使用场景

  • 设备端向自定义Topic发布消息;应用端通过数据转发功能实现数据平滑流转至消息中间件、存储、数据分析、业务应用。
  • 应用端调用下发设备消息接口,向指定的自定义Topic发布消息。设备通过订阅该Topic,接收来自服务端的消息。
  • 端到端通信广播通信、设备迁移。

使用限制

  • 每个产品模型最多支持50个自定义Topic。
  • 自定义Topic只支持消息通信,不支持属性通信。
  • MQTT自定义Topic支持的最大长度为128字节。