No description
- Integrated email alert system into the main application. - Implemented functions to load and save email configuration in NVS. - Added HTTP handlers for email configuration page and API endpoints. - Enhanced ultrasonic task to check and trigger email alerts based on distance measurements. - Updated web server to serve email configuration and handle POST requests for saving settings. |
||
|---|---|---|
| .vscode | ||
| components/led_strip | ||
| html | ||
| include | ||
| lib | ||
| src | ||
| test | ||
| .gitignore | ||
| CMakeLists.txt | ||
| dependencies.lock | ||
| EMAIL_ALERTS.md | ||
| html_pages.h | ||
| platformio.ini | ||
| README.md | ||
| sdkconfig.esp32-c6-devkitc-1 | ||
| sdkconfig.seeed_xiao_esp32_c6 | ||
ESP32 WiFi Manager
Système de configuration WiFi pour ESP32 avec interface web.
🎯 Fonctionnalités
- ✅ Point d'accès WiFi automatique au démarrage
- ✅ Interface web pour la configuration WiFi
- ✅ Scan des réseaux WiFi disponibles
- ✅ Sauvegarde persistante des credentials en NVS (Non-Volatile Storage)
- ✅ Connexion automatique au WiFi sauvegardé après redémarrage
- ✅ Retour en mode AP si la connexion échoue
🚀 Utilisation
Premier démarrage
-
Flasher l'ESP32 avec le firmware :
platformio run --target upload --upload-port /dev/ttyACM1 -
L'ESP32 démarre en mode Point d'Accès :
- SSID :
ESP32-Config - Mot de passe :
12345678
- SSID :
-
Connectez-vous au réseau WiFi
ESP32-Config -
Ouvrez un navigateur et accédez à :
http://192.168.4.1 -
Page de configuration :
- La page affiche automatiquement les réseaux WiFi disponibles
- Cliquez sur le réseau souhaité
- Entrez le mot de passe
- Cliquez sur "Se connecter"
-
L'ESP32 redémarre et se connecte au WiFi configuré
Redémarrages suivants
- L'ESP32 se connecte automatiquement au WiFi sauvegardé
- Si la connexion échoue (réseau indisponible, mot de passe incorrect), il revient en mode AP
📝 Configuration
Modifiez les constantes dans src/main.c si nécessaire :
#define WIFI_AP_SSID "ESP32-Config" // SSID du point d'accès
#define WIFI_AP_PASS "12345678" // Mot de passe (min 8 caractères)
#define WIFI_AP_CHANNEL 1 // Canal WiFi
#define MAX_STA_CONN 4 // Nombre max de connexions
🔧 Architecture technique
Stockage NVS
Les credentials WiFi sont stockés dans la partition NVS (Non-Volatile Storage) :
- Namespace :
wifi_config - Clés :
ssid: Nom du réseau WiFipassword: Mot de passe WiFi
Serveur HTTP
Le serveur HTTP expose 3 endpoints :
- GET / : Page HTML de configuration
- GET /scan : Retourne la liste des réseaux WiFi au format JSON
- POST /connect : Reçoit les credentials et redémarre l'ESP32
Workflow
Démarrage
↓
Lecture NVS
↓
Credentials trouvés ? ─── Non ──→ Mode AP + Serveur Web
↓ Oui
↓
Connexion WiFi
↓
Succès ? ─── Non ──→ Mode AP + Serveur Web
↓ Oui
↓
Mode Station (connecté)
🌐 Interface Web
L'interface web est responsive et moderne :
- Liste des réseaux avec indicateur de signal
- Sélection visuelle du réseau
- Scan automatique toutes les 10 secondes
- Feedback visuel (succès/erreur)
🔒 Sécurité
- Le point d'accès utilise WPA2-PSK
- Les credentials sont stockés en clair dans NVS (à améliorer pour production)
- PMF (Protected Management Frames) activé pour la connexion WiFi
📊 Logs UART
Pour visualiser les logs :
platformio device monitor --port /dev/ttyACM1
Messages importants :
WiFi Manager: Tag principalTentative de connexion au WiFi sauvegardé...: Lecture NVSConnecté avec succès au WiFi!: Connexion réussieDémarrage en mode Point d'Accès: Mode configuration
🛠️ Améliorations possibles
- Chiffrement des credentials dans NVS
- Timeout configurable pour la connexion WiFi
- Mode AP + STA simultané (pour ne pas perdre la connexion web)
- Page web pour effacer les credentials
- Support de plusieurs réseaux WiFi (priorité)
- API REST pour configuration programmatique
- Captive Portal pour redirection automatique
- OTA (Over-The-Air) updates
📦 Dépendances
Inclus dans ESP-IDF :
esp_wifi: Gestion WiFiesp_http_server: Serveur HTTPnvs_flash: Stockage non-volatileesp_event: Gestion d'événementsfreertos: RTOS
🐛 Dépannage
L'ESP32 ne démarre pas en mode AP
- Vérifiez que le mot de passe a au moins 8 caractères
- Consultez les logs UART
Impossible de se connecter au WiFi
- Vérifiez que le mot de passe est correct
- Vérifiez que le réseau est en WPA2
- L'ESP32 redémarrera en mode AP automatiquement
La page web ne charge pas
- Vérifiez que vous êtes connecté au réseau
ESP32-Config - Essayez
http://192.168.4.1(pas HTTPS) - Désactivez les données mobiles sur votre appareil
📄 Licence
Code libre d'utilisation pour vos projets.