Philippe G e131b674fd move HTTPD stack back to 4k and do not free headers before call to httpd_resp_send %!s(int64=4) %!d(string=hai) anos
..
.gitignore d7dc25f5b6 Merge remote-tracking branch 'origin/Over_The_Air_Update' into %!s(int64=5) %!d(string=hai) anos
CMakeLists.txt 56396d11ef command to UI backend wip %!s(int64=4) %!d(string=hai) anos
Kconfig.projbuild ee1d54a1ba add a GPIO to drive external amplifier %!s(int64=5) %!d(string=hai) anos
LICENSE.md 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
README.md 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
_esp_http_server.h 56396d11ef command to UI backend wip %!s(int64=4) %!d(string=hai) anos
_esp_httpd_main.c 5badd8fc51 update make file %!s(int64=5) %!d(string=hai) anos
ap.json 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
bootstrap.min.css.gz 7e4ed77af0 move to bootstrap %!s(int64=5) %!d(string=hai) anos
bootstrap.min.js.gz 7e4ed77af0 move to bootstrap %!s(int64=5) %!d(string=hai) anos
code.js 8e639bd03f fix SL command line %!s(int64=4) %!d(string=hai) anos
component.mk ed8ff0db97 add favicon %!s(int64=5) %!d(string=hai) anos
compress.bat 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
connect 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
dns_server.c 811451f24e cmake on esp-idf V4.0 - testing version - release %!s(int64=5) %!d(string=hai) anos
dns_server.h 879272dfe4 idf.py app now builds both squeezelite and recovery in a single pass %!s(int64=5) %!d(string=hai) anos
favicon.ico ed8ff0db97 add favicon %!s(int64=5) %!d(string=hai) anos
http_server_handlers.c e131b674fd move HTTPD stack back to 4k and do not free headers before call to httpd_resp_send %!s(int64=4) %!d(string=hai) anos
http_server_handlers.h 293d08deec system config UI work in progress %!s(int64=4) %!d(string=hai) anos
index.html 0521ecb250 tweak command line (wav) and equalizer warning messages %!s(int64=4) %!d(string=hai) anos
jquery.min.js.gz 7e4ed77af0 move to bootstrap %!s(int64=5) %!d(string=hai) anos
lock.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
main.c.txt 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
popper.min.js.gz 7e4ed77af0 move to bootstrap %!s(int64=5) %!d(string=hai) anos
settings.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
status 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
style.css cac9d329e1 fix message race condition %!s(int64=4) %!d(string=hai) anos
wifi0.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
wifi1.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
wifi2.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
wifi24.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
wifi3.png 6e7793a756 initial work on a wifi/http configuration module %!s(int64=5) %!d(string=hai) anos
wifi_manager.c b5fcb6b235 Move some INFO level messages to DEBUG - reducing the firmware footprint %!s(int64=4) %!d(string=hai) anos
wifi_manager.h 2ab14d62be Merged with httpd - work in progress %!s(int64=5) %!d(string=hai) anos
wifi_manager_http_server.c e131b674fd move HTTPD stack back to 4k and do not free headers before call to httpd_resp_send %!s(int64=4) %!d(string=hai) anos

README.md

What is esp32-wifi-manager?

esp32-wifi-manager is an esp32 program that enables easy management of wifi networks through a web application.

esp32-wifi-manager is lightweight (8KB of task stack in total) and barely uses any CPU power through a completely event driven architecture. It's an all in one wifi scanner, http server & dns daemon living in the least amount of RAM possible.

For real time constrained applications, esp32-wifi-manager can live entirely on PRO CPU, leaving the entire APP CPU untouched for your own needs.

esp32-wifi-manager will automatically attempt to re-connect to a previously saved network on boot, and it will start its own wifi access point through which you can manage wifi networks if a saved network cannot be found and/or if the connection is lost.

esp32-wifi-manager is an esp-idf project that compiles successfully with the esp-idf 3.2 release. You can simply copy the project and start adding your own code to it.

Demo

esp32-wifi-manager demo

Look and Feel

esp32-wifi-manager on an mobile device esp32-wifi-manager on an mobile device

Adding esp32-wifi-manager to your code

Ther are effectively three different ways you can embed esp32-wifi-manager with your code:

  • Just forget about it and poll in your code for wifi connectivity status
  • Use event callbacks
  • Modify esp32-wifi-manager code directly to fit your needs

Event callbacks are the cleanest way to use the wifi manager and that's the recommended way to do it. A typical use-case would be to get notified when wifi manager finally gets a connection an access point. In order to do this you can simply define a callback function:

void cb_connection_ok(void *pvParameter){
	ESP_LOGI(TAG, "I have a connection!");
}

Then just register it by calling:

wifi_manager_set_callback(EVENT_STA_GOT_IP, &cb_connection_ok);

That's it! Now everytime the event is triggered it will call this function.

License

esp32-wifi-manager is MIT licensed. As such, it can be included in any project, commercial or not, as long as you retain original copyright. Please make sure to read the license file.