Esp32 - Wifi Manager

Le Wifi Manager peut contrôler le processus de sélection d'un point d'accès disponible, s'authentifier et s'associer à lui et configurer d'autres paramètres de la connexion Wifi.
Je m'explique:
Vous avez besoin de configurer un Esp32 pour qu'il se connecte à votre réseau Wifi (ou un autre) via sa propre interface de connexion de Wifi "interne" à l'Esp32.
Mise sous tension de l'Esp32 avec son propre réseau Wifi avec son <ssid> et son <mot de passe> et une adressse IP en 192.168.4.1
Vous vous connectez à réseau Wifi "Interne de l'Esp32" (<ssid> et <mot de passe> de l'Esp32)
Et via l'interface Wifi Manager, vous sélectionnez le réseau Wifi sur lequel vous souhaitez que l'Esp32 se connecte et vous renseignez les identfiants de connexion Wifi.
Téléchargement de la librairie WifiManager
Information venant de Youtube et Github
Utilisation de la librairie de WifiManager de TZAPU
Le Github de TZAPU propose deux solutions WifiManager
Utiliser la librairie WifiManager-development car à la date du 25/02/2020 seule la version développement fonctionne avec l'Esp32
Télécharger la librairie WifiManager-Master.zip sur
https://github.com/tzapu/WiFiManager/
Le code
Réseau Wifi pour un réseau local (Pas de connexion Internet possible)
Dans l'IDE Arduino, écrire le code ci-dessous
#include <WiFiManager.h> // Utilisation de la librairie WiFiManager.h
WiFiManager wm; // Définition du nom du WifiManager = wm
const char* ssid = "ESP32AP"; // ssid (exemple)
const char* password = "esp32wroom"; // Mot de passe (exemple)
void setup() {
WiFi.mode(WIFI_STA); // Définition du Wifi en mode Station
Serial.begin(115200); // Initialisation du moniteur série
delay(1000);
Serial.println("\n");
if(!wm.autoConnect(ssid, password)) // Test d'auto-connexion
Serial.println("Erreur de connexion."); // Si pas de connexion = Erreur
else
Serial.println("Connexion etablie !"); // Si connexion = OK
}
void loop() {
if(touchRead(T0) < 60) // Utilisation de la fonction Touch sur la pin T0 (GPIO4) pour resetter l'Esp32
{ // Si détection touch < 60 sur pin T0
Serial.println("Suppression des reglages et redemarrage ...");
wm.resetSettings(); // Reset des paramètres Wifi
ESP.restart(); // Restart de l'esp32
}
}
Le ssid et le mot de passe sont des exemples - Mettre un mot de passe plus sécurisé
Vérifier et téléverser le code dans l'Esp32
Ouvrir le moniteur série pour voir les informations
Moniteur serie
16:47:45.843 -> *WM: [1] AutoConnect // Mode autoconnect
16:47:45.843 -> *WM: [2] ESP32 event handler enabled
16:47:45.876 -> *WM: [2] Connecting as wifi client...
16:47:45.876 -> *WM: [3] STA static IP:
16:47:45.876 -> *WM: [2] setSTAConfig static ip not set, skipping
16:47:45.876 -> *WM: [1] No saved credentials, skipping wifi
16:47:45.876 -> *WM: [2] Connection result: WL_NO_SSID_AVAIL
16:47:45.876 -> *WM: [3] lastconxresult: WL_NO_SSID_AVAIL
16:47:45.876 -> *WM: [1] AutoConnect: FAILED // Autoconnexion Failed
16:47:45.876 -> *WM: [2] Starting Config Portal
16:47:45.876 -> *WM: [2] AccessPoint set password is VALID // Connexion a l'AP de l'Esp32
16:47:45.910 -> *WM: [1] esp32wroom // Mot de passe de l'AP de l'Esp32
16:47:45.910 -> *WM: [3] WIFI station disconnect
16:47:45.910 -> *WM: [3] WiFi station enable
16:47:45.910 -> *WM: [2] Disabling STA
16:47:45.910 -> *WM: [2] Enabling AP
16:47:45.910 -> *WM: [1] StartAP with SSID: ESP32AP
16:47:45.910 -> *WM: [1] SoftAP Configuration
16:47:45.910 -> *WM: [1] --------------------
16:47:45.910 -> *WM: [1] ssid: ESP32AP // ssid
16:47:45.910 -> *WM: [1] password: esp32wroom // Mot de passe
16:47:45.910 -> *WM: [1] ssid_len: 7
16:47:45.910 -> *WM: [1] channel: 1
16:47:45.910 -> *WM: [1] authmode: 3
16:47:45.983 -> *WM: [1] ssid_hidden:
16:47:45.983 -> *WM: [1] max_connection: 4
16:47:45.983 -> *WM: [1] country: CN
16:47:45.983 -> *WM: [1] beacon_interval: 100(ms)
16:47:45.983 -> *WM: [1] --------------------
16:47:46.440 -> *WM: [1] AP IP address: 192.168.4.1 // Adresse IP de l'AP de l'Esp32
16:47:46.440 -> *WM: [3] setupConfigPortal
16:47:46.440 -> *WM: [1] Starting Web Portal
16:47:46.440 -> *WM: [3] dns server started with ip: 192.168.4.1
16:47:46.440 -> *WM: [2] HTTP server started
16:47:48.530 -> *WM: [2] WiFi Scan ASYNC completed in 2101 ms
16:47:48.530 -> *WM: [2] WiFi Scan ASYNC found: 5
16:47:48.530 -> *WM: [2] WiFi Scan completed in 2102 ms
16:47:48.563 -> *WM: [2] Config Portal Running, blocking, waiting for clients...
16:48:14.727 -> *WM: [2] NUM CLIENTS: 0
L'Esp32 est en attente de connexion à un réseau Wifi local
Accés à l'interface Wifi de l'AP de l'Esp32
Une fois connecté à l'Esp32, ouvir un navigateur, et saisir l'adresse IP de l'AP
192.168.4.1
Pour accéder la page d'accueil de l'AP
Trois boutons sont affichés
[Configure Wifi] # Sélection et configuration du réseau Wifi local
[Info] # Information sur la connexion
[Exit] # Quitter la page d'acceuil sans connexion Wifi
Bouton [Info]
Le bouton [Info] affiche les informations sur la connexion et sur la carte Esp32
Et vous pouvez éffacer la configuration en cliquant sur le bouton [Erase Wifi Config]
Vous trouverez des commandes supplémentaires
192.168.4.1/ # Affiche la page d'accueil
192.168.4.1/wifi # Affiche les reseaux Wifi détectés
192.168.4.1/wifisave # Sauvegarde la configuration Wifi et configure l'Esp32
192.168.4.1/param # Affiche la page de paramétrage
192.168.4.1/info # Affiche les informations Wifi de la carte Esp32
192.168.4.1/close # Ferme la page de configuration - Le portail de configuration reste actif
192.168.4.1/exit # Quitte la configuration - Le portail de configuration est fermé
192.168.4.1/restart # Reboot l'Esp32
192.168.4.1/erase # Efface la configuration Wifi et reboot l'Esp32 sans connexion réseau
Bouton [Exit]

Le bouton [Exit] permet de
deconnexion de l'AP de l'Esp32
Il faudra presser le bouton <RST> de l'Esp32 pour relancer l'Esp32 pour vous reconnecter à l'AP de l'Esp32 si vous souhaitez configurer un réseau Wifi