• Stars
    star
    592
  • Rank 75,570 (Top 2 %)
  • Language
    C++
  • License
    GNU Affero Genera...
  • Created over 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OTA updates made slick and simple for everyone!


     


Push OTAs to ESP8266 or ESP32 Elegantly!

ElegantOTA provides a beautiful interface to upload Over the Air `.bin` updates to your ESP Modules with precise status and progress displayed over UI. This Library shows the current upload progress of your OTA and once finished, it will display the status of your OTA.





How to Install

Directly Through Arduino IDE ( Currently Submitted for Approval. Use Manual Install till it gets Approved.)

Go to Sketch > Include Library > Library Manager > Search for "ElegantOTA" > Install

Manual Install

For Windows: Download the Repository and extract the .zip in Documents>Arduino>Libraries>{Place "ElegantOTA" folder Here}

For Linux: Download the Repository and extract the .zip in Sketchbook>Libraries>{Place "ElegantOTA" folder Here}

Manually through IDE

Download the Repository, Go to Sketch>Include Library>Add .zip Library> Select the Downloaded .zip File.


Documentation

ElegantOTA is a dead simple library which does your work in just 1 Line. Honestly, It's just a wrapper library which injects it's own elegant webpage instead of the ugly upload page which comes by default in Arduino Library.

Include ElegantOTA Library #include <ElegantOTA.h> at top of your Arduino Code.

Paste this - ElegantOTA.begin(&server); line above your server.begin();

That's all!


Now copy the IPAddress displayed over your Serial Monitor and go to http://<IPAddress>/update in browser. ( where <IPAddress> is the IP of your ESP Module)


By default, ElegantOTA uses your chip id as a unique id for your esp chip on webpage. If you want to set a custom id, then you can set it via ElegantOTA.setID("abcd123");. Best to place it above ElegantOTA.begin function.


Additional Security:

If you would like to add login to your OTA webpage, then please replace ElegantOTA.begin(&server); with ElegantOTA.begin(&server, "username", "password");. This will prevent unauthorized requests to your OTA webpage and prevent unauthorized firmware upload to your MCU.


Antivirus Issue: If you have an antivirus on your PC with internet security, the progress bar on webpage will instantly show 100% because of request caching by your antivirus software. There is no fix for this unless you want to disable your antivirus or whitelist your local IP addresses in it. ( Same is the case with iOS, safari will cache the outgoing requests )


Examples

Checkout code examples for ESP8266 and ESP32 in examples directory. Click Here


Contributions

Every Contribution to this repository is highly appreciated! Don't fear to create pull requests which enhance or fix the library as ultimately you are going to help everybody.

If you want to donate to the author then you can buy me a coffee, It really helps me keep these libraries updated:



License

ElegantOTA is licensed under The MIT License ( MIT ).