🛠 Scanner les réseaux Wi-Fi 2,4 GHz
Objectifs
Mettre le Wi-Fi en mode station, scanner les réseaux environnants avec WiFi.scanNetworks, afficher SSID, RSSI et canal, puis poser les bases d'une connexion. Le Nano ESP32 (module NORA-W106) ne fait que du Wi-Fi 4 2,4 GHz (802.11 b/g/n).
Matériel
- 1 × Arduino Nano ESP32 + câble USB-C
- Un point d'accès 2,4 GHz (un routeur uniquement 5 GHz ne sera pas visible)
Code complet
#include <WiFi.h>
void setup {
Serial.begin(115200);
delay(1000);
WiFi.mode(WIFI_STA); // station, pas de point d'accès
Serial.print("Scan en cours...");
int n = WiFi.scanNetworks; // appel bloquant
Serial.printf(" %d réseaux trouvés\n", n);
for (int i = 0; i < n; i++) {
Serial.printf("%2d | %-24s | %4d dBm | canal %2d\n",
i + 1, WiFi.SSID(i).c_str, WiFi.RSSI(i), WiFi.channel(i));
}
WiFi.scanDelete; // libère la mémoire du scan
}
void loop {}
Vérification attendue
La console liste les réseaux avec leur puissance RSSI (typiquement -40 à -90 dBm) et leur canal. Le réseau le plus proche a le RSSI le moins négatif ; le scan en trouve généralement une dizaine en appartement.
Erreurs fréquentes
- WiFi.mode(WIFI_STA) oublié : le scan peut ne rien renvoyer du tout.
- Routeur uniquement 5 GHz : liste vide, le module est 802.11 b/g/n 2,4 GHz uniquement.
- Oublier WiFi.scanDelete dans une boucle de scan répétée : la mémoire des résultats s'accumule.
- Confondre les cores : utiliser le package « Arduino ESP32 Boards », pas le package Espressif, sinon aucun pilote ne s'installe sous Windows.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
connexion-wifi.inoArduinopoint-acces.inoArduinoble-capteur.inoArduinoneoled-rgb.inoArduinoadc-12bits.inoArduinopreferences.inoArduino