12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*
- OTAUpdate.ino, Example for the AutoConnect library.
- Copyright (c) 2020, Hieromon Ikasamo
- https://github.com/Hieromon/AutoConnect
- This example is an implementation of a lightweight update feature
- that updates the ESP8266's firmware from your web browser.
- You need a compiled sketch binary file to the actual update and can
- retrieve it using Arduino-IDE menu: [Sketck] -> [Export compiled binary].
- Then you will find the .bin file in your sketch folder. Select the.bin
- file on the update UI page to update the firmware.
- Notes:
- If you receive a following error, you need reset the module before sketch running.
- Update error: ERROR[11]: Invalid bootstrapping state, reset ESP8266 before updating.
- Refer to https://hieromon.github.io/AutoConnect/faq.html#hang-up-after-reset for details.
- This software is released under the MIT License.
- https://opensource.org/licenses/MIT
- */
- #if defined(ARDUINO_ARCH_ESP8266)
- #include <ESP8266WiFi.h>
- #include <ESP8266WebServer.h>
- typedef ESP8266WebServer WiFiWebServer;
- #elif defined(ARDUINO_ARCH_ESP32)
- #include <WiFi.h>
- #include <WebServer.h>
- typedef WebServer WiFiWebServer;
- #endif
- #include <AutoConnect.h>
- WiFiWebServer server;
- AutoConnect portal(server);
- AutoConnectConfig config;
- void setup() {
- delay(1000);
- Serial.begin(115200);
- Serial.println();
- // Responder of root page and apply page handled directly from WebServer class.
- server.on("/", []() {
- String content = R"(
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1">
- </head>
- <body>
- Place the root page with the sketch application. 
- __AC_LINK__
- </body>
- </html>
- )";
- content.replace("__AC_LINK__", String(AUTOCONNECT_LINK(COG_16)));
- server.send(200, "text/html", content);
- });
- config.ota = AC_OTA_BUILTIN;
- portal.config(config);
- portal.begin();
- }
- void loop() {
- portal.handleClient();
- }
|