// #include //https://github.com // #include // #include // #include //https://github.com // void WifiSetup(void) // { // Serial.begin(115200); // // Objet WiFiManager // WiFiManager wifiManager; // // Optionnel : réinitialiser les paramètres enregistrés pour les tests // // wifiManager.resetSettings(); // // Démarre un point d'accès nommé "FinistRC_Config" (sans mot de passe) // // Si la connexion au Wi-Fi enregistré échoue, le portail s'ouvre // if (!wifiManager.autoConnect("FinistRC_Config")) { // // Option 1 : Utiliser le mode sombre intégré // wifiManager.setClass("invert"); // Serial.println("Échec de la connexion et timeout du portail."); // delay(3000); // ESP.restart(); // Redémarre l'ESP en cas d'échec // } // // Si on arrive ici, l'ESP8266 est connecté au Wi-Fi // Serial.println("Connecté au réseau Wi-Fi !"); // Serial.print("Adresse IP : "); // Serial.println(WiFi.localIP()); // } // #include // #include // #include // #include // // Variables pour stocker les paramètres personnalisés // char mqtt_server[40] = "brokermqtt.local"; // char api_token[32] = "votre_cle_ici"; // // Drapeau pour savoir s'il faut sauvegarder les données // bool doiventSauvegarderConfiguration = false; // // Fonction de rappel (callback) appelée lorsque l'utilisateur valide le formulaire // void saveConfigCallback() { // Serial.println("Configuration modifiée. Prêt à sauvegarder."); // doiventSauvegarderConfiguration = true; // } void WifiSetup() { Serial.begin(115200); // 1. Création des champs personnalisés (ID, Label, Valeur par défaut, Longueur max) WiFiManagerParameter custom_mqtt_server("mqtt", "Serveur MQTT", mqtt_server, 40); WiFiManagerParameter custom_api_token("api", "Clé API", api_token, 32); WiFiManager wifiManager; // Associer la fonction de rappel wifiManager.setSaveConfigCallback(saveConfigCallback); // 2. Ajouter les champs à l'interface graphique de WiFiManager wifiManager.addParameter(&custom_mqtt_server); wifiManager.addParameter(&custom_api_token); // Lance le portail if (!wifiManager.autoConnect("FinistRC_Config","Finist29PWD")) { Serial.println("Échec de connexion ou timeout..."); delay(3000); ESP.restart(); } // 3. Récupérer les valeurs saisies par l'utilisateur après la validation strcpy(mqtt_server, custom_mqtt_server.getValue()); strcpy(api_token, custom_api_token.getValue()); // Affichage dans le moniteur série Serial.println("Connecté au Wi-Fi !"); Serial.print("Serveur MQTT enregistré : "); Serial.println(mqtt_server); Serial.print("Clé API enregistrée : "); Serial.println(api_token); // [Optionnel] Si deconnexion/reconnexion, sauvegarder ici ces variables dans la LittleFS/SPIFFS (mémoire flash) if (doiventSauvegarderConfiguration) { // Code pour écrire mqtt_server et api_token dans un fichier JSON sur l'ESP } } // // Modifier le titre principal de la page web // wifiManager.setPageTitle("Mon Système Domotique"); // // Personnaliser le menu du portail (ne garder que le scan Wi-Fi et l'extinction de l'AP par exemple) // std::vector menu = {"wifi", "exit"}; // wifiManager.setMenu(menu);