Tous les produits
Search
Centre de documentation

IoT Platform:Améliorations des interactions appareil-cloud avec MQTT 5.0

Dernière mise à jour :Aug 10, 2026

IoT Platform prend en charge les fonctionnalités MQTT 5.0 qui améliorent la transparence et l'interopérabilité entre les appareils et le serveur, notamment le retour d'information sur la connexion, les paquets DISCONNECT envoyés par le serveur et des codes d'erreur améliorés.

Vue d'ensemble

MQTT 5.0 apporte les améliorations suivantes aux interactions entre l'appareil et le cloud :

Retour d'information sur l'établissement de la connexion

Le retour d'information sur la connexion est un mécanisme de négociation. L'appareil envoie des paramètres de connexion lors de l'établissement de la connexion, et le serveur renvoie un paquet CONNACK confirmant les fonctionnalités prises en charge ainsi que les valeurs finales des paramètres.

Propriété CONNACK

Description et plage de valeurs

Réponse d'IoT Platform

Retain Available

  • 1 : Les messages retenus sont pris en charge.

  • 0 : Les messages retenus ne sont pas pris en charge.

1

Wildcard Subscription Available

  • 1 : Les abonnements avec caractères génériques sont pris en charge.

  • 0 : Les abonnements avec caractères génériques ne sont pas pris en charge.

1

Subscription Identifiers Available

  • 1 : Les identifiants d'abonnement sont pris en charge.

  • 0 : Les identifiants d'abonnement ne sont pas pris en charge.

0

Shared Subscription Available

  • 1 : Les abonnements partagés sont pris en charge.

  • 0 : Les abonnements partagés ne sont pas pris en charge.

1

Topic Alias

  • 1 : Le serveur accepte les alias de topic sur cette connexion.

  • 0 : Le serveur n'accepte pas les alias de topic sur cette connexion.

1

Maximum QoS

  • 2 : QoS 2.

  • 1 : QoS 1.

  • 0 : QoS 0.

1

Server Keep Alive

Période pendant laquelle le serveur doit envoyer des paquets de heartbeat ou de données pour maintenir la connexion. Si aucun paquet n'est envoyé durant cette période, la connexion est interrompue.

Valeurs valides : 30 à 1200.

Renvoie la période de maintien de la connexion spécifiée par l'appareil.

Si la valeur spécifiée par l'appareil dépasse la plage valide, la connexion est interrompue.

Session Expiry Interval

Durée de conservation de la session après l'interruption de la connexion.

Valeurs valides : 0 à 0xFFFFFFFF.

Renvoie la durée de conservation de la session spécifiée par l'appareil.

Valeur par défaut : 0 (si non spécifiée par l'appareil).

Maximum Packet Size

Valeurs valides : 0 à 0xFFFFFFFF.

Renvoie toujours 262144 (256 Ko).

Topic Alias Maximum

Valeurs valides : 0 à 0xFFFFFFFF.

Renvoie toujours 20.

Paquets DISCONNECT envoyés par le serveur

Avec MQTT 3.1.1, le serveur ferme la connexion d'un appareil sans explication lorsqu'une règle est violée.

Avec MQTT 5.0, le serveur peut envoyer un paquet DISCONNECT à l'appareil avant de fermer la connexion. Ce paquet contient un code de raison et une chaîne de raison, ce qui simplifie le dépannage.

Améliorations des codes d'erreur

|
**Amélioration**
|
**MQTT 3.1**
|
**MQTT 5.0**
| | --- | --- | --- | |
Augmentation du nombre
|
5 codes d'erreur
|
20 codes d'erreur
| |
Chaîne de raison
|
Non prise en charge
|
Ajout de la propriété Reason String pour un diagnostic détaillé des erreurs.
| |
Codes d'erreur pour davantage de types de paquets
|
Seuls les paquets CONNECT renvoient des codes d'erreur.
|
Des codes d'erreur sont renvoyés pour les paquets CONNECT, UNSUBACK, PUBACK, DISCONNECT et autres.
|

Codes d'erreur

|
**Décimal**
|
**Hexadécimal**
|
**Nom**
|
**Type de paquet**
| | --- | --- | --- | --- | |
0
|
0x00
|
Success
|
CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, UNSUBACK et AUTH
| |
128
|
0x80
|
Unspecified error
|
CONNACK, PUBACK, PUBREC, SUBACK, UNSUBACK et DISCONNECT
| |
129
|
0x81
|
Malformed Packet
|
CONNACK et DISCONNECT
| |
130
|
0x82
|
Protocol Error
|
CONNACK et DISCONNECT
| |
132
|
0x84
|
Unsupported Protocol Version
|
CONNACK
| |
136
|
0x88
|
Server unavailable
|
CONNACK
| |
137
|
0x89
|
Server busy
|
CONNACK et DISCONNECT
| |
138
|
0x8A
|
Banned
|
CONNACK
| |
140
|
0x8C
|
Bad authentication method
|
CONNACK et DISCONNECT
| |
141
|
0x8D
|
Keep Alive timeout
|
DISCONNECT
| |
144
|
0x90
|
Topic Name invalid
|
CONNACK, PUBACK, PUBREC et DISCONNECT
| |
147
|
0x93
|
Receive Maximum exceeded
|
DISCONNECT
| |
148
|
0x94
|
Topic Alias invalid
|
DISCONNECT
| |
149
|
0x95
|
Packet too large
|
CONNACK et DISCONNECT
| |
150
|
0x96
|
Message rate too high
|
DISCONNECT
| |
151
|
0x97
|
Quota exceeded
|
CONNACK, PUBACK, PUBREC, SUBACK et DISCONNECT
| |
152
|
0x98
|
Administrative action
|
DISCONNECT
| |
153
|
0x99
|
Payload format invalid
|
PUBACK, PUBREC et DISCONNECT
| |
154
|
0x9A
|
Retain not supported
|
CONNACK et DISCONNECT
| |
155
|
0x9B
|
QoS not supported
|
CONNACK et DISCONNECT
| |
156
|
0x9C
|
Use another server
|
CONNACK et DISCONNECT
| |
157
|
0x9D
|
Server moved
|
CONNACK et DISCONNECT
| |
158
|
0x9E
|
Shared Subscription not supported
|
SUBACK et DISCONNECT
| |
159
|
0x9F
|
Connection rate exceeded
|
CONNACK et DISCONNECT
|