diff --git a/.pio/build/esp12e/firmware.bin b/.pio/build/esp12e/firmware.bin index e740f93..e6d2371 100644 Binary files a/.pio/build/esp12e/firmware.bin and b/.pio/build/esp12e/firmware.bin differ diff --git a/include/myOTA.h b/include/myOTA.h index 594adf7..cabb227 100644 --- a/include/myOTA.h +++ b/include/myOTA.h @@ -1,4 +1,6 @@ #include -void setupOTA(); -void handleOTA(); \ No newline at end of file +void setupOTALocal(); +void handleOTALocal(); + +void handleOTARemote(); \ No newline at end of file diff --git a/include/version.h b/include/version.h index 9af9982..0bd28e6 100644 --- a/include/version.h +++ b/include/version.h @@ -1,9 +1,9 @@ #ifndef BUILD_NUMBER - #define BUILD_NUMBER 1 + #define BUILD_NUMBER 2 #endif #ifndef VERSION - #define VERSION "v0.1.1 - 2023-11-28 09:09:49.089072" + #define VERSION "v0.1.2 - 2023-11-28 11:38:15.948331" #endif #ifndef VERSION_SHORT - #define VERSION_SHORT "v0.1.1" + #define VERSION_SHORT "v0.1.2" #endif diff --git a/src/main.cpp b/src/main.cpp index 2af2545..188abf8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -74,6 +74,7 @@ const String KEY_C = "0x1FE807F"; const String KEY_D = "0x1FE20DF"; const String KEY_ON = "0x1FE48B7"; const String KEY_OFF = "0x1FE48B7"; +const String KEY_MODE = "0x1FE58A7"; char lastPressedKey = '\0'; @@ -111,6 +112,11 @@ void handleKeyPress(char pressedKey) { playBuzzer(BUZZER_PIN, TONE_BEEP_LONG); ESP.restart(); } + if (pressedKey == 'U') { + Serial.println("Pressed update. Updating via remote server.."); + playBuzzer(BUZZER_PIN, TONE_BEEP_TWICE); + handleOTARemote(); + } // If pressed number uint8_t currentNumberEntered = pressedKey - '0'; uint8_t lastNumberEntered = lastPressedKey - '0'; @@ -149,7 +155,7 @@ void setup() { irrecv.setTolerance(kTolerancePercentage); // Override the default tolerance. irrecv.enableIRIn(); // Start the receiver - setupOTA(); + setupOTALocal(); } void loop() { @@ -199,6 +205,8 @@ void loop() { pressedKey = 'R'; } else if (hexKey == KEY_OFF) { pressedKey = 'R'; + } else if (hexKey == KEY_MODE) { + pressedKey = 'U'; } if (pressedKey != '\0') { handleKeyPress(pressedKey); @@ -209,5 +217,5 @@ void loop() { yield(); // Feed the WDT (again) } - handleOTA(); + handleOTALocal(); } diff --git a/src/myOTA.cpp b/src/myOTA.cpp index 4990238..0f65288 100644 --- a/src/myOTA.cpp +++ b/src/myOTA.cpp @@ -2,10 +2,12 @@ #include #include #include -#include #include +#include +#include +#include -void setupOTA() { +void setupOTALocal() { Serial.println("Booting"); WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); @@ -37,6 +39,22 @@ void setupOTA() { Serial.println(WiFi.localIP()); } -void handleOTA() { +void handleOTALocal() { ArduinoOTA.handle(); } + +void handleOTARemote() { + WiFiClient client; + t_httpUpdate_return ret = ESPhttpUpdate.update(client, "https://github.com/bendtherules/Patient-counter-esp8266/raw/main/.pio/build/esp12e/firmware.bin", VERSION_SHORT); + switch(ret) { + case HTTP_UPDATE_FAILED: + Serial.println("[update] Update failed."); + break; + case HTTP_UPDATE_NO_UPDATES: + Serial.println("[update] Update no Update."); + break; + case HTTP_UPDATE_OK: + Serial.println("[update] Update ok."); // may not be called since we reboot the ESP + break; + } +} diff --git a/versioning b/versioning index 56a6051..d8263ee 100644 --- a/versioning +++ b/versioning @@ -1 +1 @@ -1 \ No newline at end of file +2 \ No newline at end of file