PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → MQTT - Vérifier que je suis bien abonné au broker
MQTT - Vérifier que je suis bien abonné au broker
Started by Flavien, Apr., 06 2020 3:23 PM - 8 replies
Posted on April, 06 2020 - 3:23 PM
Bonjour,

Je souhaite récupérer des données envoyées par un broker MQTT, j'arrive à les récupérer avec mosquitto mais j'aimerais les récupérer sur un application windev.

J'arrive apparemment à me connecter et à m'abonner avec les fonctions correspondantes mais je ne reçois rien visiblement car la procédure renseignée dans MQTTAbonne ne semble pas se lancer.

Est ce qu'il y a moyen d'envoyer une sorte de Ping pour vérifier qu'on est bien abonné aux notifications de notre broker ?

Merci d'avance,

Flavien.
Registered member
160 messages
Popularité : +18 (22 votes)
Posted on April, 06 2020 - 5:37 PM
t as vérifié si t as mis le code dans une procédure global avec un timer ou un thread ?
Registered member
160 messages
Popularité : +18 (22 votes)
Posted on April, 06 2020 - 5:39 PM
Je parle de la fonction "ProcédureXX"

MQTTAbonne(<Session MQTT> , <Sujet> , <Qualité> , <ProcédureXX>)
Posted on April, 06 2020 - 6:09 PM
Oui bien sûr, j'ai mis l'automatisme dans un thread.

D'ailleurs je viens de tester d'utiliser MQTTPublie et quand j'appelle la fonction une fois je reçois une notification (ça appelle effectivement ma procédure).
De plus sur mosquitto je me suis connecté en même temps sur le broker et je vois la publication envoyée.

Par contre lorsque je provoque l'envois de données de la part du broker je ne trouve pas comment lire les données envoyées, vous pourriez m'éclairer ?

Merci
Posted on April, 07 2020 - 7:51 AM
Du coup vu qu'avec Mosquitto j'arrive à obtenir ces données que mon broker me renvois et que je ne les reçois pas avec MQTTPublie. Est ce qu'il est possible que je doive publier quelque chose de particulier à mon broker pour faire comprendre que je suis "A l'écoute" de ces données là ?

Parce que là, je ne comprends pas pourquoi je ne reçois une notification uniquement lorsque moi même je publie (je suis bien certain que mon broker envoie des données que je ne vois pas).
Registered member
160 messages
Popularité : +18 (22 votes)
Posted on April, 07 2020 - 12:32 PM
Salut,

Montres nous ton code,
Posted on April, 07 2020 - 3:04 PM
Voici mon code :
gMqttSession est un mqttSession
nTest est un entier
lRésultat2 est un entier
sSujet est une chaîne
bufContenu est un Buffer
blbRésultat est un booléen

//gMqttSession..Adresse = SAI_Adresse
gMqttSession..Adresse = "mqttnet.u-strasbg.fr"
gMqttSession..Utilisateur = "fpongratz"
gMqttSession..MotDePasseUtilisateur = "04041994"
gMqttSession..TimeoutConnexion = 50
gMqttSession..IDClient = "fpongratz"
gMqttSession..SessionVide=Vrai
gMqttSession..Port = 1883

SI MQTTConnecte(gMqttSession) ALORS
Info("Connexion OK")
SINON
Info("Problème de connexion. '" + ErreurInfo() + "')")
FIN

SI PAS MQTTAbonne(gMqttSession, "application/61/device/70b3d5499ef5fcec/rx", mqttQualitéAuMoinsUneFois, Procedure_MQTT) ALORS
Erreur()
FIN

sSujet = "application/61/device/70b3d5499ef5fcec/rx"
bufContenu = "Message"

lRésultat2 = MQTTPublie(gMqttSession, sSujet, bufContenu, Vrai, mqttQualitéAuMoinsUneFois, PublicationMQTT)

PROCEDURE INTERNE PublicationMQTT(pMqttSession est un mqttSession, nNumMessage est un entier)
Trace("Publication" + " - NumMessage = " + nNumMessage)
FIN


Et pour la procédure globale :
Procedure Procedure_MQTT(pMqttSession est un mqttSession, sTopic est une chaîne, bufUnbuffer est un Buffer)
Trace("Abonnement "+ bufUnbuffer + " " +sTopic)
Registered member
1 message
Popularité : -1 (1 vote)
Posted on September, 04 2020 - 12:52 PM
Je pense que vous avez un problème avec le courtier. Essayez de travailler sur https://fbs.eu/fr. Forex trading peut apporter un revenu stable, juste certains commerçants perçoivent le Forex comme un casino 2.0 et ne diversifient pas les risques, ne travaillent pas sur mani-Management. Bien sûr, avec cette approche, vous vivrez sur le principe de "chanceux - pas de chance". Il y a peu de statistiques: combien de débutants ont écrit, combien de traders expérimentés et combien de chaque catégorie négocie avec un analyste et combien gagne. Et cette statistique est réussie.
Posted on December, 11 2020 - 10:15 AM
Bonjour Flavien,

Avez vous trouvé une solution à votre problème ?
Je rencontre les mêmes difficultés.

Merci.
Seb