Ajout doc
This commit is contained in:
@@ -74,4 +74,53 @@ Conseils importants :
|
|||||||
3. Ajouter la lecture calibrée des capteurs Hall et de la batterie.
|
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`.
|
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.
|
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.
|
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.
|
||||||
+1
-1
@@ -65,7 +65,7 @@ void WifiSetup() {
|
|||||||
wifiManager.addParameter(&custom_api_token);
|
wifiManager.addParameter(&custom_api_token);
|
||||||
|
|
||||||
// Lance le portail
|
// Lance le portail
|
||||||
if (!wifiManager.autoConnect("FinistRC_Config")) {
|
if (!wifiManager.autoConnect("FinistRC_Config","Finist29PWD")) {
|
||||||
Serial.println("Échec de connexion ou timeout...");
|
Serial.println("Échec de connexion ou timeout...");
|
||||||
delay(3000);
|
delay(3000);
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
|
|||||||
Reference in New Issue
Block a user