Caméra ESP32 S3 - Parcourir les photos sur la carte SD depuis un navigateur Web
Dans les autres tutoriels de carte SD, vous devez débrancher la carte et l'apporter à votre ordinateur pour voir les photos. Ce tutoriel corrige cela. L'ESP32 S3 prend des photos sur la carte microSD et exécute une petite galerie photo. Ouvrez l'adresse dans n'importe quel navigateur Web et toutes les photos sont là, sur votre téléphone ou sur votre ordinateur.

Ce que vous allez construire :
- Une caméra ESP32 S3 qui enregistre une photo toutes les 30 secondes sur la carte microSD
- Une page Web de galerie photo qui montre chaque photo de la carte
- Un clic sur une photo pour l'ouvrir en taille réelle, et pour l'enregistrer
- Une caméra que vous n'avez plus jamais besoin d'ouvrir pour récupérer les photos
Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
※ Note:
La carte caméra ESP32 S3 a 40 broches, mais le bornier à vis et la carte d'extension ont 44 broches. Elles fonctionnent quand même ensemble. Placez la carte caméra au centre de la carte à 44 broches, afin que 2 broches restent libres à gauche et 2 broches restent libres à droite.
Le bornier à vis vous permet de connecter des fils avec un tournevis, sans soudure. La carte d'extension vous donne des broches faciles pour une breadboard.
Comment ça marche
Le serveur Web a deux adresses, et elles fonctionnent ensemble :
| Adresse | Ce qu'elle fait |
|---|---|
| http://<IP>/ | Lit la carte, et construit une page avec une petite image par photo |
| http://<IP>/photo?n=00001 | Envoie un fichier photo depuis la carte |
La page de galerie ne contient elle-même aucune photo. Elle écrit seulement de nombreuses lignes <img>, et chacune demande à la carte un fichier différent :
Ainsi, le navigateur Web demande les photos les unes après les autres, et l'ESP32 S3 n'a besoin de lire qu'un seul fichier à la fois. C'est pourquoi une carte avec peu de mémoire peut afficher une carte SD pleine de photos.
※ Note:
Une photo de 180 Ko ne tient pas en une seule fois dans la mémoire de l'ESP32 S3. Le code lit le fichier par morceaux de 1024 octets et envoie chaque morceau à la fois :
Lire la liste des fichiers
SD_MMC.open("/") ouvre le dossier racine, et openNextFile() le parcourt :
※ Note:
Appelez toujours entry.close() à l'intérieur de la boucle. L'ESP32 S3 ne peut garder que quelques fichiers ouverts en même temps, et la liste s'arrête au milieu si vous l'oubliez.
Schéma de câblage
Il n'y a aucun câblage dans ce projet. Vous devez seulement insérer la carte microSD dans son logement.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Débranchez le câble USB.
- Assurez-vous que le module caméra est connecté avec son câble plat.
- Poussez la carte microSD dans son logement jusqu'à entendre un petit clic.
- Rebranchez le câble USB.
Notes de sécurité
Ne retirez jamais la carte pendant que la carte écrit une photo. La photo, et parfois la carte entière, devient corrompue. Débranchez toujours le câble USB en premier, attendez deux secondes, puis retirez la carte.
Réglages de l'Arduino IDE pour la caméra ESP32 S3
La caméra ne fonctionne pas avec les réglages par défaut de l'Arduino IDE. Vous devez changer certains éléments dans le menu Tools avant de téléverser le code.
| Tools Menu Item | Select This |
|---|---|
| Board | ESP32S3 Dev Module |
| Flash Size | 16MB (128Mb) |
| PSRAM | OPI PSRAM |
| Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
| CPU Frequency | 240MHz (WiFi) |
| USB Mode | Hardware CDC and JTAG |
| Upload Mode | UART0 / Hardware CDC |
| Upload Speed | 921600 |
| USB CDC On Boot | Enabled |
※ Note:
PSRAM doit être réglé sur OPI PSRAM, et Partition Scheme doit être réglé sur Huge APP. Changez Flash Size en premier, car la liste des options de Partition Scheme change ensuite.
Installer la bibliothèque DIYables ESP32 WebServer
- Ouvrez l'Arduino IDE.
- Cliquez sur l'icône Libraries dans la barre latérale gauche.
- Tapez DIYables ESP32 WebServer dans la zone de recherche.
- Trouvez la bibliothèque de DIYables.io et cliquez sur INSTALL.
- Search for DIYables ESP32 WebServer created by DIYables.io and click the Install button.
SD_MMC et esp_camera sont déjà inclus dans le package de la carte ESP32.
Comment programmer la galerie photo
- Écrivez une fonction pour chaque adresse, et ajoutez-les dans setup().
- Lisez le numéro dans l'adresse \/photo?n=00001. La bibliothèque a déjà découpé l'adresse en clés et valeurs pour vous.
※ Note:
Nous envoyons uniquement les cinq chiffres, pas le nom de fichier complet. La bibliothèque garde une valeur plus courte que 16 lettres, et 00001 est court et sûr.
- Extrayez les cinq chiffres d'un nom de fichier, pour construire le lien sur la page de galerie.
- Envoyez le fichier au navigateur avec la bonne longueur, puis les octets.
- Continuez à prendre des photos dans loop(), à côté du serveur Web.
※ Note:
Le serveur Web répond à un seul navigateur Web à la fois. Pendant qu'il envoie une grande photo, la prochaine photo de la caméra attend un instant. C'est normal pour une petite carte.
Code ESP32 S3
Le code enregistre une photo toutes les 30 secondes et les montre toutes dans la galerie. Pour changer le temps, changez la ligne #define PHOTO_INTERVAL 30000.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Formatez votre carte microSD en FAT32 sur votre ordinateur.
- Débranchez le câble USB, puis insérez la carte dans son logement.
- Installez la bibliothèque DIYables ESP32 WebServer.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Changez WIFI_SSID et WIFI_PASSWORD pour votre propre WiFi.
- Changez les réglages dans le menu Tools. Voir le tableau ci-dessus.
- Compilez et téléversez le code vers la carte ESP32 S3 en cliquant sur le bouton Upload dans l'Arduino IDE.

