Ich hab mal ne Frage zum OTA, die diversen Beispielscripte zB aus der Arduino-IDE oder AZ_Deliverie aber auch einige Andere funktionieren bei mir. Allerdings ist mir aufgefallen, dass dort in der Loop nichts grossartiges steht. In meinem Programm taucht er jedoch aus der Loop in eine (zeitlich) längere Funktion ab. Könnte es sein, dass der ESP nach dem Aufruf von "ArduinoOTA.handle();" nur eine bestimmte Zeit auf ein ankommendes OTA-Update wartet?
(ja ich weiss, eigentlich Code anhängen, aber ob hier ca 1500 Zeilen zielführend sind?)
Ja, in der IDE taucht der OTA-Port auch auf. Die "kleinen" Beispielprogramme kann ich auch ohne Probleme updaten, nur in meinem Programm, dass für ca 40 sec in eine Funktion "abtaucht" , erhalte ich "[ERROR]: No Answer". Ich vermute ja, dass nach Aufruf von "ArduinoOTA.handle();" nur eine bestimmte Zeit (einige Sekunden?) auf ein ankommendes Update gewartet wird. Könnte das sein?
Gerade entdeckt: Man muss den ESP (oder was auch immer) anscheinend erst einmal über das Netzwerk angesprochen haben. (Könnte auch mal irgendwo erwähnt werden) Nach der Meldung "Hochladen abgeschlossen" dauert es noch einige Sekunden, bis das Programm "umgeschichtet" worden ist. Es startet dann automatisch in der IDE erfolgt keine weitere Ausgabe.
taximan:
nur in meinem Programm, dass für ca 40 sec in eine Funktion "abtaucht"
Das solltest du ändern!
taximan:
Ich vermute ja, dass nach Aufruf von "ArduinoOTA.handle();" nur eine bestimmte Zeit (einige Sekunden?) auf ein ankommendes Update gewartet wird. Könnte das sein?
Oder den Aufruf von "ArduinoOTA.handle();" an verschiedenen Stellen deiner Funktion einstreuen!
Schade eigentlich, war bei mir wohl nur ein Zufallstreffer. @Derfips: Hast mich aber auf die richtige Fährte gebracht. Nach "ArduinoOTA.handle();" wird nur einige Sekunden gewartet. Das fällt in den Blinkbeispielen natürlich nicht weiter auf. Kann man denn irgendwo erfahren wie lang diese Zeit ist oder womöglich einstellen?
Bislang war da keine Notwendigkeit, es waren "nur" ein Haufen LEDs die angesteuert wurden. Ob die Funktion ein paar Sekunden früher oder später fertig war, spielte keine Rolle. Aber ich muss mir da auch aus anderen Gründen was einfallen lassen.
Jetzt habe ich mal eine Bitte an die eifrigen (Mit)-Leser; könnt ihr euch bitte mal das Arduino Kochbuch Hannover ansehen (HTML Kochbuch mit ESP8266 und Arduino IDE | Arduino-Hannover), und mir sagen, was da alles raus kann, wenn ich mich nur mit der Fritzbox verbinden will? Müsste dann der STA (StationMode) sein. Gaaaaanz evtl soll auch mal der WPS-Mode dazu kommen.
Vergleich doch einfach mal deinen Sketch mit den funktionierenden Beispielen von Fips.
Bei einer strukturierten Programmierung solltest du deinen Fehler schnell in deinem Sketch finden.
for (int i = 10; i > 0; i--) {
Serial.print("Warte ");
Serial.print(i);
Serial.println(" sec");
delay(1000);
}
Serial.println("ESP_HTML_02"); #endif
}
funktionieren tut es soweit, ich wollte es nur von unnötigem Ballast befreien. z.B. den Schnipsel oben verstehe ich nicht wirklich. überall wo BGTDEBUG=1 wird der nachfolgende kurze Code ausgeführt, und da BGTDEBUG immer 1 ist, wird dieser Code immer ausgeführt. Hab ich das soweit richtig verstanden? Warum schreibt man den Code nicht direkt? das macht das Ganze (für mich) sehr unübersichtlich.
taximan:
... ich wollte es nur von unnötigem Ballast befreien.
Was ist nötig, was unnötig?
#define BGTDEBUG 1
Am Anfang können es bei mir nicht genug Informationen auf dem seriellen Monitor sein, die würde ich nicht missen wollen. Beim Umstieg auf OTA werden die nicht mehr angezeigt, weshalb alternativ ein OLED zur Ausgabe Verwendung findet. Aber spätestens beim nächsten Problem freue ich mich wieder über zusätzliche informative Hilfen im seriellen Monitor. Rausschmeißen käme für mich daher nicht infrage.
taximan:
Bislang war da keine Notwendigkeit, es waren "nur" ein Haufen LEDs die angesteuert wurden. Ob die Funktion ein paar Sekunden früher oder später fertig war, spielte keine Rolle. Aber ich muss mir da auch aus anderen Gründen was einfallen lassen.
Jetzt habe ich mal eine Bitte an die eifrigen (Mit)-Leser; könnt ihr euch bitte mal das Arduino Kochbuch Hannover ansehen (https://arduino-hannover.de/2016/01/01/html-kochbuch-mit-esp8266-und-arduino-ide/), und mir sagen, was da alles raus kann, wenn ich mich nur mit der Fritzbox verbinden will? Müsste dann der STA (StationMode) sein. Gaaaaanz evtl soll auch mal der WPS-Mode dazu kommen.
Wäre super nett von euch.
Danke
Das Beispiel solltest Du schnellstes vergessen, das ist völlig veraltert. Das geht heute viel einfacher. Bei Fip´s bist Du am Besten aufgehoben.
Als minimal Version kannst Du dich auch an das Beispiel "Hallo Server" aus der Lib Webserver und das Beispiel OTABasic aus der LIB halten.
Rentner:
Das Beispiel solltest Du schnellstes vergessen, das ist völlig veraltert. Das geht heute viel einfacher. Bei Fip´s bist Du am Besten aufgehoben.
Als minimal Version kannst Du dich auch an das Beispiel "Hallo Server" aus der Lib Webserver und das Beispiel OTABasic aus der LIB halten.
Heinz
Naja.....der TO wollte sich das einfacher machen und hat uns ja darum gebeten, den Sketch zu durchsuchen.
Den Tipp mit Fips hat er ja schon bei mir ignoriert.
Das das alles auch etwas einfacher geht, ist mir irgendwie schon klar. Ich bin grad auch schon am suchen, was von den #ifdef-Sachen für mich unnötig ist. Bin der Sache auch auf der Spur, ich halte euch auf dem laufenden. Ich habe dieses Beispiel auch nur genommen, weil es für mich als absoluten ESP-Einsteiger meiner Meinung nach das übersichtlichste Beispiel zur HTML-Auswertung war. Die normale WLAN-Anbindung (für Blink und so) habe ich auch schon einfacher hinbekommen.