Hallo, leider besteht das Poblem weiter, dass die http Zugriffe nach dem ersten anschließend Fehler zurück liefern aber Zugriffe wie NTP Zeitserver weiter funktionieren. Ich möchte jetzt die ganze Library rauswerfen, denn etwas ganz anders machen hilft manchmal. Ich benutze http.begin(serverpath); String antwort = http.get(); Ich vermute, dass es die Liv WifiClient.h ist, kann aber auch HTTPClient sein. Gibt es dan noch andere Arten einfach eine Webseite mit JSON Text abzufragen? Andere Librarys die das gleiche machen? Ich habe genau dieses Problem, die -1 die beim zweiten Aufruf zurück geliefert wird aber nach einem Reset ist der erste Zugriff wieder ok: https://github.com/esp8266/Arduino/issues/5137 Gruss Thorsten
:
Bearbeitet durch User
Hast du ein > http.end(); für jedes > http.begin(); ? Auch so, dass ein vorzeitiges "return" aus der Funktion, ein "break"/"continue" in der Schleife usw. es nicht übergehen kann?
Das ist nichr die Ursache. Ich bin professioneller Software Entwickler. Darauf achte ich schon. Das Peoblem haben auch andere. Ich meine dass es bestimmt Möglichkeiten gibt diese Funktionen duech Einzelachritte zu ersetzen....
:
Bearbeitet durch User
Thorsten M. schrieb: > Das ist nichr die Ursache Dann suche die Ursache. Die Rückgabe "-1" kommt, wenn die TCP-Sockets alle verbraucht sind (fehlendes Cleanup), wenn das WLan gerade offline ist (Lass dir den Status anzeigen, wenn das passiert), wenn DNS den Namen nicht auflöst, ..., oder wenn die Hardware komische Sachen macht, wenn plötzlich der Stromverbrauch ansteigt und die Spannung sinkt -> mal mit extra Elko am ESP versuchen. Mit einer anderen Bibliothek wirst du auch nicht viel daran ändern, am Ende landen sie alle bei denselben ESP-IDF-Funktionen... Aber zumindest DNS-Probleme könnte eine andere Lib durch Caching umgehen, Wlan-Probleme durch ein transparentes Retry usw. Kann man machen, aber ein "professioneller Software! Entwickler" wird wohl erstmal die Fehlerursache beheben, oder sich bei einem professionellen Hardware-Entwickler Rat holen, wenn die Ursache dort liegen könnte...
Thorsten M. schrieb: > Das ist nichr die Ursache. Ich bin professioneller Software Entwickler. > Darauf achte ich schon. Das Peoblem haben auch andere. Ich meine dass es > bestimmt Möglichkeiten gibt diese Funktionen duech Einzelachritte zu > ersetzen.... Wenn du so programmierst, wie du schreibst, wundert mich nichts.
Thorsten M. schrieb: > Ich bin professioneller Software Entwickler. Du machst mich erstaunt! Warum? Thorsten M. schrieb: > https://github.com/esp8266/Arduino/issues/5137 ESP8266 != ESP32 6 Jahre alt Das hätte dir auffallen müssen. Und doch steht da drin wie man zu ausführlicheren Meldungen kommt. Das geht auch beim ESP32 Ansonsten: Schade, dass du kein testbares Beispiel zeigst. Ein "professioneller Software Entwickler" wüsste, wie wichtig sowas ist. Gerade auch, weil die ESP32 recht zuverlässig arbeiten und den von dir bemerkten Fehler eben nicht zeigen. Ich sage es mal anders: Wenn Netzwerk und Gegenstation ok ist, und du keinen Bock schießt, dann tuts das!
Εrnst B. schrieb: > Dann suche die Ursache. > Die Rückgabe "-1" kommt, wenn die TCP-Sockets alle verbraucht sind > (fehlendes Cleanup), ..., oder wenn die Hardware komische Sachen macht, wenn plötzlich der Stromverbrauch ansteigt und die Spannung sinkt -> mal mit extra Elko am ESP versuchen. Auf die passiv-aggressiven Kommentare lohnt es sich nich einzugehen, das Forum ist ja bekannt für problematisches Sozialverhalten einiger. Der Seeeduino XIAO ist aus meiner Sicht auch eine Fehlentwicklung, denn es tritt nur bei ihm auf, alle anderen mit 8266 und esp32 arbeiten einwandfrei damit. Die Stromzufuhr knallt auf bis zu 200mA hoch beim Zugriff. 100uF haben nichts bewirkt. Wer weiss schon ob da alle GND Pins am Chip angeschlossen sind oder es nicht zum Ground Bounce kommt.
Thorsten M. schrieb: > tritt nur Du versuchst ein Hardwareproblem mit einer Thorsten M. schrieb: > Andere Librarys die das gleiche machen? zu lösen? Darf ich dich fragen, was an der Idee falsch ist?
Thorsten M. schrieb: > Die Stromzufuhr knallt auf bis zu 200mA hoch beim Zugriff Mehr sogar, steht im Datenblatt des IC.
Beitrag #7690859 wurde vom Autor gelöscht.
Thorsten M. schrieb: > 100uF haben nichts bewirkt. Was sollen die denn bewirken? Weniger Strom sicher nicht.
Das Problem verschwindet völlig, wenn man das WLAN Modul nur vorher einschaltet und nach dem Zugriff wieder ausmacht. Zwischen den Zugriffen liegen 10 Minuten. Gibt ja auch keinen Grund warum das immer verbunden sein muss....
Kurze Zusammenfassung, die nur für den Seeeduino XIAO ESP32C3 gilt: Das duerhafte ON beim Wifi Modul scheint nach einer gewissen Zeit dazu zu führen, dass http Zugriffe nicht mehr funktionieren. Ob das Wifi Modul selbst in den sleep geht nach einer Weile und nicht mehr richtig aufwacht oder ob es da ein Stromproblem gibt kann ich nicht sagen. Wirksame Abhilfe ist das einschalten vor dem Zugriff und das abschalten nach dem Zugriff. Dann sitzt jeder Zugriff. Falls da jemand eine Idee zu hat gerne, die kleinen Chips gefalle mir gut. Bei Wrroom und 8266 tritt es nicht auf.
Arduino F. schrieb: > Also ein Mono Core Risc-V ESP. Wobei ich von den ESP32C3 "SuperMini"-Clonen auch welche seit Monaten ohne Ausfall durchlaufen habe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.