From 0ec1a8ece3f2d56524758b161d6d2b9e2ea38b2b Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sat, 12 Mar 2022 11:16:37 +0100 Subject: [PATCH] Experimenting with fw upgrade for esp8266 --- src/AmsToMqttBridge.ino | 2 +- src/web/AmsWebServer.cpp | 41 +++++++++++++++++++++++++++++++--------- src/web/AmsWebServer.h | 1 + 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/AmsToMqttBridge.ino b/src/AmsToMqttBridge.ino index a16e4924..4805e707 100644 --- a/src/AmsToMqttBridge.ino +++ b/src/AmsToMqttBridge.ino @@ -354,7 +354,7 @@ void setup() { esp_task_wdt_init(WDT_TIMEOUT, true); esp_task_wdt_add(NULL); #elif defined(ESP8266) - ESP.wdtEnable(WDT_TIMEOUT); + ESP.wdtEnable(WDT_TIMEOUT * 1000); #endif } diff --git a/src/web/AmsWebServer.cpp b/src/web/AmsWebServer.cpp index a1bafc29..074eb92a 100644 --- a/src/web/AmsWebServer.cpp +++ b/src/web/AmsWebServer.cpp @@ -1636,15 +1636,38 @@ void AmsWebServer::firmwareDownload() { httpClient.setTimeout(20000); httpClient.addHeader("User-Agent", "ams2mqtt/" + String(VERSION)); -#if defined(ESP8266) - WiFiClient client; - String url = "http://0.0.0.0/releases/download/" + version + "/ams2mqtt-esp8266-" + versionStripped + ".bin"; -#elif defined(ESP32) - WiFiClientSecure client; - client.setInsecure(); - String url = "https://github.com/gskjold/AmsToMqttBridge/releases/download/" + version + "/ams2mqtt-esp32-" + versionStripped + ".bin"; - httpClient.addHeader("Referer", "https://github.com/gskjold/AmsToMqttBridge/releases"); -#endif + #if defined(ESP8266) + WiFiClient client; + String url = "http://ams2mqtt.no23.cc/releases/download/" + version + "/ams2mqtt-esp8266-" + versionStripped + ".bin"; + /* + t_httpUpdate_return ret = ESPhttpUpdate.update(client, url, VERSION); + switch(ret) { + case HTTP_UPDATE_FAILED: + printE("[update] Update failed."); + server.sendHeader("Location","/"); + server.send(303); + break; + case HTTP_UPDATE_NO_UPDATES: + printI("[update] Update no Update."); + server.sendHeader("Location","/"); + server.send(303); + break; + case HTTP_UPDATE_OK: + printI("[update] Update ok."); // may not be called since we reboot the ESP + performRestart = true; + server.sendHeader("Location","/restart-wait"); + server.send(303); + break; + } + + return; + */ + #elif defined(ESP32) + WiFiClientSecure client; + client.setInsecure(); + String url = "https://github.com/gskjold/AmsToMqttBridge/releases/download/" + version + "/ams2mqtt-esp32-" + versionStripped + ".bin"; + httpClient.addHeader("Referer", "https://github.com/gskjold/AmsToMqttBridge/releases"); + #endif if(httpClient.begin(client, url)) { printD("HTTP client setup successful"); diff --git a/src/web/AmsWebServer.h b/src/web/AmsWebServer.h index 11d173f4..71b0f7bd 100644 --- a/src/web/AmsWebServer.h +++ b/src/web/AmsWebServer.h @@ -19,6 +19,7 @@ #include #include #include + #include #elif defined(ESP32) // ARDUINO_ARCH_ESP32 #include #include