ESP32 WLAN ABBRÜCHE

michelko

Member
Hallo zusammen,
ich habe vor kurzem mein Azuritber Mower auf ESP32 umgerüstet. An sich ist das ne schöne Sache, da man alternativ Blutooth und Wlan zum Steuern und ankucken verwenden kann.
Nun habe ich mit Wlan aber das Problem, dass ds nicht zuverlässig funktioniert. Nach einem kompletten Neustart (notaustaster drücken und dann wieder starten) geht Wlan problemlos, auch Blutooth geht einwandfrei sowohl über Arduremote als auch Pfodapp.
Einige Zeit später kann ich nicht mehr per Wlan zugreifen. Nur nach einem kompletten Neustart bekomme ich wieder für einige Zeit Zugriff.
Das ESP board ist mit einer Externen Antenne ausgerüstet und ich habe eine alte Fritzbox als Accesspoint im Garten. Die Wlan Abdeckung sollte eigentlich sehr gut sein.
Was könnte das Problem verursachen?
Ansonsten läuft der Mäher jetzt super, auch das Bahnen fahren klappt klasse. Bernard hat da eine Super Software entwickelt.
Hier mal noch ein Kurzes Video von meinem Mäher mit einigen Umbaute/Verbesserungen.


Gruss Michael
 
Hallo Michael,
ich kenne diese Symptome.
Bei wir war folgende hilfreich:
1xElektrolytkondensator 4,7uF (filtert Spannungsspitzen) + 1xKondensator 50uF oder ähnlich (stabilisiert Spannungsversorgung) direkt am esp32. Verwendest Du ein esp32-Modul, dann ist es sinnvoll die Kondensatoren auf der 5V-Seite (da sollte dann auch die Spannungsversorgung anliegen) einzusetzen.

Es gibt einen „neuen“ Softwarestand bzw. html-files für AzuritBer auf Teensy. Im Moment weiß ich aber nicht, ob die html-files zur pfod-Azurit auf due passen, da ich mich beim Schreiben nur an der Teensy-Variante orientiert habe.
Mein letzter Softwarestand für AzuritBer(Teensy): https://www.diy-robot-lawn-mower.com/threads/teensymowerwebcontrol-for-esp32.38/

Hardwaretechnisch funktioniert bei mir das stabil in einem Azurit-Mäher, wobei hier die Webserver-Seiten sich deutlich unterscheiden und mit vielen Funktionen angereichert sind (entsprechend meinen eigenen Wünschen) und in meinem neuen Mäher, der aber noch nicht raus durfte.

Der esp32 sketch sieht vor, sich bei Verbindungsabbruch neu einzuwählen, was wohl auch funktioniert. Ich dachte lange, es sei ein Problem der Wlan-Technik, glaube heute aber, daß es hauptsächlich an der Spannungsversorgung liegt.

Gruß Fürst Ruprecht
 
@Beecee : Ich hatte die ursprünglichen Standardräder mit den großen Halbkreisen dran. Damit fährt er er aber ziemlich Bescheiden und er hat mir damit auch ziemlich oft das Kabel rausgerissen. Ich habe dann auf Heckantrieb umgebaut un die Räder mit einemalten Mountainbike Rad-Mantel bezogen.
Im Laufe der Zeit habe ich aber den Eindruck gehabt, dass dadurch der Rasen leidet. Das Rad war ziemlich schmal und man hat tagelang die Fahrspuren gesehen. Ich denke damit war die Flächenpressung zu groß.
Nach langem erfolglosen Suchen nach breiteren Reifen mit 250mm bin ich per Zufall auf KG Rohr Muffenstopfen gestoßen. Die habe ich mir schmaler gemacht und auch wieder den Mantel eines alten Fahrradreifens zugeschnitten und aufgeklebt.
Das ist so der letzte Stand seit ca. einer Woche. Sogut wie keine Fahrspuren mehr und die Zwei Deckel haben grade mal 14 Euro gekostet.
Man muss halt etwas basteln.

Gruss Michael
 
Hallo Michael,
ich kenne diese Symptome.
Bei wir war folgende hilfreich:
1xElektrolytkondensator 4,7uF (filtert Spannungsspitzen) + 1xKondensator 50uF oder ähnlich (stabilisiert Spannungsversorgung) direkt am esp32. Verwendest Du ein esp32-Modul, dann ist es sinnvoll die Kondensatoren auf der 5V-Seite (da sollte dann auch die Spannungsversorgung anliegen) einzusetzen.

