diff --git a/IDF-ESP.md b/IDF-ESP.md new file mode 100644 index 0000000..e49792c --- /dev/null +++ b/IDF-ESP.md @@ -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 : + +

+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
+
+ +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 : +

+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" : +!project-configuration.png! + +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  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"
+
+ +h2. 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
+
\ No newline at end of file