51 lines
1.1 KiB
Arduino
51 lines
1.1 KiB
Arduino
|
/*
|
||
|
To upload through terminal you can use: curl -F "image=@firmware.bin" esp32-webupdate.local/update
|
||
|
*/
|
||
|
|
||
|
#include <WiFi.h>
|
||
|
#include <WiFiClient.h>
|
||
|
#include <WebServer.h>
|
||
|
#include <ESPmDNS.h>
|
||
|
#include <HTTPUpdateServer.h>
|
||
|
|
||
|
#ifndef STASSID
|
||
|
#define STASSID "your-ssid"
|
||
|
#define STAPSK "your-password"
|
||
|
#endif
|
||
|
|
||
|
const char* host = "esp32-webupdate";
|
||
|
const char* ssid = STASSID;
|
||
|
const char* password = STAPSK;
|
||
|
|
||
|
WebServer httpServer(80);
|
||
|
HTTPUpdateServer 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);
|
||
|
if (MDNS.begin("esp32")) {
|
||
|
Serial.println("mDNS responder started");
|
||
|
}
|
||
|
|
||
|
|
||
|
httpUpdater.setup(&httpServer);
|
||
|
httpServer.begin();
|
||
|
|
||
|
MDNS.addService("http", "tcp", 80);
|
||
|
Serial.printf("HTTPUpdateServer ready! Open http://%s.local/update in your browser\n", host);
|
||
|
}
|
||
|
|
||
|
void loop(void) {
|
||
|
httpServer.handleClient();
|
||
|
}
|