Es gibt einen „neuen“ Softwarestand bzw. html-files für AzuritBer auf Teensy. Im Moment weiß ich aber nicht, ob die html-files zur pfod-Azurit auf due passen, da ich mich beim Schreiben nur an der Teensy-Variante orientiert habe.
Mein letzter Softwarestand für AzuritBer(Teensy): https://www.diy-robot-lawn-mower.com/threads/teensymowerwebcontrol-for-esp32.38/

Hardwaretechnisch funktioniert bei mir das stabil in einem Azurit-Mäher, wobei hier die Webserver-Seiten sich deutlich unterscheiden und mit vielen Funktionen angereichert sind (entsprechend meinen eigenen Wünschen) und in meinem neuen Mäher, der aber noch nicht raus durfte.

Der esp32 sketch sieht vor, sich bei Verbindungsabbruch neu einzuwählen, was wohl auch funktioniert. Ich dachte lange, es sei ein Problem der Wlan-Technik, glaube heute aber, daß es hauptsächlich an der Spannungsversorgung liegt.

Gruß Fürst Ruprecht
Hallo Fürst Ruprecht,
danke für den Tip das werde ich mal probieren. Die kondensatoren werden dann beide an 5V und GND angelötet?

Gruss Michael
 
Die Idee mit den Rädern ist super - könntest du da mal ein detailiertes Bild von reinstellen? Mit welchem Kleber hast du den Mantel angeklebt? Liegt der Mantel komplett auf oder hast du noch mittig Moosgummi drunter?
 
Hallo
Kleber ist von würth da geht bestimmt aber auch Silikon oder Montagekleber.
Das Schlauchelement ist direkt aufgeklebt und rundum mit 6 oder 7 spax schrauben gesichert
 

Anhänge

  • 20220423_170429.jpg
    20220423_170429.jpg
    2,3 MB · Aufrufe: 10
  • 20220423_170419.jpg
    20220423_170419.jpg
    3,2 MB · Aufrufe: 11
  • 20220423_170414.jpg
    20220423_170414.jpg
    2,4 MB · Aufrufe: 10
Danke für die Bilder. Werde ich auch Mal probieren. Ich fahr momentan mit dicken Ballonreifen rum da ich teilweise ausgesetzte Stellen habe und dort viel Grip benötige. Durch die Dicke der Reifen kann ich aber nicht so dicht an Hindernisse ranfahren da wär deine Lösung vielleicht die bessere Alternative.
 
Hallo
wollte noch mal auf die Wlan probleme zurück kommen.
Was mir jetzt aufgefallen ist, ist dass wenn der Mower in der Garge steht und quasi immer die gleiche Empfangsstärke hat die Verbindung nicht abbricht.
Scheinbar ist mein Accesspoint doch nicht optimal angeordnet, sodass in manschen Bereichen dann kein Empfang mehr ist. Fährt er in der Gegend verliert er den Kontakt und kann nicht wieder verbinden.
Im Internet gibts dazu einige ähnliche Problembeschreibungen.
Ich habe die ESP Soft von Bernard druaf. Weis jemand ob da ein Reconnect vorgesehen ist.
So wie hier beschrieben:

https://medium.com/diy-my-smart-home/esp-tipp-wifi-reconnect-einbauen-dc4a7397b741

Programmieren ist nicht so wirklich mein DIng, daher weis ich nicht wirklich wo ich da nachsehen muss.
Das würde zu den Symptomen passen, denn wenn ich den Mower komplett neu starte ist die Wlan Verbindung sofort wieder da, bei dem Reboot nach dem Laden des Akkus aber nicht. Dabei bleibt ja scheinbar der ESP unter Spannung und macht somit keinen Neustart.

Ein weiteres Problem ist mir bei der Bedienung mit der Pfod App aufgefallen. Vor allem bei relativ langen Menüs (z.B. Perimeter oder Timer) kommt es oft vor dass beim verschieben eines Einstellbalkens auch die Vebindung abbricht. Dabei wird dann oben erst "waiting" dann "timed out, reconnecting".
Danach ist er dann wieder connected aber springt ins Hauptmenü.
Das lässt sich beliebig provozieren bzw. reproduzieren. Das war vorher beim ESP8266 mit ESPlink nicht so.
Ich vermute daher dass das an der Software für den ESP32 liegt.

Über Tips oder Hilfe würde ich mich freuen.

Gruss und Schönes WE

Michael
 
