Silberstreifen
Active member
Hallo zusammen,
ich bin gerade dabei meinen Ardumower zu komplettieren und habe in diesem Zusammenhang gestern meinen ESP32 aus dem GPS-RTK-Kit nach Anleitung geflasht. Was direkt auffiel:
Ich schreibe die Lösung hier mal runter, falls andere User mit dem gleichen Problem kämpfen.
1. Schritt
Zur Behebung des Speicherlecks habe ich die Board-Firmware von der empfohlenen Version 1.04 auf die aktuelle Version 1.06 upgedatet. Dadurch ist das Speicherleck weg. Leider aber auch die Verbindung zu meinem WLAN-Netz.
2. Schritt
Die Verbindungsprobleme lassen sich sehr gut durch folgende Code-Änderung in der esp32_ble.ino beheben
Mit dieser Änderung habe ich seit gestern keinen einzigen Reboot und keinerlei Verbindungsabbrüche mehr gehabt.
ich bin gerade dabei meinen Ardumower zu komplettieren und habe in diesem Zusammenhang gestern meinen ESP32 aus dem GPS-RTK-Kit nach Anleitung geflasht. Was direkt auffiel:
- Der ESP verbindet sich trotz externer Antenne sehr viel widerwilliger mit meinem WLAN als alle anderen ESP32, die ich sonst so im Einsatz habe.
- Der ESP hat ein Speicherleck, was zu unregelmäßigen Abstürzen/Reboots im Abstand von 3...60 Minuten führt.
Ich schreibe die Lösung hier mal runter, falls andere User mit dem gleichen Problem kämpfen.
1. Schritt
Zur Behebung des Speicherlecks habe ich die Board-Firmware von der empfohlenen Version 1.04 auf die aktuelle Version 1.06 upgedatet. Dadurch ist das Speicherleck weg. Leider aber auch die Verbindung zu meinem WLAN-Netz.
2. Schritt
Die Verbindungsprobleme lassen sich sehr gut durch folgende Code-Änderung in der esp32_ble.ino beheben
// nextWifiConnectTime = millis() + 20000;
nextWifiConnectTime = millis() + 2000;
Damit klappt die Verbindung mit dem WLAN sehr stabil und ohne jegliche Probleme./*
if (WiFi.waitForConnectResult() != WL_CONNECTED) {
CONSOLE.println("Connection Failed!");
delay(2000);
return;
};
*/
WiFi.disconnect(); // disconnect any previous (aborted) connection
delay(2000);
WiFi.begin(ssid.c_str(), pass.c_str());
int tries = 0;
while (WiFi.status() != WL_CONNECTED) {
if(tries++ > 10){
CONSOLE.println("Connection Failed!");
return;
}
delay(500);
Serial.print(".");
}
Mit dieser Änderung habe ich seit gestern keinen einzigen Reboot und keinerlei Verbindungsabbrüche mehr gehabt.