NodeMCU ESP8266 OTA

Bonjour,
J'ai quelques soucis avec un programme auquel j'ai intégré l'OTA mais qui ne s'affiche pas dans l'IDE Arduino.
Avez vous une combine pour qu'il soit vu et que je puisse mettre à jour à distance.

J'ai de nombreuses fois utilisé l'OTA, jamais eu ce problème et là je galère, car en plus cet ESP8266 a déjà été vu dans l'IDE et suite à une mise à jour ne concernant pas l'OTA il n'est plus visible. Mon programme tourne bien sans aucun problème sauf l'OTA.

Toutes propositions seront les bienvenues.

Merci

J'ai trouvé, il faut que l'OTA dans la section "setup" soit déclarée avant la connexion réseau.
Quoi qu'il en soit, ça fonctionne correctement maintenant.

Bizarre, dans l'exemple OTA BASIC, la connexion au réseau se fait avant la section OTA!

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();

Bonjour,

J'apporte une nouvelle pierre à l'édifice... On ne sait jamais, si ça peut aider.

J'ai remarqué qu'en fait, il ne faut pas utiliser et donc pas déclarer le MDNS car il entre en conflit avec l'OTA.
Si on utilise l'OTA, pas besoin de MDNS, c'est implicite et on voit l'ESP8266 dans Bonjour, dans l'IDE Arduino et dans le navigateur (espxx.local) ça fonctionne aussi. La librairie "ESP8266mDNS" ne doit donc pas être utilisée avec l'OTA.

Leptro >>> Tu as raison, et j'ai remis l'OTA au bon endroit.