From f74b5fed6bd884f39a9eb23846debc616ebb6e8f Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Tue, 22 Jun 2021 15:51:58 +0300 Subject: [PATCH] Split ota code out --- fan_control/include/ota.hpp | 8 ++++++ fan_control/platformio.ini | 3 +- fan_control/src/main.cpp | 57 ++----------------------------------- fan_control/src/ota.cpp | 56 ++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 55 deletions(-) create mode 100644 fan_control/include/ota.hpp create mode 100644 fan_control/src/ota.cpp diff --git a/fan_control/include/ota.hpp b/fan_control/include/ota.hpp new file mode 100644 index 0000000..24b6827 --- /dev/null +++ b/fan_control/include/ota.hpp @@ -0,0 +1,8 @@ +#include + +#include +#include +#include +#include + +void ota_setup(const char* name); \ No newline at end of file diff --git a/fan_control/platformio.ini b/fan_control/platformio.ini index 7be052d..30786b4 100644 --- a/fan_control/platformio.ini +++ b/fan_control/platformio.ini @@ -10,7 +10,8 @@ [env:sonoff_basic] platform = espressif8266 -board = sonoff_basic +;board = sonoff_basic +board = d1_mini_lite framework = arduino lib_deps = diff --git a/fan_control/src/main.cpp b/fan_control/src/main.cpp index 0cf9f26..e37eee6 100644 --- a/fan_control/src/main.cpp +++ b/fan_control/src/main.cpp @@ -1,9 +1,6 @@ #include -#include -#include -#include -#include +#include "ota.hpp" // DHT Temperature & Humidity Sensor // Unified Sensor Library Example @@ -32,56 +29,7 @@ const char* ssid = "fan_XXX"; void setup() { Serial.begin(115200); - Serial.println("Booting"); - boolean result = WiFi.softAP(ssid); - while (result == false) { - Serial.println("Connection Failed! Rebooting..."); - delay(5000); - ESP.restart(); - } - - // Port defaults to 3232 - // ArduinoOTA.setPort(8266); - - // Hostname defaults to esp3232-[MAC] - ArduinoOTA.setHostname("myesp32.local"); - - // No authentication by default - // ArduinoOTA.setPassword("admin"); - - // Password can be set with it's md5 value as well - // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3 - // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3"); - - ArduinoOTA.onStart([]() { - String type; - if (ArduinoOTA.getCommand() == U_FLASH) - type = "sketch"; - else // U_SPIFFS - type = "filesystem"; - - // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end() - Serial.println("Start updating " + type); - }); - ArduinoOTA.onEnd([]() { - Serial.println("\nEnd"); - }); - ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { - Serial.printf("Progress: %u%%\r", (progress / (total / 100))); - }); - ArduinoOTA.onError([](ota_error_t error) { - Serial.printf("Error[%u]: ", error); - if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); - else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); - else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); - else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); - else if (error == OTA_END_ERROR) Serial.println("End Failed"); - }); - ArduinoOTA.begin(); - Serial.println("Ready"); - Serial.print("IP address: "); - Serial.println(WiFi.localIP()); - + ota_setup(ssid); // Initialize device. dht.begin(); @@ -114,6 +62,7 @@ void setup() { void loop() { ArduinoOTA.handle(); + Serial.println(WiFi.softAPIP()); // Delay between measurements. delay(delayMS); diff --git a/fan_control/src/ota.cpp b/fan_control/src/ota.cpp new file mode 100644 index 0000000..247772b --- /dev/null +++ b/fan_control/src/ota.cpp @@ -0,0 +1,56 @@ +#include "ota.hpp" + +void ota_setup(const char* ssid) { + Serial.begin(115200); + Serial.println("Booting"); + boolean result = WiFi.softAP(ssid); + while (result == false) { + Serial.println("Connection Failed! Rebooting..."); + delay(5000); + ESP.restart(); + } + Serial.println(WiFi.softAPIP()); + + // Port defaults to 3232 + // ArduinoOTA.setPort(8266); + + // Hostname defaults to esp3232-[MAC] + ArduinoOTA.setHostname("myesp32.local"); + + // No authentication by default + // ArduinoOTA.setPassword("admin"); + + // Password can be set with it's md5 value as well + // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3 + // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3"); + + ArduinoOTA.onStart([]() { + String type; + if (ArduinoOTA.getCommand() == U_FLASH) + type = "sketch"; + else // U_SPIFFS + type = "filesystem"; + + // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end() + Serial.println("Start updating " + type); + }); + ArduinoOTA.onEnd([]() { + Serial.println("\nEnd"); + }); + ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { + Serial.printf("Progress: %u%%\r", (progress / (total / 100))); + }); + ArduinoOTA.onError([](ota_error_t error) { + Serial.printf("Error[%u]: ", error); + if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); + else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); + else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); + else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); + else if (error == OTA_END_ERROR) Serial.println("End Failed"); + }); + ArduinoOTA.begin(); + Serial.println("Ready"); + Serial.print("IP address: "); + Serial.println(WiFi.localIP()); + +} \ No newline at end of file