Aucune description

Ayush Sharma a4db2db5f1 Update README.md il y a 4 ans
.github 61365d74d1 Updated Funding URLs il y a 5 ans
docs 5c7d8799c4 Update elegantOtaDemo.gif il y a 5 ans
examples e1944d1d1c Removed Hash.h from examples and README.md il y a 5 ans
src a1818909bd Added Line Breaks il y a 5 ans
ui d93ec06947 - Remove Duplicate UI Files il y a 5 ans
.gitattributes 4456661e3c Initial commit il y a 6 ans
.gitignore ec392366eb Fixed Webpage il y a 6 ans
.travis.yml ca4d30208c Update .travis.yml il y a 4 ans
LICENSE 4456661e3c Initial commit il y a 6 ans
README.md a4db2db5f1 Update README.md il y a 4 ans
build_platformio.sh 18fa94073c Make build_platformio.sh executable il y a 5 ans
keywords.txt 605323ea25 V1 il y a 6 ans
library.json 5a12e01a27 Version Bump to 2.2.5 il y a 5 ans
library.properties 5a12e01a27 Version Bump to 2.2.5 il y a 5 ans

README.md


     


Perform OTAs for ESP8266 & ESP32 Asynchronously

AsyncElegantOTA 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. This Version of Library uses AsyncWebServer. Thanks to @me-no-dev for a wonderful webserver library.



Preview



How to Install

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

Go to Sketch > Include Library > Library Manager > Search for "AsyncElegantOTA" > 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

AsyncElegantOTA 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 AsyncElegantOTA Library `#include ` at top of your Arduino Code. Paste this - `AsyncElegantOTA.begin(&server);` line above your `server.begin();` That's all! Now copy the IPAddress displayed over your Serial Monitor and go to `http:///update` in browser. ( where `` is the IP of your ESP Module)
#### Additional Security: If you would like to add login to your OTA webpage, then please replace `AsyncElegantOTA.begin(&server);` with `AsyncElegantOTA.begin(&server, "username", "password");`. This will prevent unauthorized requests to your OTA webpage and prevent unauthorized firmware upload to your MCU.

Tutorials

Tutorials for AsyncElegantOTA is live on RandomNerdTutorials.

ESP8266

Arduino IDE:

https://randomnerdtutorials.com/esp8266-nodemcu-ota-over-the-air-arduino/

PlatformIO:

https://randomnerdtutorials.com/esp8266-nodemcu-ota-over-the-air-vs-code/


ESP32

Arduino IDE:

https://randomnerdtutorials.com/esp32-ota-over-the-air-arduino/

PlatformIO:

https://randomnerdtutorials.com/esp32-ota-over-the-air-vs-code/



Examples

For ESP8266:

#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <AsyncElegantOTA.h>

const char* ssid = "........";
const char* password = "........";

AsyncWebServer server(80);


void setup(void) {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
    request->send(200, "text/plain", "Hi! I am ESP8266.");
  });

  AsyncElegantOTA.begin(&server);    // Start ElegantOTA
  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {
  AsyncElegantOTA.loop();
}


For ESP32:

#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <AsyncElegantOTA.h>

const char* ssid = "........";
const char* password = "........";

AsyncWebServer server(80);


void setup(void) {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
    request->send(200, "text/plain", "Hi! I am ESP32.");
  });

  AsyncElegantOTA.begin(&server);    // Start ElegantOTA
  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {
  AsyncElegantOTA.loop();
}



Contributions

Every Contribution to this repository is highly appriciated! Don't fear to create pull requests which enhance or fix the library as ultimatly 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

ESP-DASH is licensed under MIT.