ESP32 S3 - Écrire une variable sur une carte SD
Apprenez à écrire différents types de variables directement sur une carte Micro SD en utilisant l'ESP32 S3, permettant un stockage persistant pour des relevés de capteurs, des valeurs de configuration, et des données structurées. Ce tutoriel couvre l'écriture d'entiers, de nombres flottants, de chaînes de caractères, de tableaux de caractères, de tableaux d'octets, et de paires clé-valeur dans des fichiers sur la carte SD.
Ce que vous allez construire :
- Un circuit connectant l'ESP32 S3 à un module carte Micro SD via SPI
- Un sketch qui écrit plusieurs types de variables (int, float, string, tableau de char, tableau d'octets) dans un fichier sur la carte SD
- Un sketch qui stocke des variables sous forme de paires clé-valeur pour des fichiers de configuration structurés et lisibles par un humain
- Une base pour des applications d'enregistrement de données et de stockage de configuration sur l'ESP32 S3

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du module carte Micro SD
Le module carte Micro SD est une carte d'interface qui relie votre ESP32 S3 à une carte Micro SD en utilisant le protocole de communication SPI. Il gère la régulation de tension et la traduction de signal afin que l'ESP32 S3 puisse lire et écrire les données de la carte de manière fiable aux niveaux logiques 3,3 V, ce qui en fait un composant essentiel pour tout projet nécessitant un stockage persistant local.
Spécifications clés
Le module communique via SPI et prend en charge les cartes Micro SD formatées en FAT16 ou FAT32. Il accepte une tension de fonctionnement entre 3,3 V et 5 V, ce qui le rend compatible avec un large éventail de microcontrôleurs. L'interface à six broches expose les lignes VCC, GND, MISO, MOSI, SCK, et SS, et le module est bien adapté à l'enregistrement de données, au stockage de configuration, et à la diffusion de contenu web statique depuis des appareils IoT autonomes.
Vous ne connaissez pas le module carte Micro SD, y compris son brochage, sa fonctionnalité, et sa programmation ? Apprenez tout à ce sujet dans le tutoriel ESP32 S3 - Carte SD.
Schéma de câblage
Connectez le module carte Micro SD à l'ESP32 S3 en suivant le schéma ci-dessous, en gardant tous les fils courts et bien rangés pour réduire le bruit sur le bus SPI. Vérifiez bien chaque connexion avant de mettre la carte sous tension.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
※ Note:
Si vous utilisez un shield Ethernet ou tout autre shield ayant un support de carte Micro SD, vous n'avez pas besoin d'utiliser le module carte Micro SD. Vous devez simplement insérer la carte Micro SD dans le support de carte Micro SD du shield.
Notes de sécurité
Vérifiez toujours que la carte SD est bien insérée dans le module avant d'exécuter du code, car une carte mal fixée provoquera des échecs d'initialisation difficiles à diagnostiquer. Utilisez une carte Micro SD de qualité, de marque reconnue, pour éviter des erreurs de lecture/écriture intermittentes, et ne retirez jamais la carte pendant que l'ESP32 S3 écrit activement des données pour éviter une corruption du système de fichiers.
| Broche du module Micro SD | Broche ESP32 S3 |
|---|---|
| VCC | 5V |
| GND | GND |
| MISO | GPIO13 (MISO) |
| MOSI | GPIO11 (MOSI) |
| SCK | GPIO12 (SCK) |
| SS | GPIO10 (CS) |
ESP32 S3 - Comment écrire une variable dans un fichier sur une carte Micro SD
Aperçu du code
Le code suivant démontre comment écrire plusieurs types de variables dans un seul fichier sur la carte Micro SD en utilisant l'ESP32 S3. Il écrit un entier, un nombre flottant, une chaîne de caractères, un tableau de caractères, et un tableau d'octets — chacun sur sa propre ligne — vous donnant un modèle pratique pour stocker divers types de données dans un seul fichier persistant.
Le sketch couvre :
- L'écriture d'une variable int sur la carte Micro SD
- L'écriture d'une variable float sur la carte Micro SD
- L'écriture d'une variable string sur la carte Micro SD
- L'écriture d'un tableau de char sur la carte Micro SD
- L'écriture d'un tableau d'octets sur la carte Micro SD
Code ESP32 S3
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Préparez la carte SD : Insérez la carte Micro SD formatée dans le module carte SD. Assurez-vous qu'elle est formatée en FAT16 ou FAT32 (recherchez en ligne des instructions de formatage pour votre système d'exploitation).
- Câblez le circuit : Connectez le module carte Micro SD à l'ESP32 S3 en suivant le schéma de câblage ci-dessus.
- Connectez l'ESP32 S3 : Branchez l'ESP32 S3 à votre PC à l'aide du câble USB Type-C.
- Ouvrez Arduino IDE : Lancez Arduino IDE sur votre ordinateur.
- Sélectionnez la carte : Choisissez ESP32 S3 dans le menu des cartes.
- Sélectionnez le port : Choisissez le bon port COM pour votre ESP32 S3.
- Copiez le code : Copiez le code fourni ci-dessus.
- Collez le code : Collez-le dans un nouveau sketch Arduino IDE.
- Téléversez : Cliquez sur le bouton Upload pour flasher le code sur votre ESP32 S3.
- Consultez les résultats : Ouvrez le Serial Monitor pour voir la sortie.
- Vérifiez la carte SD : Détachez la carte Micro SD du module, insérez-la dans le lecteur de carte SD USB, connectez-la à votre PC, et ouvrez le fichier esp32.txt pour vérifier les valeurs écrites.
- Astuce : Ouvrez toujours le Serial Monitor avant de téléverser afin de capturer chaque message d'initialisation dès le tout premier démarrage.
Sortie du Serial Monitor
Sortie attendue :
Vérification sur PC :
- Détachez la carte Micro SD du module carte Micro SD
- Insérez la carte Micro SD dans un lecteur de carte SD USB
- Connectez le lecteur de carte SD USB au PC
- Ouvrez le fichier esp32.txt sur votre PC pour confirmer les valeurs écrites

