Comments (5)
Die Probleme mit dem Verbindungsaufbau beschäftigen mich auch. Mein Basecamp Client bekommt keine Verbindung zum Broker, immer dann, wenn er gleichzeitig 3 TCP Verbindungen zum Broker öffnet. Ich habe mir die Kommunikation von Client und Broker mit Wireshark angesehen. Wenn eine MQTT-Verbindung steht, schließt der Broker diese, sobald die nächste MQTT-Verbindung geöffnet wird. Ich habe allerdings keine Idee, warum 3 Verbindungen parallel geöffnet werden. Könnte es an der Verzögerung (in "Ticks") liegen, falls beim Verbindungsaufbau noch keine MQTT-Verbindung steht? Ich habe die Verzögerung mal auf 1000 erhöht und beobachte das Verhalten mal https://github.com/merlinschumacher/Basecamp/blob/0979ef1c234a036afb7bd8a8046dbf5219835384/Basecamp.cpp#L280
Hier meine Mitschnitte:
Client 192.168.1.116 - Broker 192.168.1.119
Nach mehrmaligen Neustarten des ESP klappt es irgendwann - in diesem Fall wurde aber nur eine TCP-Verbindung geöffnet.
from basecamp.
Ich habe es mit vTaskDelay(1000) getestet und bisher konnte ich die Verbindungsprobleme nicht reproduzieren. Es scheint also das Problem zu beheben!
from basecamp.
Ich werde mir das mal genauer anschauen. Ich war länger krank und hatte noch keine Zeit mich darum zu kümmern.
from basecamp.
Ich habe ähnliche Probleme gehabt und habe bei
https://github.com/merlinschumacher/Basecamp/blob/master/Basecamp.cpp#L290
ein
vTaskDelay(1000);
eingefügt. (Der Wert von 100 ist zu klein, s.u.)
Zusatzinfo: Im Debug Log sehe ich, dass mqttHandling oft mehrfach versucht, mit dem MQTT Broker zu verbinden, was am mehrfachen Aufruf des onConnect Callbacks erkennbar ist. Mit dem zusätzlichen Delay besteht eine große Wahrscheinlichkeit, dass nur ein einziger Connect erfolgt. Dann und nur dann ist auch das Publishen und Subscriben von Topics (im onConnect Callback) erfolgreich.
from basecamp.
Der komplette Austausch der Routine für das MQTT Handling bringt sicher Besserung. Die Verbindung wird beim Start nur einmal aufgebaut und der Re-Connect erfolgt nur auf Veranlassung vom Async-MQTT-Client. (KeepAlive Funktionalität).
Siehe Pull Request #64
from basecamp.
Related Issues (20)
- Unstable OTA HOT 2
- findEndHeader off-by-one-error?
- Text Input for an e-paper door sign
- Guru Meditation Error: Core 0 panic'ed (LoadProhibited) HOT 4
- Boolean value inconsistencies in the configuration
- WLan Accesspoint HOT 2
- Externer Broker nicht erreichbar
- No Reconnect after MQTT Broker restart HOT 2
- multiple definition of `JSON_MIMETYPE' HOT 5
- ESP doesn't wake anymore
- Auf 192.168.4.1 wird Folgendes angezeigt Configuration could not be saved HOT 1
- Fix issues with ArduinoJSON 6.X
- Factory reset was forced nach Power off HOT 1
- Fehler beim Kompilieren von Basecamp mit Beispielsketch und Asynctcp.h HOT 6
- Basecamp stoppt vor doorsensor HOT 1
- Frequent MQTT posts, stopped MQTT connection, and task watchdog crashes on CPU0
- Standardwerte für hinzugefügte Elemente setzen
- OTA problem
- Accesspoint-Modus aktivieren (mit PW)
- Fehler beim Kompilieren HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from basecamp.