I need to setup again one ESP32 to check that.
But something sure is that i already solve this issue 2 years ago in the WIFI sender using the same method (esp.restart) describe in your post.

The problem is to check if it's safe to restart the ESP32 while mower is running .
 
Also meine Variante verbindet sich neu, bzw. macht einen Reset. Ich habe auch lange im Internet nachgelesen und ein paar Details eingearbeitet. Es ist ein bekanntes Problem, daß sich der esp32 nicht wieder mit dem wlan verbindet, obwohl er es sollte, daher macht man den Reset. Selbst bei meinen festverbauten Sensoren im Haus kann man das beobachten (und da nutze ich andere software). Beim timer habe ich zusammen mit Thorsten-ac die Menüs überarbeitet (Azurit-Version). Dort ist es so, daß ab einer bestimmten Menge an Daten, nichts mehr übertragen wird und daher die html-Seiten nicht komplett funktionieren. Erklären kann ich das nicht, aber es ließ sich gut nachweisen. Ich habe meine Menüs fast alle gepimt und dabei gibt es das gleiche Problem.
Also teile und herrsche.
Probleme durch den restart des esp32 bei laufendem Mäher kann ich nicht beobachten. Ich denke das ist auch ausgeschlossen, weil die Kommandos per Eingabe in die webseiten erst erzeugt werden.
Ich pimpe gerade die AzuritBer Variante, Bernard weiß das. Allerdings schleichen sich bei mir bereits die persönlichen Bedürfnisse ein, so daß schnell die Allgemeingültigkeit verloren geht. Von Zeit zu Zeit stelle ich das Ergebnis unter o.g. link ein.

Gruß Fürst Ruprecht
 
@michelko :
If you are using the code from my git :
ESP32_RFID_mqtt.

It's not a clean solution but you can try to replace this part:
Code:
while ((WiFi.status() != WL_CONNECTED) ) {
      delay(500);
      if (debug) Serial.print(".");
      reconnect_count = reconnect_count + 1;
      if (reconnect_count > 10) {
        if (debug) {
          Serial.println(" ");
          Serial.println("*************************************************");
          Serial.println("    FAIL to Connect to your Wireless network");
          Serial.println("    Please check your ssid and pass ");
          Serial.println("ESP32 Mode ACCES POINT is automaticaly activate ");
          Serial.println("*************************************************");
          Serial.println(" ");
        }
        MODE_AP = true;
        useMqtt = false;
        break;
      }
    }

by

Code:
while ((WiFi.status() != WL_CONNECTED) ) {
      delay(500);
      if (debug) Serial.print(".");
      reconnect_count = reconnect_count + 1;
      if (reconnect_count > 10) {
        
        Serial2.end();
        delay(500);
        ESP.restart();
        
        break;
      }
    }

ESP32 restart if the wifi is lost for more than 10 reconnections
 
@bernard yes i use your code. will try it. Meanwhile i moved the AP half a meter and now it looks better with connection.

But this:

Ein weiteres Problem ist mir bei der Bedienung mit der Pfod App aufgefallen. Vor allem bei relativ langen Menüs (z.B. Perimeter oder Timer) kommt es oft vor dass beim verschieben eines Einstellbalkens auch die Vebindung abbricht. Dabei wird dann oben erst "waiting" dann "timed out, reconnecting".
Danach ist er dann wieder connected aber springt ins Hauptmenü.
Das lässt sich beliebig provozieren bzw. reproduzieren. Das war vorher beim ESP8266 mit ESPlink nicht so.
Ich vermute daher dass das an der Software für den ESP32 liegt.

is still there.
 
Hallo michelko,
Hallo Leute,

inzwischen gibt es wohl eine ganze Landschaft an Lösungen, die unter dem Stichwort "pfod app" diskutiert werden bzw. user Probleme beim Einsatz haben.
Ehrlich gesagt blicke ich persönlich nicht mehr durch.

Ich habe daher einige Verständnisfragen:
Aus meiner Sicht stellt sich das Thema wie folgt dar:

1. pfod.cpp / pfod.h gibt es in unterschiedlichen Ausführungen für Azurit und AzuritBer.
-> welche benutzt Du, wo hast Du sie her? Kannst Du sie biite mal hier einstellen, benennen oder verlinken

2. die Verbindung zur Außenwelt erfolgt per wlan oder bluetooth
-> was benutzt Du, welches Modul nimmst Du zur Übertragung

