Comment programmer l’ESP32-CAM avec l’Arduino IDE ?
Je vais vous faire découvrir comment programmer le module Wi-Fi ESP32-CAM avec l’environnement de développement Arduino et l’appliquer au travers d’un programme faisant clignoter le flash embarqué. Pour information, un autre moyen de programmer ce module est présenté ici.
L’ESP32-CAM est un module de développement avec caméra, basé sur:
- Le microcontrôleur ESP32 de l’entreprise Espressif Systems qui inclue des interfaces Wi-Fi et Bluetooth. Pour plus de détail, voici sa fiche technique: datasheet.
- La caméra OV2640 de l’entreprise OmniVision capable de filmer 15 images par seconde avec une résolution de 2 mégapixels.
Antenne interne / Antenne externe
Le module ESP32-CAM peut fonctionner soit avec son antenne Wi-Fi interne, soit avec une antenne Wi-Fi externe. La sélection de l’antenne est réalisée par la position d’une résistance montée en surface que nous appellerons “Sélecteur d’antenne”. L’utilisation d’une antenne externe offre une plus grande portée du signal et une meilleur stabilité de la connexion Wi-Fi.
Pour utiliser l’antenne interne, la résistance du sélecteur d’antenne doit être soudée sur les points de connexion afin de former une barre oblique comme dans l’image suivante.
Vous trouverez en vente ici des module ESP32-CAM avec le sélecteur pré-positionné pour une antenne Wi-Fi interne.
Pour utiliser l’antenne externe, la résistance du sélecteur d’antenne doit être soudée sur les points de connexion afin de former une barre oblique inversée comme dans l’image suivante.
Soyez vigilants ! Certains sites internet peu scrupuleux vendent des kits ESP32-CAM incluant une antenne et son câble, mais livrent un produit avec le sélecteur mal positionné. Vous trouverez en vente ici des module ESP32-CAM avec le sélecteur pré-positionné pour une antenne Wi-Fi externe. Il est encore possible d’améliorer sa portée en remplaçant l’antenne omnidirectionnelle par une antenne directionnelle.
Le matériel nécessaire
Pour programmer l’ESP32-CAM, vous avez besoin de:
Câblage
Il est nécessaire de câbler 5 broches de l’ESP32-CAM pour le programmer: les 2 broches d’alimentation, les 2 broches de l’UART n°0 et enfin la broche GPIO0 qui permet de faire démarrer l’ESP32-CAM en mode “transfert de programme”.
Pour l’alimentation en 5V:
- Fil rouge, la broche 5V du convertisseur USB/TTL est à relier au +5v de l’ESP32-CAM.
- Fil noir, la broche GND du convertisseur USB/TTL est à brancher à la masse de l’ESP32-CAM (GND).
Pour la communication TTL:
- Fil vert, la broche TxD (Transmission Data) du convertisseur USB/TTL est à relier à l’entrée U0R de l’ESP32-CAM, elle permet de transmettre les données vers la cible.
- Fil bleu, la broche RxD du convertisseur USB/TTL connectée à la sortie U0T (Transmission Data of UART number 0) de l’ESP32-CAM reçoit les données transmises par la cible.
Pour le démarrage en mode “transfert de programme”:
- Fil jaune, la broche IO0 (Input/Output 0) de l’ESP32-CAM est à mettre à la masse (GND).
On peut remarquer que la broche “enable” de l’ESP32 n’est pas disponible dans la version ESP32-CAM, aussi:
- Le redémarrage du module nécessitera donc une action sur son alimentation
- Il n’est pas nécessaire que votre convertisseur USB/TTL inclue une broche DTR.
Outil logiciel
Dans cet article, nous utiliserons l’Arduino IDE comme éditeur du code source, compilateur et éditeur de lien. Si vous ne l’avez pas encore installé , c’est le moment. Pour plus de détail sur l’installation et son premier lancement, veuillez vous rapporter à l’article Installer l’Arduino IDE.
Installation du gestionnaire de carte ESP32 pour Arduino
Les cartes du fabricant “Espressif Systems” ne sont pas gérées nativement par l’environnement de développement Arduino. Nous allons donc procéder à son installation. Pour cela, dans le menu “Fichier”, choisir “Préférences”.
… puis dans la zone de saisie “URL de gestionnaire de cartes supplémentaires” renseigner l’URL des cartes de la famille ESP32 dont l’ESP32-CAM fait partie:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Remarque: Si vous avez déjà d’autres URL de cartes supplémentaires renseignées, il vous suffit de séparer les URL à l’aide d’une virgule:
Maintenant que cette URL est renseignée, nous allons procéder à son installation proprement dite. Cela se réalise dans le gestionnaire de carte. Vous pouvez y accéder de 2 façons.
La façon la plus simple d’accéder au gestionnaire de carte est de cliquer sur la deuxième icône en forme de carte Arduino UNO présente sur le menu latéral à gauche de la fenêtre.
La deuxième façon d’y accéder est le menu “Outils”, choisissez “Carte” puis cliquer sur “Gestionnaire de carte”.
La fenêtre des gestionnaires de cartes s’ouvre alors. En saisissant “esp32” dans la zone de recherche, vous ne verrez plus que la plateforme “esp32 by Espressif Systems” d’affichée.
Ensuite, vous pouvez réaliser sa mise en place en cliquant sur le bouton “Installer” correspondant.
À la fin de l’opération, le message fugitif “Plateforme installée avec succèes esp32:2.x.x” sur la zone de sortie confirme que tout s’est bien déroulé. Le statut “2.x.x INSTALLED” apparaît également sous la plateforme “esp32 by Espressif Systems” dans le gestionnaire de cartes.
Sélection du module ESP32-CAM
Maintenant, vous pouvez indiquer à l’Arduino IDE que le code logiciel est destiné à un microcontrôleur de type ESP32-CAM. Dans le menu “Outils”, choisissez l’élément commençant par “Carte”, “esp32” et enfin “AI Thinker ESP32-CAM”:
Voilà, nous avons configuré l’environnement de développement Arduino pour pouvoir programmer le module ESP32-CAM.
Pour poursuivre cette prise en main, nous allons faire clignoter le flash embarqué afin de valider notre environnement de compilation. (Rendez-vous page 2.)
COMMENT C’EST TROPRATIK CE TRUC