2.4.1 funktioniert auch nicht bei mir, nur bis 2.4.0
2.4.1 funktioniert auch nicht bei mir, nur bis 2.4.0
über mehrere Versionen hinweg funktioniert es schon nicht mehr, dass das keinem auffällt?
könnte in diesem Zusammenhang an readStringUntil() liegen, bzw. dem, was darin verwendet wird und sich seit Version 2.4.0 geändert hat.Code:String line = client.readStringUntil('\r'); Serial.print(line); // wait for end of client's request, that is marked with an empty line if (line.length() == 1 && line[0] == '\n')
Geändert von Moppi (22.10.2019 um 10:55 Uhr)
doch, bei den issues gab es schon Meldungen, aber die neuen original-examples von esp klappten ja wieder weiterhin - nur für Code von anderen wie von Ivan oder von mir übernehmen die esp Leute keinen Support und verweisen aufs esp Forum. Ohne erkennbare Lösung, soweit ich es sehe.
Ich finde aber auch im esp32 repo keine original-esp-Codebeispiele für Eingabe von Strings per GET oder POST.
- - - Aktualisiert - - -
ich selber verwende ja nicht Ivans examples, aber nachdem du ja damit Erfahrung hast: melde doch mal deine Probleme mit 2.4.x ++ in Ivans issues!
hier ist ja deine/Ivans (?) repo bei github: https://github.com/esp8266/Arduino/b...r-examples.rst
Wie es aussieht, gibt es (auch) ein Problem beim Senden der Daten an den Browser.
Opera stellt den Seiteninhalt dar, mach aber kein Refresh mehr. Da scheint beim Header was falsch zu sein, was am Browser ankommt (im Arduino-IDE-Quelltext ändert der sich ja nicht).
Firefox hat dann auch ein Problem und zeigt gar nichts an, wundert sich nur, dass die Connection beendet (reset) wird und bringt die Meldung (macht nat. dann auch kein Refresh der Seite).
Was ist denn "original-esp" ??? Welche LIBs gehören dazu und wo ist dazu die Doku??? - Dann benutzt man eben nur diese Sachen.
ja, so etwas hast du ja oben schon gesschrieben.
Hast du die aktuelle Version des Codes verwendet?
https://github.com/esp8266/Arduino/b...r-examples.rst
Sieht danach ausHast du die aktuelle Version des Codes verwendet?
komplett so, unverändert?
Code:#include <ESP8266WiFi.h> const char* ssid = "********"; const char* password = "********"; WiFiServer server(80); void setup() { Serial.begin(115200); Serial.println(); Serial.printf("Connecting to %s ", ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(" connected"); server.begin(); Serial.printf("Web server started, open %s in a web browser\n", WiFi.localIP().toString().c_str()); } // prepare a web page to be send to a client (web browser) String prepareHtmlPage() { String htmlPage = String("HTTP/1.1 200 OK\r\n") + "Content-Type: text/html\r\n" + "Connection: close\r\n" + // the connection will be closed after completion of the response "Refresh: 5\r\n" + // refresh the page automatically every 5 sec "\r\n" + "<!DOCTYPE HTML>" + "<html>" + "Analog input: " + String(analogRead(A0)) + "</html>" + "\r\n"; return htmlPage; } void loop() { WiFiClient client = server.available(); // wait for a client (web browser) to connect if (client) { Serial.println("\n[Client connected]"); while (client.connected()) { // read line by line what the client (web browser) is requesting if (client.available()) { String line = client.readStringUntil('\r'); Serial.print(line); // wait for end of client's request, that is marked with an empty line if (line.length() == 1 && line[0] == '\n') { client.println(prepareHtmlPage()); break; } } } delay(1); // give the web browser time to receive the data // close the connection: client.stop(); Serial.println("[Client disonnected]"); } }
Lesezeichen