Library elegantOTA 3 [Résolu]

Bonjour,

Je voudrais tester cette bibliothèque mais avec une install neuve d'Arduino 1.8.19 et la bibliothèque je n'arrive pas à compiler avec un ESP32S2

Arduino : 1.8.19 (Windows 10), Carte : "ESP32S2 Dev Module, Disabled, Enabled, Disabled, Disabled, Internal USB, Enabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi), QIO, 80MHz, 4MB (32Mb), 921600, None, Disabled"





















In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:95:6: error: 'HTTP_DELETE' conflicts with a previous declaration

   XX(0,  DELETE,      DELETE)       \

      ^

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:64:3: note: previous declaration 'WebRequestMethod HTTP_DELETE'

   HTTP_DELETE  = 0b00000100,

   ^~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:96:6: error: 'HTTP_GET' conflicts with a previous declaration

   XX(1,  GET,         GET)          \

      ^

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:62:3: note: previous declaration 'WebRequestMethod HTTP_GET'

   HTTP_GET     = 0b00000001,

   ^~~~~~~~

In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:97:6: error: 'HTTP_HEAD' conflicts with a previous declaration

   XX(2,  HEAD,        HEAD)         \

      ^

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:67:3: note: previous declaration 'WebRequestMethod HTTP_HEAD'

   HTTP_HEAD    = 0b00100000,

   ^~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:98:6: error: 'HTTP_POST' conflicts with a previous declaration

   XX(3,  POST,        POST)         \

      ^

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:63:3: note: previous declaration 'WebRequestMethod HTTP_POST'

   HTTP_POST    = 0b00000010,

   ^~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:99:6: error: 'HTTP_PUT' conflicts with a previous declaration

   XX(4,  PUT,         PUT)          \

      ^

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:65:3: note: previous declaration 'WebRequestMethod HTTP_PUT'

   HTTP_PUT     = 0b00001000,

   ^~~~~~~~

In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:102:6: error: 'HTTP_OPTIONS' conflicts with a previous declaration

   XX(6,  OPTIONS,     OPTIONS)      \

      ^

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:68:3: note: previous declaration 'WebRequestMethod HTTP_OPTIONS'

   HTTP_OPTIONS = 0b01000000,

   ^~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/HTTP_Method.h:4,

                 from C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WebServer\src/WebServer.h:30,

                 from C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:73,

                 from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:128:6: error: 'HTTP_PATCH' conflicts with a previous declaration

   XX(28, PATCH,       PATCH)        \

      ^~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:138:45: note: in definition of macro 'XX'

 #define XX(num, name, string) HTTP_##name = num,

                                             ^~~

C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32s2/include/nghttp/port/include/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'

   HTTP_METHOD_MAP(XX)

   ^~~~~~~~~~~~~~~

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:33:

C:\Users\admin\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:66:3: note: previous declaration 'WebRequestMethod HTTP_PATCH'

   HTTP_PATCH   = 0b00010000,

   ^~~~~~~~~~

C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino: In function 'void setup()':

AsyncDemo:88:27: error: no matching function for call to 'ElegantOTAClass::begin(AsyncWebServer*)'

   ElegantOTA.begin(&server);    // Start ElegantOTA

                           ^

In file included from C:\Users\admin\AppData\Local\Temp\arduino_modified_sketch_65598\AsyncDemo.ino:34:

C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:107:10: note: candidate: 'void ElegantOTAClass::begin(WebServer*, const char*, const char*)'

     void begin(ELEGANTOTA_WEBSERVER *server, const char * username = "", const char * password = "");

          ^~~~~

C:\Users\admin\Documents\Arduino\libraries\ElegantOTA-master\src/ElegantOTA.h:107:10: note:   no known conversion for argument 1 from 'AsyncWebServer*' to 'WebServer*'

Plusieurs bibliothèque trouvées pour "WiFi.h"

Utilisé : C:\Users\admin\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\WiFi

Non utilisé : C:\Users\admin\Desktop\arduino-1.8.19\libraries\WiFi

exit status 1

no matching function for call to 'ElegantOTAClass::begin(AsyncWebServer*)'



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

C'est avec l'exemple
Async Demo Example

Ce problème fait l'objet d'une issue sur le github de la bibliothèque :

Est-ce que tu utilises aussi un ESP32S3 ? Si oui, tu dois avoir le même problème. Pas le temps de m'y plonger mais il semble qu'une solution est proposée dans cette issue.

Non, je n'utilise que l'ESP32S2.
Dans l'issue je ne comprends pas grand chose

Si je comprends bien, il faut éditer le fichier ElegantOTA.h dans le répertoire de la bibliothèque (il doit être dans Arduino/libraries/ElegantOTA/src) et modifier la ligne 27 en
#define ELEGANTOTA_USE_ASYNC_WEBSERVER 1

C'est parfait
merci

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