ESP32. Débuter avec ESP-IDF sur IDE Arduino, macOS, Windows, Linux

Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Le kit de développement ESP-IDF (pour  Espressif IoT Development Framework) pour l’IDE Arduino permet développer du code pour toutes les cartes de développement à base d’ESP32. ESP-IDF s’installe très facilement depuis le gestionnaire de librairie de l’IDE Arduino. Il est également possible d’utiliser le framework ESP-IDF en ligne de commande depuis le Terminal (macOS ou Linux) et PowerShell (Windows). 

 

Le kit de développement (SDK) d’Espressif pour les cartes ESP32 est disponible sur GitHub. Il est compatible avec l’IDE Arduino pour macOS, Windows, Linux 32-bit, 64-bit et puces ARM (Raspberry Pi, Orange Pi, etc…). Une documentation très détaillée est disponible ici.

Le framework évolue en permanence…et la documentation technique également. Attention à bien choisir la version utilisée avant d’accéder à la documentation. Latest (dernière) correspond à la version la plus récente

Installer le Framework ESP-IDF pour ESP32 sur l’IDE Arduino

Maintenant que le framework ESP-IDF pour les cartes de développement ESP32 est directement disponible depuis le gestionnaire de cartes de l’IDE Arduino, la procédure d’installation est identique quelque soit le système d’exploitation (Windows 10, macOS, Linux, Raspbian, Armbian…)

1Ouvrez le panneau des préférences depuis le menu Arduino

Ouvrir le menu Préférence de l'IE Arduino

2cliquez sur le bouton situé à droite de l’option URL de gestionnaire de cartes supplémentaires.

Gestionnaire de cartes de développement de l'IDE Arduino

3Dans la boîte de dialogue qui s’ouvre, ajoutez le lien ci-dessous puis cliquez sur OK

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

Attention, une ligne par URL.

link sdk espressif esp32 ide arduino

Il existe également un lien vers la version en cours de développement (release). Cette version est déconseillée pour la production. Elle permet d’évaluer les nouvelles fonctionnalités en cours de développement.

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

4Le lien vers le dépôt est ajouté à la liste. Fermer les paramètres en cliquant sur OK

Dépôt vers les cartes ESP32 (ESP-IDF)

5Ouvrez le gestionnaire de carte depuis le menu Outils puis Type de carte

2 install sdk espressif esp32 ide arduino

6Cherchez le SDK avec le mot clé ESP32. Choisissez le package de cartes nommé ESP32 by Espressif Systems puis cliquez sur installer.

Maintenant que les cartes ESP32 sont gérées depuis le gestionnaire de carte, les librairies pourront être mises à jour dès qu’une nouvelle version est disponible.

Attendez que le framework soit téléchargé et installé depuis Internet. Le processus d’installation est totalement automatisé. Il n’y a absolument rien à faire de plus.

install sdk espressif esp32 ide arduino

Vérifier que les cartes ESP32 sont correctement installées

Le framework prend en charge les cartes de développement construites autour des chips suivants.

Module Chip Mémoire Flash

(MB)

PSRAM

(MB)

Antenne
ESP32-WROOM-32 ESP32-D0WDQ6 4 PCB
ESP32-WROOM-32D ESP32-D0WD 4, 8 ou 16 PCB
ESP32-WROOM-32U ESP32-D0WD 4, 8 ou 16 U.FL
ESP32-SOLO-1 ESP32-S0WD 4 PCB
ESP32-WROVER (PCB) ESP32-D0WDQ6 4 8 PCB
ESP32-WROVER (IPEX) ESP32-D0WDQ6 4 8 U.FL
ESP32-WROVER-B ESP32-D0WD 4, 8 ou 16 8 PCB
ESP32-WROVER-IB ESP32-D0WD 4, 8 ou 16 8 U.FL

Une fois l’installation terminée, il n’est pas nécessaire de redémarrer l’IDE Arduino.

Ouvrez le menu Outils puis le sous-menu Type de carte. Faites défiler la liste, si l’installation s’est correctement déroulée, vous devriez pouvoir sélectionner votre carte de développement ESP32 dans la liste.

Si vous ne trouvez pas votre carte dans la liste, vous pouvez essayer une configuration générique, par exemple :

  • ESP32 Dev Module
  • ESP32 Wrover Module
  • NodeMCU-32S

Sélectionner une cartes de développement ESP32 sur l'IDE Arduino

La liste des cartes évolue à chaque mise à jour, voici toutefois un petit aperçu des cartes supportées actuellement :

  • Adafruit ESP32 Feather
  • AI Thinker ESP32-CAM
  • ALKS ESP32
  • BPI-BIT
  • D-duino-32
  • DOIT ESP32 DEVKIT V1
  • Dongsen Tech Pocket 32
  • Electronic SweetPeas – ESP320
  • ESP32 Dev Module
  • ESP32 FM DevKit
  • ESP32 Pico Kit
  • ESP32 Wrover Module
  • ESP32vn IoT Uno
  • ESPea32
  • ESPectro32
  • FireBeetle-ESP32
  • Frog Board ESP32
  • Heltec WiFi Kit 32
  • Heltec WiFi LoRa 32
  • Heltec WiFi LoRa 32(V2)
  • Heltec Wireless Stick
  • Hornbill ESP32 Dev
  • Hornbill ESP32 Minima
  • IntoRobot Fig
  • LOLIN D32
  • LOLIN D32 PRO
  • LoPy
  • LoPy4
  • M5Stack-Core-ESP32
  • M5Stack-FIRE
  • M5Stick-C
  • MH ET LIVE ESP32DevKIT
  • Microduino-CoreESP32
  • Nano32
  • Node32s
  • NodeMCU-32S
  • Noduino Quantum
  • ODROID ESP32
  • OLIMEX ESP32-EVB
  • OLIMEX ESP32-GATEWAY
  • OLIMEX ESP32-PoE
  • Onehorse ESP32 Dev Module
  • OROCA EduBot
  • Silicognition wESP32
  • SparkFun ESP32 Thing
  • T-Beam
  • ThaiEasyElec’s ESPino32
  • TTGO LoRa32-OLED V1
  • Turta IoT Node
  • u-blox NINA-W10 series
  • WEMOS LOLIN32
  • Widora AIR
  • WiPy 3.0
  • XinaBox CW02

