Débuter avec l'ESP32 et IDE PlatformIO. Programmation C++ d'objets connectés • Domotique et objets connectés à faire soi-même

PlatformIO (PIO) est un éditeur de code alternatif à l’IDE Arduino que l’on installe sous la forme d’un plugin pour de nombreux éditeurs de code à usage plus général. PlatformIO permet de développer pour la plupart des micro-contrôleurs du marché et en particulier l’ESP32 d’Espressif.

Avant commencer

Avant de commencer, vous devez disposer installer le plugin  PlatformIO pour l’éditeur de code favori. Ici, nous utiliserons VSCode. Le processus d’installation est les outils proposés sont similaires d’un éditeur à l’autre.

9owwipuzsslibfv1rim1-5740537

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.

Créer un nouveau projet 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.

o0ydqhqvtupvfciou2lp-5189604

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.

58ajcdogxacwl75y3yct-6435922

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.

jd7uw1cr7rxvq2wvuewx-1504903

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

Premier exemple : 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.

jpibhlrltqbwgmd2mfhr-9385030

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

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 !

/*
 * Demo PlatformIO - ESP32 - ESP8266 - Blink a Led
 * Turns on an LED on for one second, then off for one second, repeatedly.
 * projetsdiy.fr - diyprojects.io
 */

#include 

#define LED_BUILTIN 15

void setup()
{
  // initialize LED digital pin as an output.
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_BUILTIN, HIGH);
  // wait for a second
  delay(1000);
  // turn the LED off by making the voltage LOW
  digitalWrite(LED_BUILTIN, LOW);
  Serial.println("Blink");
   // wait for a second
  delay(1000);
}

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 de VSC.

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

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

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

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

Installer, mettre à jour manuellement le SDK Espressif 32

Normalement, PIO s’occupe d’installer lui même le SDK ESP-IDF pour les cartes de développement ESP32. En cas de problème, il est possible de l’installer manuellement depuis le gestionnaire de cartes

Menu PIO -> Platforms -> Espressif 32

PIO conserve les versions majeures successives

Pour mettre à jour le SDK manuellement, allez dans Menu PIO -> Platforms -> Updates

Cliquer sur update to xxx pour mettre à jour le framework manuellement.

D’autres projets réalisés à l’aide de PlatformIO

Avez-vous aimé cet article ?