Skip to Content

Programmation de l’ESP32-WROVER CAM

Programmation de l’ESP32-WROVER CAM

Dans ce tutoriel, vous apprendrez comment configurer l’IDE Arduino pour programmer la carte Freenove ESP32-WROVER CAM. Cette carte est comparable à la ESP32-CAM avec une caméra OV2640 et une interface carte SD, mais elle offre plus de broches GPIO et est plus facile à programmer que les anciennes cartes ESP32-CAM.

Pièces requises

Vous aurez besoin d’une carte Freenove ESP32-WROVER CAM pour suivre ce tutoriel. En général, la carte est livrée avec des accessoires comme une carte SD, un lecteur de carte SD et un câble USB-C, mais si ces éléments manquent, je les ai également liés ci-dessous.

ESP32-WROVER CAM

Câble USB-C

Lecteur de carte SD

Carte MicroSD 16GB

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Caractéristiques de la carte Freenove ESP32-WROVER CAM

La carte Freenove ESP32-WROVER CAM intègre un microprocesseur 32 bits dual-core (ESP32-Wrover-E chip) cadencé de 80 à 240 MHz avec 520KB de SRAM, 4 MB de Flash, 8 MB de PSRAM, un module Wi-Fi 2,4 GHz et Bluetooth 4.2 (LE), un slot microSD, et une caméra OV2640. L’image ci-dessous montre le recto et le verso de la carte :

Front and Back of the ESP32-WROVER CAM board
Recto et verso de la carte ESP32-WROVER CAM

Notez que l’ancienne version 1.x de la carte ne disposait pas du slot microSD, mais la version actuelle 3.x en est équipée.

La carte possède un port micro-USB et un convertisseur USB vers UART intégré (CH340), ce qui facilite le téléchargement du code. Il suffit de connecter la carte à votre PC via un câble USB et d’utiliser l’IDE Arduino pour écrire et téléverser le code.

Contrairement à certaines anciennes cartes ESP32-CAM, il n’est pas nécessaire de réinitialiser manuellement la carte pour entrer en mode téléchargement ni d’utiliser un programmateur FTDI. Un autre avantage par rapport à l’ESP32-CAM est la disponibilité de plus de broches GPIO libres.

La carte est livrée avec un Github Repocontenant la documentation et des exemples de programmation en C et Python. Vous pouvez aussi télécharger le ZIP-file avec la documentation et les exemples. Voici également un lien vers le Datasheet for the Wrover chip.

LEDs

La carte ESP32-WROVER dispose de quatre LEDs intégrées. La LED verte ON indique que la carte est alimentée. La LED bleue, étiquetée IO2, est connectée à GPIO2 et peut être contrôlée par l’utilisateur. Les LEDs jaunes RX et TX indiquent la transmission des données série. L’image ci-dessous montre les quatre LEDs sur la carte :

LEDs on ESP32-WROVER board
LEDs sur la carte ESP32-WROVER

Brochage

Une fonctionnalité intéressante de la carte est que les broches sont annotées sur la sérigraphie selon leur usage : caméra (-), carte SD (~) ou PSRAM (*). Vous pouvez voir un gros plan de certaines broches avec leurs marquages sur l’image ci-dessous :

Annotated Pins of the ESP32-WROVER CAM board
Broches annotées de la carte ESP32-WROVER CAM

Cela est très utile pour repérer les broches GPIO libres, car vous ne pouvez pas utiliser les broches marquées si la caméra ou la carte SD est en service. L’image suivante montre le brochage complet de la carte (cliquez pour agrandir) :

Pinout of ESP32-WROVER CAM
Brochage de l’ESP32-WROVER CAM (source)

Broches de strapping

Notez qu’en plus des broches utilisées par la caméra ou la carte SD, il y a cinq broches de strapping : MTDI, GPIO0, GPIO2, MTDO et GPIO5. Il faut être prudent avec ces broches car elles doivent être dans un certain état lors du reset de la carte. Le tableau suivant montre les broches de strapping et leur fonction :

Table of Strapping pins of ESP32-WROVER CAM
Tableau des broches de strapping de l’ESP32-WROVER CAM (source)

