ESP32 S3 - Enregistrer des données horodatées sur une carte SD
Apprenez à construire un enregistreur de données horodatées avec l'ESP32 S3 et un module carte Micro SD. Ce tutoriel vous montre comment capturer des données réelles et les associer à des informations précises de date et d'heure provenant d'un module RTC, avant de les écrire de façon persistante sur la carte.
Ce que vous allez construire :
- Un circuit connectant l'ESP32 S3 à un module carte Micro SD et à un module RTC DS3231
- Un croquis qui enregistre des entrées de données horodatées dans un seul fichier sur la carte Micro SD
- Un deuxième croquis qui répartit la sortie du journal dans des fichiers quotidiens nommés par date
- Une base pour des applications de journalisation de données et de surveillance IoT s'exécutant sur le long terme

Matériel nécessaire
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 et du module RTC
Le module carte Micro SD se connecte à l'ESP32 S3 via le bus SPI et fournit un accès fiable au système de fichiers FAT16/FAT32 pour stocker des fichiers journaux qui peuvent grandir sur des jours ou des semaines. Le module RTC DS3231 maintient une heure très précise indépendamment de l'état d'alimentation de l'ESP32 S3, garantissant que chaque entrée de journal porte une date et une heure significatives même après une réinitialisation de la carte ou une coupure d'alimentation. Ensemble, ces deux modules forment l'épine dorsale d'une solution de journalisation de données robuste et autonome.
Spécifications clés
Pas familier avec le module carte Micro SD ou le module RTC, y compris leur brochage, leur fonctionnement, et leur programmation ? Explorez les tutoriels complets sur ces sujets ci-dessous :
- Tutoriel ESP32 S3 - Carte SD.
- Tutoriel ESP32 S3 - RTC.
Schéma de câblage
Connectez le module carte Micro SD et le module RTC DS3231 à l'ESP32 S3 en suivant le schéma ci-dessous, en gardant les fils courts pour minimiser le bruit sur le bus SPI. Vérifiez bien chaque connexion avant de mettre la carte sous tension pour éviter des erreurs d'initialisation.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de sécurité
Assurez-vous toujours que la carte Micro SD est bien insérée dans le module et que la carte est formatée en FAT16 ou FAT32 avant d'exécuter tout code de journalisation, car une carte non formatée ou mal insérée empêchera l'initialisation. Ne retirez jamais la carte pendant que l'ESP32 S3 écrit activement des données, car cela peut corrompre le système de fichiers et détruire les entrées de journal précédemment enregistrées.
| Broche du module Micro SD | Broche ESP32 S3 |
|---|---|
| VCC | 5V |
| GND | GND |
| MISO | GPIO13 (MISO) |
| MOSI | GPIO11 (MOSI) |
| SCK | GPIO12 (SCK) |
| SS | GPIO10 (CS) |
| Broche DS3231 | Broche ESP32 S3 |
| VCC | 3,3V |
| GND | GND |
| SDA | GPIO8 (SDA) |
| SCL | GPIO9 (SCL) |
ESP32 S3 - Enregistrer des données horodatées sur une carte Micro SD
Aperçu du code
Le code suivant lit les valeurs de deux broches analogiques à chaque itération de boucle et ajoute une ligne CSV horodatée à un seul fichier journal sur la carte Micro SD. La date et l'heure sont récupérées depuis le module RTC DS3231, de sorte que chaque enregistrement porte une information d'horloge réelle précise qui rend le journal utile pour l'analyse longtemps après la collecte. Pour simplifier, les lectures de broches analogiques sont utilisées comme jeu de données d'exemple — le même modèle s'applique à n'importe quel capteur que vous câblez dans le circuit.
Code ESP32 S3
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Préparez la carte SD : formatez la carte Micro SD en FAT16 ou FAT32, puis insérez-la dans le module carte SD
- Câblez le circuit : connectez le module carte Micro SD et le module RTC DS3231 à l'ESP32 S3 en suivant le schéma de câblage ci-dessus
- Connectez l'ESP32 S3 : branchez l'ESP32 S3 à votre PC avec le câble USB Type-C
- Ouvrez Arduino IDE : lancez Arduino IDE sur votre ordinateur
- Sélectionnez la carte : choisissez ESP32 S3 dans le menu de carte
- Sélectionnez le port : choisissez le bon port COM pour votre ESP32 S3
- Ouvrez le Serial Monitor : ouvrez le Serial Monitor avant le téléversement (Tools > Serial Monitor)
- Copiez le code : copiez le code fourni ci-dessus
- Collez le code : collez-le dans un nouveau croquis Arduino IDE
- Téléversez : cliquez sur le bouton Upload pour flasher le code sur votre ESP32 S3
- Consultez les résultats : vérifiez le Serial Monitor pour confirmer que le journal est bien écrit
- Lisez le journal : détachez la carte Micro SD, insérez-la dans un lecteur de carte SD USB, connectez-le à votre PC, et ouvrez log.txt pour consulter les entrées enregistrées
- Astuce pro : ouvrez toujours le Serial Monitor avant de téléverser afin de capturer chaque message d'initialisation depuis le tout premier démarrage.
Sortie du Serial Monitor
Sortie attendue :
Consulter le journal sur votre 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 à votre PC
- Ouvrez le fichier log.txt — il ressemblera à l'image ci-dessous