3. die Bedienmenüs werden auf einem Endgerät aufgerufen/angezeigt. Dabei gibt es aus meiner Sicht grundsätzlich 2 Möglichkeiten
3a: android "pfod-app V3"
3b: esp8266/esp32-Web-Server mit beliebigem Endgerät
-> was benutzt Du

4. Für die esp-Web-Server Lösung benötigt man
4a: eine esp - software: -> welche benutzt Du
4b: html-Dateien, die auf den esp hochgeladen werden: -> welche benutzt Du

Vielleicht können wir das Thema gemeinsam etwas transparenter gestalten. Ich habe das Gefühl, daß die meisten Probleme aus den unterschiedlichen Einsatzszenarien kommen.

Gruß Fürst Ruprecht
 
Hallo
Hier die Antwort zu deinen Fragen
1. Aus Azuritbet 1.84
2. ESP32 DEV BOARD mit externer Antenne. Sowohl bt als wlan
3. 3a und manchmal auch arduremote da zumindest einige Plots gehen
4. Verstehe ich nicht,was ist Esp Software?
Webserver würde ich gerne verwenden, habe mich aber noch nicht damit beschäftigt.
Gibts da was für esp32 mit Azuritber auf Due?

Die reconecting Probleme konnte ich jetzt mit einer anderen Position des Access point lösen.
Was aber ziemlich nervt ist dass manche Menüs total zickig sind.
Beim verschieben eines Balkens kommt häufig timed out reconnecting und dann springt das ganze wieder ins Hauptmenü. Ändert man nichts bleibt die Verbindung aktiv, kann man z.b. an sich ändernden Werten sehen z.b. perimeter menü.


Gruss Michael
 
Hallo Michael,
mit arduremote meinst Du die Windows-Lösung von „Pfod App ..“?

esp-Software: es gibt unterschiedliche sketches die im Umlauf sind. Der sketch auf dem esp macht die Datenvermittlung zwischen PCB und Endgerät.
thorsten-ac und ich haben eine hier im Forum existierende WebServerLösung weiter gepflegt, insbesondere für diejenigen, die kein android-Endgerät haben.
Den WebServer gibt es für esp8266 und esp32. (frag blos nicht wo). Die dafür notwendige pfod.cpp und pfod.h ist von der Basis her die gleiche wie die für die android-Lösung. Die Erweiterungen sind aber nur für die WebServerLösung getestet (weil wir eben kein android-Gerät benutzen). Das Funktionsprinzip aller pfod.ccp‘s ist das gleiche. Unterschiede liegen aber in den Variablen, die in den Programmen (Azurit/AzuritBer/EigeneLösungen) genutzt werden. Deshalb sind die Lösungen am Ende unterschiedlich.
Von Bernard (AzuritBer) gibt es eine AzuritBer-Version für Teensy4.1 und Teensy-PCB. Ich passe Bernard‘s Software für meine Lösung mit Steppermotoren an. Damit ich den Mäher bedienen kann, habe ich die WebServerLösung (die html-Dateien) auf die AzuritBer-pfod.cpp angepaßt.

Diese Lösung gibts hier: https://www.diy-robot-lawn-mower.com/threads/teensymowerwebcontrol-for-esp32.38/

Von Deinen Antworten habe ich folgendes gelernt: Bei den zickigen Menüs kann ich Dir nicht helfen, da ich das Verhalten nicht selbst überprüfen kann. Beim Timer kann ich Dir definitiv sagen, daß die Ursache mit einer Änderung in der Pfod gelöst werden kann. Thorsten-ac und ich haben das für den WebServer umgesetzt (da das Original, also die Fassung, die Du nutzt, nicht funktioniert hat).


Gruß Fürst Ruprecht
 
Hallo Fürst Ruprecht,
könnte ich die Lösung aus deinem Link oben für die Azuritber 1.84 mit 1.3 PCB und Due benutzen?
Irgendwie steige ich da nicht durch mit der Teensy variante was da jetzt mit was funktioniert.
Wenn ja, wird das dann einfach über die Arduino IDE auf den ESP32 geladen?

Gruss Michael
 
@michelko :
Did the menu issue exist when you use app over bluetooth ?

@Fürst Ruprecht :
For a full hardware compatibility : Can you add a config var to have the possibility the select the Serial2 communication on the ESP32 for data exchange and Serial (USB cable) for debug ?
Something like
#define DataSerial Serial2
#define DebugSerial Serial
Maybe you can describe the firmware upload process at the beginning of APP like you do for me with a link to web to help user.
 
Oben