全部產品
Search
文件中心

IoT Platform:增強端雲互動

更新時間:Jun 30, 2024

本文介紹物聯網平台支援的MQTT 5.0新特性的增強端雲互動功能說明。

功能說明

MQTT 5.0設計目標之一就是提高裝置端和服務端之間的透明度和互通性,增強端雲互動主要包含以下特性:

建連反饋

建連反饋是提供一種裝置端和服務端協商的能力,用戶端建連時設定配置參數,服務端回複最終支援的功能以及配置項最後的值。

建連反饋

參數說明

物聯網平台返回

是否支援保留訊息

  • 1:支援。

  • 0:不支援。

1

是否支援通配訂閱

  • 1:支援。

  • 0:不支援。

1

是否支援訂閱標誌符

  • 1:支援。

  • 0:不支援。

0

是否支援共用訂閱

  • 1:支援。

  • 0:不支援。

1

是否支援主題別名

  • 1:支援。

  • 0:不支援。

1

支援的最高QoS

  • 2:QoS 2。

  • 1:QoS 1。

  • 0:QoS 0。

1

串連保活時間

在保活時間內需要有心跳包或資料包,否則會被中斷連線。

取值範圍:30~1200。

返回裝置設定值。

若設定值超出範圍,會中斷連線。

會話到期時間

串連斷開後,會話的保留時間。

取值範圍:0~0xFFFFFFFF。

返回裝置設定值。

未設定時,預設值為0

最大的資料包長度

取值範圍:0~0xFFFFFFFF。

固定值262144,表示256 KB。

最大主題別名個數

取值範圍:0~0xFFFFFFFF。

固定值20。

服務端主動斷開

在MQTT 3.1.1中,如果裝置端違反某個規則,會被直接斷開網路連接,難以從裝置端排查具體原因。

在MQTT 5.0中,服務端可以發送主動斷開報文,並支援設定一個錯誤碼及錯誤原因的字串,使用者可以根據返回的錯誤內容排查具體出錯的原因。

錯誤碼增強

增強項

MQTT 3.1

MQTT 5.0

更詳細的錯誤碼

錯誤碼個數5個。

錯誤碼個數20個。

錯誤原因支援字串

無。

新增錯誤原因屬性,可以把詳細的錯誤碼類型發送給用戶端,方便調試及問題排查。

更多的訊息支援錯誤碼

僅CONNECT報文支援錯誤碼返回。

增加支援UNSUBACK、PUBACK、DISCONNECT等報文錯誤碼返回。

錯誤碼明細

十進位

十六進位

名稱

報文

0

0x00

成功(Success)

CONNACK,PUBACK,PUBREC,PUBREL,PUBCOMP,UNSUBACK,AUTH

128

0x80

未指定錯誤(Unspecified error)

CONNACK,PUBACK,PUBREC,SUBACK,UNSUBACK,DISCONNECT

129

0x81

畸形報文(Malformed Packet)

CONNACK,DISCONNECT

130

0x82

協議錯誤(Protocol Error)

CONNACK,DISCONNECT

132

0x84

不支援的協議版本(Unsupported Protocol Version)

CONNACK

136

0x88

伺服器不可用(Server unavailable)

CONNACK

137

0x89

伺服器繁忙(Server busy)

CONNACK,DISCONNECT

138

0x8A

禁止訪問(Banned)

CONNACK

140

0x8C

錯誤驗證方法(Bad authentication method)

CONNACK,DISCONNECT

141

0x8D

保活逾時(Keep Alive timeout)

DISCONNECT

144

0x90

主題名無效(Topic Name invalid)

CONNACK,PUBACK,PUBREC,DISCONNECT

147

0x93

超出接收最大值(Receive Maximum exceeded)

DISCONNECT

148

0x94

主題別名無效(Topic Alias invalid)

DISCONNECT

149

0x95

報文太大(Packet too large)

CONNACK,DISCONNECT

150

0x96

訊息傳輸速率太高(Message rate too high)

DISCONNECT

151

0x97

超出限額(Quota exceeded)

CONNACK,PUBACK,PUBREC,SUBACK,DISCONNECT

152

0x98

管理行為(Administrative action)

DISCONNECT

153

0x99

有效載荷格式無效(Payload format invalid)

PUBACK,PUBREC,DISCONNECT

154

0x9A

不支援訊息保留(Retain not supported)

CONNACK,DISCONNECT

155

0x9B

不支援的QoS(QoS not supported)

CONNACK,DISCONNECT

156

0x9C

使用另一台伺服器(Use another server)

CONNACK,DISCONNECT

157

0x9D

伺服器被移除(Server moved)

CONNACK,DISCONNECT

158

0x9E

不支援的共用訂閱(Shared Subscription not supported)

SUBACK,DISCONNECT

159

0x9F

超出串連速率(Connection rate exceeded)

CONNACK,DISCONNECT