Après le reset, les broches de strapping peuvent fonctionner comme des broches GPIO normales, mais il faut s’assurer qu’elles soient connectées à un circuit externe à haute impédance pendant le reset, sinon la carte pourrait ne pas démarrer correctement.

Préparer l’IDE Arduino pour l’ESP32-WROVER CAM

Pour programmer l’ESP32-WROVER CAM depuis l’IDE Arduino, vous devez pouvoir communiquer avec la carte et avoir installé le logiciel (core) correspondant. Les deux sections suivantes expliquent ce qu’il faut faire.

Installer le driver CH340

La carte ESP32-WROVER CAM communique via une puce CH340 qui permet de programmer la carte par USB. Si vous n’avez jamais programmé d’autres cartes non-Arduino, vous devrez peut-être installer le driver CH340. Voici un lien vers le logiciel du driver pour CH340 selon votre système d’exploitation (Windows, Mac, Linux).

Sous Windows, vous pouvez vérifier si le CH340 est installé en ouvrant le Gestionnaire de périphériques et en cherchant sous Ports le port USB-SERIAL CH340 comme montré ci-dessous. Cela ne fonctionne que si la carte est connectée à votre PC via le câble USB.

CH340 Driver in Windows Device Manager
Driver CH340 dans le Gestionnaire de périphériques Windows

Sinon, téléchargez le driver depuis le Repo, par exemple CH341SER.EXE pour Windows, lancez-le et cliquez sur INSTALL:

Installing the CH340 Driver under Windows
Installation du driver CH340 sous Windows

Puis vérifiez à nouveau dans le Gestionnaire de périphériques si le driver est installé et si la carte est connectée à un port COM.

Installer le Core ESP32

Ensuite, il faut installer le Core ESP32 pour activer la prise en charge des cartes ESP32 dans l’IDE Arduino. L’installation est simple. Lancez votre Arduino IDE et suivez les étapes ci-dessous. En cas de problème, vous trouverez des instructions plus détaillées dans notre tutoriel How to Program ESP32 with Arduino IDE.

URLs supplémentaires pour le gestionnaire de cartes

Commencez par ouvrir la boîte de dialogue Préférences en sélectionnant « Preferences… » dans le menu « File » :

Open Preferences Dialog
Ouvrir la boîte de dialogue Préférences

Cela ouvre la boîte de dialogue Préférences ci-dessous. Sous l’onglet Settings, vous trouverez un champ de saisie en bas, intitulé « URLs supplémentaires pour le gestionnaire de cartes » :

Dans ce champ, copiez l’URL suivante : « https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json« 

Cela indique à l’IDE Arduino où trouver les bibliothèques du core ESP32. Ensuite, nous allons installer ces bibliothèques via le gestionnaire de cartes.

Gestionnaire de cartes

Ouvrez le GESTIONNAIRE DE CARTES en cliquant sur l’icône de carte dans la barre latérale de l’IDE Arduino :

Board icon in Sidebar
Icône de carte dans la barre latérale

Le GESTIONNAIRE DE CARTES s’ouvre à droite de la barre latérale. Tapez « ESP32 » dans le champ de recherche en haut et vous verrez deux types de cartes ESP32 : « Arduino ESP32 Boards » et « esp32 par Espressif ». Nous voulons les bibliothèques esp32 par Espressif. Cliquez sur le bouton INSTALL et attendez la fin du téléchargement et de l’installation.

Install ESP32 Core libraries
Installer les bibliothèques Core ESP32

Une fois installé, votre gestionnaire de cartes devrait ressembler à ceci, même si la version (ici 3.0.0-a) peut être différente.

ESP32 core installed
Core ESP32 installé

À l’étape suivante, je vous montre comment sélectionner la carte ESP32 pour l’ESP32-WROVER CAM.

Sélectionner ESP32 Wrover Module

Cliquez sur le sélecteur de cartes. Dans l’exemple ci-dessous, la carte sélectionnée est un Arduino Uno (nous allons changer cela) :

Bord selector
Sélecteur de carte

Cliquer sur le nom de la carte sélectionnée (Arduino Uno) ouvre la boîte de sélection des cartes. Dans la zone de recherche, tapez « wrover » et sélectionnez « ESP32 Wrover Module » comme montré ci-dessous :

