平台支持标准 MQTT 3.1.1版本,协议详情请参考协议说明
平台对协议特性支持如下:
特性 | 是否支持 | 说明 |
---|---|---|
will | 不支持 | will、will retain 的flag必须为0,will qos必须为0 |
session | 不支持 | cleansession标记必须为1 |
retain | 不支持 | 相关标记必须为0 |
QoS0 | 支持 | 设备由订阅成功而收到的系统 topic 的消息均为 QoS0 设备发布至平台系统 topic 的消息均支持 QoS0 |
QoS1 | 支持 | 设备发布至平台系统 topic 的消息均支持 QoS1 |
QoS2 | 不支持 |
平台对 topic 约定如下:
topic非法使用
设备订阅非法 topic 时,平台通过MQTT publish ack返回订阅失败
设备发布消息到非法topic时,平台会断开设备连接
通配符:平台支持通配符 + 与 #
说明:使用 系统topic 时支持的通配符仅支持从 topic 第四级目录开始
- 支持 $sys/{pid}/{device-name}/#、$sys/{pid}/{device-name}/cmd/#、$sys/{pid}/{device-name}/cmd/request/+等订阅方式
- 不支持 $sys/{pid}/#、$sys/#、# 等订阅方式
设备可以按照如下方式进行消息订阅:
订阅 topic | 订阅效果 |
---|---|
$sys/{pid}/{device-name}/dp/post/json/accepted | 订阅设备数据点上报成功的消息 |
$sys/{pid}/{device-name}/dp/post/json/rejected | 订阅设备数据点上报失败的消息 |
$sys/{pid}/{device-name}/dp/post/json/+ | 订阅设备数据点上报结果 |
$sys/{pid}/{device-name}/cmd/request/+ | 订阅设备所有命令消息 |
$sys/{pid}/{device-name}/cmd/response/+/+ | 订阅设备所有命令应答结果消息 |
$sys/{pid}/{device-name}/cmd/# | 订阅设备所有命令相关消息 |
$sys/{pid}/{device-name}/# | 订阅设备所有相关消息 |