ElegantOTA
ESP-WebOTA
ElegantOTA | ESP-WebOTA | |
---|---|---|
4 | 3 | |
520 | 282 | |
- | - | |
8.1 | 6.2 | |
13 days ago | 5 months ago | |
C++ | C++ | |
GNU Affero General Public License v3.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ElegantOTA
-
OTA Updates & Community Resources
As u/__deeetz__ pointed out, the esp32 already had a good OTA mechanism, and there are some libraries that simplify the whole process - probably one of the more popular ones is ElegantOTA: https://github.com/ayushsharma82/ElegantOTA If I understand what you're doing correctly, you'll really have just 2 layers, not 3 - one being your application (which effectively has the Kernel/OS compiled in), and then your scripting/LUA component. Technically the ESP32 also has a bootloader portion, but it's pretty uncommon to need to modify that in any way, so I would highly recommend against doing that. As far as dealing with the LUA scripts - you can easily download and run those - you'll store them into NV ram, and I believe the current recommended format is LittleFS. Keep in mind that on a normal ESP32 configured to do OTA updates there's 4MB of storage, 2x 1.8MB for the two bootable images, and ~200k for the file system (in this case LittleFS). There are also other boards which come with more flash memory, like the new S3R8 has 16MB of flash, so your OTA partitions stay about the same in most cases, but you now have ~12MB of storage, which I suspect would be way beyond anything you'd need for storing LUA.
- How to power esp32-33 Feather TFT?
- ESP32 C3 firmware upgrade over UART to select partition
-
Example of OTA via HTTP server on IDF?
I'm looking for a small, thin example of the ESP32 hosting a webserver to accept firmware update files for OTA updates. There's a handful of Arduino libraries that do exactly this (e.g. https://github.com/ayushsharma82/ElegantOTA) but I haven't come across anything clean that's just built around IDF.
ESP-WebOTA
-
How do I disable the task watchdog on an ESP32?
You shouldn't need to disable the watchdog timer. I'm the author of WebOTA and I do updates just fine with the WDT enabled.
-
Need help storing a semi-large HTML as a string in code
I'm working on a drop-in library and it would greatly complicate thing for users if I required them to #include my library and upload a filesystem to their board.
What are some alternatives?
esp-idf - Espressif IoT Development Framework. Official development framework for Espressif SoCs.
FireLamp_EmbUI - Project Fire Lamp based on EmbUI framework (GPL license)
Sonoff-Tasmota - Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at [Moved to: https://github.com/arendst/Tasmota]
ESPLogger - An Arduino library providing a minimal interface to log data on flash memory and SD cards with ESP8266 and ESP32.
esp32_template
dscKeybusInterface - An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
fpc-esp-freertos
dimmable-light - Arduino library to manage dimmers compatible with AVR, ESP8266, ESP32, SAMD, and RP2040 platforms.
Tasmota - Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
Split-Single-Phase-Energy-Meter - Split Single-phase Energy Meter
Arduino-HomeKit-ESP8266 - Native Apple HomeKit accessory implementation for the ESP8266 Arduino core.
Captive-Portal-ESP32 - A ESP32 Captive Portal example that actually works...