You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
67 lines
1.9 KiB
5 years ago
|
/*
|
||
|
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();
|
||
|
}
|