Experimenting with fw upgrade for esp8266

This commit is contained in:
Gunnar Skjold
2022-03-12 11:16:37 +01:00
parent 45275c271e
commit 0ec1a8ece3
3 changed files with 34 additions and 10 deletions

View File

@@ -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");

View File

@@ -19,6 +19,7 @@
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
#include <ESP8266httpUpdate.h>
#elif defined(ESP32) // ARDUINO_ARCH_ESP32
#include <WiFi.h>
#include <WebServer.h>