Guides

Utilisation du module ESP32-CAM avec Arduino®

Introduction

Ce module IoT d’AI Thinker est basé sur un ESP32 proposant une interface WiFi et Bluetooth associée à une caméra miniature.

Cet ensemble est idéal pour la création de projets miniatures connectés nécessitant une capture vidéo ou photo.

Cet article propose un exemple de code à mettre en œuvre via l’IDE Arduino permettant l’accès au flux vidéo du module via une simple page Web.

Fonctionnement

Ce module est facilement programmable via l’IDE Arduino® et permet d’accéder au flux vidéo de la caméra via un réseau local.

La caméra livrée avec le microcontrôleur ESP32 s’enfiche dans le connecteur prévu.
Il est nécessaire de faire attention lors de la manipulation de la nappe de la caméra, celle-ci est très fragile.

Un lecteur de carte micro-SD permet le stockage d’images, de vidéos ou de pages HTML.
Carte micro-SD de 4 Go maxi, non incluse.

Ce microcontrôleur ne dispose pas de convertisseur USB-série intégré.
Il est nécessaire d’utiliser un convertisseur externe, comme le convertisseur USB-Série FTDI GT1125.

Matériel requis

  • Un module ESP32-CAM.
  • Un convertisseur USB vers série GT1125 (cordon USB inclus).
  • Un jeu de cordons F/F BBJ15 ou M/F BBJ21.
  • Une alimentation 5 Vcc/2 A mini (3 A dans notre exemple, MV530N).
  • Une fiche d’alimentation femelle 5,5 x 2,1 mm vers bornier à vis, voir PCM10F.

Ces composants et modules sont donnés à titre indicatif et peuvent être remplacés par d’autres modèles équivalents.

Schéma de câblage pour la programmation :

Remarques :

  • L’ESP32 fonctionne grâce à un niveau logique de 3,3 Vcc. Le convertisseur doit être utilisé en 3,3 Vcc via l’inverseur de sélection.
  • La broche IO0 doit être raccordée à la masse en mode programmation (pont gris sur le schéma ci-dessus).

 

Tableau de correspondance :

Carte ESP32-CAMConvertisseur GT1125
5 V5 Vcc
GNDGND
U0RTXD
U0TRXD

Installation de l’extension ESP32 d’Espressif.

L’utilisation des microcontrôleurs ESP32 n’est pas supportée nativement par l’IDE Arduino ®.

La source du fabricant Espressif Systems au format JSON doit être ajoutée à l’outil de programmation.

Cette source permet d’ajouter facilement les cartes du fabricant dans l’IDE.

Rendez-vous dans « Fichier -> préférences -> URL de gestionnaires de cartes supplémentaires » et effectuez un copier/coller de cette URL:

https://dl.espressif.com/dl/package_esp32_index.json

Placez-vous ensuite dans gestionnaire de carte.

L’ajout du la source Espressif permet maintenant l’installation de la plupart des cartes basées sur un ESP32.

Effectuez une recherche sur ESP32. Cliquez sur installer et patientez jusqu’à la fin de l’installation.


Sélectionnez la carte AI THINKER ESP32-CAM dans « Outils -> Type de carte ».

Ouvrez maintenant l’exemple « CameraWebServer ».

Modification du code

Etape 1: dans l’exemple de code ouvert, sélectionnez le modèle de caméra correspondant au module AI THINKER ESP32-CAM.

Cette sélection se fait simplement en supprimant les « // » de commentaires devant la ligne « #define CAMERA MODEL AI THINKER » et en commentant la ligne choisie par défaut :

Etape 2: le programme doit également contenir le SSID de votre réseau WiFi et le mot de passe associé.

Le SSID est simplement le nom de diffusion de votre réseau WiFi.

Ces informations sont à renseigner dans ces deux lignes du programme :

Téléversement du code dans l’ESP32

Lors du téléversement du programme, il est nécessaire d’effectuer un reset du module quand l’IDE essaie de se connecter à l’ESP32, pendant cette phase:

Remarque : Si vous utilisez le module sur une plaque de montage rapide, le bouton reset sera difficilement atteignable : utiliser un objet en plastique pour appuyer dessus et non un objet métallique afin d’éviter tout court-circuit.

Une fois le reset effectué, le code s’uploade normalement et l’IDE affiche un message de téléversement correctement effectué:

Obtention de l’adresse IP du module

Déconnectez le cavalier entre IO0 et GND et effectuez un second Reset de la carte.

Ouvrez ensuite le moniteur série de l’IDE :

Vous pouvez visualiser l’adresse IP de votre module ESP32-CAM :

Si aucune adresse IP n’est attribuée au module, vérifiez le SSID et le mot de passe entrés précédemment. Votre routeur ou votre box doit également pouvoir attribuer une IP automatiquement (DHCP).

Vous pouvez également scanner votre réseau local avec un outil d’analyse réseau comme Advanced IP Scanner ou Angry IP Scanner.
Ces logiciels permettent d’afficher tous les périphériques connectés à votre réseau local.

Vous pouvez maintenant déconnecter l’ensemble des câbles et le convertisseur USB-Série.

RACCORDEMENT D’UNE ALIMENTATION EXTERNE

Une source externe 5 Vcc de 2 A minimum est nécessaire pour alimenter correctement cette caméra.

Il est cependant possible d’utiliser le convertisseur USB série mais seule la capture de photo sera disponible et non le streaming vidéo. La diffusion vidéo nécessite trop de courant.

Pour cet exemple de câblage, nous utiliserons une alimentation 5 Vc/3 A, n’ayant de pas d’alimentation 2 A sous la main au moment du test.

Cette alimentation comporte une fiche mâle 5,5 x 2,1 mm.
Ce connecteur doit être adapté vers des broches mâles au pas de 2,54 mm compatibles avec l’ESP32-CAM.


Pour cela nous utiliserons un bornier à vis donnant accès

à une fiche d’alimentation femelle 5,5 x 2,1 mm.
Voir PCM10F.


Il reste à placer deux fils mâles vers mâles (type BBJ8) dans le bornier en faisant attention à la polarité.

Celle-ci est indiquée sur le bornier.


Le fil rouge (+ du bornier) vient se raccorder sur l’entrée 5V de l’ESP32-CAM et le fil noir (- du bornier) sur la broche GND.

Il reste simplement à brancher l’adaptateur sur une prise secteur.

Accès via un navigateur Web

Vous pouvez accéder au flux vidéo via un navigateur Web (Chrome, Firefox, etc.) simplement en entrant l’IP dans la barre d’adresse.

Dans la page Web proposée par la caméra, plusieurs options permettent différents réglages comme le choix de la résolution.

Cette résolution est importante, plus celle-ci sera basse et plus le flux vidéo sera fluide.

Les boutons du bas permettent de lancer le streaming vidéo ou de prendre une capture photo.

L’image capturée ou le flux vidéo est maintenant visualisable dans la page Web.

Date de dernière modification 9 avril 2024 14 h 54 min