Mise à jour de 'IDF ESP'

bastien 2023-05-23 10:57:35 +02:00
parent eaa6bf560e
commit 45c3071bea

@ -4,80 +4,78 @@
Pour commencer, il faut installer toutes les dépendances dont on aura besoin : Pour commencer, il faut installer toutes les dépendances dont on aura besoin :
<pre><code class="shell"> ```
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 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
</code></pre> ```
Ensuite, on vérifie que python3 est bien installé avec : Ensuite, on vérifie que python3 est bien installé avec :
<pre><code class="python"> ```
python3 --version python3 --version
</code></pre> ```
Ensuite, on va créer un dossier ou l'on va mettre dans idf : Ensuite, on va créer un dossier ou l'on va mettre dans idf :
```
<pre><code class="shell">
mkdir -p ~/esp mkdir -p ~/esp
cd ~/esp cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git git clone --recursive https://github.com/espressif/esp-idf.git
</code></pre> ```
Ensuite, on installe les dépendances pour l'esp32 : Ensuite, on installe les dépendances pour l'esp32 :
<pre><code class="shell"> ```
cd ~/esp/esp-idf cd ~/esp/esp-idf
./install.sh esp32 ./install.sh esp32
</code></pre> ```
Ensuite, on va mettre en place les variables d'environnements : Ensuite, on va mettre en place les variables d'environnements :
<pre><code class="shell"> ```
. $HOME/esp/esp-idf/export.sh . $HOME/esp/esp-idf/export.sh
</code></pre> ```
Et on ajoute un alias dans notre fichier bashrc/zshrc : Et on ajoute un alias dans notre fichier bashrc/zshrc :
<pre><code class="shell"> ```
alias get_idf='. $HOME/esp/esp-idf/export.sh' alias get_idf='. $HOME/esp/esp-idf/export.sh'
</code></pre> ```
Une fois cette commande lancée, une série de commandes va être demandée d'être lancé : Une fois cette commande lancée, une série de commandes va être demandée d'être lancé :
<pre><code class="shell"> ```
get_idf get_idf
idf.py build idf.py build
idf.py flash idf.py flash
</code></pre> ```
### [Création d'un projet](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#step-5-first-steps-on-esp-idf) ### [Création d'un projet](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#step-5-first-steps-on-esp-idf)
Pour l'exemple, nous allons lancer de base de l'idf espressif hello_world : Pour l'exemple, nous allons lancer de base de l'idf espressif hello_world :
<pre><code class="shell"> ```
cd ~/esp cd ~/esp
cp -r ~/esp/esp-idf/examples/get-started/hello_world . cp -r ~/esp/esp-idf/examples/get-started/hello_world .
</code></pre> ```
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) : 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) :
<pre><code class="shell"> ```
cd ~/esp/hello_world cd ~/esp/hello_world
idf.py set-target esp32 idf.py set-target esp32
idf.py menuconfig idf.py menuconfig
</code></pre> ```
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". 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 : Une fois toute la configuration effectuée, nous pouvons construire notre projet :
<pre><code class="shell"> ```
idf.py build idf.py build
</code></pre> ```
Ensuite flasher la carte : Ensuite flasher la carte :
<pre><code class="shell"> ```
idf.py -p PORT flash # Si le port n'est pas précisé il tentera de se connecter automatiquement sur les ports USB disponibles idf.py -p PORT flash # Si le port n'est pas précisé il tentera de se connecter automatiquement sur les ports USB disponibles
</code></pre> ```
Pour vérifier que tous a bien marché, on va regarder la sortie : Pour vérifier que tous a bien marché, on va regarder la sortie :
<pre><code class="shell"> ```
$ idf.py -p <PORT> monitor # Port obligatoire pour cette commande généralement /dev/ttyUSB0 $ idf.py -p <PORT> monitor # Port obligatoire pour cette commande généralement /dev/ttyUSB0
</code></pre> ```
Si tout va bien, ceux-ci devraient apparaitre : Si tout va bien, ceux-ci devraient apparaitre :
<pre><code class="shell"> ```
... ...
Hello world! Hello world!
Restarting in 10 seconds... Restarting in 10 seconds...
@ -86,22 +84,20 @@ Minimum free heap size: 298968 bytes
Restarting in 9 seconds... Restarting in 9 seconds...
Restarting in 8 seconds... Restarting in 8 seconds...
Restarting in 7 seconds... Restarting in 7 seconds...
</code></pre> ```
**Si vous avez une erreur telle que :** **Si vous avez une erreur telle que :**
-port inexistant -port inexistant
-port introuvable -port introuvable
Il faut lancer cette commande : Il faut lancer cette commande :
<pre><code class="shell"> ```
sudo usermod -aG dialout "votre utilisateur" sudo usermod -aG dialout "votre utilisateur"
</code></pre> ```
Après cette commande, redémarrer votre ordinateur. Après cette commande, redémarrer votre ordinateur.
## Commandes utiles ## Commandes utiles
<pre><code class="shell"> ```
idf.py add-dependency esp_wrover_kit # Ajout de dépendance idf.py add-dependency esp_wrover_kit # Ajout de dépendance
idf.py -p PORT erase-flash # Efface le flash de la carte idf.py -p PORT erase-flash # Efface le flash de la carte
</code></pre> ```