#include "WiFi.h" int rssi_pre_val=-120; int wifi_no=1; void setup() { Serial.begin(115200); // Set WiFi to station mode and disconnect from an AP if it was previously connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Setup done"); } void loop() { Serial.println("scan start"); // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) { Serial.println("no networks found"); } else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { // Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*"); // here i check the rssi value to each network and compare it with rssi_pre_val which will conatin the closest rssi value to zero if (WiFi.RSSI(i)>rssi_pre_val){ //save the value to compare it with the next one rssi_pre_val=WiFi.RSSI(i); // save the wifilist number wifi_no=i; } delay(10); } // print the name of the strongest wifi Serial.print(WiFi.SSID(wifi_no)); Serial.print(" ("); Serial.print(WiFi.RSSI(wifi_no)); Serial.print(")"); Serial.print(" : "); Serial.print(" is strongest wifi signal network"); } Serial.println(""); Serial.println(""); // Wait a bit before scanning again delay(5000); }