ESP_WiFiManager_Lite for ESP32/ESP8266. Now support ESP32-S2
Posted: Fri Feb 12, 2021 10:02 pm
ESP_WiFiManager_Lite
How To Install Using Arduino Library Manager
If you have used one of the full-fledge WiFiManagers such as :
1. Tzapu WiFiManager
2. Ken Taylor WiFiManager
3. Khoi Hoang ESP_WiFiManager
and have to write complicated callback functions to save custom parameters in SPIFFS/LittleFS/EEPROM, you'd appreciate the simplicity of this Light-Weight Credentials / WiFiManager.
This is a Credentials / WiFi Connection Manager for ESP32 and ESP8266 boards, permitting the addition of custom parameters to be configured in Config Portal. The parameters then will be saved automatically, without the complicated callback functions to handle data saving / retrieving.
You can also specify DHCP HostName, static AP and STA IP. Use much less memory compared to full-fledge WiFiManager. Config Portal will be auto-adjusted to match the number of dynamic custom parameters. Credentials are saved in LittleFS, SPIFFS or EEPROM.
The web configuration portal, served from the ESP32/ESP8266 WiFi is operating as an access point (AP) with configurable static IP address or use default IP Address of 192.168.4.1
New features:
- MultiWiFi feature for configuring/auto(re)connecting ESP32/ESP8266 WiFi to the available MultiWiFi APs at runtime.
- Multi/DoubleDetectDetector feature to force Config Portal when multi/double reset is detected within predetermined time, default 10s.
- Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters.
- Optional default Credentials as well as Dynamic parameters to be optionally autoloaded into Config Portal to use or change instead of manually input.
- Dynamic custom parameters to be saved automatically in non-volatile memory, such as LittleFS, SPIFFS or EEPROM. .
- Configurable Config Portal Title to be either BoardName or default undistinguishable names.
- Examples are designed to separate Credentials / Defines / Dynamic Params / Code so that you can change Credentials / Dynamic Params quickly for each device.
- Control Config Portal from software or Virtual Switches
- To permit autoreset after configurable timeout if DRD/MRD or non-persistent forced-CP
- Use new ESP32 LittleFS features
Currently supported Boards
This ESP_WiFiManager_Lite library currently supports these following boards:
1. ESP32-based (including ESP32-S2) boards
2. ESP8266-based boards
Changelog
Release v1.1.0
1. Add support to ESP32-S2 (ESP32-S2 Saola and AI-Thinker ESP-12K)
2. Add Instructions to install ESP32-S2 core
Release v1.0.0
1. Initial release to support ESP32 and ESP8266.
This is the terminal output when running ESP_WiFi_MQTT example on example on ESP8266_NODEMCU:
1. No Config Data => Open Config Portal
2. Got valid Credentials from Config Portal then connected to WiFi
3. Lost a WiFi and autoconnect to another WiFi AP
Config Portal screens:
1.Main Screen
2. Input Credentials:
3. After pressing Save button
How To Install Using Arduino Library Manager
If you have used one of the full-fledge WiFiManagers such as :
1. Tzapu WiFiManager
2. Ken Taylor WiFiManager
3. Khoi Hoang ESP_WiFiManager
and have to write complicated callback functions to save custom parameters in SPIFFS/LittleFS/EEPROM, you'd appreciate the simplicity of this Light-Weight Credentials / WiFiManager.
This is a Credentials / WiFi Connection Manager for ESP32 and ESP8266 boards, permitting the addition of custom parameters to be configured in Config Portal. The parameters then will be saved automatically, without the complicated callback functions to handle data saving / retrieving.
You can also specify DHCP HostName, static AP and STA IP. Use much less memory compared to full-fledge WiFiManager. Config Portal will be auto-adjusted to match the number of dynamic custom parameters. Credentials are saved in LittleFS, SPIFFS or EEPROM.
The web configuration portal, served from the ESP32/ESP8266 WiFi is operating as an access point (AP) with configurable static IP address or use default IP Address of 192.168.4.1
New features:
- MultiWiFi feature for configuring/auto(re)connecting ESP32/ESP8266 WiFi to the available MultiWiFi APs at runtime.
- Multi/DoubleDetectDetector feature to force Config Portal when multi/double reset is detected within predetermined time, default 10s.
- Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters.
- Optional default Credentials as well as Dynamic parameters to be optionally autoloaded into Config Portal to use or change instead of manually input.
- Dynamic custom parameters to be saved automatically in non-volatile memory, such as LittleFS, SPIFFS or EEPROM. .
- Configurable Config Portal Title to be either BoardName or default undistinguishable names.
- Examples are designed to separate Credentials / Defines / Dynamic Params / Code so that you can change Credentials / Dynamic Params quickly for each device.
- Control Config Portal from software or Virtual Switches
- To permit autoreset after configurable timeout if DRD/MRD or non-persistent forced-CP
- Use new ESP32 LittleFS features
Currently supported Boards
This ESP_WiFiManager_Lite library currently supports these following boards:
1. ESP32-based (including ESP32-S2) boards
2. ESP8266-based boards
Changelog
Release v1.1.0
1. Add support to ESP32-S2 (ESP32-S2 Saola and AI-Thinker ESP-12K)
2. Add Instructions to install ESP32-S2 core
Release v1.0.0
1. Initial release to support ESP32 and ESP8266.
This is the terminal output when running ESP_WiFi_MQTT example on example on ESP8266_NODEMCU:
1. No Config Data => Open Config Portal
Code: Select all
Starting ESP_WiFi_MQTT using LittleFS on ESP8266_NODEMCU
ESP_WiFiManager_Lite v1.0.0
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
lowerBytes = 0x0001, upperBytes = 0x0001
No multiResetDetected, number of times = 1
LittleFS Flag read = 0xFFFE0001
Saving config file...
Saving config file OK
[WML] Hostname=ESP8266-Controller
[WML] LoadCfgFile
[WML] OK
[WML] ======= Start Stored Config Data =======
[WML] Hdr=ESP_WM_LITE,SSID=HueNet1,PW=12345678
[WML] SSID1=HueNet2,PW1=12345678
[WML] BName=ESP8266_WM_Lite
[WML] i=0,id=svr,data=io.adafruit.com
[WML] i=1,id=prt,data=1883
[WML] i=2,id=usr,data=private
[WML] i=3,id=key,data=private
[WML] i=4,id=pub,data=/feeds/Temperature
[WML] i=5,id=sub,data=/feeds/LED_Control
[WML] LoadCredFile
[WML] OK
[WML] Invalid Stored Dynamic Data. Ignored
[WML] InitCfgFile,sz=236
[WML] SaveCfgFile
[WML] WCSum=0xda0
[WML] OK
[WML] SaveBkUpCfgFile
[WML] OK
[WML] SaveCredFile
[WML] OK
[WML] CrWCSum=0xc30
[WML] SaveBkUpCredFile
[WML] OK
[WML] LoadCPFile
[WML] OK
[WML] bg:Stay forever in CP:No ConfigDat
[WML] SaveCPFile
[WML] OK
[WML] SaveBkUpCPFile
[WML] OK
N
Your stored Credentials :
AIO_SERVER = blank
AIO_SERVERPORT = blank
AIO_USERNAME = blank
AIO_KEY = blank
AIO_PUB_TOPIC = blank
AIO_SUB_TOPIC = blank
NStop multiResetDetecting
Saving config file...
Saving config file OK
NNN
Code: Select all
[WML] h:UpdLittleFS
[WML] SaveCfgFile
[WML] WCSum=0x13a5
[WML] OK
[WML] SaveBkUpCfgFile
[WML] OK
[WML] SaveCredFile
[WML] OK
[WML] CrWCSum=0x2236
[WML] SaveBkUpCredFile
[WML] OK
[WML] h:Rst
Starting ESP_WiFi_MQTT using LittleFS on ESP8266_NODEMCU
ESP_WiFiManager_Lite v1.0.0
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
lowerBytes = 0x0001, upperBytes = 0x0001
No multiResetDetected, number of times = 1
LittleFS Flag read = 0xFFFE0001
Saving config file...
Saving config file OK
[WML] Hostname=ESP8266-Controller
[WML] LoadCfgFile
[WML] OK
[WML] ======= Start Stored Config Data =======
[WML] Hdr=ESP_WM_LITE,SSID=HueNet1,PW=12345678
[WML] SSID1=HueNet2,PW1=12345678
[WML] BName=ESP8266_WM_MQTT
[WML] i=0,id=svr,data=io.adafruit.com
[WML] i=1,id=prt,data=1883
[WML] i=2,id=usr,data=private
[WML] i=3,id=key,data=private
[WML] i=4,id=pub,data=/feeds/Temperature
[WML] i=5,id=sub,data=/feeds/LED_Control
[WML] LoadCredFile
[WML] OK
[WML] Valid Stored Dynamic Data
[WML] Hdr=ESP_WM_LITE,SSID=HueNet1,PW=12345678
[WML] SSID1=HueNet2,PW1=12345678
[WML] BName=ESP8266_WM_MQTT
[WML] i=0,id=svr,data=io.adafruit.com
[WML] i=1,id=prt,data=1883
[WML] i=2,id=usr,data=user_name
[WML] i=3,id=key,data=aio_key
[WML] i=4,id=pub,data=/feeds/Temperature
[WML] i=5,id=sub,data=/feeds/LED_Control
[WML] LoadCPFile
[WML] OK
[WML] Connecting MultiWifi...
[WML] WiFi connected after time: 1
[WML] SSID=HueNet1,RSSI=-43
[WML] Channel=2,IP=192.168.2.98
[WML] bg: WiFi OK.
Creating new WiFi client object OK
Creating new MQTT object OK
AIO_SERVER = io.adafruit.com, AIO_SERVERPORT = 1883
AIO_USERNAME = user_name, AIO_KEY = aio_key
Creating new MQTT_Pub_Topic, Temperature = user_name/feeds/Temperature
Creating new Temperature object OK
Temperature MQTT_Pub_Topic = user_name/feeds/Temperature
Creating new AIO_SUB_TOPIC, LED_Control = user_name/feeds/LED_Control
Creating new LED_Control object OK
LED_Control AIO_SUB_TOPIC = user_name/feeds/LED_Control
Connecting to WiFi MQTT (3 attempts)...
WiFi MQTT connection successful!
TW
Your stored Credentials :
AIO_SERVER = io.adafruit.com
AIO_SERVERPORT = 1883
AIO_USERNAME = user_name
AIO_KEY = aio_key
AIO_PUB_TOPIC = /feeds/Temperature
AIO_SUB_TOPIC = /feeds/LED_Control
Stop multiResetDetecting
Saving config file...
Saving config file OK
TWTWTWTW TW
Code: Select all
[WML] run: WiFi lost. Reconnect WiFi
[WML] Connecting MultiWifi...
[WML] WiFi connected after time: 1
[WML] SSID=HueNet2,RSSI=-54
[WML] Channel=4,IP=192.168.2.98
[WML] run: WiFi reconnected
H
Config Portal screens:
1.Main Screen
2. Input Credentials:
3. After pressing Save button