84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# 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
|
|
|
|
```C
|
|
#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)
|
|
``` |