La librairie Arduino-ESP32 est une version du kit de développement ESP-IDF (pour Espressif IoT Development Framework) pour l’IDE Arduino qui permet développer du code pour toutes les cartes de développement ESP32. La librairie Arduino-ESP32 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.
Sommaire
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
2cliquez sur le bouton situé à droite de l’option URL de gestionnaire de cartes supplémentaires.
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
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
5Ouvrez le gestionnaire de carte depuis le menu Outils puis Type de carte
6Cherchez le SDK avec le mot clé ESP32. Choisissez le package de cartes nommé ESP32 by Espressif Systems puis cliquez sur installer.
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.
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
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.
/*
* 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.
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.
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.
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
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Stocker des données sur une carte micro SD. Code Arduino compatible ESP32, ESP8266
- Débuter Arduino. Recevoir des commandes depuis le port série (compatible ESP32 ESP8266)
- Fonctions C++ print•println•printf•sprintf pour Arduino ESP32 ESP8266. Combiner•formater → port série
- String C++. concat•c_srt•indexOf•replace•subString… pour Arduino ESP32 ESP8266
- ESP32. Utiliser les Timers et alarmes avec du code Arduino
- ESP32. Utiliser les interruptions externes avec du code Arduino
- ESP32. Utiliser les entrées / sorties numériques du GPIO avec du code Arduino
- ESP32. Comment utiliser la librairie WiFiManager pour gérer les connexions WiFi
- ESP32. Comment se connecter au réseau WiFi local avec du code Arduino
- Comment attribuer une IP fixe à un projet ESP32 ESP8266 ou ESP01
- ESP32. Stocker des données temporaires dans la mémoire RTC durant la mise en veille
- ESP32. Code Arduino pour mise en sommeil (Deep Sleep) et réveils (Timer, Touch Pad, GPIO…)
- Débuter avec ArduinoJSON v6, librairie Arduino pour manipuler des objets JSON
- ESP32 Sketch data upload pour IDE Arduino. Téléverser des fichiers SPIFFS sur la mémoire flash
- ESP32. Débuter avec la librairie SPIFFS.h pour lire, écrire, modifier des fichiers
- ESP32. Accéder aux fichiers SPIFFS en FTP avec la librairie ESP8266FtpServer
- Débuter avec le bus I2C sur Arduino ESP8266 ESP32. Librairie Wire.h
- ESP32. Débuter avec Arduino-ESP32 sur IDE Arduino, macOS, Windows, Linux
- Quel ESP32 choisir pour développer des objets connectés DIY en 2020
- Comparaison HC-SR04 (ultrasons), Sharp GP2Y0A02YK0F (IR), VL53L0X (Laser), quelle solution choisir pour la mesure de distance avec Arduino ou Raspberry Pi
- Concevoir, fabriquer et assembler des circuits et PCB pour projets DIY à base d’ESP32 ou ESP8266
- MH-Z19, mesurer la concentration en CO2. Test avec Domoticz, code Arduino compatible ESP32/ESP8266
- Projet MicroPython, publier le taux de CO2 avec un capteur MH-Z19 vers Domoticz (ESP32/ESP8266)
Mises à jour
3/06/2019 Comment installer les outils ESP-IDF en ligne de commande sur Windows, macOS et Linux
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
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Stocker des données sur une carte micro SD. Code Arduino compatible ESP32, ESP8266
- Débuter Arduino. Recevoir des commandes depuis le port série (compatible ESP32 ESP8266)
- Fonctions C++ print•println•printf•sprintf pour Arduino ESP32 ESP8266. Combiner•formater → port série
Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]