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.
52 lines
1.3 KiB
52 lines
1.3 KiB
4 years ago
|
/*
|
||
|
To upload through terminal you can use: curl -u admin:admin -F "image=@firmware.bin" esp8266-webupdate.local/firmware
|
||
|
*/
|
||
|
|
||
|
#include <ESP8266WiFi.h>
|
||
|
#include <WiFiClient.h>
|
||
|
#include <ESP8266WebServer.h>
|
||
|
#include <ESP8266mDNS.h>
|
||
|
#include <ESP8266HTTPUpdateServer.h>
|
||
|
|
||
|
#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();
|
||
|
}
|