|
|
|
|
|
- Présentation
- Mise en place
- Comment le faire ?
- Qualité de service (QoS)
MQTT est un protocole de messagerie de type "publish-subscribe" basé sur le protocole TCP/IP. Depuis la version 3.1.1, MQTT est un standard OASIS. Dans MQTT, deux éléments sont présents : - le client, qui publie et peut souscrire à des messages.
- le broker ("serveur") qui reçoit les publications des clients, les traite et les envoie aux clients y ayant souscrits.
Il existe de nombreux brokers MQTT (ActiveMQ, JoramMQ, OW2 JORAM, Mosquitto, RabbitMQ) mais aussi des serveurs d'iOT offrant une compatibilité avec MQTT (Amazon iOT, Azure iOT, ...). WINDEV, WEBDEV et WINDEV Mobile permettent de gérer un client MQTT : il est possible de publier et de s'abonner aux publications. Comment le faire ? Pour mettre en place une gestion d'un client MQTT : - Définissez une variable de type mqttSession correspondant aux informations nécessaires à la connexion au broker MQTT.
- Connectez-vous au broker (fonction MQTTConnecte).
- Vous pouvez :
- Publier un message (fonction MQTTPublie). Dans ce cas, il est nécessaire de définir :
- le sujet,
- la qualité de service (voir ci-dessous),
- le message (n'excédant pas 256 Mo),
- si le message doit être conservé ou non sur le serveur.
- Vous abonner à un message (fonction MQTTAbonne).
- Vous désabonner (fonctions MQTTDésabonne, MQTTDésabonneTout)
- Déconnectez-vous (fonction MQTTDéconnecte).
Qualité de service (QoS) Lors de la publication d'un message, le client définit la qualité souhaitée : - Message de QoS niveau 0 "At most once" : Le message sera délivré tout au plus une fois. Le message n'est pas stocké. Il est envoyé sans garantie de réception. Le serveur MQTT (broker) n'informe pas l'expéditeur qu'il a reçu le message. Le message peut être perdu si le client se déconnecte ou si le serveur s'arrête.
- Message de QoS niveau 1 "At least once" : Le message sera délivré au moins une fois. Le client transmettra le message plusieurs fois s'il le faut jusqu'à ce que le serveur (Broker) lui confirme que le message a été transmis sur le réseau.
- Message de QoS niveau 2 "Exactly once" : Le message sera obligatoirement sauvegardé par l'émetteur. Il sera transmis tant que le récepteur ne confirme pas son envoi sur le réseau. L'émetteur utilise une phase de reconnaissance sophistiquée avec le serveur (broker) pour éviter une duplication des messages. Ce mode est plus lent mais plus sûr.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|