WiFiManager_Generic_Lite for STM32F/L/H/G/WB/MP1 using generic WiFi

Working libraries, libraries being ported and related hardware
Post Reply
khoih-prog
Posts: 102
Joined: Thu Feb 27, 2020 7:54 am
Location: Toronto

WiFiManager_Generic_Lite for STM32F/L/H/G/WB/MP1 using generic WiFi

Post by khoih-prog »

WiFiManager_Generic_Lite

How To Install Using Arduino Library Manager

If you have used the full-fledge WiFiManager 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 library is a Light Weight Credentials / WiFi Manager for Generic WiFi (WiFiNINA, WINC1500/WiFi101, WiFiEsp, etc.) modules/shields, specially designed to support Teensy, SAM DUE, SAMD21 (Nano-33 IoT, Itsy-Bitsy M0, etc), SAMD51 (Itsy-Bitsy M4, Metro M4, Grand Central M4, Feather M4 Express, etc.), STM32F/L/H/G/WB/MP1 (F1, F2, F3, F4, F7, Nucleo-144, etc.), nRF52 (Adafruit NRF52840_FEATHER, NRF52832_FEATHER, NRF52840_FEATHER_SENSE, NRF52840_ITSYBITSY, NRF52840_CIRCUITPLAY, NRF52840_CLUE, NRF52840_METRO, NRF52840_PCA10056, PARTICLE_XENON, NINA_B302_ublox, NINA_B112_ublox, etc.), etc. boards running Generic WiFi modules/shields. with smaller memory (64+K bytes)

The AVR-family boards (UNO, Nano, etc.) are not supported as they don't have enough memory to run Config Portal WebServer.

This is a Credentials / WiFi Connection Manager, 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 EEPROM, (emulated-)EEPROM, FlashStorage_SAMD, FlashStorage_STM32 or DueFlashStorage.

The web configuration portal, served from the Generic WiFi modules/shields 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 Generic WiFi (WiFiNINA, WINC1500/WiFi101, WiFiEsp, etc.) shields to the available MultiWiFi APs at runtime.
- DoubleDetectDetector feature to force Config Portal when 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 Mega, Teensy EEPROM, SAMD EEPROM-emulated FlashStorage_SAMD, STM32F/L/H/G/WB/MP1 EEPROM-emulated FlashStorage_STM32 or SAM DUE DueFlashStorage .
- 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 nRF52 LittleFS, SAMD FlashStorage_SAMD and STM32F/L/H/G/WB/MP1 FlashStorage_STM32 features


Currently supported Boards

This WiFiManager_Generic_Lite library currently supports these following boards:

1. STM32F/L/H/G/WB/MP1 boards (with 32+K Flash)
- Nucleo-144
- Nucleo-64
- Discovery
- Generic STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7 (with 64+K Flash): x8 and up
- STM32L0, STM32L1, STM32L4
- STM32G0, STM32G4
- STM32H7
- STM32WB
- STM32MP1
- LoRa boards
- 3-D printer boards
- Generic Flight Controllers
- Midatronics boards

2. nRF52 boards , such as AdaFruit Feather nRF52832, nRF52840 Express, BlueFruit Sense, Itsy-Bitsy nRF52840 Express, Metro nRF52840 Express, NINA_B302_ublox, NINA_B112_ublox, etc.

3. SAMD21
- Arduino SAMD21: ZERO, MKRs, NANO_33_IOT, etc.
- Adafruit SAMD21 (M0): ItsyBitsy M0, Feather M0, Feather M0 Express, Metro M0 Express, Circuit Playground Express, Trinket M0, PIRkey, Hallowing M0, Crickit M0, etc.
- Seeeduino: LoRaWAN, Zero, Femto M0, XIAO M0, Wio GPS Board, etc.

4. SAMD51
- Adafruit SAMD51 (M4): Metro M4, Grand Central M4, ItsyBitsy M4, Feather M4 Express, Trellis M4, Metro M4 AirLift Lite, MONSTER M4SK Express, Hallowing M4, etc.
- Seeeduino: Wio Terminal, Grove UI Wireless

5. SAM DUE
6. Teensy (4.1, 4.0, 3.6, 3.5, 3,2, 3.1, 3.0)
7. AVR Mega1280, 2560, ADK.

Currently supported WiFi shields/modules

1. WiFiNINA using WiFiNINA_Generic library
2. WiFi101 using WiFi101 library
3. U-Blox W101, W102 using WiFiNINA_Generic library
4. ESP826-AT command using WiFiEspAT library
5. ESP8266/ESP32-AT command using ESP_AT_Lib library


Changelog

Release v1.0.2

1. Add support to STM32F/L/H/G/WB/MP1 using ATWINC1500/WiFi101. Thanks to Max Gerhardt in attachInterrupt() on wifi101 unidentified

Release v1.0.1

1. Fix bug.
2. Drop support to Mega due to marginal memory issue.

Release v1.0.0

1. Initial release to support many boards and Generic WiFi (WiFiNINA, WINC1500/WiFi101, WiFiEsp, etc.) using WiFiNINA_Generic, WiFi101, WiFiEsp, etc. libraries.


Config Portal screens

1. Main Screen

Image


2. Input Credentials:

Image


3. After pressing Save button

Image
khoih-prog
Posts: 102
Joined: Thu Feb 27, 2020 7:54 am
Location: Toronto

Re: WiFiManager_Generic_Lite for STM32F/L/H/G/WB/MP1 using generic WiFi

Post by khoih-prog »

Major Releases v1.1.0

1. Configurable Customs HTML Headers, including Customs Style, Customs Head Elements, CORS Header.
2. Fix Config Portal Bug.
3. Add functions to control Config Portal from software or Virtual Switches.
4. Use more efficient FlashStorage_STM32 and FlashStorage_SAMD library
5. Optimize code.
6. Update examples
Post Reply

Return to “Libraries & Hardware”