mirror of
https://github.com/timmbogner/Farm-Data-Relay-System
synced 2024-11-08 13:10:29 +00:00
Add OTA support via ArduinoOTA
This commit is contained in:
parent
520b22d029
commit
4ee23b54ef
@ -72,6 +72,7 @@ void releaseLogBuffer();
|
||||
#ifdef USE_WIFI
|
||||
#include "fdrs_gateway_wifi.h"
|
||||
#include "fdrs_gateway_mqtt.h"
|
||||
#include "fdrs_gateway_ota.h"
|
||||
#endif
|
||||
#if defined(USE_FS_LOG) || defined(USE_SD_LOG)
|
||||
#include "fdrs_gateway_filesystem.h"
|
||||
@ -127,6 +128,7 @@ void beginFDRS()
|
||||
begin_wifi();
|
||||
DBG("Connected.");
|
||||
begin_mqtt();
|
||||
begin_OTA();
|
||||
#endif
|
||||
#ifdef USE_ESPNOW
|
||||
begin_espnow();
|
||||
@ -178,6 +180,7 @@ void loopFDRS()
|
||||
#endif
|
||||
#ifdef USE_WIFI
|
||||
handleMQTT();
|
||||
handleOTA();
|
||||
#endif
|
||||
if (newData != event_clear)
|
||||
{
|
||||
|
52
src/fdrs_gateway_ota.h
Normal file
52
src/fdrs_gateway_ota.h
Normal file
@ -0,0 +1,52 @@
|
||||
#if defined(ESP32) || defined(ESP8266)
|
||||
#include <ArduinoOTA.h>
|
||||
|
||||
void begin_OTA() {
|
||||
// Port defaults to 3232
|
||||
// ArduinoOTA.setPort(3232);
|
||||
|
||||
// Hostname defaults to esp3232-[MAC]
|
||||
//
|
||||
ArduinoOTA.setHostname("FDRSGW");
|
||||
|
||||
// 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()
|
||||
//ESP_LOGI(TAG, "Start updating " + type);
|
||||
});
|
||||
ArduinoOTA.onEnd([]() {
|
||||
DBG("\nEnd");
|
||||
});
|
||||
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
||||
DBG("Progress: " + String(progress / (total / 100)) + "%");
|
||||
});
|
||||
ArduinoOTA.onError([](ota_error_t error) {
|
||||
DBG("Error[" + String(error) + "]");
|
||||
if (error == OTA_AUTH_ERROR) { DBG("Auth Failed"); }
|
||||
else if (error == OTA_BEGIN_ERROR) { DBG("Begin Failed"); }
|
||||
else if (error == OTA_CONNECT_ERROR) { DBG("Connect Failed"); }
|
||||
else if (error == OTA_RECEIVE_ERROR) { DBG("Receive Failed"); }
|
||||
else if (error == OTA_END_ERROR) { DBG("End Failed"); }
|
||||
});
|
||||
|
||||
ArduinoOTA.begin();
|
||||
}
|
||||
|
||||
void handleOTA() {
|
||||
ArduinoOTA.handle();
|
||||
}
|
||||
|
||||
#endif // defined(ESP32) || defined (ESP8266)
|
Loading…
Reference in New Issue
Block a user