Databac

PROTOCOLE MQTT

Publié le 19/06/2024

Extrait du document

« PROTOCOLE MQTT Site officiel : http://mqtt.org/ Crédits images : The Things Network, Wikipedia, hivemq Le protocole MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie de type publication/souscription s'appuyant sur le protocole TCP/IP. MQTT permet à deux équipements distants de communiquer via des messages avec une faible bande passante, donc une faible charge en données et une faible consommation. En raison de cela, ce protocole est spécialement dédié au monde du M2M (machine to machine) et aux objets connectés MQTT est porté sur Arduino, STM32, les nano-ordinateurs LINUX de type Raspberry pi ou sur PC Les clients sont connectés au monde physique (capteurs / actionneurs) Le Broker ou serveur MQTT concentre les données issues des clients. Des librairies MQTT sont disponibles pour la conception de clients MQTT dans les langages comme C, C++, Java, C#, Python etc.. Avantages de MQTT Flexibilité MQTT est sur la couche "session" au-dessus de la couche réseau TCP/IP sur le modèle OSI, utilisée par les protocoles comme HTTP.

MQTT est donc routable sur Internet.

Il est possible de transmettre n’importe quel message sur les topics (sujets), de l'ASCII, du binaire ou du JSON. Légèreté Les échanges MQTT sont beaucoup plus légers que HTTP. Sécurité La sécurisation est possible avec un chiffrement SSL/TLS, mais cela a un coût non négligeable en termes de performances sur de l’embarqué. MQTT sécurisé ne peut être déployé sans consommation excessive qu'avec du matériel puissant ce qui exclut les Arduino 8bits par exemple. Intégrité des données MQTT introduit la notion de qualité de service (QOS) qui permet à un client de s’assurer qu’un message a bien été transmis, avec différents niveaux de fiabilité. Client (STM32, Arduino, Raspberry Pi) Broker (en ligne ou Raspberry Pi) Application (PC, Smartphone) BTS Systèmes Numériques - Lycée Fourcade 13120 Gardanne – genelaix.free.fr 1/4 PROTOCOLE MQTT Échanges MQTT Une session MQTT est divisée en quatre étapes : connexion, authentification, communication et terminaison. Un client commence par créer une connexion TCP/IP vers le broker. Les ports standards sont : 1883 pour la communication non chiffrée et 8883 pour la communication chiffrée utilisant SSL/TLS. Publication MQTT Ici le client possède des capteurs et transmets leurs valeurs Le client se connecte au broker avec son identifiant et mot de passe (CONNECT) Le broker accepte la connexion (CONNACK) Le client peut publier des données (PUBLISH) - Les données sont regroupées dans des TOPICS, (ex température, pression, humidité , GPS, etc...) Souscription MQTT Ici le client va recevoir les messages transmis au broker par les capteurs afin de les exploiter (prise de décision, affichage, etc...) Le client se connecte au broker avec son identifiant et mot de passe (CONNECT) Le broker accepte la connexion (CONNACK) Le client souscrit à des TOPICS (ex température, pression, humidité , GPS ...

(SUBSCRIBE) A chaque publication le broker transmet les données des TOPICS au client.

(SUBACK) Un acquittement peut être transmis (RECEIVE MESSAGE) BTS Systèmes Numériques - Lycée Fourcade 13120 Gardanne – genelaix.free.fr 2/4 PROTOCOLE MQTT Quality Of Service (QOS) Envoyer et oublier (QoS 0) Le client ne recevra aucune confirmation du broker à la réception.

De même, un message remis à un client par le broker ne sera pas acquitté.

C'est le moyen le plus rapide de publier et de recevoir des messages, mais aussi celui où la perte de messages est la plus susceptible de se produire. Au moins une.... »

↓↓↓ APERÇU DU DOCUMENT ↓↓↓

Liens utiles