Ajouter 'IDF-ESP'
parent
21e297a599
commit
4d5d2f2629
106
IDF-ESP.md
Normal file
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>
|
Loading…
Reference in a new issue