Added OTA updating

This commit is contained in:
Rene Zeldenthuis
2022-09-20 11:33:46 +02:00
parent b1480a93d9
commit 84505eef0a
2 changed files with 32 additions and 6 deletions

View File

@@ -7,6 +7,8 @@
#define WIFI_PASSWORD nullptr #define WIFI_PASSWORD nullptr
#define CONFIG_VERSION "1.1" #define CONFIG_VERSION "1.1"
#define OTA_PASSWORD "ESP32CAM-RTSP"
#define RTSP_PORT 554 #define RTSP_PORT 554
#define DEFAULT_CAMERA_CONFIG "AI THINKER" #define DEFAULT_CAMERA_CONFIG "AI THINKER"
#define DEFAULT_FRAME_DURATION "20" #define DEFAULT_FRAME_DURATION "20"

View File

@@ -1,4 +1,5 @@
#include <Arduino.h> #include <Arduino.h>
#include <ArduinoOTA.h>
#include <soc/rtc_cntl_reg.h> #include <soc/rtc_cntl_reg.h>
#include <IotWebConf.h> #include <IotWebConf.h>
#include <IotWebConfTParameter.h> #include <IotWebConfTParameter.h>
@@ -246,11 +247,34 @@ void setup()
MDNS.begin(iotWebConf.getThingName()); MDNS.begin(iotWebConf.getThingName());
// Add service to mDNS - http // Add service to mDNS - http
MDNS.addService("http", "tcp", 80); MDNS.addService("http", "tcp", 80);
ArduinoOTA
.onStart([]()
{ log_w("Starting OTA update: %s", ArduinoOTA.getCommand() == U_FLASH ? "sketch" : "filesystem"); })
.onEnd([]()
{ log_w("OTA update done!"); })
.onProgress([](unsigned int progress, unsigned int total)
{ log_i("OTA Progress: %u%%\r", (progress / (total / 100))); })
.onError([](ota_error_t error)
{
switch (error)
{
case OTA_AUTH_ERROR: log_e("OTA: Auth Failed"); break;
case OTA_BEGIN_ERROR: log_e("OTA: Begin Failed"); break;
case OTA_CONNECT_ERROR: log_e("OTA: Connect Failed"); break;
case OTA_RECEIVE_ERROR: log_e("OTA: Receive Failed"); break;
case OTA_END_ERROR: log_e("OTA: End Failed"); break;
default: log_e("OTA error: %u", error);
} });
// Start (OTA) Over The Air programming
ArduinoOTA.setPassword(OTA_PASSWORD);
ArduinoOTA.begin();
} }
void loop() void loop()
{ {
iotWebConf.doLoop(); iotWebConf.doLoop();
ArduinoOTA.handle();
if (camera_server) if (camera_server)
camera_server->doLoop(); camera_server->doLoop();