ESP32-S2 et OTA [Résolu]

Bonjour,

J'en ai assez à force de connecter puis déconnecter mon ESP32-S2 la prise usb-C est HS.
Wemos Sé mini à la poubelle !

Je décide donc de passer à des mises à Jours OTA mais...

https://randomnerdtutorials.com/esp32-ota-over-the-air-arduino/ a l'air parfait pour moi.

Je mets donc les options dans outils

et je compile le premier exemple

/*nov 2022  esp32s2
  Rui Santos
  Complete project details
   - Arduino IDE: https://RandomNerdTutorials.com/esp32-ota-over-the-air-arduino/
   - VS Code: https://RandomNerdTutorials.com/esp32-ota-over-the-air-vs-code/
  
  This sketch shows a Basic example from the AsyncElegantOTA library: ESP32_Async_Demo
  https://github.com/ayushsharma82/AsyncElegantOTA
*/

#include <Arduino.h>
#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <AsyncElegantOTA.h>

const char* ssid = "xxxxxxxxxxxx";                         // SSID de votre box
const char* password = "xxxxxxxxxxxxxx";                // password de votre box

AsyncWebServer server(80);

void setup(void) {
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.println("\n===================\n");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
    request->send(200, "text/plain", "Hi! I am ESP32.");
  });

  AsyncElegantOTA.begin(&server);    // Start ElegantOTA
  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {

}

Il ne veut pas

Arduino : 1.8.19 (Windows 10), Carte : "ESP32S2 Dev Module, Enabled, Disabled, Disabled, Internal USB, Enabled, 8M with spiffs (3MB APP/1.5MB SPIFFS), 240MHz (WiFi), QIO, 80MHz, 4MB (32Mb), 921600, None, Disabled"
f:/arduino 2022 10/arduino-1.8.19/portable/packages/esp32/tools/xtensa-esp32s2-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld.exe: libraries\ESPAsyncWebServer\WebAuthentication.cpp.o:(.literal._ZL6getMD5PhtPc+0x4): undefined reference to mbedtls_md5_starts' f:/arduino 2022 10/arduino-1.8.19/portable/packages/esp32/tools/xtensa-esp32s2-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld.exe: libraries\ESPAsyncWebServer\WebAuthentication.cpp.o: in function getMD5(unsigned char*, unsigned short, char*)':
F:\arduino 2022 10\arduino-1.8.19\portable\sketchbook\libraries\ESPAsyncWebServer\src/WebAuthentication.cpp:73: undefined reference to `mbedtls_md5_starts'
collect2.exe: error: ld returned 1 exit status
Plusieurs bibliothèque trouvées pour "WiFi.h"
Utilisé : F:\arduino 2022 10\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.5\libraries\WiFi
Non utilisé : F:\arduino 2022 10\arduino-1.8.19\portable\sketchbook\libraries\WiFiEspAT
Non utilisé : F:\arduino 2022 10\arduino-1.8.19\libraries\WiFi
Non utilisé : F:\arduino 2022 10\arduino-1.8.19\portable\sketchbook\libraries\WiFi
Plusieurs bibliothèque trouvées pour "ESPAsyncWebServer.h"
Utilisé : F:\arduino 2022 10\arduino-1.8.19\portable\sketchbook\libraries\ESPAsyncWebServer
Non utilisé : F:\arduino 2022 10\arduino-1.8.19\portable\sketchbook\libraries\ESPAsyncWebServer-master
exit status 1
Erreur de compilation pour la carte ESP32S2 Dev Module

J'ai loupé quoi ?

Merci pour vos conseils éclairés

Je pense que le compilo s'y perd dans tes bibliothèques : tu en as plusieurs copies à plusieurs endroits, peut-être de différentes versions. Fais le ménage et recommence la compilation.

C'est vrai qu'en prenant les bibliothèques recommandées par la page web la compilation se fait mais le progrmme ne redémarre pas le port com disparait.

En revanche cela fonctionne sur un esp32 wemos lolin lite

On a donc un problème avec le S2

As-tu essayé l' exemple BasicOTA ?

Tout fonctionne mais comme d'habitude le fait que le port com soit directement fait par la puce esp est délicat à faire fonctionner.

Il se déconnecte à chaque reset, il faut fermer la fenêtre série, brancher ou reseter l'ESP, ré-ouvrir la fenêtre série après le "ding-dong" de windows.
Mais pendant ce temps là l'esp fonctionne et si on ne lui demande pas d'attendre , moi je mets un "delay(5000);", on ne voit rien dans celle-ci.


/*nov 2022  esp32s2
  Rui Santos
  Complete project details
   - Arduino IDE: https://RandomNerdTutorials.com/esp32-ota-over-the-air-arduino/
   - VS Code: https://RandomNerdTutorials.com/esp32-ota-over-the-air-vs-code/
  
  This sketch shows a Basic example from the AsyncElegantOTA library: ESP32_Async_Demo
  https://github.com/ayushsharma82/AsyncElegantOTA
*/

#include <Arduino.h>
#include <WiFi.h>
#include <AsyncTCP.h>                                      // https://github.com/me-no-dev/AsyncTCP/archive/master.zip
#include <ESPAsyncWebServer.h>                             // https://github.com/me-no-dev/ESPAsyncWebServer/archive/master.zip
#include <AsyncElegantOTA.h>

const char* ssid = "xxxxxxxx";                         // SSID de votre box
const char* password = "xxxxxxx";                // password de votre box

AsyncWebServer server(80);

void setup(void) {
  delay(5000);                                     // pour attendre
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.println("\n===================\n");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
    request->send(200, "text/plain", "Hi! I am ESP32.");
  });

  AsyncElegantOTA.begin(&server);    // Start ElegantOTA
  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {

}

Bonjour

Quele est la carte utiisée ? (LOLIN S2 Mini, LILYGO ESP32_S2 , autrs )

En activant l'option USB CDC On Boot (menu déroulant Outils) est-ce que ça change quelque chose pour ce comportement ?

Il s'agit de la wemos s2 mini et la config est

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