- Ouvrez le moniteur série dans l'Arduino IDE.

- Appuyez une fois sur le bouton RESET, et notez l'adresse IP.
- Attendez deux minutes, pour que la carte enregistre quelques photos.
- Tapez l'adresse dans votre navigateur Web. La galerie apparaît.

Moniteur série
Les relevés suivants ont été capturés en 2026 :
Dépannage
La page de galerie s'ouvre mais indique "No photo on the card yet".
Attendez 30 secondes et rechargez. La galerie n'affiche que les fichiers dont le nom commence par photo_ et se termine par .jpg. Les photos prises par les autres tutoriels, comme motion_00001.jpg, ne sont pas affichées. Changez la ligne name.startsWith("photo_") si vous voulez les voir.
Les petites images restent grises et n'apparaissent jamais.
La carte affiche des photos en taille réelle comme petites images, donc une page avec 50 photos est très lente. Patientez, ou baissez config.frame_size à FRAMESIZE_VGA pour que les fichiers soient plus petits.
La page se charge, mais il manque des photos.
L'ESP32 S3 ne peut garder que quelques fichiers ouverts à la fois. Assurez-vous que entry.close() est à l'intérieur de la boucle.
La page est très lente avec de nombreuses photos.
C'est normal. La carte envoie une photo à la fois. Pour une carte avec des centaines de photos, il est plus rapide de retirer la carte et de la lire sur un ordinateur.
Le moniteur série affiche SD card not found.
Formatez la carte en FAT32, utilisez une carte de 32 Go ou moins, et réinsérez la carte.
La page ne s'ouvre pas du tout.
Votre ordinateur et votre ESP32 S3 doivent être sur le même réseau WiFi. Tapez http://, pas https://.
Le moniteur série n'affiche rien après les messages de démarrage.
Si votre câble USB est dans le port nommé UART, réglez USB CDC On Boot sur Disabled. S'il est dans le port nommé USB, réglez-le sur Enabled.
Applications
Une caméra qui montre ses propres photos via WiFi vous évite un déplacement jusqu'à la carte à chaque fois. Voici des projets pratiques que vous pouvez construire avec ce code :
- Caméra de time-lapse consultable depuis votre bureau : Voyez à quoi ressemblent les images avant de la laisser tourner pendant une semaine.
- Caméra de chantier : Montrez les photos du jour à un client sur un téléphone, directement sur le site.
- Surveillance de plantes et de serre : Regardez la croissance de vos plantes sans ouvrir la serre.
- Registre de magasin et de bureau : Un responsable peut regarder les photos depuis une autre pièce.
- Caméra de classe : Chaque élève peut ouvrir la galerie sur son propre téléphone.
- Journal de machine et d'imprimante 3D : Vérifiez les dernières photos quand une impression a échoué, sans câble.
- Surveillance d'aquarium : Regardez vos poissons depuis le canapé.
- Caméra météo et de ciel : Montrez le ciel de toute la journée sous forme d'une page de petites images.
- Caméra de porte avec enregistrement : Regardez qui est venu, et enregistrez seulement les photos que vous voulez garder.
- Caméra de résidence de vacances : Vérifiez les photos via le WiFi local à votre arrivée.
Vidéo
Regardez la vidéo pas à pas pour ce projet ESP32 S3 ci-dessous.
Défis
- Débutant : Changez la galerie pour montrer la photo la plus récente en premier.
- Intermédiaire : Ajoutez une adresse /delete?n=00001 qui supprime une photo de la carte avec SD_MMC.remove().
- Avancé : Affichez seulement 20 photos par page, et ajoutez des liens Next et Back, afin qu'une carte avec mille photos s'ouvre encore rapidement.