2.5 KiB
Wifi Manager avec l'ESP
La bibliothèque WiFiManager simplifie la gestion de la connexion Wi-Fi d'un ESP (ESP8266 ou ESP32). Plutôt que de coder en dur le SSID et le mot de passe, l'ESP tente de se connecter à un réseau déjà enregistré ; s'il échoue, il bascule en point d'accès et expose une interface web permettant de configurer les identifiants à la volée. Plus besoin de recompiler le code pour changer de réseau.
Code minimal
#include <WiFiManager.h>
WiFiManager wm;
void setup() {
// Mode client station
WiFi.mode(WIFI_STA);
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.println("Tentative de connexion au réseau Wi-Fi...");
// Connexion automatique au réseau Wi-Fi connu,
// sinon démarrage du portail de configuration.
if (!wm.autoConnect()) {
Serial.println("Erreur de connexion au réseau Wi-Fi.");
// Logique de repli en cas d'échec
} else {
Serial.println("Connexion au réseau Wi-Fi réussie !");
Serial.print("Adresse IP : ");
Serial.println(WiFi.localIP());
// Actions à exécuter après une connexion réussie
}
}
void loop() {
// Code principal exécuté en boucle
}
Exemples de fonctionnement
1. Réseau Wi-Fi enregistré indisponible
Après un redémarrage de l'ESP, le réseau ACEGRP_SATNET1 est inaccessible. WiFiManager bascule alors en point d'accès et expose son interface web pour permettre de nouveaux réglages.
Le menu Configure Wifi (http://192.168.4.1/wifi) permet de sélectionner un autre réseau :
La section Info (http://192.168.4.1/info) permet de supprimer la configuration Wi-Fi déjà enregistrée :
2. Aucun réseau Wi-Fi connu
Au premier démarrage, aucun réseau n'est enregistré : l'ESP démarre directement en mode point d'accès.
Il suffit alors d'ajouter un nouveau réseau :
3. Vérifier que l'ESP est bien sur le réseau
Une fois la connexion établie, on peut localiser l'ESP sur le réseau local avec nmap (l'adresse MAC commençant par un préfixe Espressif permet de l'identifier facilement) :
sudo nmap 192.168.197.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2023-07-06 19:43 CEST
...
Nmap scan report for 192.168.197.228
Host is up (0.012s latency).
All 1000 scanned ports on 192.168.197.228 are closed
MAC Address: C4:4F:33:75:8C:9D (Espressif)





