Bonjour,
J'ai un broker dans un Pi qui diffuse en local 3 Topic. Voici une copie d'écran de MQTT Eplorer
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
en ne mettant que
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 }je n'ai que TFA et CPT ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //client.subscribe("TFA"); //client.subscribe("CPT"); client.subscribe("#");
Partager