wifi_scanner.ino
Liste les réseaux WiFi à proximité avec leur intensité de signal.
Utilise la bibliothèque WiFi native de l'ESP32. Aucune connexion internet n'est requise, seule la présence d'un point d'accès est nécessaire pour le scan. Le résultat est affiché sur le moniteur série. Attention, le scan consomme de l'énergie, à limiter en mode batterie.
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));
}
}