diff --git a/BasicOTA/.gitignore b/BasicOTA/.gitignore new file mode 100644 index 0000000..7654ec8 --- /dev/null +++ b/BasicOTA/.gitignore @@ -0,0 +1 @@ +BasicOTA.h diff --git a/BasicOTA/BasicOTA.h.template b/BasicOTA/BasicOTA.h.template new file mode 100644 index 0000000..f0ced94 --- /dev/null +++ b/BasicOTA/BasicOTA.h.template @@ -0,0 +1,6 @@ +// WiFi configuration +const char* ssid = "http://kiel.freifunk.net/"; +const char* password = ""; + +// OTA Hostname +const char* ota_hostname = "BasicOTA"; diff --git a/BasicOTA/BasicOTA.ino b/BasicOTA/BasicOTA.ino new file mode 100644 index 0000000..7a18c8c --- /dev/null +++ b/BasicOTA/BasicOTA.ino @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include "BasicOTA.h" + +void setup() { + Serial.begin(115200); + Serial.println("Booting"); + WiFi.mode(WIFI_STA); + WiFi.begin(ssid, password); + while (WiFi.waitForConnectResult() != WL_CONNECTED) { + Serial.println("Connection Failed! Rebooting..."); + delay(5000); + ESP.restart(); + } + + // Port defaults to 8266 + // ArduinoOTA.setPort(8266); + + // Hostname defaults to esp8266-[ChipID] + ArduinoOTA.setHostname(ota_hostname); + + // No authentication by default + ArduinoOTA.setPassword(ota_hostname); + + ArduinoOTA.onStart([]() { + Serial.println("Start"); + }); + 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()); +} + +void loop() { + ArduinoOTA.handle(); +}