From 49f1a3bddf203e464736cadcbd8636d864b81984 Mon Sep 17 00:00:00 2001 From: Serge NOEL Date: Mon, 21 Sep 2026 13:33:51 +0200 Subject: [PATCH] Ajout doc --- README.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- src/wifi.cpp | 2 +- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 555e3a1..3eb0a06 100644 --- a/README.md +++ b/README.md @@ -74,4 +74,53 @@ Conseils importants : 3. Ajouter la lecture calibrée des capteurs Hall et de la batterie. 4. Définir le payload et les topics MQTT, par exemple `bateau/00001/cmd` et `bateau/00001/status`. 5. Implémenter le failsafe, puis le pilotage moteur/servo. -6. Ajouter la page de configuration Wi-Fi, l'identifiant du bateau et les paramètres de calibration. \ No newline at end of file +6. Ajouter la page de configuration Wi-Fi, l'identifiant du bateau et les paramètres de calibration. + +# Annexe + +La commande wifiManager.autoConnect("FinistRC_Config") provient de la très populaire bibliothèque WiFiManager (développée à l'origine par tzapu) pour les microcontrôleurs ESP8266 et ESP32 (souvent utilisés en C++ sous l'IDE Arduino). + +Cette fonction est conçue pour gérer automatiquement la connexion Wi-Fi de votre carte sans avoir à inscrire le nom du réseau (SSID) et le mot de passe en dur dans le code. + +Voici en détail le déroulement de son fonctionnement étape par étape : +1. Tentative de connexion silencieuse (Mode Station / STA) + +Lorsque la carte démarre et qu'elle exécute cette ligne : + + Le microcontrôleur va d'abord chercher s'il a déjà des identifiants Wi-Fi enregistrés dans sa mémoire non-volatile (EEPROM / Flash). + + S'il trouve un réseau enregistré : Il tente de s'y connecter en tant que client Wi-Fi standard. + + Si la connexion réussit : La fonction autoConnect() renvoie true, le programme sort immédiatement de la fonction et continue la suite du code (votre boucle setup() se termine, puis loop() prend le relais). + +2. Basculement en Point d'Accès (Mode AP) si la connexion échoue + +Si aucune information Wi-Fi n'est enregistrée, ou si le réseau enregistré est hors de portée / inaccessible (ex: box éteinte ou changement de mot de passe) : + + La commande bloque le reste du programme (elle ne passe pas aux lignes de code suivantes tant que le réseau n'est pas configuré). + + L'ESP bascule en mode Point d'Accès (Access Point). + + Il génère son propre réseau Wi-Fi avec le nom transmis en paramètre : FinistRC_Config. + +3. Portail Captif (Captive Portal) + + Vous prenez votre téléphone ou votre ordinateur et vous vous connectez au réseau Wi-Fi FinistRC_Config. + + Grâce au mécanisme de Portail Captif, votre appareil détectera automatiquement qu'il n'y a pas d'Internet et ouvrira spontanément une page web (ou vous invitera à "Vous connecter au réseau"). + + Si la page ne s'ouvre pas seule, il suffit d'ouvrir un navigateur web et d'aller à l'adresse 192.168.4.1. + +4. Configuration et enregistrement + +Sur cette interface web d'accueil : + + L'utilisateur clique sur "Configure WiFi". + + L'ESP scanne les réseaux Wi-Fi environnants et affiche la liste. + + L'utilisateur sélectionne sa box Wi-Fi, saisit le mot de passe et valide. + + L'ESP sauvegarde les identifiants dans sa mémoire flash, ferme son réseau temporaire FinistRC_Config et redémarre son module Wi-Fi pour se connecter à la box. + + Une fois connecté, la fonction autoConnect() se débloque et votre programme principal s'exécute normalement. \ No newline at end of file diff --git a/src/wifi.cpp b/src/wifi.cpp index dadac1f..e00bdda 100644 --- a/src/wifi.cpp +++ b/src/wifi.cpp @@ -65,7 +65,7 @@ void WifiSetup() { wifiManager.addParameter(&custom_api_token); // Lance le portail - if (!wifiManager.autoConnect("FinistRC_Config")) { + if (!wifiManager.autoConnect("FinistRC_Config","Finist29PWD")) { Serial.println("Échec de connexion ou timeout..."); delay(3000); ESP.restart();