Files
ESP32-P10-RGB-32x16-Digital…/CAPTIVE_PORTAL_SUMMARY.md
T
2025-08-15 16:22:58 +02:00

4.9 KiB

🌐 Portail Captif ESP32 - Résumé des Modifications

Modifications Terminées

Votre projet ESP32 P10 RGB Digital Clock a été modifié avec succès pour inclure un portail captif fonctionnel.

📋 Fichiers Modifiés

  1. platformio.ini

    • Ajout de la dépendance DNSServer à l'environnement main
    • Ajout de l'environnement de test captive_portal_test
  2. src/main.cpp

    • Inclusion de la bibliothèque #include <DNSServer.h>
    • Déclaration des objets DNSServer dnsServer et IPAddress apIP
    • Modification de set_ESP32_Access_Point() pour démarrer le serveur DNS
    • Ajout des fonctions handleCaptivePortal() et handleNotFound()
    • Configuration des routes spéciales pour Android, iOS, Windows
    • Intégration du traitement DNS dans WebServerTask()
  3. .vscode/tasks.json

    • Ajout de la tâche "PlatformIO: Test Captive Portal"

📁 Fichiers Créés

  1. examples/captive_portal_test.cpp

    • Test simplifié pour vérifier uniquement le portail captif
  2. CAPTIVE_PORTAL_README.md

    • Documentation complète des modifications
  3. CAPTIVE_PORTAL_QUICK_TEST.md

    • Guide de test rapide

🚀 Comment Utiliser le Portail Captif

Mode de Fonctionnement

Par défaut, le projet est configuré en mode Point d'Accès avec portail captif :

  • Variable useStationMode = false dans le code
  • Création d'un réseau WiFi "HOKA_Clock"
  • Redirection automatique de toutes les requêtes web

Étapes pour Tester

  1. Compilez et téléversez :

    pio run -e main --target upload
    
  2. Connectez-vous au WiFi :

    • Nom : HOKA_Clock
    • Mot de passe : hoka
  3. Testez la redirection :

    • Ouvrez un navigateur
    • Essayez d'aller sur n'importe quel site
    • Vous êtes automatiquement redirigé vers l'interface de l'horloge

🔧 Configuration Actuelle

// WiFi Point d'Accès
const char* ap_ssid = "HOKA_Clock";
const char* ap_password = "hoka";

// IP du portail captif
const IPAddress apIP(192, 168, 1, 1);

// Clé d'accès interface web
#define KEY_TXT "hoka"

// Mode par défaut
bool useStationMode = false; // Portail captif activé

🌍 Compatibilité Universelle

Le portail captif fonctionne avec :

Plateforme Comportement
Android 📱 Notification automatique "Se connecter au réseau"
iOS/iPadOS 🍎 Ouverture automatique du navigateur captif
Windows 🪟 Redirection lors de la première navigation
macOS 🖥️ Détection automatique du portail
Linux 🐧 Redirection manuelle nécessaire

🛠️ Tests Disponibles

Test Principal (Horloge + Portail Captif)

pio run -e main --target upload

Test Portail Captif Uniquement

pio run -e captive_portal_test --target upload

📊 Avantages du Portail Captif

Facilité d'accès : Plus besoin de connaître l'IP
Expérience intuitive : Ouverture automatique
Compatibilité universelle : Tous appareils/OS
Configuration simple : Guidage automatique
Professionnel : Comme les hotspots WiFi publics

🔍 Surveillance et Debug

Monitoring série

pio device monitor

Messages de succès attendus

WIFI mode : AP avec Portail Captif
Serveur DNS démarré pour portail captif
HTTP server started
Captive Portal active - navigate to any website

🎯 Fonctionnement Technique

  1. DNS Hijacking : Toutes les requêtes DNS → 192.168.1.1
  2. Route Interception : Capture des URLs de détection OS
  3. Redirection HTTP : Code 302 vers l'interface ESP32
  4. FreeRTOS Integration : Traitement asynchrone DNS + HTTP

📝 Notes Importantes

  • Le portail captif n'est actif qu'en mode Point d'Accès (useStationMode = false)
  • En mode Station WiFi, le comportement reste inchangé
  • La charge CPU additionnelle est négligeable
  • Compatible avec l'architecture FreeRTOS existante

🚨 Dépannage Rapide

Problème Solution
Portail ne s'ouvre pas Vérifier useStationMode = false
Redirection ne fonctionne pas Tester http://192.168.1.1 directement
Erreur compilation Vérifier dépendance DNSServer

🎉 Félicitations ! Votre horloge ESP32 dispose maintenant d'un portail captif professionnel avec accès libre sans authentification. Les utilisateurs seront automatiquement redirigés vers l'interface de configuration, rendant l'expérience beaucoup plus intuitive et moderne.

🔓 Mise à Jour : Accès Sans Authentification

Nouvelle fonctionnalité : La validation de clé a été supprimée pour simplifier l'accès.

  • Accès immédiat à l'interface web
  • Pas de clé à saisir
  • Configuration directe via le portail captif
  • ⚠️ Sécurité : Protection par mot de passe WiFi uniquement