Hallo zusammen
Ich versuche mithilfe des PubSubClients mit einem MQTT Broker zu
kommunizieren. Dies klappt auch grundsätzlich ganz gut.
https://github.com/knolleary/pubsubclient
Nun zum Problem. Wenn ich einen Disconnect mache und diesen dann prüfe
um daraufhin erneut zu verbinden, bekomme ich immer nur -2 (No Internet)
als Antwort zurück.
1 | void reconnect()
|
2 | {
|
3 | Serial.println("Connecting to MQTT...");
|
4 | client.disconnect();
|
5 | if(!client.connected())
|
6 | {
|
7 | char tmpString[100];
|
8 | client.connect(.....);
|
9 | }
|
10 | }
|
Wenn ich nun aber die reconnect funktion durch einen callback meines
WebServers aufrufe, klappt der Reconnect. Wirklich sehr paradox.
Ich habe auf dem ESP noch einen Webserver am laufen
1 | ESP8266WebServer server(80);
|
mit diesem höre ich mittels .on auf verschiedene adressen.
1 | server.on("/connectMQTT", reconnect);
|
Wird der reconnect vom server aufgerufen, klappts. Wird der Reconnect
mittels eines SW-Timers im Callback aufgerufen, klappts nicht!
Fehlermeldung:
1 | Connecting to MQTT...
|
2 | :ref 1
|
3 | :ctmo
|
4 | :abort
|
5 | :ur 1
|
6 | :del
|
7 | failed with state -2
|
Hat jemand eine Idee, wo zu suchen ist?
Danke