Cours:QtMqtt : Différence entre versions
(→Etape 1 : connexion au broker) |
(→Etape 1 : connexion au broker) |
||
Ligne 15 : | Ligne 15 : | ||
Dans la classe qui utilisera la connexion mqtt : | Dans la classe qui utilisera la connexion mqtt : | ||
− | *créer un attribut de type [https://doc.qt.io/qt-5/qmqttclient.html QMqttClient] (on notera client cet attribut par la suite) | + | *créer un attribut de type [https://doc.qt.io/qt-5/qmqttclient.html QMqttClient] (on notera '''client''' cet attribut par la suite) |
*configurer le client en utilisant les méthodes (dans le constructeur de la classe de l'attribut en général) : | *configurer le client en utilisant les méthodes (dans le constructeur de la classe de l'attribut en général) : | ||
**setHostname (ex client.setHostname("192.168.0.182"); ) | **setHostname (ex client.setHostname("192.168.0.182"); ) | ||
**setPort (en général port 1883 ) | **setPort (en général port 1883 ) | ||
**éventuellement il y a des méthodes pour s'identifier ( user / password ) sur le broker | **éventuellement il y a des méthodes pour s'identifier ( user / password ) sur le broker | ||
+ | *établir la connexion : | ||
+ | **on appelle la méthode connectToHost qui essaie d'établir une connexion | ||
+ | **le client émet le signal connected lorsque la connexion est réussie | ||
+ | **rque : on peut éventuellement utiliser un QTimer pour faire une tentative de connexion régulièrement jusqu'à réussite | ||
+ | *complément : perte de connexion | ||
+ | **le client émettra le signal disconnected | ||
+ | **on pourra alors procéder à une reconnexion (éventuellement/obligatoirement avec en boucle avec un QTimer) |
Version du 11 octobre 2022 à 10:15
Nous utiliserons le module QtMqtt pour utiliser le protocole mqtt.
Voici les différentes étapes qui permettront de :
- se connecter sur un broker
- publier des messages sur des topics
- recevoir des messages d'un topic particulier
Configuration du projet
Ajouter dans le fichier de configuration de votre projet Qt ( fichier .pro ) la ligne suivante :
QT += mqtt
Etape 1 : connexion au broker
Dans la classe qui utilisera la connexion mqtt :
- créer un attribut de type QMqttClient (on notera client cet attribut par la suite)
- configurer le client en utilisant les méthodes (dans le constructeur de la classe de l'attribut en général) :
- setHostname (ex client.setHostname("192.168.0.182"); )
- setPort (en général port 1883 )
- éventuellement il y a des méthodes pour s'identifier ( user / password ) sur le broker
- établir la connexion :
- on appelle la méthode connectToHost qui essaie d'établir une connexion
- le client émet le signal connected lorsque la connexion est réussie
- rque : on peut éventuellement utiliser un QTimer pour faire une tentative de connexion régulièrement jusqu'à réussite
- complément : perte de connexion
- le client émettra le signal disconnected
- on pourra alors procéder à une reconnexion (éventuellement/obligatoirement avec en boucle avec un QTimer)