Scanner les réseaux Wi-Fi sur ESP32 en utilisant l'IDE Arduino
L'ESP32 est une plateforme de prototypage électronique diversifiée qui peut contrôler plusieurs matériels et exécuter du code selon les instructions données. L'ESP32 est célèbre pour son utilisation dans des projets basés sur l'IoT. L'ESP32 est livré avec des pilotes WiFi préinstallés et un module Bluetooth dual pour lui fournir une connectivité sans fil. Voyons comment scanner le WiFi de l'ESP32 pour rechercher les réseaux disponibles.
Comment scanner un réseau WiFi sur ESP32 en utilisant Arduino IDE
Pour rechercher des connexions Wi-Fi à proximité, nous allons utiliser un exemple de scan Wi-Fi ESP32 pour nous assurer que la carte ESP32 est installée dans l'IDE Arduino. En savoir plus sur l'installation de l'ESP32 avec l'IDE Arduino en cliquant ici.
Allez à : Fichiers>Exemples>WiFi>Analyse WiFi :
Le code suivant s'ouvrira dans une nouvelle fenêtre. Sélectionnez le port COM de l'ESP32 et téléchargez le code :
#include "WiFi.h"
void setup()
{
Serial.begin(115200);
// Set ESP32 wifi to station mode
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Setup done");
}
void loop()
{
Serial.println("scan start");
// WiFi.scanNetworks will give total found wifi networks
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 signal strength
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);
}
}
Serial.println("");
// delay of 5 sec
delay(5000);
}
Ici, dans le code ci-dessus, WiFi.scanNetworks() renverra le total des réseaux disponibles dans la portée des cartes ESP32.
Une fois que tous les réseaux sont analysés, nous pouvons accéder à leur SSID en utilisant la commande ci-dessous :
Serial.print(WiFi.SSID(i));La fonction WiFi.RSSI() nous donnera le RSSI (Indicateur de Force du Signal Reçu) d'un réseau. C'est un niveau de puissance estimé ou une force de signal que l'ESP32 reçoit du routeur.
Sortie
La sortie suivante est imprimée sur le moniteur série affichant tous les réseaux disponibles que la carte ESP32 a scannés :
Se connecter à un réseau WiFi
Pour connecter l'ESP32 à un réseau WiFi, nous devons connaître le SSID et son mot de passe. De plus, le réseau avec lequel nous devons nous connecter doit être à portée de l'ESP32. Pour vérifier si un certain WiFi est à portée de l'ESP32, exécutez l'exemple de balayage donné ci-dessus.
Téléchargez le code ci-dessous pour connecter la carte ESP32 au réseau WiFi :
#include <WiFi.h>
const char* ssid = "Your SSID NAME";
const char* password = "SSID PASSWORD";
void setup(){
Serial.begin(115200);
delay(1000);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("\nConnecting");
while(WiFi.status() != WL_CONNECTED){
Serial.print(".");
delay(100);
}
Serial.println("\nConnected to the WiFi network");
Serial.print("Local ESP32 IP: ");
Serial.println(WiFi.localIP());
}
void loop(){}Le code commence par inclure la bibliothèque WiFi.h. Ensuite, nous saisissons le SSID du réseau et le mot de passe auquel nous souhaitons nous connecter. Ensuite, l'ESP32 est mis en mode station, ce qui est optionnel car l'ESP32 est par défaut en mode station.
Ensuite, en utilisant la fonction WiFi.begin(ssid, password);, l'ESP32 va rechercher le réseau défini et essayer de se connecter. Une fois que l'ESP32 est connecté, l'adresse IP du réseau sera affichée sur le moniteur série :
FAQ
Q1 : Combien de dispositifs WiFi peuvent se connecter à l'ESP32 ?
Par défaut, l'ESP32 prend en charge 4 appareils WiFi, mais il peut en gérer jusqu'à 10 en mode point d'accès.
Q2 : L'ESP32 a-t-il un point d'accès ?
Oui, l'ESP32 peut se connecter à n'importe quel réseau WiFi et peut aussi être un point d'accès pour d'autres.
Q3 : L'ESP32 peut-il agir en tant que routeur ?
Oui, l'ESP32 en mode point d'accès fonctionnera lui-même comme un routeur. Le WiFi de l'ESP32 prend en charge le mode station, le mode point d'accès ou peut fonctionner dans les deux modes.
Conclusion
L'ESP32 est une carte microcontrôleur qui dispose du WiFi et d'un support Bluetooth double. Cet article met en évidence la fonction utilisée pour scanner les réseaux WiFi disponibles à proximité de l'ESP32. La carte ESP32 peut être connectée à n'importe quel réseau en connaissant le SSID et le mot de passe du réseau. Ce document vous aidera à trouver le réseau avec lequel vous souhaitez vous connecter via le WiFi de l'ESP32 en utilisant l'IDE Arduino.


