/* To upload through terminal you can use: curl -u admin:admin -F "image=@firmware.bin" esp8266-webupdate.local/firmware */ #include #include #include #include #include #ifndef STASSID #define STASSID "your-ssid" #define STAPSK "your-password" #endif const char* host = "esp8266-webupdate"; const char* update_path = "/firmware"; const char* update_username = "admin"; const char* update_password = "admin"; const char* ssid = STASSID; const char* password = STAPSK; ESP8266WebServer httpServer(80); ESP8266HTTPUpdateServer httpUpdater; void setup(void) { Serial.begin(115200); Serial.println(); Serial.println("Booting Sketch..."); WiFi.mode(WIFI_AP_STA); WiFi.begin(ssid, password); while (WiFi.waitForConnectResult() != WL_CONNECTED) { WiFi.begin(ssid, password); Serial.println("WiFi failed, retrying."); } MDNS.begin(host); httpUpdater.setup(&httpServer, update_path, update_username, update_password); httpServer.begin(); MDNS.addService("http", "tcp", 80); Serial.printf("HTTPUpdateServer ready! Open http://%s.local%s in your browser and login with username '%s' and password '%s'\n", host, update_path, update_username, update_password); } void loop(void) { httpServer.handleClient(); MDNS.update(); }