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