# MultiWiFi
**MultiWifi** is a feature or technique used to allow the ESP32 to connect to multiple Wi-Fi networks. The idea is that the device can automatically switch between available Wi-Fi networks for better connectivity or reliability.
It is very useful if you need the ESP32 to automatically connect to Wi-Fi in different locations, like at the office and at home, without reconfiguring the Wi-Fi SSID and password each time.
### Code
Here’s an example where the ESP32 can connect to multiple Wi-Fi networks. If it fails to connect to the first network, it will try to connect to the second, and so on:
```cpp
#include
#include
// Create an instance of WiFiMulti to handle multiple networks
WiFiMulti wifiMulti;
// Define your Wi-Fi credentials for multiple networks
const char* ssid_1 = "Network_1"; // First Wi-Fi network SSID
const char* password_1 = "Password_1"; // First Wi-Fi network password
const char* ssid_2 = "Network_2"; // Second Wi-Fi network SSID
const char* password_2 = "Password_2"; // Second Wi-Fi network password
void setup() {
// Start serial communication
Serial.begin(115200);
// Add Wi-Fi networks to WiFiMulti
wifiMulti.addAP(ssid_1, password_1);
wifiMulti.addAP(ssid_2, password_2);
Serial.println("Connecting to Wi-Fi...");
// Try to connect to the Wi-Fi networks
while (wifiMulti.run() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
// Once connected, print the IP address
Serial.println("Connected to Wi-Fi!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Nothing to do in loop, ESP32 is connected to Wi-Fi
}
```
```cpp
wifiMulti.addAP(ssid_1, password_1);
```
This line adds a Wi-Fi network (SSID and password) to the list of available networks that the ESP32 will attempt to connect to. When you call addAP, you’re telling the ESP32 to remember the Wi-Fi network details (SSID and password) so that it can try connecting to it later if needed.
```cpp
wifiMulti.run()
```
wifiMulti.run(): This function tries to connect to the first available Wi-Fi network in the list. It continuously checks for a connection and returns the current connection status.
```cpp
while (wifiMulti.run() != WL_CONNECTED)
```
ESP32 continuously tries to connect to a Wi-Fi network until a successful connection is made.
MultiWiFi
RELATED ARTICLES
Photoresistor Sensor
Project - Temperature Measurement
NTC Temperature Sensor
Project - IR Sender
Project - IR Receiver
Remote infrared Sensor
Project - Motion Detection Alarm
- Choosing a selection results in a full page refresh.