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