Add AndroidOTA
This commit is contained in:
parent
f12fbafc47
commit
68914621ee
1 changed files with 45 additions and 1 deletions
46
src/main.cpp
46
src/main.cpp
|
@ -1,5 +1,6 @@
|
|||
#include <Arduino.h>
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <ArduinoOTA.h>
|
||||
|
||||
#define RELAY 4 // GPIO4
|
||||
#define WIFI_NAME "TechInc"
|
||||
|
@ -7,6 +8,8 @@
|
|||
#define HTTP_HOST "google.com"
|
||||
#define HTTP_PORT (80)
|
||||
|
||||
void ensureWiFiConnection();
|
||||
|
||||
bool testHTTP() {
|
||||
WiFiClient client;
|
||||
client.setNoDelay(true);
|
||||
|
@ -18,10 +21,47 @@ bool testHTTP() {
|
|||
// Returns true if Internet works
|
||||
bool uplinkWorks() { return testHTTP(); }
|
||||
|
||||
void setupOTA() {
|
||||
ArduinoOTA.onStart([]() {
|
||||
String type;
|
||||
if (ArduinoOTA.getCommand() == U_FLASH) {
|
||||
type = "sketch";
|
||||
} else { // U_FS
|
||||
type = "filesystem";
|
||||
}
|
||||
|
||||
// NOTE: if updating FS this would be the place to unmount FS using FS.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();
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
pinMode(RELAY, OUTPUT);
|
||||
ensureWiFiConnection();
|
||||
setupOTA();
|
||||
}
|
||||
|
||||
void relayOn() {
|
||||
|
@ -63,8 +103,12 @@ void ensureWiFiConnection() {
|
|||
Serial.println(WiFi.localIP());
|
||||
}
|
||||
}
|
||||
|
||||
void loop() {
|
||||
ensureWiFiConnection();
|
||||
testInternet();
|
||||
delay(5000);
|
||||
for (size_t i = 0; i < 5; i++) {
|
||||
ArduinoOTA.handle();
|
||||
delay(1000);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue