/* This sketch shows how to use multiple WiFi networks. In this example, ESP8266 works in AP mode. It demonstrates: - Fast connect to previous WiFi network at startup - Registering multiple networks (at least 1) - Connect to WiFi with strongest signal (RSSI) - Fall back to connect to next WiFi when a connection failed or lost - Fall back to connect to hidden SSID's which are not reported by WiFi scan To enable debugging output, select in the Arduino iDE: - Tools | Debug Port: Serial - Tools | Debug Level: WiFi */ #include ESP8266WiFiMulti wifiMulti; // WiFi connect timeout per AP. Increase when connecting takes longer. const uint32_t connectTimeoutMs = 5000; void setup() { // Don't save WiFi configuration in flash - optional WiFi.persistent(false); Serial.begin(115200); Serial.println("\nESP8266 Multi WiFi example"); // Set WiFi to station mode WiFi.mode(WIFI_STA); // Register multi WiFi networks wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1"); wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2"); wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); // More is possible } void loop() { // Maintain WiFi connection if (wifiMulti.run(connectTimeoutMs) == WL_CONNECTED) { Serial.print("WiFi connected: "); Serial.print(WiFi.SSID()); Serial.print(" "); Serial.println(WiFi.localIP()); } else { Serial.println("WiFi not connected!"); } delay(1000); }