ESP32-C3: vývojový kit a vývojový nástroj ESP-IDF. Jak začít?
- February 20 2021
- ESP32, ESP8266, NodeMCU , Wemos, RTLDuino...
- 4079x Přečteno
Přišel mi engineering sample vývojového kitu ESP32-C3-DevKitM-1. Samozřejmě jsem to hned zapojil do USB a zkusil naprogramovat.
Pokud máte či budete mít také ESP32-C3 doma, tady najdete jak popis vývojové desky, tak i postup při instalaci vývojového nástroje ESP-IDF (Windows 10).
Obsah:
- O ESP32-C3
- Vývojová deska ESP32-C3-DevKitM-1
- Programování ESP32-C3 v ESP-IDF
- - Nová instalace ESP-IDF
- - Aktualizace ESP-IDF
ESP32-C3
O ESP32-C3 jsem psal v této novince, kde najdete i datasheet.
Čip ESP32-C3 je pinově kompatibilní s "první" verzí Wi-Fi dostupných a otevřených čipů ESP8266 pro bastlíře. Vaše vývojová deska s ESP8266 tak může být vylepšena o Bluetooth 5.0 či větší pamět a samozřejmě i nižší spotřebu v hlubokém spánku (jen 5uA).
Vývojová deska ESP32-C3-DevKitM-1
Vývojová deska ESP32-C3-DevKitM-1 nabízí vše potřebné pro první seznámení a vyzkoušení ESP32-C3.
Vývojový kit obsahuje modul ESP32-C3-MINI-1, který je ve svém nitru osazen čipem ESP32-C3FN4. Tento modul obsahuje 4 MB FLASH a integrovanou PCB anténu pro Wi-Fi a Bluetooth.
O napájení a komunikaci s počítačem se stará microUSB konektor a USB-UART převodník CP2102. Na desce najdete ještě WS2812B adresovatelnou RGB LED (Data jsou připojena na GPIO8), regulátor napětí z 5V na 3.3V, tlačítka (boot a reset) a IO konektor.
Programování ESP32-C3 v ESP-IDF
ESP-IDF je soubor nástrojů, které vám stačí k tomu, abyste naprogramovali vývojovou desku s ESP32-C3 v jazyce C.
ESP-IDF obsahuje toolchain, build tools (CMake a Ninja build tool), API a nechybí ani vzorové příklady.
ESP32-C3 je podporován i v Arduino IDE - návod najdete na https://chiptron.cz/news.php?readmore=1228
Jak ESP-IDF rozjet na vašem počítači má Espressif velmi dobře zdokumentované na svých Getting Started stránkách.
V tomto článku to probereme pěkně krok za krokem.
Nejprve stáhneme a nainstalujeme ESP-IDF z tohoto odkazu: https://dl.espressif.com/dl/esp-idf-tools-setup-2.4.exe
Při instalaci se vám může nainstalovat i verzovací systém GIT
A stáhnout ESP-IDF (pokud už nemáte stažený pro jiné verze čipů - ESP32, ESP32-S2 aj.)
A teď záleží, co jste vybrali: novou instalaci nebo budete aktualizovat tu stávající?
Odkaz na novou instalaci
Odkaz na aktualizaci esp-idf
Nová instalace ESP-IDF
Pokud ESP-IDF v počítači nemáte a vyberete tuto možnost - master, stáhne se vám poslední verze z gitu.
Na konci instalace zaškrtnete políško Command Prompt Enviroment
Po spuštění ESP-IDF přejdeme do vzorových kódů a zkompilujeme například kód blink
cd examples/get-started/blink
a nastavíte cíl jako ESP32-C3 příkazem
idf.py --preview set-target esp32c3
Na konci výstupu pak najdete tuto zprávu, pokud to proběhne v pořádku
Teď zkompilujeme vzorový kód blink
idf.py build
A pokud proběhne kompilace v pořádku, uvidíte tento výstup
A samozřejmě uposlechneme pokynů ve výstupu a pro nahrání napíšeme
idf.py -p PORT flash
v mém případě PORT je COM8 (Najdete v ovládacích panelech -> zobrazit zařízení a tiskárny. Vyhledáte USB-UART převodník CP2102).
Nahrajeme kód
A v ESP-IDF máme možnost spustit i monitor ve kterém se nám budou zobrazovat zprávy.
Ten otevřeme pomocí příkazu
idf.py -p PORT monitor
Aktualizujeme stávající ESP-IDF
Tady je cesta trochu delší, ale žádné velké překvapení nás taky nečeká.
V pokynech Espressif, který zaslal spolu s vývojovým kitem najdete tyto příkazy (po zapnutí ESP-IDF)
export IDF_PATH=$(pwd)
git checkout master
git pull
Tady jsem dostal error. Zavolal jsem tedy znova git pull znova a prošlo to bez chyby.
pokračujeme v instrukcích od Espressif
git submodule update --init --recursive
install.sh nebo install.bat (install.sh je funkční i na windows)
a export.sh nebo export.bat
Teď přejdeme do složky vzorového kódu Blink
cd examples/get-started/blink
A nastavíme cíl ESP32-C3
idf.py --preview set-target esp32c3
Ha! Nejsou splněny závislosti. Není problém, doinstalujeme. Jen je třeba dodržet konkrétní verzi.
pip install -Iv kconfiglib==13.7.1 a obdobně s dalšími
a
Opět vyzkoušíme nastavit cíl
idf.py --preview set-target esp32c3
Hurá! Zkompilujeme kód.
A nahrajeme (na základě doporučení z výstupu kompilace)
idf.py -p PORT flash, kde port je COM port USB-UART převodníku CP2102.
A můžeme spustit monitor pomocí příkazu
idf.py -p PORT monitor
A to je vše, při úpravě kódu opět jen spustíte kompilaci pomocí
idf.py build a nahrajete idf.py -p PORT flash
Nezapomeňte, že pro každou složku s kódem musíte ke složce přistoupit pomocí příkazu cd a nastavit cíl pomocí idf.py --preview set-target esp32c3