Vérifier que tout fonctionne en faisant clignoter une Led

L’ESP32 se programme exactement comme un ESP8266. Nous allons ici simplement vérifier que tout est correctement installé. Créez un nouveau projet et collez le code suivant qui fait clignoter une Led branchée entre la broche 15 et le GND.

6,33€
en stock
1 nouveau de 6,33€
Relevé le 19 août 2020 3 h 02 min
icon amazon fr Amazon.fr
19,28€
en stock
3 nouveau de 19,28€
Relevé le 19 août 2020 3 h 02 min
icon amazon fr Amazon.fr
Livraison gratuite
/*
 * ESP32 Dev Board Test
 * Led blinking
 * projetsdiy.fr - diyprojects.io
 */
int ledPin = 15;

void setup()
{
    pinMode(ledPin, OUTPUT);
    Serial.begin(115200);
}

void loop()
{
    Serial.println("Hello ESP32!");
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
    delay(500);
}

Dans la liste des cartes, sélectionnez ESP32 Dev Module. Les modules supportent en général une vitesse de téléchargement de 921600 bauds ce qui est très appréciable.

ide arduino esp32 demo led blink geekcreit

Installer les outils ESP-IDF en ligne de commande

Le framework de développement est également disponible sous la forme d’un toolchain, des outils de compilation, configuration et deboggage en ligne de commande accessibles depuis le Terminal (macOS et Linux) ou PowerShell (Windows).

Installer ESP-IDF sur Windows

Un utilitaire d’installation nommé ESP-IDF Tools Installer est disponible sur Windows.

Télécharger la version 2.3

Le programme d’installation comprend les compilateurs, OpenOCD, cmake et Ninja build tool. Le programme d’installation peut également télécharger et exécuter des programmes d’installation pour Python 3.7 et Git pour Windows s’ils ne sont pas déjà installés sur l’ordinateur.

Documentation officielle

Installer sur macOS et Linux

Par défaut, les outils doivent être installés dans le dossier ~/esp

Ouvrez un Terminal et exécuter ces commandes pour télécharger le dépôt

mkdir ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git

puis lancer l’installation

cd ~/esp/esp-idf
./install.sh

Une fois l’installation terminée, il est nécessaire de déclarer les chemins dans les variables d’environnement

. $HOME/esp/esp-idf/export.sh

Erreurs fréquentes

-bash: idf.py: command not found

Le chemin vers les le répertoire ESP-IDF n’a pas été correctement déclarée

Exécuter la commande suivante en fonction de l’environnement

PowerShell Windows Terminal macOS ou Linux
.$HOME/esp/esp-idf/export.ps1
. $HOME/esp/esp-idf/export.sh

Tutoriels et projets ESP32

Près à vous lancer, voici d’autres tutoriels et projets à base d’ESP32

Mises à jour

3/06/2019 Nouvelle procédure d’installation du SDK compatible avec tous les systèmes d’exploitation depuis le gestionnaire de cartes de l’IDE Arduino

Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]
Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Vous avez aimé ce projet ? Ne manquez plus aucun projet en vous abonnant à notre lettre d’information hebdomadaire!

Ressources utiles
quel modèle esp8266 choisir
Quel modèle d'ESP8266EX choisir en 2020 ?
guide choix esp32 development board
Quel ESP32 choisir en 2020 ?
6 Commentaires
  1. O_O
    aucune résistance pour limiter le courant vers la led ?

  2. Utiliser l’IDE Arduino et ses libs peut faciliter les développements, mais comme vous dites l’ESP32 n’est pas encore supporté. Présenter le noyau dure du SDK ESP-IDF qui contient tout le nécessaire pour développer est essentiel à mon avis. Le site ESP32 détaille toute la procédure d’installation ainsi que la configuration sous Ecplise., l’API, et les exemples de codes. On présente même la possilbilté de debogger, ce qui est un vrai plus.

  3. Bonjour,
    Je parcours votre site avec intérêt.
    Je suis amateur et j’avais fait un programme (thermostat avec 3 DS18B20) et une DFrobot romeo BLE. Pour avoir une connexion wifi je viens d’acheter une wemos ttgo (D1 R32) au format uno aussi que je compte utiliser avec une appli créée avec App inventor. J’utilise l’IDE arduino comme interface de programmation., j’ai bien récupéré le sdk permettant l’exploitation des carte esp32, installer les drivers (ch341) seulement je ne vois pas quelle carte sélectionner. il y a bien la lolin32 mais quand je vérifie le code, il me dit que la carte n’est pas compatible.
    Pourriez-vous me dire quelle carte utiliser dans la liste? j’en ai essayé plusieurs mais aucune ne permet le téléversement.
    merci

  4. Slt
    Quand je compile un programme sous arduino1.8.5 pour l’uploder dans l’esp32 ça prend un temps fou inconcevable pour du développement. Quelqu’un sait comment optimiser la compilation il y’a plein de fichier qui s’ajoute à la précompilation. je précise que je développe sous linux ubuntu.

  5. bonjour,
    je pense que j’ai eu un problème en collant le code dans le terminal
    est-ce qu’il est possible de le supprimer et de le remettre ?
    merci beaucoup

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Domotique et objets connectés à faire soi-même