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
- Protocole expérimental levure
- Jean le SilentiaireVIIIe siècleUn silentiaire était une sorte de chef du protocole à la cour de Byzance.
- TD m�thode d'un protocole de recherche