IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Problème de souscription à un topic MQTT


Sujet :

Arduino

  1. #1
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut Problème de souscription à un topic MQTT
    Bonjour,

    J'ai un broker dans un Pi qui diffuse en local 3 Topic. Voici une copie d'écran de MQTT Eplorer

    Nom : 2023.02.03 09.420001.png
Affichages : 127
Taille : 11,3 Ko

    Les topics TFA et CPT sont gérés par moi, le topic Meteo par le programme WeeWX http://weewx.com/ . On voit qu'il est présenté différemment et je ne sais pas pourquoi.

    Je sais lire sur un ESP8266 les messages de TFA et de CPT, mais pas de Meteo.

    Auriez-vous une idée ?
    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include <ESP8266WiFi.h>
    #include <PubSubClient.h> 
     
    static const char alphanum[] = "0123456789"
                                   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                                   "abcdefghijklmnopqrstuvwxyz";
     
    void setup_mqtt() {
      client.setServer(mqtt_server, mqttPort);
      client.setCallback(callback);//Déclaration de la fonction de souscription
      reconnect();
    }
     
    void reconnect() {
      while (!client.connected()) {
        Serial.print("Connection au serveur MQTT avec le nom ");
        char* clientName = "\0\0\0\0\0\0\0\0";
        randomSeed(analogRead(A0));
        for (int i = 0; i < 8; i++) {
          clientName[i] = alphanum[random(61)];
        }
        Serial.println(clientName);
        if (client.connect(clientName)) {
          Serial.println("MQTT connecté");
        }
        else {
          Serial.print("echec, code erreur= ");
          Serial.println(client.state());
          Serial.println("nouvel essai dans 1.5 s");
          delay(1500);
        }
      }
      client.subscribe("TFA");
      client.subscribe("CPT");
      client.subscribe("Meteo"); // ou "Meteo/loop" ou d'autres combinaisons
    }
     
    void callback(char* topic, byte *payload, unsigned int length) {
      byte cnl;
      char sTmp[1700];
      for (int i = 0; i < length; i++) {
        sTmp[i] = (char)payload[i];
      }
      sTmp[length] = '\0'; // important : termine la chaine de caractères
      Serial.print(topic);
      Serial.print(" => ")
      Serial.println(sTemp);
      //le reste du traitement n'a pas d'importance
    }
    en ne mettant que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      //client.subscribe("TFA");
      //client.subscribe("CPT");
      client.subscribe("#");
    je n'ai que TFA et CPT ...

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    comment publiez vous de WeeWX vers votre broker ?

  3. #3
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Jay M Voir le message
    comment publiez vous de WeeWX vers votre broker ?
    Je n'ai pas vraiment la main sur ce point : https://duckduckgo.com/?t=ffab&q=weewx+mqtt&ia=web

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    vous avez changé le topic tel qu'il est défini (weather) en Météo ?

  5. #5
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Oui, Meteo (sans accents). Cela ne change rien

  6. #6
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Le broker est Mosquitto sur un Pi

    et quand le fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pi@Pi3-TFA:~ $ mosquitto_sub -t Meteo/# 
    {"dateTime": "1675520445.0", "barometer_mbar": "1037.9956984404412", "inTemp_C": "21.222222222222225", "inHumidity": "48.0", "outTemp_C": "10.944444444444446", "windSpeed_kph": "1.609344", "windSpeed10_kph": (etc)
    Le loop n'apparait même pas !

  7. #7
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Vous êtes sûr que la publication fonctionne ??

  8. #8
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Le fichier https://github.com/matthewwall/weewx...n/user/mqtt.py montre les options de configuration, mais je ne comprends pas tout

  9. #9
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Jay M Voir le message
    Vous êtes sûr que la publication fonctionne ??
    Bien entendu, elle est visible dans MQTT Explorer, et considérée comme un SubTopic. Du coup j'oriente mes recherches sur ce thème, mais ce n'est pas probant.

    Nom : 2023.02.05 12.490001.png
Affichages : 97
Taille : 35,3 Ko

  10. #10
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Bonjour à toutes et tous,

    Je n'ai bien entendu pas limité mes recherches à ce forum, et la réponse est venu de celui d'Arduino (qui a aussi ramé)

    on m'a suggéré de changer la valeur de MQTT_MAX_PACKET_SIZE dans le fichier PubSubClient.h. si le message est plus long que les 256 caractères réservés.

    Comme de fait, le message est très très long (entre 1600 et +/- 1700 selon le moment)

    "MQTT_MAX_PACKET_SIZE " en fait déclaré à 256, que j'ai modifié à 1792, et cela fonctionne !

    Merci à toutes et tous, résolu !

  11. #11
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 711
    Points : 5 390
    Points
    5 390
    Par défaut
    OK

    bizarre que mosquitto_sub -t Meteo/# ne l'affichait pas cependant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/10/2020, 10h59
  2. [WD24] [Problème connexion et Abonnement MQTT
    Par Ceylordz dans le forum WinDev
    Réponses: 6
    Dernier message: 10/04/2020, 13h20
  3. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo