Ajouter 'IDF-ESP'

bastien 2023-05-16 17:13:40 +02:00
parent 21e297a599
commit 4d5d2f2629

106
IDF-ESP.md Normal file

@ -0,0 +1,106 @@
h1. Documentation esp-idf
h2. "Installation esp-idf":https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#step-1-install-prerequisites
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
</code></pre>
Ensuite, on vérifie que python3 est bien installé avec :
<pre><code class="python">
python3 --version
</code></pre>
Ensuite, on va créer un dossier ou l'on va mettre dans idf :
<pre><code class="shell">
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
</code></pre>
Ensuite, on installe les dépendances pour l'esp32 :
<pre><code class="shell">
cd ~/esp/esp-idf
./install.sh esp32
</code></pre>
Ensuite, on va mettre en place les variables d'environnements :
<pre><code class="shell">
. $HOME/esp/esp-idf/export.sh
</code></pre>
Et on ajoute un alias dans notre fichier bashrc/zshrc :
<pre><code class="shell">
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é :
<pre><code class="shell">
get_idf
idf.py build
idf.py flash
</code></pre>
h3. "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 :
<pre><code class="shell">
cd ~/esp
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) :
<pre><code class="shell">
cd ~/esp/hello_world
idf.py set-target esp32
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" :
!project-configuration.png!
Une fois toute la configuration effectuée, nous pouvons construire notre projet :
<pre><code class="shell">
idf.py build
</code></pre>
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
</code></pre>
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
</code></pre>
Si tout va bien, ceux-ci devraient apparaitre :
<pre><code class="shell">
...
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...
</code></pre>
+Si vous avez une erreur telle que :+
-port inexistant
-port introuvable
Il faut lancer cette commande :
<pre><code class="shell">
sudo usermod -aG dialout "votre utilisateur"
</code></pre>
h2. Commandes utiles
<pre><code class="shell">
idf.py add-dependency esp_wrover_kit # Ajout de dépendance
idf.py -p PORT erase-flash # Efface le flash de la carte
</code></pre>