Cours:QtMqtt : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(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)