ESP32 S3 - Comment écrire une paire clé-valeur dans un fichier sur une carte Micro SD
Aperçu du code
Le code suivant montre comment écrire chaque variable sur la carte Micro SD sous forme de paire clé-valeur, produisant un fichier structuré et lisible par un humain, facile à réanalyser dans votre application. Ce format est particulièrement utile pour stocker des paramètres de configuration que l'ESP32 S3 peut relire au démarrage en utilisant le tutoriel ESP32 S3 - Lire la configuration depuis une carte SD.
Code ESP32 S3
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Préparez la carte SD : Insérez la carte Micro SD formatée dans le module carte SD.
- Câblez le circuit : Connectez le module carte Micro SD à l'ESP32 S3 en suivant le schéma de câblage ci-dessus.
- Connectez l'ESP32 S3 : Branchez l'ESP32 S3 à votre PC à l'aide du câble USB Type-C.
- Ouvrez Arduino IDE : Lancez Arduino IDE sur votre ordinateur.
- Sélectionnez la carte : Choisissez ESP32 S3 dans le menu des cartes.
- Sélectionnez le port : Choisissez le bon port COM pour votre ESP32 S3.
- Copiez le code : Copiez le code fourni ci-dessus.
- Collez le code : Collez-le dans un nouveau sketch Arduino IDE.
- Téléversez : Cliquez sur le bouton Upload pour flasher le code sur votre ESP32 S3.
- Consultez les résultats : Ouvrez le Serial Monitor pour voir la sortie clé-valeur.
- Vérifiez la carte SD : Retirez la carte et vérifiez le fichier sur votre PC.
- Astuce : Le format clé-valeur se marie bien avec le tutoriel de lecture de configuration, vous permettant de sauvegarder et de restaurer les paramètres de l'appareil à travers les redémarrages sans reflasher.
Sortie du Serial Monitor
Sortie attendue :
Vérification sur PC :
- Détachez la carte Micro SD du module carte Micro SD
- Insérez la carte Micro SD dans un lecteur de carte SD USB
- Connectez le lecteur de carte SD USB au PC
- Ouvrez le fichier esp32.txt sur votre PC pour confirmer les paires clé-valeur

Idées d'applications
La puissance de traitement et la connectivité sans fil intégrée de l'ESP32 S3 en font une excellente plateforme pour le stockage de variables basé sur carte SD dans des déploiements réels.
- Enregistreur de données de capteur : Écrivez périodiquement des relevés de température, d'humidité, ou de pression sur la carte SD pour une analyse de tendance à long terme.
- Stockage de configuration : Enregistrez les paramètres définis par l'utilisateur sous forme de paires clé-valeur afin que l'appareil restaure son état après un cycle d'alimentation.
- Registres d'étalonnage : Stockez les coefficients d'étalonnage des capteurs analogiques afin qu'ils survivent aux mises à jour de firmware et aux réinitialisations.
- Horodatage d'événements : Écrivez des données d'événements (ouvertures de porte, appuis de bouton, déclenchements de mouvement) avec des horodatages pour des journaux de sécurité ou d'audit.
- Enregistreur de déploiement distant : Déployez un ESP32 S3 dans un lieu sans accès internet et collectez les données localement, puis récupérez la carte SD pour un téléversement par lot.
- Agrégateur multi-capteurs : Combinez les relevés de plusieurs capteurs dans un fichier CSV structuré sur la carte SD pour une analyse en tableur.
Vidéo
Regardez ci-dessous le tutoriel vidéo étape par étape de ce projet ESP32 S3.
Relevez le défi
Ces exercices s'appuient progressivement sur les exemples ci-dessus pour approfondir votre compréhension du stockage de variables sur carte SD avec l'ESP32 S3.
- Débutant : Modifiez le sketch d'écriture de variables pour utiliser vos propres noms de variables et valeurs, puis vérifiez la sortie sur la carte SD.
- Débutant : Ajoutez un compteur de lignes au fichier afin que chaque entrée écrite soit numérotée séquentiellement à travers plusieurs redémarrages.
- Intermédiaire : Écrivez un sketch qui enregistre la valeur actuelle de millis() avec un relevé de capteur simulé toutes les dix secondes, en ajoutant chaque entrée à un fichier CSV grandissant.
- Intermédiaire : Combinez les tutoriels d'écriture de variable et de lecture de configuration pour construire un test aller-retour : écrivez des paramètres sur la carte SD, redémarrez, relisez-les, et affichez une confirmation sur le Serial Monitor.
- Avancé : Implémentez un journal glissant qui limite le fichier à 500 lignes en lisant le contenu existant, en supprimant les entrées les plus anciennes, et en réécrivant le fichier à chaque fois qu'un nouvel ensemble de variables est ajouté.
- Avancé : Créez un enregistreur multi-variables qui stocke les relevés de trois capteurs différents dans des fichiers clé-valeur séparés et fait tourner chaque fichier quotidiennement en utilisant un schéma de nom de fichier basé sur l'horodatage.