wifi_scanner.ino
Lists nearby WiFi networks with their signal strength.
Uses the native ESP32 WiFi library. No internet connection is required, only the presence of an access point for scanning. Results are displayed on the serial monitor. Note that scanning consumes energy, so limit it in battery mode.
wifi_scanner.ino
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Scanning for networks...");
int n = WiFi.scanNetworks();
if (n == 0) {
Serial.println("No networks found");
} else {
Serial.print(n);
Serial.println(" networks found:");
for (int i = 0; i < n; ++i) {
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) ? " " : "*");
delay(10);
}
}
}
void loop() {
delay(10000);
WiFi.scanDelete();
Serial.println("Rescanning...");
int n = WiFi.scanNetworks();
for (int i = 0; i < n; ++i) {
Serial.print(WiFi.SSID(i));
Serial.print(" ");
Serial.println(WiFi.RSSI(i));
}
}