6 IDF ESP
bastien edited this page 2023-05-23 15:30:14 +02:00

Documentation esp-idf

Installation esp-idf

Pour commencer, il faut installer toutes les dépendances dont on aura besoin :

sudo apt-get install git wget flex bison gperf python3 python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

Ensuite, on vérifie que python3 est bien installé avec :

python3 --version

Ensuite, on va créer un dossier ou l'on va mettre dans idf :

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

Ensuite, on installe les dépendances pour l'esp32 :

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

Ensuite, on va mettre en place les variables d'environnements :

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

Et on ajoute un alias dans notre fichier bashrc/zshrc :

alias get_idf='. $HOME/esp/esp-idf/export.sh'

Une fois cette commande lancée, une série de commandes va être demandée d'être lancé :

get_idf
idf.py build
idf.py flash

Création d'un projet avec un esp pour faire un hello world

Pour l'exemple, nous allons lancer de base de l'idf espressif hello_world :

cd ~/esp
cp -r ~/esp/esp-idf/examples/get-started/hello_world .

Ensuite, nous allons cibler la carte et si l'on souhaite modifier la configuration de base (ceux-ci n'est pas nécessaire pour le projet hello_world) :

cd ~/esp/hello_world
idf.py set-target esp32
idf.py menuconfig

Un menu comme ci-dessous apparait pour modifier la configuration si besoin, mais comme ce n'est pas le cas pour nous, il suffit de quitter en appuyant sur "q".

Une fois toute la configuration effectuée, nous pouvons construire notre projet :

idf.py build

Ensuite flasher la carte :

idf.py -p PORT flash               # Si le port n'est pas précisé il tentera de se connecter automatiquement sur les ports USB disponibles

Pour vérifier que tous a bien marché, on va regarder la sortie :

$ idf.py -p <PORT> monitor       # Port obligatoire pour cette commande généralement /dev/ttyUSB0

Si tout va bien, ceux-ci devraient apparaitre :

...
    Hello world!
    Restarting in 10 seconds...
    This is esp32 chip with 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2 MB external flash
Minimum free heap size: 298968 bytes
    Restarting in 9 seconds...
    Restarting in 8 seconds...
    Restarting in 7 seconds...

Si vous avez une erreur telle que : -port inexistant -port introuvable

Il faut lancer cette commande :

sudo usermod -aG dialout "votre utilisateur"

Après cette commande, redémarrer votre ordinateur.

Commandes utiles

idf.py add-dependency esp_wrover_kit           # Ajout de dépendance
idf.py -p PORT erase-flash                     # Efface le flash de la carte