OTA funktioniert nur mit ESP32 nicht mit ESP8266

ich habe die zwei einfachen Beispiele zu ArduinoOTA benutzt (IDE 2.2.1 und IDE 1.8.x). Beim ESP32 funktioniert es ohne Probleme, beim ESP8266 bekomme ich einen Fehler '[ERROR]: No response from device'.

Beide Boards sind über Ping problemlos erreichbar, beide Boards sind auch in der IDE als Netzwerkgerät sichtbar und man kann sie auswählen.

Auf dem ser. Port wird folgendes ausgegeben:

...Stop, Softwareupdate wird durchgefuehrt...
Progress: 0%
Error[2]: Connect Failed
Error[4]: End Failed

Es wird also eine Verbindung aufgebaut, aber bricht dann ab.

Was ist das Problem?

Ich sehe das mal so, du machst irgendwo einen Fehler.
Aber wo, das ist jetzt hier die Frage.
Vermutlich in deinem Sketch, den wir nicht kennen.

das kommt meines Wissens aus keinem Beispielsketch.
Beginne mit dem BasicOTA vom ESP8266.
Teste exakt diesen Sketch (nicht den BasicOTA vom ESP32 er ist minimial anders. Uns interessiert aber der ESP8266).
Wenn NOK, kopiere alle Meldungen aus der 1.8.19 (!) raus, die der Compiler rausschreibt und poste sie in Code-Tags.

Welches Betriebssysstem läuft auf deinem PC?

im ersten Beitrag steht, dass ich die zwei einfachen Beispiele zu ArduinoOTA benutzt habe, in der IDE ist auch kein spezieller Sketch für den ESP32 oder ESP8266 zu finden, auch alle online Beispiele beziehen sich auf ArduinoOTA, Win10.

Ser. Ausgabe original BasicOTA:

Start updating sketch
Progress: 0%
Error[2]: Connect Failed
Error[4]: End Failed

Da dein Sketch mehr als Geheim ist trage ich einen ein.
Jedoch der funktioniert mit der IDE1.8.19, andere habe nicht.

/*********
  Rui Santos
  Complete project details at http://randomnerdtutorials.com
  Arduino IDE example: Examples > Arduino OTA > BasicOTA.ino
*********/

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

// Replace with your network credentials
const char* ssid = "FRITZ!Box 7530 RO";
const char* password = "01940430661059406319";

void setup() {
  Serial.begin(115200);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  // ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword((const char *)"123");

  ArduinoOTA.onStart([]() {
    Serial.println("Start");
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  ArduinoOTA.handle();
}

Einziges was Stimmt ist der Fritz :wink:

und es war ersichtlich, dass die Meldung NICHT VOM IDE Beispiel kommen. Da wir nicht sehen was du sonst noch alles verändert hast gabs den Hinweis auf das IDE Beispiel.

Irrtum. Die beiden Beispiele sind unterschiedlich. Sie würden gegengleich gar nicht kompilieren wenn sie exakt gleich wären.

wenn die bei dir gleich Aussehen, kann deine Installation falsch sein.

Im meinen Beitrag 3 steht du sollst die Kompiler Meldungen rausschreiben. Könntest du immer noch machen. Ansonsten eben alleine weitersuchen.

der Sketch ist nicht geheim, es ist der 0815-BasicOTA-Sketch und wie ich schon sagte, beide Boards sind sichtbar und ansprechbar.

Das Board springt auch auf den OTA-Versuch an, führt ihn aber nicht zu ende, eine Lösung scheint hier also nicht bekannt, danke soweit...

Es ist auch schwierig, eine Lösung zu kennen, wenn Du der einzige mit dem Problem bist. Hat Dein ESP8266 (welcher?) zu wenig Flash oder ist dieser defekt?
Hast Du eine Speicheraufteilung mit OTA gewählt?

Gruß Tommy

IDE schließen, dein Sketch anklicken --> IDE öffnet und zeigt an den ESP was ist gerade im Betrieb.
Manchmal wenn ich zwei ESP unter Strom habe will OTA aus welschen auch Gründen nicht hochladen

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.