# Annexe — Installation de l'environnement de développement (Windows 10) ## 1. Arduino IDE Télécharger et installer la dernière version depuis le site officiel : 👉 https://www.arduino.cc/en/software Choisir **Windows Win 10 and newer, 64 bits** (installeur `.exe`). --- ## 2. Pilote CP2102 (USB → UART) Le DevKit V1 utilise une puce **Silicon Labs CP2102** pour la communication USB/série. Windows 10 ne l'installe pas toujours automatiquement. **Vérification :** brancher l'ESP32 en USB → ouvrir le Gestionnaire de périphériques → si le port COM n'apparaît pas (ou apparaît avec un `!`), le pilote est absent. **Installation :** 1. Télécharger le pilote sur le site Silicon Labs : https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers 2. Choisir **CP210x Windows Drivers** 3. Décompresser et lancer `CP210xVCPInstaller_x64.exe` 4. Débrancher / rebrancher l'ESP32 → un port **COMx** apparaît dans le Gestionnaire de périphériques --- ## 3. Support ESP32 dans Arduino IDE Le support ESP32 ne fait pas partie d'Arduino IDE par défaut — il faut ajouter le gestionnaire de cartes Espressif. ### 3a. Ajouter l'URL du gestionnaire de cartes 1. Dans Arduino IDE : **Fichier → Préférences** 2. Dans le champ **URL de gestionnaire de cartes supplémentaires**, ajouter : ``` https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json ``` 3. Valider avec OK ### 3b. Installer le paquet ESP32 1. **Outils → Type de carte → Gestionnaire de cartes** 2. Rechercher `esp32` 3. Sélectionner **esp32 by Espressif Systems** → **Installer** 4. Attendre la fin du téléchargement (~200 Mo) ### 3c. Sélectionner la carte 1. **Outils → Type de carte → esp32 → ESP32 Dev Module** 2. **Outils → Port** → sélectionner le port COMx du DevKit --- ## 4. Vérification Ouvrir **Fichier → Exemples → WiFi → WiFiScan**, téléverser. Si la compilation et le téléversement réussissent sans erreur, l'environnement est opérationnel. --- ## 5. Bibliothèques du projet À installer via **Outils → Gérer les bibliothèques** : | Nom dans le gestionnaire | Auteur | Usage | |--------------------------|----------------|-----------------------------| | HX711 | bogde | Lecture du capteur | | ESPAsyncWebServer | Mathieu Carbou | Serveur web asynchrone | | ESP32AsyncTCP | Mathieu Carbou | Dépendance d'AsyncWebServer | > ⚠️ Ne pas installer la version de `me-no-dev` — elle n'est plus maintenue et provoque une erreur de compilation avec le SDK ESP32 v3.x (voir ci-dessous). --- ## 6. Erreur de compilation — ESPAsyncWebServer incompatible ### Symptôme ``` WebAuthentication.cpp: error: 'mbedtls_md5_starts_ret' was not declared in this scope ``` ### Cause Le SDK ESP32 v3.x a supprimé les fonctions mbedTLS suffixées `_ret` (`mbedtls_md5_starts_ret`, `mbedtls_md5_update_ret`, `mbedtls_md5_finish_ret`). La bibliothèque `ESPAsyncWebServer` de `me-no-dev` utilise ces fonctions obsolètes et n'est plus maintenue. ### Solution Désinstaller la version `me-no-dev` et installer le fork maintenu via ZIP (ces bibliothèques ne sont pas toujours disponibles dans le gestionnaire Arduino) : **Étape 1 — Désinstaller l'ancienne version (si présente)** 1. **Outils → Gérer les bibliothèques** 2. Rechercher `ESPAsyncWebServer` → si la version `me-no-dev` est installée, cliquer **Désinstaller** 3. Faire de même pour `AsyncTCP` de `me-no-dev` **Étape 2 — Installer depuis le gestionnaire Arduino** 1. **Outils → Gérer les bibliothèques** 2. Rechercher `ESP32AsyncTCP` → installer **ESP32AsyncTCP by Mathieu Carbou** 3. Rechercher `ESPAsyncWebServer` → installer **ESPAsyncWebServer by Mathieu Carbou** **Étape 3 — Relancer la compilation** Le fork de Mathieu Carbou est compatible SDK ESP32 v3.x et maintenu activement.