平台支援標準MQTT3.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
系統topic均為$ 開頭
用戶可以使用相關系統topic訪問接入套件中的存儲、命令等服務,詳情請見topic簇
設備使用系統topic時暫僅限訂閱與發佈消息至自己相關的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}/# | 訂閱設備所有相關消息 |