Accueil | ESP8266 - ESP32 | ESP32 | Bien commencer la programmation des ESP32 avec l’IDE PlatformIO

Bien commencer la programmation des ESP32 avec l’IDE PlatformIO

esp32 geekcreit wroom

Aujourd’hui, nous allons voir comment programmer les micro-contrôleurs ESP32 d’Espressif avec l’IDE PlatformIO (PIO). Si vous découvrez PlatformIO, vous pouvez commencer par lire ce premier article qui explique étape par étape comment l’installer et débuter. La prise en charge des nouvelles cartes ESP32 par l’IDE Arduino demande du travail d’installation et de configuration (toutes les étapes en détail dans cet article). PIO, lui,  s’occupe de tout !

Quelle carte ESP32 choisir pour débuter

Le prix des cartes ESP32 a fortement chuté ces derniers temps. C’est heureux car la compétition est rude par rapport au Raspberry Pi Zero W propose autour de 11€. Maintenant on trouve des cartes de développement pour environ 7€. Les cartes génériques sont très bien prisent en charge par le SDK d’Espressif.

esp32 geekcreit wroom

Si vous préférez rester sur des cartes prisent en charge nativement par le SDK, La Wemos LoLin32 4MB est un excellent choix. Wemos est maintenant un constructeur reconnu qui propose des cartes de qualité à un prix très raisonnable. La LoLin32 a été présentée dans cet article.

wemos lolin32 esp-wroom-32 espressif top view

Vous pouvez également lire cet article plus détaillé sur le sujet.

Préparer l’environnement PlatformIO

Si vous débutez avec PlatformIO, commencez par lire cet article qui explique étape par étape l’installation ainsi que les bases de fonctionnement de l’environnement. Lancez Atom pour commencer votre développement.

platformio 3 atom home screen update

Créer un nouveau projet pour ESP32

PIO est très souple. Il est possible d’ajouter une carte de développement à un projet actuel, c’est la grande force de PlatformIO, ou tout simplement créer un projet vierge. C’est la même option qui sert à tout. Sélectionnez l’option Initialize or Update PlatformIO Project depuis le menu ou depuis la barre d’icône latérale.

platformio esp32 init project

Sélectionnez votre carte de développement. Si vous utilisez une carte générique (par exemple la Doit de Geekcreit), choisissez Espressif ESP32 Dev Module dans la liste. Pour ajouter cette carte à une configuration existante, sélectionnez celle-ci dans la liste. Sinon, cliquez sur Other puis indiquez le dossier dans lequel PIO doit créer l’arborescence du projet.

platformio esp32 2 choose board

Attention. Par rapport à l’IDE Arduino, il faut créer le dossier racine. Sinon, l’arborescence et les fichiers seront ajoutés au niveau indiqué.

Cliquez enfin sur Process. PlatformIO s’occupe de récupérer et d’installer le SDL d’Espressif pour les modules ESP32. C’est la magie de PlatformIO. Si vous avez débutez la programmation avec l’IDE Arduino, vous devez me comprendre, sinon lisez cet article.

platformio esp32 3 install espressif sdk

Une fois que le SDK est installé, PIO créé la structure du projet ainsi que le fichier platformio.ini

platformio esp32 4 project structure ini file

Code Arduino : faire clignoter une Led

PIO créé l’arborescence du projet et créé automatiquement le fichier de configuration platformio.ini. Par contre c’est à nous de créer le premier fichier Arduino. Pour cela, faites un clic droit sur le dossier scr et choisissez New File.

platformIO 9 new cpp file

Donnez un nom au fichier en lui donnant l’extension .cpp

platformIO 10 new cpp file path

Pour que le programme puisse fonctionner, il faut inclure la librairie Arduino.h en début de programme ! Et oui, il faut bien indiquer à PIO que la cible doit exécuter du code Arduino.

Ensuite, la programmation est parfaitement identique à l’IDE Arduino. Voici un petit programme qui fait clignoter une Led branchée sur la broche 15 de l’ESP32. Il est parfaitement identique au code de l’ESP8266 présenté dans le tutoriel précédent. La seule différence réside dans le numéro de la broche. La broche n°15 n’existe pas sur l’ESP8266. C’est cool d’avoir autant d’E/S !

Adaptez le code à vos besoins puis enregistrez le (CTRL + S). Ensuite dans le menu choisissez Build (ou utilisez l’icône dédiée).

Vous pouvez suivre l’avancement de la compilation en survolant la roue crantée dans le coin inférieur droit d’Atom.

platformio esp32 6 building

Une fois la compilation terminée, téléversez le programme avec upload.

platformIO 12 upload project

Ouvrez maintenant le moniteur série. Directement depuis le menu, via le raccourci clavier Alt + Shift + M ou depuis la barre d’icône.

platformIO 13 open serial monitor

Sélectionnez le port COM sur lequel est branché la carte et la vitesse

platformio esp32 7 serial monitor

Et voilà, on trace le déroulement du programme pour pour n’importe quelle autre carte comme sur l’IDE Arduino.

platformio esp32 8 serial monitor