Projet

Général

Profil

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

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" 

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