WiFiMulti_Generic library
How To Install Using Arduino Library Manager
Features
This WiFiMulti_Generic library is a simple MultiWiFi library to adapt ESP32/ESP8266 MultiWiFi
feature of WiFi libraries to all other WiFi modules and libraries. The functions are similar and compatible to those of ESP32 MultiWiFi
and ESP8266 MultiWiFi
libraries to make life much easier to port sketches from ESP8266/ESP32.
Currently Supported Boards
This WiFiMulti_Generic library currently supports these following boards:
-
SAM DUE
-
SAMD21
- Arduino: ZERO, MKR, 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.
- SAMD51
- Adafruit SAMD51 (M4) : Metro M4, Grand Central M4, ItsyBitsy M4, Feather M44 Express, Trellis M4, Metro M4 AirLift lite, MONSTER M4SK Express, Hallowing EM4 xpress, etc.
- Seeeduino: Wio Terminal, Grove UI Wireless
-
Teensy (4.1, 4.0, 3.6, 3.5, 3,2, 3.1, 3.0, LC)
-
All STM32F/L/H/G/WB/MP1 with more than 32KB flash memory.
-
AVR Mega1280, 2560, ADK. Not yet
-
RP2040-based boards, such as Nano RP2040 Connect, using Arduino-mbed RP2040 core or Earle Philhower's arduino-pico core.
-
RP2040-based boards, such as RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040, using Arduino-mbed RP2040 core or Earle Philhower's arduino-pico core.
-
ESP32
- ESP32 boards, such as
ESP32_DEV
, etc. - ESP32S2-based boards, such as
ESP32S2_DEV
,ESP32_S2 Saola
, etc. - ESP32C3-based boards, such as
ESP32C3_DEV
, etc. New - ESP32_S3 (ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, etc.) New
-
ESP8266
-
Portenta_H7 Not yet
Currently supported WiFi shields/modules
- WiFiNINA using
WiFiNINA_Generic
library - WiFi101 using
WiFi101 library
Not yet - u-blox W101, W102 using
WiFiNINA_Generic library
- ESP8266-AT command using
WiFiEspAT library
- ESP8266/ESP32-AT command using
ESP_AT_Lib library
- Built-in WiFi of ESP32, ESP8266
- Built-in WiFi of Portenta_H7 Not yet
Changelog
Releases v1.0.0
- Initial coding to support ESP32, ESP8266, WiFiNINA and ESP8266_AT and ESP32_AT WiFi for many boards (nRF52, SAMD, Teensy, RP2040, SAM-DUE, ESP32, ESP8266, etc.)
Examples:
Debug Terminal Output Samples
1. WiFiMulti on RASPBERRY_PI_PICO
The following are debug terminal output when running example WiFiMulti on RASPBERRY_PI_PICO
with ESP8266_AT shield using RP2040 arduino-pico core and WiFiEspAT library
1.1 First time => OK
Starting WiFiMulti on RASPBERRY_PI_PICO
WiFiMulti_Generic v1.0.0
WiFi shield init done
[WFM] [addAP] add SSID: HueNet1
[WFM] [addAP] add SSID: HueNet2
Connecting WiFi...
[WFM] [run] Scan done
[WFM] [run] Number of Networks found: 6
==============================================================
[WFM] Unknown => # 0 , Channel: 10
[WFM] 4D:AB:D3:E0:38:60
[WFM] SSID: HueNet , RSSI: -24 , Secured: y
==============================================================
[WFM] Known => # 1 , Channel: 2
[WFM] A5:F4:94:74:7F:68
[WFM] SSID: HueNet1 , RSSI: -33 , Secured: y
==============================================================
[WFM] Unknown => # 2 , Channel: 11
[WFM] F1:9:E3:66:90:3C
[WFM] SSID: HueNetTek , RSSI: -33 , Secured: y
==============================================================
[WFM] Known => # 3 , Channel: 4
[WFM] E1:EB:E2:E0:38:60
[WFM] SSID: HueNet2 , RSSI: -56 , Secured: y
==============================================================
[WFM] Unknown => # 4 , Channel: 1
[WFM] A6:2:69:6D:2C:E8
[WFM] SSID: SmartRG-02a2 , RSSI: -66 , Secured: y
==============================================================
[WFM] Unknown => # 5 , Channel: 0
[WFM] 1:BF:BA:9C:80:85
[WFM] SSID: -71 , RSSI: 8 , Secured: y
==============================================================
[run] Connecting BSSID: [WFM] A5:F4:94:74:7F:68
[WFM] SSID: HueNet1 , Channel: 2 , Best dB: -33
[WFM] [run] Connecting done.
[WFM] [run] SSID: HueNet1 , IP: 192.168.2.109
WiFi connected, IP address: 192.168.2.109
1.2 Lost WiFi => Scan and auto-reconnect
WiFi lost. Trying to scan and reconnect
[WFM] [run] Scan done
[WFM] [run] Number of Networks found: 6
==============================================================
[WFM] Unknown => # 0 , Channel: 10
[WFM] 4D:AB:D3:E0:38:60
[WFM] SSID: HueNet , RSSI: -26 , Secured: y
==============================================================
[WFM] Unknown => # 1 , Channel: 11
[WFM] F1:9:E3:66:90:3C
[WFM] SSID: HueNetTek , RSSI: -38 , Secured: y
==============================================================
[WFM] Known => # 2 , Channel: 4
[WFM] E1:EB:E2:E0:38:60
[WFM] SSID: HueNet2 , RSSI: -57 , Secured: y
==============================================================
[WFM] Unknown => # 3 , Channel: 5
[WFM] 8A:20:11:2A:C3:E4
[WFM] SSID: DECO-5655 , RSSI: -70 , Secured: y
==============================================================
[WFM] Unknown => # 4 , Channel: 1
[WFM] A6:2:69:6D:2C:E8
[WFM] SSID: SmartRG-02a2 , RSSI: -72 , Secured: y
==============================================================
[WFM] Unknown => # 5 , Channel: 1
[WFM] 16:49:8A:35:94:C0
[WFM] SSID: Access , RSSI: -77 , Secured: y
==============================================================
[run] Connecting BSSID: [WFM] E1:EB:E2:E0:38:60
[WFM] SSID: HueNet2 , Channel: 4 , Best dB: -57
[WFM] [run] Connecting done.
[WFM] [run] SSID: HueNet2 , IP: 192.168.2.109
[WFM] WiFi connected after time: 1
[WFM] SSID: HueNet2 ,RSSI= -65
[WFM] IP address: 192.168.2.109
2. WiFiMulti on NANO_RP2040_CONNECT
The following are debug terminal output when running example WiFiMulti on NANO_RP2040_CONNECT
with ESP8266_AT shield using RP2040 arduino-pico core and WiFiNINA_Generic library
2.1 First time => OK
Starting WiFiMulti on NANO_RP2040_CONNECT
WiFiMulti_Generic v1.0.0
[WFM] [addAP] add SSID: HueNet1
[WFM] [addAP] add SSID: HueNet2
Connecting WiFi...
[WFM] [run] Scan done
[WFM] [run] Number of Networks found: 10
==============================================================
[WFM] Known => # 0 , Channel: 2
[WFM] A5:F4:94:74:7F:68
[WFM] SSID: HueNet1 , RSSI: -17 , Secured: y
==============================================================
[WFM] Unknown => # 1 , Channel: 10
[WFM] 4D:AB:D3:E0:38:60
[WFM] SSID: HueNet , RSSI: -21 , Secured: y
==============================================================
[WFM] Unknown => # 2 , Channel: 11
[WFM] F1:9:E3:66:90:3C
[WFM] SSID: HueNetTek , RSSI: -31 , Secured: y
==============================================================
[WFM] Unknown => # 3 , Channel: 4
[WFM] E1:EB:E2:E0:38:60
[WFM] SSID: HueNet2 , RSSI: -50 , Secured: y
==============================================================
[WFM] Unknown => # 4 , Channel: 1
[WFM] A6:2:69:6D:2C:E8
[WFM] SSID: SmartRG-02a2 , RSSI: -72 , Secured: y
==============================================================
[WFM] Unknown => # 5 , Channel: 1
[WFM] D5:1C:15:BC:FA:EE
[WFM] SSID: ESP151CD5 , RSSI: -83 , Secured: y
==============================================================
[WFM] Unknown => # 6 , Channel: 3
[WFM] EA:73:DC:D2:B4:F2
[WFM] SSID: FishBowl , RSSI: -83 , Secured: y
==============================================================
[WFM] Unknown => # 7 , Channel: 6
[WFM] 42:8E:4D:42:5E:F8
[WFM] SSID: El khoury , RSSI: -85 , Secured: y
==============================================================
[WFM] Unknown => # 8 , Channel: 6
[WFM] 7:9:F8:1:F2:40
[WFM] SSID: BELL627 , RSSI: -87 , Secured: y
==============================================================
[WFM] Unknown => # 9 , Channel: 11
[WFM] A0:E9:61:BF:92:F4
[WFM] SSID: house , RSSI: -88 , Secured: y
==============================================================
[run] Connecting BSSID: [WFM] A5:F4:94:74:7F:68
[WFM] SSID: HueNet1 , Channel: 2 , Best dB: -17
[WFM] [run] Connecting done.
[WFM] [run] SSID: HueNet1 , IP: 192.168.2.105
WiFi connected, IP address: 192.168.2.105
2.2 Lost WiFi => Scan and auto-reconnect
WiFi lost. Trying to scan and reconnect
[WFM] [run] Scan done
[WFM] [run] Number of Networks found: 10
==============================================================
[WFM] Unknown => # 0 , Channel: 10
[WFM] 4D:AB:D3:E0:38:60
[WFM] SSID: HueNet , RSSI: -22 , Secured: y
==============================================================
[WFM] Unknown => # 1 , Channel: 11
[WFM] F1:9:E3:66:90:3C
[WFM] SSID: HueNetTek , RSSI: -32 , Secured: y
==============================================================
[WFM] Known => # 2 , Channel: 4
[WFM] E1:EB:E2:E0:38:60
[WFM] SSID: HueNet2 , RSSI: -53 , Secured: y
==============================================================
[WFM] Unknown => # 3 , Channel: 1
[WFM] D5:1C:15:BC:FA:EE
[WFM] SSID: ESP151CD5 , RSSI: -77 , Secured: y
==============================================================
[WFM] Unknown => # 4 , Channel: 1
[WFM] A6:2:69:6D:2C:E8
[WFM] SSID: SmartRG-02a2 , RSSI: -80 , Secured: y
==============================================================
[WFM] Unknown => # 5 , Channel: 1
[WFM] 16:49:8A:35:94:C0
[WFM] SSID: Access , RSSI: -81 , Secured: y
==============================================================
[WFM] Unknown => # 6 , Channel: 5
[WFM] E6:D:11:2A:C3:E4
[WFM] SSID: DECO-5655 , RSSI: -83 , Secured: y
==============================================================
[WFM] Unknown => # 7 , Channel: 5
[WFM] E6:D:11:2A:C3:EA
[WFM] SSID: Guest5655 , RSSI: -83 , Secured: y
==============================================================
[WFM] Unknown => # 8 , Channel: 5
[WFM] 8A:20:11:2A:C3:E4
[WFM] SSID: DECO-5655 , RSSI: -84 , Secured: y
==============================================================
[WFM] Unknown => # 9 , Channel: 11
[WFM] 58:9:B:2E:8F:68
[WFM] SSID: Rogers 786 , RSSI: -85 , Secured: y
==============================================================
[run] Connecting BSSID: [WFM] E1:EB:E2:E0:38:60
[WFM] SSID: HueNet2 , Channel: 4 , Best dB: -53
[WFM] [run] Connecting done.
[WFM] [run] SSID: HueNet2 , IP: 192.168.2.105
[WFM] WiFi connected after time: 1
[WFM] SSID: HueNet2 ,RSSI= -47
[WFM] IP address: 192.168.2.105