Select ESP32 Wrover Module
Sélectionner ESP32 Wrover Module

Si la carte est connectée à votre PC via USB, vous devriez aussi pouvoir sélectionner le port COM. Dans la capture d’écran, c’est COM5, mais cela peut être un autre port chez vous.

Programmer l’ESP32-WROVER CAM

Si vous avez pu sélectionner ESP32 Wrover Module comme carte et que la connexion au port COM fonctionne, vous pouvez maintenant programmer votre carte ESP32-WROVER CAM.

Blink

Comme test simple, téléversez le programme classique Blink. La LED embarquée contrôlable de la carte ESP32-WROVER CAM est connectée à GPIO 2. Nous définissons donc la constante ledPin à 2, puis allumons la LED pendant une seconde et l’éteignons pendant une autre seconde :

const byte ledPin = 2;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);   
  digitalWrite(ledPin, LOW); 
  delay(1000);  
}

Si cela fonctionne, félicitations ! Vous avez programmé avec succès votre ESP32-WROVER CAM. Dans la section suivante, je vous montre comment lancer l’exemple WebServer qui permet de diffuser la vidéo vers votre ordinateur.

Serveur Web de streaming vidéo

Dans votre IDE Arduino, allez dans File -> Examples -> ESP32 -> Camera et ouvrez l’exemple CameraWebServer :

CameraWebServer Example
Exemple CameraWebServer

Ensuite, vous devrez modifier légèrement le code dans CameraWebServer.ino. Retirez les signes de commentaire // pour la définition de CAMERA_MODEL_WROVER_KIT et assurez-vous que toutes les autres définitions de caméra sont commentées comme montré ci-dessous :

Définition de CAMERA_MODEL_WROVER_KIT

Dans le même fichier, un peu plus bas, vous devez aussi entrer les identifiants Wi-Fi de votre réseau domestique. Remplacez SSID et PASSWORD par vos identifiants réseau pour les constantes suivantes :

Wi-Fi network credentials
Identifiants réseau Wi-Fi

Après avoir téléversé le code sur votre ESP32-WROVER CAM, vous devriez voir le texte suivant dans le Moniteur Série :

IP address of CameraWebServer
Adresse IP de CameraWebServer

Notez la dernière ligne, qui vous donne l’URL (adresse IP) où le serveur Web est accessible. Copiez-collez cette URL dans la barre d’adresse de votre navigateur (elle sera différente pour votre carte).

Vous devriez alors voir le site web suivant qui diffuse les images de la caméra de votre ESP32-WROVER vers votre navigateur :

CameraWebServer in Web browser
CameraWebServer dans le navigateur Web

N’oubliez pas de cliquer sur « Start Stream » en bas de la page pour démarrer le streaming vidéo. Sur l’image ci-dessus, le streaming est déjà lancé et le bouton indique « Stop Stream ».

Start Stream Button
Bouton Start Stream

N’hésitez pas à tester les différents réglages de la caméra. Vous remarquerez que le débit d’images baisse nettement pour des résolutions plus élevées.

Conclusions

Dans ce tutoriel, vous avez appris à programmer la carte ESP32-WROVER CAM. Je vous ai montré seulement les exemples Blink et WebServer, mais le dépôt Github contient plus d’exemples de code pour le ESP32-WROVER CAM, notamment autour du Wi-Fi et du Bluetooth.

Comparée à ESP32-CAM, l’ESP32-WROVER CAM a l’avantage d’offrir plus de broches GPIO libres et ne nécessite pas de matériel supplémentaire pour la programmation, comme un shield de programmation ou un programmateur FTDI.

En revanche, l’ESP32-CAM est plus petite, moins chère et possède une LED flash, ce qui est un avantage certain pour certains projets. Si vous avez besoin d’une carte encore plus petite, regardez la carte XIAO-ESP32-S3-Sense. Elle n’a pas de LED flash mais offre plus de GPIO libres, ce qui permettrait d’ajouter une LED flash.

Si vous avez des questions, n’hésitez pas à les poser dans la section commentaires.

Bon bricolage 😉