ja, ich denke da auch an das endofline-Zeichen \n vs. \r\n etc...
es geht aber nicht zufällig verloren, sondern immer das 1. Mal und immer nur das 1. Mal, und beim 2. Mal klappt es immer!
letzteres passiert, wenn eine Eingabe verloren geht. Oder das Programm wartet auf Zeichen, kann die Übertragenen nicht zuordnen und verwirft sie - und erst beim nächsten Mal klappts wieder. Das kann auch dort passieren, wo Du das Passwort und den User extrahierst (bzw. die Zeichen dafür einliest).
ja, ich denke da auch an das endofline-Zeichen \n vs. \r\n etc...
es geht aber nicht zufällig verloren, sondern immer das 1. Mal und immer nur das 1. Mal, und beim 2. Mal klappt es immer!
@Moppi:
wie gehst du jetzt mit deinem Fehler bei der 2.5.2 um? gehst du wieder zurück auf 2.2.x oder 2.4.x oder versuchst du, es unter dem neuen Core zum Laufen zu kriegen?
(Es sind ja auch etliche Bug Fixes und neue Funktionen seit 2.5.x dazu gekommen sowie veränderte ältere Wifiserver und Websever Lbs im githiub repo https://github.com/espressif/arduino-esp32)
Keine Ahnung, HaWe, ich brauchs momentan nicht und würde später nochmal ein Update ausführen.
Obwohl interessant wärs, wie sich der Code, den ich hatte, unter Version 2.4.x verhält.
Aber mit etwas Zeit würde ich noch etwas herumprobieren, Senden und Empfangen funktioniert vom Prinzip, das sieht nach einem Kommunikationsproblem aus. Hatte schon überlegt, genau zu schauen welche Bytes ankommen und auch selber Funktionen zu schreiben, um die zu verschicken, damit ich genau weiß, was da passiert.
Ich verwende nur die ESP8266WiFi.h
Mich würde jetzt interessieren, ob es bei Dir besser läuft jetzt. Das Problem mit dem doppelten Senden müsste man noch hinbekommen können, muss man suchen..
MfG
Geändert von Moppi (22.10.2019 um 11:14 Uhr)
Login wie gehabt 2x.
Ansonsten klappt die Kommunikation zu anderen ESP8266 Web Clients einwandfrei, auch zu UDP Servern.
(Version wie auf S.2 oben (editierte Version)
Das Beispielprogramm von Ivan funktioniert sehr gut. Unter Version 2.2.0. Nicht jedoch unter 2.5.2 - dort kommt es zu den Fehlern!
Lager doch mal Deine Routine, die Passwort und Username extrahier, in eine extra Funktion aus und binde die dann via Funktionsaufruf in dem Code ein, an dem wir gestern herumgespielt haben. Dann kann man gezielt suchen.
MfG
ja, ähnlich wie bei mir vorher...
- - - Aktualisiert - - -
Probier doch auch mal 2.4.0, ich wette, da läuft auch der Ivan bei dir!
2.5.2 funktioniert nicht
2.4.2 funktioniert nicht
2.4.1 funktioniert nicht
2.4.0 funktioniert
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 11:55 Uhr)
Lesezeichen