Si vous n'avez pas de lecteur de carte SD USB, vous pouvez lire le contenu du fichier journal directement en téléversant le code ESP32 S3 suivant.
ESP32 S3 - Enregistrer des données dans plusieurs fichiers
Écrire toutes les entrées de journal dans un seul fichier fait grandir ce fichier indéfiniment et rend difficile la recherche d'entrées d'une date spécifique. Le code suivant résout ce problème en créant un fichier journal par jour, chaque nom de fichier étant réglé sur la date au format YYYYMMDD.txt, ce qui les rend faciles à identifier et à trier.
Aperçu du code
Le code suivant interroge le module RTC DS3231 à chaque itération de boucle pour déterminer la date actuelle, puis ouvre ou crée le fichier journal quotidien correspondant et y ajoute un enregistrement horodaté. Quand minuit passe et que la date change, le code bascule automatiquement vers un nouveau fichier — gardant vos journaux proprement répartis sans aucune intervention manuelle.
Code ESP32 S3
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Préparez la carte SD : formatez la carte Micro SD en FAT16 ou FAT32, puis insérez-la dans le module carte SD
- Câblez le circuit : connectez le module carte Micro SD et le module RTC DS3231 à l'ESP32 S3 en suivant le schéma de câblage ci-dessus
- Connectez l'ESP32 S3 : branchez l'ESP32 S3 à votre PC avec le câble USB Type-C
- Téléversez le code : copiez, collez, et téléversez le code de journalisation multi-fichiers ci-dessus
- Exécutez pendant la nuit : laissez l'ESP32 S3 fonctionner à travers minuit pour observer la rotation automatique des fichiers quotidiens
- Lisez les fichiers : après une longue exécution, retirez la carte Micro SD, insérez-la dans un lecteur de carte SD USB, et connectez-le à votre PC — vous verrez un fichier par jour comme indiqué ci-dessous

- Astuce pro : réglez le module RTC à la bonne heure avant votre première longue session de journalisation afin que chaque horodatage soit précis dès le début.
Sortie du Serial Monitor
Sortie attendue pendant l'exécution :
Idées d'applications
La puissance de traitement de l'ESP32 S3 et sa connectivité sans fil intégrée en font une plateforme idéale pour construire des systèmes de journalisation de données horodatées s'exécutant sur le long terme dans des environnements réels.
- Moniteur environnemental : enregistrez les relevés de température, d'humidité, et de qualité de l'air à intervalles réguliers pour des études climatiques intérieures ou extérieures.
- Journal de contrôle d'accès : enregistrez chaque événement de verrouillage de porte avec un horodatage précis pour maintenir une piste d'audit de sécurité résistante à la falsification.
- Enregistreur de données agricoles : suivez l'humidité du sol, l'intensité lumineuse, et la température au fil des saisons de culture pour optimiser les conditions des cultures.
- Enregistreur de capteurs industriels : capturez les relevés de vibration, de pression, ou de courant provenant de machines pour soutenir des programmes de maintenance prédictive.
- Suivi de consommation d'énergie : stockez les statistiques quotidiennes d'utilisation d'électricité provenant d'un compteur intelligent ou d'un capteur de courant, pour la vérification de facturation et l'analyse d'efficacité.
- Station météo : enregistrez la pression barométrique, la vitesse du vent, et les données de précipitations avec horodatage pour l'analyse des tendances météo locales.
Vidéo
Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.
Mettez-vous au défi
Les bases de journalisation ci-dessus sont prêtes à être étendues — essayez ces exercices progressivement plus exigeants pour approfondir vos compétences.
- Débutant : modifiez l'enregistreur à fichier unique pour écrire une ligne d'en-tête (par exemple, Timestamp,Value1,Value2) comme toute première ligne, afin que le fichier CSV s'ouvre correctement dans un logiciel de tableur.
- Débutant : ajoutez une troisième colonne de données au journal en lisant un capteur réel (comme un capteur de température DHT11) au lieu d'une broche analogique.
- Intermédiaire : implémentez une vérification de taille de fichier maximale afin que l'enregistreur crée automatiquement un nouveau fichier (par exemple, log_001.txt, log_002.txt) lorsque le fichier actuel dépasse 1 Mo.
- Intermédiaire : ajoutez une étape de téléversement WiFi qui, une fois par heure, lit le fichier journal actuel et l'envoie par POST à un serveur distant ou un espace de stockage cloud.
- Avancé : construisez un enregistreur auto-réparant qui détecte les échecs d'initialisation de la carte SD, réessaie plusieurs fois avec des délais croissants, et envoie une alerte via le Serial Monitor quand la carte ne peut pas être atteinte.
- Avancé : combinez l'enregistreur quotidien multi-fichiers avec un serveur web afin de pouvoir parcourir et télécharger les fichiers de jours individuels depuis un navigateur sur votre réseau local, sans retirer la carte SD.