mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-10-31 15:50:55 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|     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.h>
 | |
| 
 | |
| 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);
 | |
| }
 |