MQTT

De Wikitechnia
Aller à la navigation Aller à la recherche

MQTT est un protocole de communication permettant de faire transiter des informations de manière plus légère que HTTP. Il est conçu transmettre les données de la manière la plus légère possible, ce qui en fait un protole particulièrement adapté pour faire communiquer des capteurs et des objets connectés.

Fonctionnement de MQTT

Une communication MQTT est établie entre un client et un broker.

Les clients peuvent émettre des messages (cas par exemple d'un capteur de température) ou consommer la donnée (cas d'un serveur d'application qui va exploiter cette donnée de température) sous forme d'abonnement à un topic.

Qualité de service

MQTT propose différentes qualités de service, appelées QoS. Celà permet par exemple que les messages sont bien envoyés, y compris dans des conditions où la qualité de communication est faible.

  • QoS 0 : le message est émis sans confirmation de réception
  • QoS 1 : le message est envoyé au minimum une fois (confirmation de réception du broker)
  • QoS 2 : le message est envoyé une fois et une seule

Plus la QoS est élevée, et plus le broker et le client consomment de ressources informatiques.

Sécurité

MQTT existe en version non sécurisée (port 1883) ou sécurisée (MQTTS sur le port 8883).

L'authentification peut se faire par user / password ou par certificats.

Pourquoi MQTT est un protocole adapté à l'Internet des Objets ?

MQTT limite la consommation de données entre le client (l'objet) et le serveur. Il est donc adapté lorsque la bande passante est un critère de performance ou de coût (par exemple avec une liaison M2M en 3/4/5G).

De plus, il permet aux clients de se connecter à un broker, ce qui est pratique pour les client se trouvant derrière un pare-feu.

Limitations de MQTT

Une des limitations de MQTT réside dans la complexité à le configurer pour faire de la scalabilité horizontale.

Brokers MQTT

Il existe plusieurs offres de broker MQTT.

Broker Editeur Type Remarques
Mosquitto Eclipse Open Source et gratuit
HiveMQ HiveMQ GmbH
EMQX EMQ technologies Inc Open Source

Clients MQTT

Client Editeur Type Remarques
MQTTX EMQ technologies Inc Client MQTT gratuit multi-plateformes et multi-modes (CLI, desktop...) Probablement l'un des meilleurs choix actuel.

Lien : https://mqttx.app/

MQTT Explorer Thomas Nordquist Open Source Github : https://github.com/thomasnordquist/MQTT-Explorer