ESP32 Dev Kitc fejlesztőkártya

Termékinformáció

Műszaki adatok

  • Termék: ESP32
  • Programozási útmutató: ESP-IDF
  • Kiadási verzió: v5.0.9
  • Gyártó: Espressif Systems
  • Megjelenés dátuma: 16. május 2025

A termék használati útmutatója

1. Kezdje el

Mielőtt elkezdené használni az ESP32-t, ismerkedjen meg a
következő:

1.1 Bevezetés

Ismerje meg a program alapvető funkcióit és képességeit
ESP32.

1.2 Amire szüksége van

Győződjön meg arról, hogy rendelkezik a szükséges hardver- és szoftvereszközökkel:

  • Hardver: Ellenőrizze a szükséges hardverek listáját
    alkatrészek.
  • Szoftver: Telepítse a szükséges szoftvert
    alkatrészek.

1.3 Telepítés

Az IDE telepítéséhez és beállításához kövesse az alábbi lépéseket
környezet:

  • IDE: Telepítse az ajánlott IDE-t a következőhöz:
    Az ESP32 programozása.
  • Kézi telepítés: Manuálisan állítsa be a
    környezet, ha szükséges.

1.4 Az első projekted elkészítése

Hozd létre és építsd fel a kezdeti projektedet az ESP32 segítségével.

1.5 Az ESP-IDF eltávolítása

Szükség esetén ismerje meg, hogyan távolíthatja el az ESP-IDF-et a számítógépéről.
rendszer.

2. API-referencia

Részletes információkért lásd az API dokumentációját.
alkalmazásprotokollok, hibakezelés és konfiguráció
szerkezetek.

Gyakran Ismételt Kérdések (GYIK)

K: Hogyan oldhatom meg az ESP32-vel kapcsolatos gyakori problémákat?

A: Lásd a programozási útmutató hibaelhárítási részét.
vagy keresse fel a gyártót webtámogatási források webhelye.

K: Használhatom az ESP-IDF-et más mikrovezérlőkkel?

A: Az ESP-IDF-et kifejezetten ESP32-höz tervezték, de előfordulhat, hogy
kompatibilis más Espressif mikrovezérlőkkel.

ESP32
ESP-IDF programozási útmutató
Kiadás v5.0.9 Espressif Systems 2025. május 16.

Tartalomjegyzék

Tartalomjegyzék

i

1 Kezdő lépések

3

1.1 Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Amire szükséged van . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Hardver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Szoftver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Telepítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.1 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.2 Kézi telepítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Az első projekted megépítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 Az ESP-IDF eltávolítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 API-referencia

45

2.1 API-konvenciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 Hibakezelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Konfigurációs struktúrák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 Privát API-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Komponensek az ex-benampa projektek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 API stabilitás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Alkalmazási protokollok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 ASIO port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

2.2.5 ESP HTTP kliens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.2.6 ESP helyi vezérlés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

2.2.7 ESP soros slave kapcsolat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

2.2.8 ESP x509 tanúsítványcsomag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 HTTP-kiszolgáló . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 HTTPS-kiszolgáló . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

2.2.11 ICMP visszhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

2.2.12 mDNS szolgáltatás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

2.2.13 Mbed TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

2.2.14 IP hálózati réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3 Bluetooth API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.1 Bluetooth® Közös . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.2 Bluetooth® Low Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

2.3.3 Bluetooth® Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

2.3.4 Vezérlő és HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

2.3.5 ESP-BLE-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

2.3.6 NimBLE-alapú gazda API-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

2.4 Hibakódok referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

2.5 Hálózati API-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

2.5.2 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899

2.5.3 Menet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

i

2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP hálózati réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Alkalmazási réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Perifériák API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analóg-digitális átalakító (ADC) egyszeres üzemmódú meghajtó. . . . . . . . . . . . . . . . . 977 2.6.2 Analóg-digitális átalakító (ADC) folyamatos üzemmódú meghajtó. . . . . . . . . . . . . . . 986 2.6.3 Analóg-digitális átalakító (ADC) kalibrációs illesztőprogram. . . . . . . . . . . . . . . . . . . 993 2.6.4 Órafa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digitális-analóg átalakító (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO és RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Általános célú időzítő (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Integrált áramkörök (I2C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 IC-k közötti hang (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD-kijelző. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 LED-vezérlés (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Motorvezérlő impulzusszélesség-modulátor (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Impulzusszámláló (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Távirányító adó-vevő (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD húzódzkodási követelmények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC állomásillesztőprogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI állomásillesztőprogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO kártya slave meghajtó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Szigma-delta moduláció (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI fővezérlő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI slave meghajtó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Biztonságos elem) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Érintésérzékelő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Kétvezetékes autóipari interfész (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Univerzális aszinkron vevő/adó (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Projekt konfigurációja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Bevezetés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Projekt konfigurációs menü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Az sdkconfig.defaults használata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig formázási szabályok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 A Kconfig opciók visszafelé kompatibilitása . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Konfigurációs beállítások referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Kiépítési API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Protokollkommunikáció. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Egységes kiépítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Wi-Fi kiépítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Tárolási API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileRendszertámogatás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Gyártási segédprogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Nem felejtő tárolókönyvtár . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS partíciógenerátor segédprogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC illesztőprogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filerendszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Virtuális filerendszerösszetevő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Kopáskiegyenlítő API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 Rendszer API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Alkalmazáskép formátuma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Alkalmazásszintű nyomkövetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Hívófüggvény külső veremmel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Chip revízió . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Konzol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Hibakódok és segédfüggvények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Eseményciklus-könyvtár . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Több mintview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Kiegészítő funkciók) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Hamommemória-lefoglalás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Hamommemória-hibakeresés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Nagy felbontású időzítő (ESP időzítő) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Belső és instabil API-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Processzorok közötti hívás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Megszakítás kiosztás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Naplózási könyvtár . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Egyéb rendszer API-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Éteren keresztüli frissítések (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Teljesítményfigyelő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Energiagazdálkodás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX szálak támogatása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Véletlenszám-generálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Alvó üzemmódok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Rendszerchip képességei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Rendszeridő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 A memória-elosztási API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP koprocesszor programozás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Őrzőkutyák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Hardverreferencia

2167

3.1 Chipsorozatok összehasonlítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Kapcsolódó dokumentumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

4 API útmutató

2171

4.1 Alkalmazásszintű nyomkövetési könyvtár . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Végeview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Működési módok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Konfigurációs beállítások és függőségek . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 A könyvtár használata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Alkalmazásindítási folyamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Első stage rendszerbetöltő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 másodperc stage rendszerbetöltő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Alkalmazás indítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

4.3 Bluetooth® Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.3.1 Végeview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® Alacsony energiafogyasztású . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Végeview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Első lépések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240

4.5 Rendszerbetöltő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284

4.5.1 Rendszerbetöltő kompatibilitás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Naplózási szint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Gyári beállítások visszaállítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Indítás teszt firmware-ből . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.5 Visszagörgetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.6 Őrzőkutya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.7 Rendszerbetöltő mérete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Gyorsindítás mély alvás módból . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Egyéni rendszerbetöltő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Build rendszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Végeview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 A Build rendszer használata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 Plample Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Projekt CMakeList-ek File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 CMakeList-ek összetevői Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Komponens konfigurációja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Előfeldolgozó definíciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Komponenskövetelmények . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 A projekt részeinek felülírása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Csak konfigurációt igénylő komponensek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 CMake hibakeresése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Példaample Komponens CMakeList-ek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Egyéni sdkconfig alapértelmezések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash argumentumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 A rendszerbetöltő fordítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Tiszta CMake komponensek írása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Harmadik féltől származó CMake projektek használata komponensekkel . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Előre elkészített függvénytárak használata komponensekkel . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 ESP-IDF használata egyéni CMake projektekben . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globáló és inkrementális buildek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Rendszer metaadatok felépítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Rendszer belső részeinek felépítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Migrálás ESP-IDF GNU Make rendszerről . . . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Core Dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Konfigurációk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Tármemória mentése flash memóriába . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Nyomtatási mag kiíratása UART-ra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 ROM függvények a visszakövetésekben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Változók kiíratása igény szerint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Az espcoredump.py futtatása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Mély alvás felébresztési csonkok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Az felébresztési csonkokra vonatkozó szabályok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Csonk implementálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Kód betöltése az RTC memóriába . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Adatok betöltése az RTC memóriába . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC-ellenőrzés az útvesztő csonkokhoz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Példaample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Hibakezelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Túlview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Hibakódok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Hibakódok konvertálása hibaüzenetekké . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK makró . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT makró . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR makró . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR makró . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE makró . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE makró . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 MAKRÓK ELLENŐRZÉSE Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Hibakezelési minták . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ kivételek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Több mintview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH koncepciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Hálózat kiépítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Hálózat kezelése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Adatátvitel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Csatornaváltás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Teljesítmény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 További megjegyzések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Eseménykezelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet és IP események . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Mesh események . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Bluetooth események . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Végzetes hibák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Felettview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Pánikkezelő. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Regiszterkiíratás és visszakövetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB csonk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC őrkutya időtúllépés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Guru meditációs hibák. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Egyéb végzetes hibák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Flash titkosítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Bevezetés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Releváns e-biztosítékok. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Flash titkosítási folyamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Flash titkosítás konfigurálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Lehetséges hibák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 flash titkosítás állapota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Adatok olvasása és írása titkosított flash memóriában. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Titkosított flash memória frissítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Flash titkosítás letiltása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 A flash titkosítás főbb pontjai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 A flash titkosítás korlátai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash titkosítás és biztonságos rendszerindítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Speciális funkciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Műszaki részletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Hardverabsztrakció. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Építészet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (alacsony szintű) réteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (hardveres absztrakciós réteg) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Magas szintű megszakítások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Megszakítási szintek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Megjegyzések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Hibakeresés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Hogyan működik? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 J kiválasztásaTAG Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Az OpenOCD beállítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Az ESP32 Target konfigurálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Hibakereső indítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Hibakeresési példaamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 OpenOCD fordítása forráskódból . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Tippek és érdekességek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Kapcsolódó dokumentumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Linker szkript generálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Túlview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Gyorsindítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker szkript generálásának belső részei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Támogatott API-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Feladat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6-támogatás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip egyéni módosítások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Teljesítményoptimalizálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Memóriatípusok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Adat-RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Utasítás-RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (flash memóriából végrehajtott kód) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (flash memóriában tárolt adatok) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Lassú memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC GYORS memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA-képességi követelmény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA puffer a veremben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Az OpenThread verem módjai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Hogyan írjunk OpenThread alkalmazást . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 Az OpenThread Border Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Partíciós táblák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Felettview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Beépített partíciós táblák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Egyéni táblák létrehozása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Bináris partíciós tábla generálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Partícióméret-ellenőrzések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 A partíciós tábla flashelése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Particionáló eszköz (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Teljesítmény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 A teljesítmény optimalizálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Útmutatók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF kalibrálás . ... 2468 4.23.1 Részleges kalibrálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Teljes kalibrálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Nincs kalibrálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 PHY inicializálási adatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Biztonságos rendszerindítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Biztonságos rendszerindítási folyamatview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Kulcsok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Rendszerbetöltő mérete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 A biztonságos rendszerindítás engedélyezése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Újraflashelhető szoftveres rendszerbetöltő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Biztonságos rendszerindítás aláírókulcs generálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Képfájlok távoli aláírása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Biztonságos rendszerindítás – ajánlott eljárások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Technikai részletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Biztonságos rendszerindítás és flash titkosítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Aláírt alkalmazás-ellenőrzés hardver nélkül – biztonságos rendszerindítás . . . . . . . . . . . . . . . . . . . . . . 2478 4.24.13 Speciális funkciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Biztonságos rendszerindítás V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Háttér . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Speciálistagés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Biztonságos rendszerindítás V2 folyamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Aláírás blokk formátuma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Biztonságos kitöltés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Aláírásblokk ellenőrzése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Kép ellenőrzése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Rendszerbetöltő mérete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse használata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 A Biztonságos Rendszerindítás V2 engedélyezése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Korlátozások a Biztonságos rendszerindítás engedélyezése után . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Biztonságos rendszerindítás aláírókulcs generálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Képfájlok távoli aláírása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Biztonságos rendszerindítás – ajánlott eljárások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Technikai részletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Biztonságos rendszerindítás és flash titkosítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Aláírt alkalmazás-ellenőrzés hardver nélkül – Biztonságos rendszerindítás . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.18 Speciális funkciók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Külső RAM támogatása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Hardver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Külső RAM konfigurálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Korlátozások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Inicializálási hiba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Chip változatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Szál helyi tároló . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Felettview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS natív API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Szabvány . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Szerszámok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF előtétprogram – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker rendszerkép . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Telepítő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF komponenskezelő . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Letölthető eszközök . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Egységtesztelés ESP32-ben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Normál tesztesetek . ... 2512 4.29.2 Többeszközös tesztesetek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Több eszközt tartalmazó tesztesetektage Tesztesetek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Különböző célpontok tesztelése. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Épületegység-tesztelő alkalmazás. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Egységtesztek futtatása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Időzítőkód gyorsítótár-kompenzált időzítővel. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Gúnyolódások. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Egységtesztelés Linuxon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Beágyazott szoftvertesztek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 IDF egységtesztek Linux gazdagépen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi illesztőprogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi funkciólista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Hogyan írjunk Wi-Fi alkalmazást . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API hibakód. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API paraméter inicializálása . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi programozási modell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi esemény leírása. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi állomás – Általános forgatókönyv. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP általános forgatókönyv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi szkennelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi állomás csatlakozási forgatókönyv. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi állomás csatlakozása több hozzáférési pont észlelésekor . . . . . . . . . . . . . 2543 4.31.12 Wi-Fi újracsatlakozás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi jelző időtúllépése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi konfiguráció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy Connect™ (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Vezeték nélküli hálózatkezelés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Rádióerőforrás-mérés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Gyors BSS átmenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi energiatakarékos mód . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi átviteli sebesség . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 csomagküldés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi szimatoló mód . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Több Wi-Fi antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi csatorna állapotinformációi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi csatorna állapotinformációi Konfigurálás . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Wi-Fi töredék . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS regisztráló . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi pufferhasználat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 A Wi-Fi teljesítményének javítása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi menükonfiguráció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Hibaelhárítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi biztonság . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi biztonsági funkciók . ... 2568 4.32.2 Védett felügyeleti keretek (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 Rádiófrekvenciás (RF) együttélés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Több mintview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Támogatott együttélési forgatókönyv az ESP32-höz . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Együttélési mechanizmus és politika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Az együttélés funkció használata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Reprodukálható buildek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Bevezetés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 A nem reprodukálható buildek okai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Reprodukálható buildek engedélyezése az ESP-IDF-ben . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Hogyan érhetők el reprodukálható buildek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Reprodukálható buildek és hibakeresés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Az reprodukálható buildeket továbbra is befolyásoló tényezők . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Felhasználói kézikönyv alacsony energiafogyasztású módhoz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 Migrációs útmutató

2579

5.1 ESP-IDF 5.x migrációs útmutató . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 Migráció 4.4-ről 5.0-ra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 Könyvtárak és keretrendszerek

2611

6.1 Felhőalapú keretrendszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.1 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.2 AWS IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.3 Azure IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.4 Google IoT Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.5 Aliyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.6 Joylink IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

6.1.7 Tencent IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.1.8 Tencentyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.1.9 Baidu IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2 Espresso keretrendszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Espressif audio fejlesztői keretrendszer . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.2 ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.3 Espressif DSP könyvtár . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 ESP-WIFI-MESH fejlesztői keretrendszer . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.6 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.7 ESP-IoT-Megoldás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.8 ESP-protokollok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

viii

6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614

7 Hozzájárulási Útmutató

2615

7.1 Hogyan közreműködhetsz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Közreműködés előtt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Lekéréses kérések folyamata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Jogi rész . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Kapcsolódó dokumentumok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.1 Espressif IoT fejlesztési keretrendszer stíluskalauz . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.2 Előzetes véglegesítési Hook telepítése az ESP-IDF projekthez . . . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Kód dokumentálása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Ex létrehozásaamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

7.5.5 API dokumentációs sablon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630

7.5.6 Közreműködői megállapodás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

7.5.7 Szerzői jogi fejléc útmutató . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634

7.5.8 ESP-IDF tesztek Pytest útmutatóval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 ESP-IDF verziók

2645

8.1 Kiadások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Melyik verzióval kezdjem? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Verziókezelési séma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Támogatási időszakok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Az aktuális verzió ellenőrzése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

8.6 Git munkafolyamat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7 ESP-IDF frissítése . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Frissítés stabil kiadásra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Frissítés kiadás előtti verzióra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Frissítés a Master ágra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Frissítés kiadási ágra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Erőforrások

2651

9.1 PlatformIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.1 Mi a PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Telepítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Konfiguráció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Oktatóanyagok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Projekt Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Következő lépések . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Hasznos linkek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Szerzői jogok és licencek

2653

10.1 Szoftverszerzői jogok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Firmware-összetevők . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Dokumentáció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 ROM forráskód szerzői jogok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.3 Xtensa libhal MIT-licenc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.4 TinyBasic Plus MIT licenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.5 TJpgDec licenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

11 Körülbelül

2657

12 Váltás a nyelvek között

2659

Index

2661

Index

2661

ix

x

Tartalomjegyzék
Ez az Espressif IoT fejlesztői keretrendszer (esp-idf) dokumentációja. Az ESP-IDF az ESP32, ESP32-S és ESP32-C sorozatú SoC-k hivatalos fejlesztői keretrendszere. Ez a dokumentum az ESP-IDF használatát ismerteti az ESP32 SoC-kal.

Kezdje el

API-referencia

API útmutatók

Espressif rendszerek

1 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

Tartalomjegyzék

Espressif rendszerek

2 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet
Kezdje el
Ez a dokumentum segít beállítani az Espressif ESP32 chipjén alapuló hardver szoftverfejlesztési környezetét. Ezután egy egyszerű próba...ampMegmutatjuk, hogyan használhatod az ESP-IDF-et (Espressif IoT Development Framework) menükonfigurációhoz, majd firmware-t építhetsz és flashelhetsz egy ESP32 kártyára.
Megjegyzés: Ez az ESP-IDF stabil v5.0.9 verziójához tartozó dokumentáció. Más ESP-IDF verziók is elérhetők.
1.1 Bevezetés
Az ESP32 egy chipen lévő rendszer, amely a következő funkciókat integrálja: · Wi-Fi (2.4 GHz-es sáv) · Bluetooth · Két nagy teljesítményű Xtensa® 32 bites LX6 CPU mag · Ultra alacsony fogyasztású koprocesszor · Több periféria
A 40 nm-es technológiára épülő ESP32 egy robusztus, nagymértékben integrált platformot biztosít, amely segít kielégíteni a hatékony energiafelhasználás, a kompakt kialakítás, a biztonság, a nagy teljesítmény és a megbízhatóság iránti folyamatos igényeket. Az Espressif alapvető hardver- és szoftvererőforrásokat biztosít, amelyek segítenek az alkalmazásfejlesztőknek megvalósítani ötleteiket az ESP32 sorozatú hardverek használatával. Az Espressif szoftverfejlesztési keretrendszere a dolgok internetéhez (IoT) kapcsolódó alkalmazások fejlesztésére szolgál Wi-Fi-vel, Bluetooth-szal, energiagazdálkodással és számos egyéb rendszerfunkcióval.
1.2 Amire szüksége van
1.2.1 Hardver
· Egy ESP32 panel. · USB kábel – USB A / micro USB B. · Windows, Linux vagy macOS rendszerű számítógép.
Megjegyzés: Jelenleg néhány fejlesztőkártya USB Type C csatlakozókat használ. Győződjön meg róla, hogy a megfelelő kábellel csatlakoztatja a kártyát!
Ha rendelkezik az alább felsorolt ​​ESP32 hivatalos fejlesztőkártyák egyikével, kattintson a linkre, hogy többet megtudjon a hardverről.
3

1. fejezet. Kezdés
ESP32-DevKitS(-R)
Ez a felhasználói útmutató az ESP32-DevKitS(-R)-ről, az Espressif által gyártott ESP32 alapú villogó panelről nyújt információkat. Az ESP32-DevKitS(-R) két panelnév kombinációja: ESP32-DevKitS és ESP32-DevKitS-R. Az S a rugókat, az R pedig a WROVER-t jelöli.

ESP32-DevKitS

ESP32-DevKitS-R

A dokumentum a következő főbb részekből áll: · Első lépések: Áttekintést nyújtview Az ESP32-DevKitS(-R) hardver/szoftver beállítási útmutatója a kezdéshez. · Hardver referencia: Részletesebb információkat nyújt az ESP32-DevKitS(-R)ns hardveréről. · Kapcsolódó dokumentumok: Hivatkozásokat tartalmaz a kapcsolódó dokumentációkra.

Első lépések Ez a szakasz leírja, hogyan kezdheti el használni az ESP32-DevKitS(-R) eszközt. Először néhány bevezető résszel kezdődik az ESP32-DevKitS(-R) eszközről, majd a „Hogyan flasheljünk egy panelt?” című szakasz útmutatást nyújt arról, hogyan kell egy modult az ESP32-DevKitS(-R) eszközre szerelni, előkészíteni és firmware-t flashelni rá.

Felettview Az ESP32-DevKitS(-R) egy kifejezetten ESP32-höz tervezett Espressifns flashelő kártya. Használható ESP32 modul flashelésére anélkül, hogy a modult a tápegységhez és a jelvezetékekhez forrasztanák. Felszerelt modullal az ESP32-DevKitS(-R) mini fejlesztőkártyaként is használható, mint az ESP32-DevKitC.
Az ESP32-DevKitS és az ESP32-DevKitS-R kártyák csak a rugós csatlakozók elrendezésében térnek el, hogy illeszkedjenek a következő ESP32 modulokhoz.
· ESP32-DevKitS: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (NYÁK és IPEX) ESP32-WROVER-B (NYÁK és IPEX) ESP32-WROVER-E ESP32-WROVER-IE
A fenti modulokkal kapcsolatos információkért lásd az ESP32 sorozatú modulokat.

Összetevők leírása

Espressif rendszerek

4 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

1. ábra: ESP32-DevKitS – elölnézet

Espressif rendszerek

2. ábra: ESP32-DevKitS-R – előlap 5
Dokumentum visszajelzés küldése

Kiadás v5.0.9

1. fejezet. Kezdés

Kulcsfontosságú alkatrész rugós csapok 2.54 mm-es női csatlakozók
USB-UART híd LDO Micro-USB csatlakozó/Micro-USB port EN gomb Boot gomb
Bekapcsolás LED

Leírás Kattintson be a modult. A csatlakozótüskék a modul korong alakú furataiba illeszkednek. Ezek a csatlakozóhüvelyek a panelre szerelt modul csatlakozótüskéihez csatlakoznak. A csatlakozóhüvelyek leírását lásd a Tömbblokkok részben. Az egychipes USB-UART híd akár 3 Mbps átviteli sebességet biztosít.
5V-ról 3.3V-ra alacsony kiesésű hangerőtage-szabályozó (LDO).
USB interfész. Tápegység a panelhez, valamint kommunikációs interfész a számítógép és a panel között.
Reset gomb.
Letöltés gomb. A Boot gomb lenyomva tartása, majd az EN megnyomása elindítja a Firmware letöltési módot, amellyel a firmware a soros porton keresztül tölthető le.
Akkor kapcsol be, amikor az USB vagy a tápegység csatlakoztatva van a panelhez.

Hogyan flasheljünk egy panelt Az ESP32-DevKitS(-R) bekapcsolása előtt győződjünk meg arról, hogy jó állapotban van, és nincsenek rajta látható sérülésnyomok.
Szükséges hardverek · Egy választott ESP32 modul · USB 2.0 kábel (Standard-A - Micro-B) · Windows, Linux vagy macOS rendszerű számítógép
Hardverbeállítás Kérjük, szereljen fel egy választott modult az ESP32-DevKitS(-R) eszközére a következő lépések szerint:
· Óvatosan helyezd a modult az ESP32-DevKitS(-R) panelre. Győződj meg róla, hogy a modulon lévő hornyolt furatok a panel rugós csapjaival vannak egy vonalban.
· Nyomja a modult a panelbe, amíg kattanást nem hall. · Ellenőrizze, hogy az összes rugós csapszeg a hornyolt lyukakba van-e helyezve. Ha vannak rosszul illeszkedő rugós csapszegek,
Csipesszel helyezd őket a kivágott lyukakba.
Szoftverbeállítás
Előnyben részesített módszer Az ESP-IDF fejlesztői keretrendszer előnyben részesített módszert kínál a bináris fájlok ESP32-DevKitS(-R) eszközre történő flashelésére. Kérjük, folytassa a Kezdő lépések részleggel, ahol a Telepítés szakasz gyorsan segít a fejlesztői környezet beállításában, majd egy alkalmazáspéldány flashelésében.ample az ESP32-DevKitS(-R)-re.
Alternatív módszer Alternatív megoldásként a Windows felhasználók a Flash Download Tool segítségével flashelhetik a bináris fájlokat. Ehhez töltse le, csomagolja ki, és kövesse a doc mappában található utasításokat.
Megjegyzés: 1. Bináris fájl flasheléséhez files, az ESP32-nek Firmware letöltési módba kell állítania. Ezt vagy automatikusan a flash eszközzel lehet megtenni, vagy a Boot gomb lenyomva tartásával és az EN gomb megnyomásával. 2. A bináris fájl flashelése után fileEzután a Flash Download Tool újraindítja az ESP32 modult, és alapértelmezés szerint elindítja a flashelt alkalmazást.

Tábla méretei Tartalom és csomagolás

Espressif rendszerek

6 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Első lépések 3. ábra: ESP32-DevKitS panel méretei – hátulról

Espressif rendszerek

4. ábra: ESP32-DevKitS-R panel méretei – hátul 7
Dokumentum visszajelzés küldése

Kiadás v5.0.9

1. fejezet. Kezdés
Kiskereskedelmi megrendelések Ha néhány darabot rendelampMinden ESP32-DevKitS(-R) külön csomagolva érkezik, antisztatikus tasakban vagy bármilyen más csomagolásban, a kiskereskedőtől függően. Kiskereskedelmi megrendelésekért kérjük, látogasson el a https://www.espressif.com/en/contact-us/get-s oldalra.amples.
Nagykereskedelmi megrendelések Nagy tételben történő rendelés esetén a deszkák nagy kartondobozokban érkeznek. Nagykereskedelmi megrendelések esetén kérjük, látogasson el a https://www.espressif.com/en/contact-us/sales-questions oldalra.
Hardverreferencia
Blokkdiagram Az alábbi blokkdiagram az ESP32-DevKitS(-R) összetevőit és azok összekapcsolását mutatja.

5. ábra: ESP32-DevKitS(-R) (kattintson a nagyításhoz)
Tápellátási lehetőségek Három, egymást kizáró módon biztosítható a panel tápellátása: · Micro USB port, alapértelmezett tápegység · 5V és GND fejléctüskék · 3V3 és GND fejléctüskék
Javasoljuk az első lehetőség használatát: a micro USB portot.

Espressif rendszerek

.

Címkejel

L1 3V3 VDD 3V3

L2 EN CHIP_PU

L3 VP ÉRZÉKELŐ_VP

L4 VN SZENZOR_VN

L5 34

GPIO34

L6 35

GPIO35

L7 32

GPIO32

L8 33

GPIO33

folytatás a következő oldalon

8 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

1. táblázat folytatása az előző oldalról

.

Címkejel

L9 25

GPIO25

L10 26

GPIO26

L11 27

GPIO27

L12 14

GPIO14

L13 12

GPIO12

L14 FÖLD FÖLD

L15 13

GPIO13

L16 D2 SD_DATA2

L17 D3 SD_DATA3

L18 CMD SD_CMD

L19 5V

Külső 5V

R1 FÖLD FÖLD

R2 23

GPIO23

R3 22

GPIO22

R4 TX U0TXD

R5 RX U0RXD

R6 21

GPIO21

R7 FÖLD FÖLD

R8 19

GPIO19

R9 18

GPIO18

R10 5

GPIO5

R11 17

GPIO17

R12 16

GPIO16

R13 4

GPIO4

R14 0

GPIO0

R15 2

GPIO2

R16 15

GPIO15

R17 D1 SD_DATA1

R18 D0 SD_DATA0

R19 CLK SD_CLK

Fejlécblokkok A fejlécblokkok képét lásd az Összetevők leírása részben.

Kapcsolódó dokumentumok
· ESP32-DevKitS(-R) kapcsolási rajzok (PDF) · ESP32 adatlap (PDF) · ESP32-WROOM-32 adatlap (PDF) · ESP32-WROOM-32D és ESP32-WROOM-32U adatlap (PDF) · ESP32-SOLO-1 adatlap (PDF) · ESP32-WROVER adatlap (PDF) · ESP32-WROVER-B adatlap (PDF) · ESP termékválasztó

ESP32-DevKitM-1

Ez a felhasználói útmutató segít az ESP32-DevKitM-1 használatának megkezdésében, és részletesebb információkat is nyújt.
Az ESP32-DevKitM-1 egy ESP32-MINI-1(1U) alapú fejlesztőkártya, amelyet az Espressif gyárt. A legtöbb I/O láb mindkét oldalon ki van törve a tűfejlécekig a könnyű csatlakoztatás érdekében. A felhasználók perifériákat csatlakoztathatnak jumperkábelekkel, vagy az ESP32-DevKitM-1-et egy próbapanelre szerelhetik.

Espressif rendszerek

9 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

ESP32-DevKitM-1 – elöl

ESP32-DevKitM-1 – izometrikus

A dokumentum a következő főbb részekből áll: · Első lépések: Áttekintést nyújtview Az ESP32-DevKitM-1 hardver/szoftver beállítási utasításait és a kezdéshez szükséges utasításokat. · Hardver referencia: Részletesebb információkat nyújt az ESP32-DevKitM-1ns hardverről. · Kapcsolódó dokumentumok: Linkeket biztosít a kapcsolódó dokumentációkhoz.

Első lépések Ez a szakasz leírja, hogyan kezdheti el használni az ESP32-DevKitM-1 eszközt. Először néhány bevezető résszel kezdődik az ESP32-DevKitM-1 eszközről, majd az Alkalmazásfejlesztés indítása című szakasz útmutatást nyújt a kezdeti hardverbeállítás elvégzéséhez, majd a firmware ESP32-DevKitM-1 eszközre történő flasheléséhez.

Felettview Ez egy kicsi és kényelmes fejlesztőtábla, amely a következőket tartalmazza:
· ESP32-MINI-1 vagy ESP32-MINI-1U modul · USB-soros programozási interfész, amely egyben tápellátást is biztosít a panel számára · tűs csatlakozók · nyomógombok az alaphelyzetbe állításhoz és a firmware letöltési mód aktiválásához · néhány további alkatrész

Tartalom és csomagolás

Kiskereskedelmi megrendelések Ha néhány darabot rendelampMinden ESP32-DevKitM-1 külön csomagolva érkezik, antisztatikus zacskóban vagy bármilyen más csomagolásban, a kereskedőtől függően.
Kiskereskedelmi megrendelések esetén kérjük, látogasson el a https://www.espressif.com/en/contact-us/get-s oldalra.amples.

Nagykereskedelmi megrendelések Nagy tételben történő rendelés esetén a deszkák nagy kartondobozokban érkeznek. Nagykereskedelmi megrendelések esetén kérjük, látogasson el a https://www.espressif.com/en/contact-us/sales-questions oldalra.

Az alkatrészek leírása A következő ábra és az alábbi táblázat az ESP32-DevKitM-1 panel főbb alkatrészeit, interfészeit és vezérlőit ismerteti. Példaként az ESP32-MINI-1 modullal ellátott panelt vesszük alapul.ample a következő szakaszokban.

Espressif rendszerek

10 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

6. ábra: ESP32-DevKitM-1 – elölnézet

Kulcsfontosságú alkatrész: Beépített modul
5 V-ról 3.3 V-ra LDO indítógomb
Reset gomb Micro USB port
USB-UART híd 3.3 V-os bekapcsoló LED
I/O csatlakozó

Leírás
ESP32-MINI-1 modul vagy ESP32-MINI-1U modul. Az ESP32-MINI-1 beépített NYÁK-antennával rendelkezik. Az ESP32-MINI-1U külső antennacsatlakozóval rendelkezik. Mindkét modul 4 MB flash memóriával rendelkezik a chipben. Részletekért lásd az ESP32-MINI-1 és ESP32-MINI-1U adatlapját.
A teljesítményszabályozó 5 V-ot 3.3 V-ra alakít át.
Letöltés gomb. A Boot gomb lenyomva tartásával, majd a Reset megnyomásával elindítható a Firmware letöltési mód, amellyel a firmware a soros porton keresztül tölthető le.
Reset gomb
USB interfész. A kártya tápegysége, valamint a számítógép és az ESP32 chip közötti kommunikációs interfész.
Az egyetlen USB-UART hídchip akár 3 Mbps átviteli sebességet biztosít.
Akkor kapcsol be, amikor az USB-t csatlakoztatják a panelhez. A részletekért lásd a Kapcsolódó dokumentumokban található kapcsolási rajzokat. Az összes elérhető GPIO-tüske (kivéve a flash memóriához tartozó SPI buszt) a panelen lévő tűfejekre van kiosztva. A felhasználók az ESP32 chipet több funkció engedélyezéséhez is programozhatják.

Alkalmazásfejlesztés indítása Az ESP32-DevKitM-1 bekapcsolása előtt győződjön meg arról, hogy jó állapotban van, és nincsenek rajta látható sérülések.
Szükséges hardverek · ESP32-DevKitM-1 · USB 2.0 kábel (Standard-A - Micro-B) · Windows, Linux vagy macOS rendszerű számítógép
Szoftvertelepítés Kérjük, folytassa az Első lépések részleggel, ahol a Telepítés szakasz gyorsan segít a fejlesztői környezet beállításában, majd egy alkalmazáspéldány flashelésében.ample az ESP32-DevKitM-1-re.

Espressif rendszerek

11 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
Figyelem: A 2021. december 2. előtt gyártott ESP32-DevKitM-1 kártyák egymagos modullal rendelkeznek. A modul típusának ellenőrzéséhez kérjük, ellenőrizze a PCN-2021-021 fájlban található moduljelölési információkat. Ha a kártyáján egymagos modul van telepítve, kérjük, engedélyezze az egymagos módot (CONFIG_FREERTOS_UNICORE) a menuconfig menüben az alkalmazások flashelése előtt.
Hardver referencia blokkdiagram Az alábbi blokkdiagram az ESP32-DevKitM-1 alkatrészeit és azok összekapcsolását mutatja.

7. ábra: ESP32-DevKitM-1
Tápforrás kiválasztása Három, egymást kizáró módon biztosíthatja a kártya tápellátását: · Micro USB port, alapértelmezett tápegység · 5 V és GND fejléctüskék · 3 V és GND fejléctüskék
Figyelmeztetés: · A tápellátást a fenti lehetőségek egyikével és csakis az egyikkel kell biztosítani, ellenkező esetben a panel és/vagy a tápegység károsodhat. · A tápellátás micro USB porton keresztül ajánlott.

Érintkezőleírások Az alábbi táblázat a panel mindkét oldalán található érintkezők nevét és funkcióját tartalmazza. A perifériás érintkezőkonfigurációkért lásd az ESP32 adatlapját.

Nem.

Név

Írja be

1

GND

P

2

3V3

P

Funkció Földelés 3.3 V-os tápegység

folytatás a következő oldalon

Espressif rendszerek

12 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

2. táblázat folytatása az előző oldalról

Nem.

Név

Írja be

Funkció

3

I36

I

GPIO36, ADC1_CH0, RTC_GPIO0

4

I37

I

GPIO37, ADC1_CH1, RTC_GPIO1

5

I38

I

GPIO38, ADC1_CH2, RTC_GPIO2

6

I39

I

GPIO39, ADC1_CH3, RTC_GPIO3

7

RST

I

Visszaállítás; Magas: engedélyezve; Alacsony: kikapcsol

8

I34

I

GPIO34, ADC1_CH6, RTC_GPIO4

9

I35

I

GPIO35, ADC1_CH7, RTC_GPIO5

10

IO32

I/O

GPIO32, XTAL_32K_P (32.768 kHz kristályoszcillátor bemenet),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

I/O

GPIO33, XTAL_32K_N (32.768 kHz kristályoszcillátor kimenet),

ADC1_CH5, TOUCH8, RTC_GPIO8

12

IO25

I/O

GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0

13

IO26

I/O

GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

14

IO27

I/O

GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV

15

IO14

I/O

GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,

HS2_CLK, SD_CLK, EMAC_TXD2

16

5V

P

5 V-os tápegység

17

IO12

I/O

GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ,

HS2_DATA2, SD_DATA2, EMAC_TXD3

18

IO13

I/O

GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,

HS2_DATA3, SD_DATA3, EMAC_RX_ER

19

IO15

I/O

GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0,

HS2_CMD, SD_CMD, EMAC_RXD3

20

IO2

I/O

GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,

HS2_DATA0, SD_DATA0

21

IO0

I/O

GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,

EMAC_TX_CLK

22

IO4

I/O

GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,

HS2_DATA1, SD_DATA1, EMAC_TX_ER

23

IO9

I/O

GPIO9, HS1_DATA2, U1RXD, SD_DATA2

24

IO10

I/O

GPIO10, HS1_DATA3, U1TXD, SD_DATA3

25

IO5

I/O

GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK

26

IO18

I/O

GPIO18, HS1_DATA7, VSPICLK

27

IO23

I/O

GPIO23, HS1_STROBE, VSPID

28

IO19

I/O

GPIO19, VSPIQ, U0CTS, EMAC_TXD0

29

IO22

I/O

GPIO22, VSPIWP, U0RTS, EMAC_TXD1

30

IO21

I/O

GPIO21, VSPIHD, EMAC_TX_EN

31

TXD0

I/O

GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2

32

RXD0

I/O

GPIO3, U0RXD, CLK_OUT2

Hardver verzió részletei Nincsenek elérhető korábbi verziók.
Kapcsolódó dokumentumok
· ESP32-MINI-1 és ESP32-MINI-1U adatlap (PDF) · ESP32-DevKitM-1 kapcsolási rajz (PDF) · ESP32-DevKitM-1 NYÁK elrendezés (PDF) · ESP32-DevKitM-1 elrendezés (DXF) – Lehetősége van view az Autodeskkel Viewonline · ESP32 adatlap (PDF) · ESP termékválasztó
A panelhez tartozó egyéb tervdokumentációkért kérjük, vegye fel velünk a kapcsolatot a sales@espressif.com címen.

Espressif rendszerek

13 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
1.2.2 szoftver
Az ESP-IDF ESP32-n való használatának megkezdéséhez telepítse a következő szoftvert: · Toolchain az ESP32 kódjának fordításához · Eszközök létrehozása – CMake és Ninja egy teljes ESP32 alkalmazás létrehozásához · ESP-IDF, amely lényegében API-t (szoftverkönyvtárakat és forráskódot) tartalmaz az ESP32-höz, valamint szkripteket a Toolchain működtetéséhez

1.3 Telepítés
A szükséges szoftverek telepítéséhez néhány különböző módszert kínálunk a feladat megkönnyítésére. Válasszon az elérhető lehetőségek közül.
1.3.1 IDE

Megjegyzés: Javasoljuk, hogy az ESP-IDF-et a kedvenc IDE-n keresztül telepítse.
· Eclipse bővítmény · VSCode kiterjesztés

1.3.2 Kézi telepítés
Manuális eljárás esetén kérjük, az operációs rendszerének megfelelőt válassza.

Espressif rendszerek

14 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
A Toolchain szabványos beállítása Windowshoz
Bevezetés Az ESP-IDF használatához néhány előfeltételként szolgáló eszköz telepítése szükséges ahhoz, hogy firmware-t építhessen a támogatott chipekhez. Az előfeltételként szükséges eszközök közé tartozik a Python, a Git, a keresztfordítók, a CMake és a Ninja építőeszközök. Ehhez az Első lépésekhez a parancssort fogjuk használni, de az ESP-IDF telepítése után használhatja az Eclipse Plugin-t vagy más, CMake-támogatással rendelkező grafikus IDE-t. Megjegyzés: Korlátozások: – Az ESP-IDF és az ESP-IDF Tools telepítési útvonala nem lehet hosszabb 90 karakternél. A túl hosszú telepítési útvonalak sikertelen fordítást eredményezhetnek. – A Python vagy az ESP-IDF telepítési útvonala nem tartalmazhat szóközöket vagy zárójeleket. – A Python vagy az ESP-IDF telepítési útvonala nem tartalmazhat speciális karaktereket (nem ASCII), kivéve, ha az operációs rendszer Unicode UTF-8 támogatással van konfigurálva. A rendszergazda engedélyezheti a támogatást a Vezérlőpulton keresztül – Dátum-, idő- vagy számformátumok módosítása – Adminisztráció lap – Rendszer területi beállításainak módosítása – jelölje be az oBeta: Unicode UTF-8 használata a világ minden táján támogatott nyelvekhez opciót – OK, és indítsa újra a számítógépet.
ESP-IDF Tools telepítő Az ESP-IDFns előfeltételeinek telepítésének legegyszerűbb módja az ESP-IDF Tools telepítők egyikének letöltése.

Windows Installer letöltése
Mire használható az online és offline telepítő? Az online telepítő nagyon kicsi, és lehetővé teszi az ESP-IDF összes elérhető kiadásának telepítését. A telepítő a telepítési folyamat során csak a szükséges függőségeket tölti le, beleértve a Git For Windows-t is. A telepítő tárolja a letöltött fájlokat. files a gyorsítótár könyvtárában %userprofile% eszpresszó
Az offline telepítő nem igényel hálózati kapcsolatot. A telepítő tartalmazza az összes szükséges függőséget, beleértve a Git For Windows-t is.
A telepítés összetevői A telepítő a következő összetevőket telepíti:
· Beágyazott Python · Keresztfordítók · OpenOCD · CMake és Ninja build eszközök · ESP-IDF
A telepítő lehetővé teszi a meglévő könyvtár újrafelhasználását az ESP-IDF segítségével. Az ajánlott könyvtár a %userpro.file%Desktopesp-idf, ahol %userprofileA % a saját könyvtárad.

Espressif rendszerek

15 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
Az ESP-IDF környezet elindítása A telepítési folyamat végén kiválaszthatja az ESP-IDF PowerShell környezet futtatása vagy az ESP-IDF parancssor (cmd.exe) futtatása lehetőséget. A telepítő a kiválasztott parancssorban elindítja az ESP-IDF környezetet. Futtassa az ESP-IDF PowerShell környezetet:

8. ábra: Az ESP-IDF eszközök telepítővarázslójának befejezése az ESP-IDF PowerShell környezet futtatásával
Futtassa az ESP-IDF parancssort (cmd.exe):
A parancssor használata A további Első lépések során a Windows parancssorát fogjuk használni. Az ESP-IDF Tools Installer létrehoz egy parancsikont a Start menüben az ESP-IDF parancssor elindításához. Ez a parancsikon elindítja a parancssort (cmd.exe), és lefuttatja az export.bat szkriptet a környezeti változók (PATH, IDF_PATH és mások) beállításához. Ebben a parancssorban az összes telepített eszköz elérhető. Vegye figyelembe, hogy ez a parancsikon az ESP-IDF Tools Installerben kiválasztott ESP-IDF könyvtárra vonatkozik. Ha több ESP-IDF könyvtár van a számítógépen (példáulamp(pl. az ESP-IDF különböző verzióival való munkához) kétféleképpen használhatja őket:
1. Készítsen másolatot az ESP-IDF Tools Installer által létrehozott parancsikonról, és módosítsa az új parancsikon munkakönyvtárát a használni kívánt ESP-IDF könyvtárra.
2. Vagy futtassa a cmd.exe fájlt, majd váltson a használni kívánt ESP-IDF könyvtárra, és futtassa az export.bat fájlt. Vegye figyelembe, hogy az előző lehetőséggel ellentétben ehhez a módszerhez Pythonnak és Gitnek is jelen kell lennie a PATH elérési úton. Ha a Python vagy a Git nem található hibájával kapcsolatos hibákat kap, használja az első lehetőséget.
Első lépések az ESP-IDF-en Most, hogy minden követelmény teljesült, a következő téma végigvezeti Önt az első projektje elindításában.

Espressif rendszerek

16 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Első lépések 9. ábra: ESP-IDF PowerShell

10. ábra: Az ESP-IDF eszközök telepítővarázslójának befejezése az ESP-IDF parancssor futtatásával (cmd.exe)

Espressif rendszerek

17 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

11. ábra: ESP-IDF parancssor

Espressif rendszerek

18 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
Ez az útmutató segít az ESP-IDF használatának első lépéseiben. Kövesd ezt az útmutatót egy új projekt elindításához az ESP32-n, valamint az eszköz kimenetének felépítéséhez, flasheléséhez és monitorozásához. Megjegyzés: Ha még nem telepítetted az ESP-IDF-et, kérjük, menj a Telepítés oldalra, és kövesd az utasításokat az útmutató használatához szükséges összes szoftver beszerzéséhez.

Projekt indítása Most már készen állsz az ESP32-re vonatkozó alkalmazásod előkészítésére. Kezdheted a getstarted/hello_world projekttel az ex-ből.amples könyvtár az ESP-IDF-ben.
Fontos: Az ESP-IDF build rendszer nem támogatja a szóközöket sem az ESP-IDF-hez, sem a projektekhez vezető elérési utakban.
Másold a get-started/hello_world projektet a ~/esp könyvtárba: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world hello_world
Megjegyzés: Számos ex létezikample projektek az examples könyvtár az ESP-IDF-ben. Bármely projektet a fent bemutatott módon másolhatja, és futtathatja. Építeni is lehet plampfájlokat a helyükön anélkül, hogy előbb lemásolnánk őket.

Eszköz csatlakoztatása Most csatlakoztassa az ESP32 kártyát a számítógéphez, és ellenőrizze, hogy melyik soros port alatt látható a kártya. A soros portok nevei Windows rendszerben COM-mal kezdődnek. Ha nem biztos benne, hogyan kell ellenőrizni a soros port nevét, a részletekért lásd a Soros kapcsolat létrehozása ESP32-vel című részt.
Megjegyzés: Tartsa kéznél a port nevét, mert szüksége lesz rá a következő lépésekben.

A projekt konfigurálása Navigáljon a hello_world könyvtárba, állítsa be az ESP32-t célként, és futtassa a menuconfig projektkonfigurációs segédprogramot.
Windows cd %userprofile%esphello_world idf.py célbeállítás esp32 idf.py menükonfiguráció
Egy új projekt megnyitása után először be kell állítani a célt az idf.py set-target esp32 paranccsal. Vegye figyelembe, hogy a projektben meglévő buildek és konfigurációk, ha vannak ilyenek, törlődnek és inicializálódnak ebben a folyamatban. A cél menthető a környezeti változóba, hogy ezt a lépést egyáltalán kihagyja. További információkért lásd a Céllapka kiválasztása: set-target című részt. Ha az előző lépéseket helyesen végezte el, a következő menü jelenik meg: Ezt a menüt használja a projektspecifikus változók beállítására, pl. Wi-Fi hálózat neve és jelszava, a processzor sebessége stb. A projekt beállítása a menuconfig paranccsal kihagyható az ohello_wordp esetében, mivel ez a példa...ampA fájl az alapértelmezett konfigurációval fut.
Figyelem: Ha ESP32-DevKitC kártyát használ az ESP32-SOLO-1 modullal, vagy ESP32-DevKitM-1 kártyát az ESP32-MIN1-1(1U) modullal, akkor a flashelés előtt engedélyezze az egymagos módot (CONFIG_FREERTOS_UNICORE) a menuconfig-ban.amples.

Espressif rendszerek

19 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

12. ábra: Projekt konfiguráció – Kezdőablak
Megjegyzés: A menü színei eltérőek lehetnek a terminálban. A megjelenést a –style opcióval módosíthatja. További információkért futtassa az idf.py menuconfig –help parancsot.
Ha a támogatott fejlesztőkártyák egyikét használod, felgyorsíthatod a fejlesztést a Board Support Package használatával. További információkért lásd a További tippek részt.
A projekt létrehozása A projektet a következő futtatásával hozhatja létre:
idf.py build
Ez a parancs lefordítja az alkalmazást és az összes ESP-IDF összetevőt, majd létrehozza a rendszertöltőt, a partíciós táblát és az alkalmazás bináris fájljait.
$ idf.py build A cmake futtatása a /hello_world/path/path/ könyvtárban A „cmake -G Ninja –warn-unitialized /hello_world/path” parancs végrehajtása… Figyelmeztetés inicializálatlan értékekre. — Git található: /usr/bin/git (a „2.17.0” verzió található) — Üres aws_iot komponens létrehozása a konfiguráció miatt — Komponensnevek: … — Komponens elérési utak: …
… (a rendszer kiépítésének több sora)
[527/527] hello_world.bin esptool.py v2.3.1 létrehozása
A projekt építése befejeződött. A flasheléshez futtassa a következő parancsot: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin vagy futtassa az 'idf.py -p PORT flash' parancsot.
Ha nincs hiba, a build a firmware bináris .bin generálásával fejeződik be files.

Espressif rendszerek

20 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
Flashelj az eszközre Flasheld az imént létrehozott bináris fájlokat (bootloader.bin, partition-table.bin és hello_world.bin) az ESP32 kártyádra a következő paranccsal: idf.py -p PORT [-b BAUD] flash
A PORT helyére írja be az ESP32 kártya soros portjának nevét. A flasher adatátviteli sebességét is megváltoztathatja, ha a BAUD helyet írja be a kívánt adatátviteli sebességre. Az alapértelmezett adatátviteli sebesség 460800. Az idf.py argumentumokkal kapcsolatos további információkért lásd az idf.py fájlt.
Megjegyzés: A flash opció automatikusan felépíti és flasheli a projektet, így az idf.py build futtatása nem szükséges.

Problémák merültek fel flashelés közben? Ha a megadott parancs futtatásakor olyan hibákat lát, mint például a „Nem sikerült a csatlakozáshoz” (asoFailed to connectp), ennek több oka is lehet. Az egyik ok az esptool.py segédprogram által tapasztalt problémák lehetnek. Ez a segédprogram a build rendszer által a chip visszaállításához, a ROM rendszerbetöltővel való interakcióhoz és a firmware flasheléséhez hívódik meg. Egy egyszerű megoldás, amit kipróbálhatsz, a manuális visszaállítás, amelyet alább ismertetünk, és ha ez nem segít, a lehetséges problémákról további részleteket a Hibaelhárítás című részben találsz.
Az esptool.py automatikusan visszaállítja az ESP32-t az USB-soros átalakító chip, például az FTDI vagy a CP210x DTR és RTS vezérlővezetékeinek aktiválásával (további információkért lásd: Soros kapcsolat létrehozása az ESP32-vel). A DTR és RTS vezérlővezetékek az ESP32 GPIO0 és CHIP_PU (EN) lábaihoz csatlakoznak, így megváltozik a hangerő.tagA DTR és RTS szintek az ESP32-t firmware letöltési módba indítják. PéldáulampPéldául, nézd meg az ESP32 DevKitC fejlesztőkártya kapcsolási rajzát.
Általánosságban elmondható, hogy a hivatalos esp-idf fejlesztőkártyákkal nem szabad problémáknak lenniük. Az esptool.py azonban a következő esetekben nem képes automatikusan visszaállítani a hardvert:
· A hardvereden nincsenek csatlakoztatva a DTR és RTS vonalak a GPIO0-hoz és a CHIP_PU-hoz · A DTR és RTS vonalak eltérően vannak konfigurálva · Egyáltalán nincsenek ilyen soros vezérlővonalak
A hardver típusától függően előfordulhat, hogy manuálisan is beállíthatja az ESP32 kártyát firmware letöltési módban (alaphelyzetbe állítás).
· Az Espressif által gyártott fejlesztőkártyák esetében ez az információ a megfelelő használati útmutatókban vagy felhasználói útmutatókban található. PéldáulampPéldául egy ESP-IDF fejlesztőkártya manuális alaphelyzetbe állításához tartsa lenyomva a Boot gombot (GPIO0), és nyomja meg az EN gombot (CHIP_PU).
· Más típusú hardverek esetén próbálja meg lehúzni a GPIO0-t.

Normál működés Villogáskor a következőhöz hasonló kimeneti naplót fog látni:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Soros port /dev/ttyUSB0 Csatlakozás…….._ A chip ESP32D0WDQ6 (0. revízió) Jellemzők: WiFi, BT, Dual Core, Kódolási séma Nincs A Crystal 40MHz-es MAC: 24:0a:c4:05:b9:14 Csonk feltöltése… Csonk fut… Csonk fut… Az átviteli sebesség módosítása 460800-ra Módosítva.
(folytatás a következő oldalon)

Espressif rendszerek

21 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
(folytatás az előző oldalról) Flash méretének konfigurálása… 3072 bájt tömörítve 103-ra… 0x00008000 sebességgel írás… (100%) 3072 bájt (103 tömörítve) 0x00008000 sebességgel 0.0 másodperc alatt írt (effektív 5962.8 kbit/s)… Az adatok hash-e ellenőrizve. 26096 bájt tömörítve 15408-ra… 0x00001000 sebességgel írás… (100%) 26096 bájt (15408 tömörítve) 0x00001000 sebességgel 0.4 másodperc alatt írt (effektív 546.7 kbit/s)… Az adatok hash-e ellenőrizve. 147104 bájt tömörítve 77364-re… Írás 0x00010000… pozícióban (20%) Írás 0x00014000… pozícióban (40%) Írás 0x00018000… pozícióban (60%) Írás 0x0001c000… pozícióban (80%) Írás 0x00020000… pozícióban (100%) 147104 bájt (77364 tömörítve) írása 0x00010000 sebességgel 1.9 másodperc alatt (effektív 615,5 kbit/s)… Az adatok hash-e ellenőrizve.
Kilépés… Kemény visszaállítás RTS tűn keresztül… Kész
Ha a flashelési folyamat végére nem merül fel probléma, a kártya újraindul, és elindítja a theohello_worldpapplication alkalmazást. Ha az idf.py futtatása helyett az Eclipse vagy a VS Code IDE-t szeretnéd használni, nézd meg az Eclipse bővítmény VSCode bővítményét.
Kimenet monitorozása Annak ellenőrzéséhez, hogy az ohello_worldpis valóban fut-e, írd be az idf.py -p PORT monitor parancsot (ne felejtsd el a PORT helyére a soros portod nevét írni).
Ez a parancs elindítja az IDF Monitor alkalmazást:
$ idf.py -p monitor Az idf_monitor futtatása a […]/esp/hello_world/build könyvtárban A „python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/build/hello_world.elf” parancs végrehajtása… — idf_monitor bekapcsolva 115200 —– Kilépés: Ctrl+] | Menü: Ctrl+T | Súgó: Ctrl+T, majd Ctrl+H –ets 2016. június 8. 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) dátum: 2016. június 8. 00:22:57 …
Miután az indítási és diagnosztikai naplók felfelé görgetnek, az alkalmazás által kinyomtatott oHello world! szöveget kell látnia.
… Helló világ! Újraindítás 10 másodperc múlva… Ez egy esp32 chip 2 CPU maggal, WiFi/BT/BLE, 1-es szilícium-revízió, 2 MB külső flash memóriával Minimális szabad memóriaméret: 298968 bájt Újraindítás 9 másodperc múlva… Újraindítás 8 másodperc múlva… Újraindítás 7 másodperc múlva…
Az IDF monitorból való kilépéshez használja a Ctrl+] billentyűparancsot.

Espressif rendszerek

22 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
Ha az IDF monitor röviddel a feltöltés után meghibásodik, vagy ha a fenti üzenetek helyett az alább láthatóhoz hasonló véletlenszerű szemetet lát, akkor a kártyád valószínűleg 26 MHz-es kristályt használ. A legtöbb fejlesztőkártya-terv 40 MHz-et használ, így az ESP-IDF ezt a frekvenciát használja alapértelmezett értékként.

Ha ilyen problémába ütközik, tegye a következőket: 1. Lépjen ki a monitorból. 2. Menjen vissza a menuconfig-ba. 3. Lépjen a Component config > Hardware Settings > Main XTAL Config > Main XTAL frequency menüpontra, majd módosítsa a CONFIG_XTAL_FREQ_SEL értékét 26 MHz-re. 4. Ezután fordítsa le és flashelje újra az alkalmazást.
Az ESP-IDF jelenlegi verziójában az ESP32 által támogatott fő XTAL frekvenciák a következők:
· 26 MHz · 40 MHz
Megjegyzés: Az építést, a flashelést és a monitorozást egyetlen lépésben kombinálhatja az idf.py -p PORT flash monitor parancs futtatásával.
Lásd még: · IDF Monitor a hasznos gyorsbillentyűkért és az IDF monitor használatával kapcsolatos további részletekért. · idf.py az idf.py parancsok és opciók teljes körű áttekintéséért.
Ennyi az egész, amire szükséged van az ESP32 használatának elkezdéséhez! Most már készen állsz kipróbálni más ex-eket is.amples, vagy egyenesen a saját alkalmazások fejlesztéséhez nyúlhat.
Fontos: Néhány korábbiampAz állományok nem támogatják az ESP32-t, mivel az ESP32 nem tartalmazza a szükséges hardvert, így nem támogatott. Ha egy ex-t építünkampkérlek, nézd meg a README fájlt file a Támogatott célok táblázathoz. Ha ez jelen van, beleértve az ESP32 célt is, vagy a tábla egyáltalán nem létezik, akkor a példaampMűködni fog az ESP32-n.
További tippek
/dev/ttyUSB0 jogosultsági problémák Egyes Linux disztribúciók esetén a „Nem sikerült megnyitni a /dev/ttyUSB0 portot” hibaüzenetet kaphatja az ESP32 flashelésekor. Ez úgy oldható meg, hogy az aktuális felhasználót hozzáadjuk a kitárcsázós csoporthoz.
Python kompatibilitás Az ESP-IDF támogatja a Python 3.7-es vagy újabb verzióját. Javasoljuk, hogy frissítse operációs rendszerét egy újabb verzióra, amely megfelel ennek a követelménynek. További lehetőségek közé tartozik a Python telepítése forráskódból, vagy egy Python verziókezelő rendszer, például a pyenv használata.
Kezdés a Board Support Package csomaggal Egyes fejlesztőkártyákon a prototípus-készítés felgyorsításához használhat Board Support Packages (BSP) csomagokat, amelyek néhány függvényhívással egyszerűvé teszik egy adott kártya inicializálását.

Espressif rendszerek

23 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

Egy BSP jellemzően támogatja a fejlesztőkártyán található összes hardverkomponenst. A lábkiosztás meghatározásán és az inicializálási funkciókon kívül a BSP illesztőprogramokat is tartalmaz a külső komponensekhez, például érzékelőkhöz, kijelzőkhöz, audiokodekekhez stb. A BSP-ket az IDF Component Manager terjeszti, így megtalálhatók az IDF Component Registry-ben. Itt egy példa...ampLeírás, hogyan adhatod hozzá az ESP-WROVER-KIT BSP-t a projektedhez: idf.py add-dependency esp_wrover_kit
Több exampA BSP használatának módjai megtalálhatók a BSP példában.amples mappa.
Kapcsolódó dokumentumok Haladó felhasználók számára, akik testre szeretnék szabni a telepítési folyamatot: · ESP-IDF eszközök frissítése Windows rendszeren · Soros kapcsolat létrehozása ESP32-vel · Eclipse bővítmény · VSCode bővítmény · IDF monitor
ESP-IDF eszközök frissítése Windows rendszeren
ESP-IDF eszközök telepítése szkript használatával A Windows parancssorból váltson arra a könyvtárra, ahová az ESPIDF telepítve van. Ezután futtassa a következőt:
install.bat
Powershell esetén váltson arra a könyvtárra, ahová az ESP-IDF telepítve van. Ezután futtassa a következő parancsot:
telepítés.ps1
Ez letölti és telepíti az ESP-IDF használatához szükséges eszközöket. Ha az eszköz adott verziója már telepítve van, akkor nem történik semmilyen művelet. Az eszközök letöltésre és telepítésre kerülnek az ESP-IDF eszközök telepítőfolyamata során megadott könyvtárba. Alapértelmezés szerint ez a C:Usersusername.espressif.
ESP-IDF eszközök hozzáadása a PATH elérési úthoz exportálási parancsfájl használatával Az ESP-IDF eszközök telepítője létrehoz egy parancsikont a Start menüben az oESP-IDF parancssorhoz. Ez a parancsikon megnyit egy parancssorablakot, ahol az összes eszköz már megtalálható.
elérhető. Bizonyos esetekben érdemes lehet az ESP-IDF eszközzel egy olyan parancssorablakban dolgozni, amelyet nem az adott parancsikonnal indítottak el. Ebben az esetben kövesse az alábbi utasításokat az ESP-IDF eszközök PATH könyvtárhoz való hozzáadásához. Abban a parancssorban, ahol az ESP-IDF eszközt használni szeretné, váltson arra a könyvtárra, ahová az ESP-IDF telepítve van, majd futtassa az export.bat fájlt:
cd %userprofile%espesp-idf export.bat
Vagy abban a Powershellben, ahol az ESP-IDF-et kell használnia, váltson arra a könyvtárra, ahová az ESP-IDF telepítve van, majd futtassa az export.ps1 fájlt:
cd ~/esp/esp-idf export.ps1
Ha ez megtörtént, az eszközök elérhetőek lesznek ebben a parancssorban.
Soros kapcsolat létrehozása az ESP32-vel Ez a szakasz útmutatást nyújt az ESP32 és a számítógép közötti soros kapcsolat létrehozásához.

Espressif rendszerek

24 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
ESP32 csatlakoztatása a számítógéphez Csatlakoztassa az ESP32 kártyát a számítógéphez USB-kábellel. Ha az eszközillesztő nem települ automatikusan, azonosítsa az ESP32 kártyán (vagy a külső átalakító dongle-on) található USB-soros átalakító chipet, keressen illesztőprogramokat az interneten, és telepítse azokat. Az alábbiakban az Espressif által gyártott ESP32 kártyán található legtöbb USB-soros átalakító chipek listája található, az illesztőprogramok linkjeivel együtt:
· CP210x: CP210x USB - UART híd VCP illesztőprogramok · FTDI: FTDI virtuális COM port illesztőprogramok Kérjük, ellenőrizze a kártya felhasználói útmutatóját az alkalmazott USB - soros átalakító chipekkel kapcsolatban. A fenti illesztőprogramok elsősorban referenciaként szolgálnak. Normál körülmények között az illesztőprogramoknak az operációs rendszerrel együtt kell lenniük, és automatikusan települniük kell a kártya számítógéphez való csatlakoztatásakor.
Port ellenőrzése Windows rendszeren Ellenőrizze az azonosított COM portok listáját a Windows Eszközkezelőben. Válassza le az ESP32-t, majd csatlakoztassa újra, hogy ellenőrizze, melyik port tűnik el a listából, majd jelenik meg újra. Az alábbi ábrák az ESP32 DevKitC és az ESP32 WROVER KIT soros portját mutatják.

13. ábra: Az ESP32-DevKitC USB-UART hídja a Windows Eszközkezelőben

Port ellenőrzése Linux és macOS rendszeren Az ESP32 kártya (vagy külső átalakító dongle) soros portjának eszköznevének ellenőrzéséhez futtassa ezt a parancsot kétszer, először a kártya/dongle kihúzott, majd csatlakoztatott állapotában. A másodszor megjelenő port a szükséges: Linux
ls /dev/tty*
macOS

Espressif rendszerek

25 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

14. ábra: Az ESP-WROVER-KIT két USB soros portja a Windows Eszközkezelőben

Espressif rendszerek

26 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

ls /dev/cu.* Megjegyzés: macOS felhasználók: ha nem látja a soros portot, akkor ellenőrizze, hogy telepítve vannak-e az USB/soros illesztőprogramok. Az illesztőprogramokra mutató linkeket lásd az ESP32 csatlakoztatása számítógéphez című részben. macOS High Sierra (10.13) esetén előfordulhat, hogy explicit módon engedélyeznie kell az illesztőprogramok betöltését. Nyissa meg a Rendszerbeállítások -> Biztonság és adatvédelem -> Általános menüpontot, és ellenőrizze, hogy látható-e itt egy üzenet az „oSystem Software from developer lp” (O rendszerszoftver a fejlesztőtől) című részről, ahol a fejlesztő neve Silicon Labs vagy FTDI.

Felhasználó hozzáadása a dialout csoporthoz Linuxon A jelenleg bejelentkezett felhasználónak olvasási és írási hozzáféréssel kell rendelkeznie a soros porton USB-n keresztül. A legtöbb Linux disztribúción ezt a felhasználó dialout csoporthoz való hozzáadásával lehet megtenni a következő paranccsal:
sudo usermod -a -G betárcsázó $USER
Arch Linuxon ez úgy történik, hogy a felhasználót hozzáadjuk az uucp csoporthoz a következő paranccsal:
sudo usermod -a -G uucp $USER
Győződjön meg arról, hogy újra bejelentkezett, hogy engedélyezze az olvasási és írási engedélyeket a soros porthoz.
Soros kapcsolat ellenőrzése Most ellenőrizze, hogy a soros kapcsolat működik-e. Ezt egy soros terminálprogrammal megteheti, ha ellenőrzi, hogy van-e kimenet a terminálon az ESP32 visszaállítása után. Az ESP32 alapértelmezett konzol baud rátája 115200.
Windows és Linux ebben az esetbenampPéldául a PuTTY SSH klienst fogjuk használni, amely Windows és Linux rendszereken is elérhető. Használhatsz más soros programokat is, és a kommunikációs paramétereket az alábbiak szerint állíthatod be. Indítsd el a terminált, és állítsd be az azonosított soros portot. Baud sebesség = 115200 (szükség esetén módosítsd a használt chip alapértelmezett baud sebességére), adat bitek = 8, stop bitek = 1 és paritás = N. Az alábbiakban példákat láthatsz:ampÍme néhány képernyőkép a port és az átviteli paraméterek (rövid leírás: 115200-8-1-N) beállításáról Windows és Linux rendszeren. Ne felejtse el pontosan ugyanazt a soros portot kiválasztani, amelyet a fenti lépésekben azonosított. Ezután nyissa meg a soros portot a terminálban, és ellenőrizze, hogy lát-e az ESP32 által kinyomtatott naplót. A napló tartalma az ESP32-re betöltött alkalmazástól függ, lásd a Példa részt.ampKimenet.
Megjegyzés: Miután ellenőrizte, hogy a kommunikáció működik, zárja be a soros terminált. Ha nyitva hagyja a terminál munkamenetét, a soros port később nem lesz elérhető firmware feltöltéséhez.

macOS A soros terminálprogram telepítésének fáradalmainak elkerülése érdekében a macOS a screen parancsot kínálja. · Ahogyan azt a Port ellenőrzése Linuxon és macOS-en című részben tárgyaltuk, futtassa a következőt:

ls /dev/cu.* · Hasonló kimenetet kell látnod:

/dev/cu.Bluetooth-Bejövő-Port /dev/cu.SLAB_USBtoUART USBtoUART7

/dev/cu.SLAB_

· A kimenet a számítógéphez csatlakoztatott kártyák típusától és számától függően változik. Ezután válaszd ki a kártyád eszköznevét, és futtasd (szükség esetén módosítsd az o115200p értéket a használt chip alapértelmezett baudrátájára):

screen /dev/cu.device_name 115200 Cserélje le az eszköz_nevét az ls /dev/cu.* parancs futtatása közben talált névre.

Espressif rendszerek

27 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

15. ábra: Soros kommunikáció beállítása a PuTTY-ban Windows rendszeren

Espressif rendszerek

28 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

16. ábra: Soros kommunikáció beállítása PuTTY-ban Linuxon

Espressif rendszerek

29 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
· Amit keres, az a képernyőn megjelenő napló. A napló tartalma az ESP32-re betöltött alkalmazástól függ, lásd a Példát.ample Output. A képernyő munkamenetből való kilépéshez írja be a Ctrl-A + billentyűkombinációt.
Megjegyzés: Ne felejtsen el kilépni a képernyő munkamenetből, miután ellenőrizte, hogy a kommunikáció működik. Ha ezt nem teszi meg, és csak bezárja a terminálablakot, a soros port később nem lesz elérhető a firmware feltöltéséhez.
Example Kimenet Egy példaampA napló alább látható. Ha nem látsz semmit, állítsd vissza a táblát. ets 2016. június 8. 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 2016. június 8. 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) boot: fordítási idő 18:48:10

Ha olvasható naplókimenetet lát, az azt jelenti, hogy a soros kapcsolat működik, és készen áll a telepítés folytatására, majd az alkalmazás feltöltésére az ESP32-re.
Megjegyzés: Bizonyos soros port bekötési konfigurációk esetén a soros RTS és DTR lábakat le kell tiltani a terminálprogramban, mielőtt az ESP32 elindulna és soros kimenetet produkálna. Ez magától a hardvertől függ, a legtöbb fejlesztőkártyánál (beleértve az összes Espressif kártyát is) nincs ilyen probléma. A probléma akkor jelentkezik, ha az RTS és DTR közvetlenül az EN és GPIO0 lábakhoz van bekötve. További részletekért lásd az esptool dokumentációját.
Ha az ESP32 fejlesztéséhez szoftver telepítésekor az 5. lépéstől (Első lépések az ESP-IDF-fel) eljutott idáig, akkor folytathatja az 5. lépéssel (Első lépések az ESP-IDF-fel).
IDF Monitor Az IDF Monitor elsősorban egy soros terminálprogram, amely soros adatokat továbbít a céleszköz soros portjára és onnan. Emellett néhány IDF-specifikus funkciót is biztosít. Az IDF Monitor elindítható egy IDF projektből az idf.py monitor futtatásával.
Billentyűparancsok Az IDF Monitorral való egyszerű interakcióhoz használja a táblázatban megadott billentyűparancsokat.

Espressif rendszerek

30 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

Billentyűparancs Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (vagy A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (vagy I)
· Ctrl+H (vagy H)
· Ctrl+X (vagy X)
Ctrl+C

Akció

Leírás

Kilépés a programból Menü Escape billentyű Menü karakter elküldése a távoli állomásra
Küldd el magát a kilépési karaktert a távoli állomásra
Cél visszaállítása a rendszerbetöltőbe az alkalmazás szüneteltetéséhez az RTS soron keresztül
Céltábla visszaállítása RTS-en keresztül
Építsd fel és flasheld a projektet

Csak az alkalmazás felépítése és flashelése

Naplókimenet nyomtatásának leállítása/folytatása a képernyőn

A leállítás/folytatás naplókimenete elmentve ide: file

Leállítás/folytatás idejeamps

nyomtatás

Az összes billentyűparancs megjelenítése

Nyomja meg a gombot, majd kövesse az alábbi billentyűk egyikét.
Visszaállítja a céleszközt a bootloaderbe az RTS vonalon keresztül (ha csatlakoztatva van), így a kártya nem fut. Hasznos, ha egy másik eszköz indulására kell várni. Visszaállítja a céleszközt és újraindítja az alkalmazást az RTS vonalon keresztül (ha csatlakoztatva van).
Szünetelteti az idf_monitor működését a projekt flash céljának futtatásához, majd folytatja az idf_monitor működését. Bármilyen megváltozott forrás. fileAz s fájlokat újrafordítja, majd újra flasheli. A Target encrypted-flash akkor fut, ha az idf_monitor az -E argumentummal lett elindítva. Szünetelteti az idf_monitort az app-flash target futtatásához, majd folytatja az idf_monitor futtatását. Hasonló a flash targethez, de csak a fő alkalmazás fordítódik le és flashelődik újra. A Target encrypted-app-flash akkor fut, ha az idf_monitor az -E argumentummal lett elindítva. Aktiválás közben elveti az összes bejövő soros adatot. Lehetővé teszi a naplókimenet gyors szüneteltetését és vizsgálatát a monitorból való kilépés nélkül. Létrehoz egy file a projektkönyvtárban, és a kimenet oda íródik file amíg ezt ugyanazzal a billentyűparanccsal le nem tiltják (vagy az IDF Monitor kilép). Az IDF Monitor ki tudja nyomtatni az időzítéstamp minden sor elején. A legidősebbamp a formátum a –timest időközönként módosíthatóamp-format parancssori argumentum.

Lépjen ki a programból

Futó alkalmazás megszakítása

Szünetelteti az IDF Monitor működését és futtatja a GDB projekt hibakeresőjét az alkalmazás futásidejű hibakereséséhez. Ehhez engedélyezni kell a :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME opciót.

A Ctrl-] és Ctrl-T billentyűkombinációk kivételével minden lenyomott billentyű a soros porton keresztül kerül elküldésre.

IDF-specifikus funkciók

Automatikus címdekódolás Amikor az ESP-IDF egy 0x4_______ formátumú hexadecimális kódcímet ad ki, az IDF Monitor az addr2line_ paramétert használja a forráskódban a cím helyének megkereséséhez és a függvény nevének megtalálásához.
Ha egy ESP-IDF alkalmazás összeomlik és pánikba esik, akkor egy regiszterkiírás és egy visszakövetés jön létre, például a következőképpen:

Espressif rendszerek

31 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

Guru Meditációs hiba történt StoreProhibited típusú hibaként a 0. magon. Kivétel a következő volt:

kezeletlen.

Regisztrációs memóriakép:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

SAR-érték: 0x0000000f

: 0x00000019 KIVÉTEL:

0x0000001d

EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT :

0x00000000

Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90

Az IDF Monitor további részleteket ad a memóriaképhez:

Guru Meditációs hiba történt StoreProhibited típusú hibaként a 0. magon. Kivétel a következő volt:

kezeletlen.

Regisztrációs memóriakép:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: összeomlás_csinálni_valamit a /home/gus/esp/32/idf/ex fájlbanamples/kezdés/

hello_world/main/./hello_world_main.c:57

(beágyazva) inner_dont_crash a /home/gus/esp/32/idf/ex könyvtárbanamples/kezdés/hello_

világ/fő/./hello_világ_fő.c:52

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

SAR-érték: 0x0000000f

: 0x00000019 KIVÉTEL:

0x0000001d

EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT :

0x00000000

Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:57 (beágyazva) inner_dont_crash at /home/gus/esp/32/idf/ex fájlbanamples/get-started/hello_world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash a /home/gus/esp/32/idf/ex könyvtárbanamples/get-started/hello_world/main/./hello_world_main.c:47 0x400dbf5e: dont_crash a /home/gus/esp/32/idf/ex címenamples/get-started/hello_world/main/./hello_world_main.c:42 0x400dbf82: app_main at /home/gus/esp/32/idf/ex könyvtárbanamples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: főfeladat a /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254 fájlban

Az egyes címek dekódolásához az IDF Monitor a következő parancsot futtatja a háttérben: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf CÍM

Megjegyzés: Állítsa az ESP_MONITOR_DECODE környezeti változót 0-ra, vagy hívja meg az idf_monitor.py fájlt a megfelelő parancssorral.

Espressif rendszerek

32 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
opció: idf_monitor.py –disable-address-decoding a címdekódolás letiltásához.
Cél visszaállítása csatlakozáskor Alapértelmezés szerint az IDF Monitor visszaállítja a céleszközt, amikor csatlakozik hozzá. A céleszköz chipjének visszaállítása a DTR és RTS soros vezetékek segítségével történik. Ha meg szeretné akadályozni, hogy az IDF Monitor automatikusan visszaállítsa a céleszközt csatlakozáskor, hívja meg az IDF Monitort a –no-reset opcióval (pl. idf_monitor.py –no-reset).
Megjegyzés: A –no-reset opció ugyanazt a viselkedést alkalmazza akkor is, ha az IDF Monitort egy adott porthoz csatlakoztatjuk (pl. idf.py monitor –no-reset -p [PORT]).
GDB indítása GDBStub segítségével A GDBStub egy hasznos futásidejű hibakeresési funkció, amely a célgépen fut, és soros porton keresztül csatlakozik a gazdagéphez a hibakeresési parancsok fogadásához. A GDBStub olyan parancsokat támogat, mint a memória és változók olvasása, a hívásverem keretek vizsgálata stb. Bár a GDBStub kevésbé sokoldalú, mint a JTAG hibakereséshez nincs szükség semmilyen speciális hardverre (például JTAG USB hídra), mivel a kommunikáció teljes egészében a soros porton keresztül történik. Egy céleszköz konfigurálható úgy, hogy a GDBStubot a háttérben futtassa, ha a CONFIG_ESP_SYSTEM_PANIC értékét GDBStub értékre állítja futásidőben. A GDBStub a háttérben fut, amíg egy Ctrl+C üzenet nem érkezik a soros porton keresztül, és ez a GDBStubot a program megszakítására (azaz a végrehajtás leállítására) készteti, lehetővé téve a GDBStub számára a hibakeresési parancsok kezelését. Továbbá, a pánikkezelő konfigurálható úgy, hogy összeomlás esetén futtassa a GDBStubot, ha a CONFIG_ESP_SYSTEM_PANIC értékét GDBStub értékre állítja pánik esetén. Összeomláskor a GDBStub egy speciális karakterláncmintát küld a soros porton keresztül, jelezve, hogy fut. Mindkét esetben (azaz a Ctrl+C üzenet küldésekor vagy a speciális karakterláncminta fogadásakor) az IDF Monitor automatikusan elindítja a GDB-t, hogy a felhasználó hibakeresési parancsokat küldhessen. A GDB kilépése után a céleszköz visszaáll az RTS soros vonalon keresztül. Ha ez a vonal nincs csatlakoztatva, a felhasználók visszaállíthatják a célpontjukat (a tábla Visszaállítás gombjának megnyomásával).
Megjegyzés: A háttérben az IDF Monitor a következő parancsot futtatja a GDB elindításához:
xtensa-esp32-elf-gdb -ex “soros baud BAUD beállítása” -ex “távoli PORT cél” -ex interrupt build/PROJECT.elf :idf_target:`Hello NAME chip`

Kimeneti szűrés Az IDF monitor meghívható az idf.py monitor –print-filter=”xyz” paranccsal, ahol a –print-filter a kimeneti szűrés paramétere. Az alapértelmezett érték egy üres karakterlánc, ami azt jelenti, hogy minden kiíródik.
A nyomtatásra vonatkozó korlátozások megadhatók sorozatkénttag>: tételek, aholtag> a tag húr és egy karakter a {N, E, W, I, D, V, *} halmazból, amely a naplózás egy szintjére utal.
Plample, PRINT_FILTER=”tag„1:W” esetén csak az ESP_LOGW(“ függvény által írt kimenetek megegyeznek és jelennek meg.tag1”, …) vagy alacsonyabb részletességi szinten, azaz ESP_LOGE(“tag1″, …). Nem ad meg egy vagy a * használatával az alapértelmezett érték a részletesség.
Megjegyzés: Az elsődleges naplózás használatával letilthatja a naplózókönyvtáron keresztül a nem szükséges kimeneteket fordításkor. Az IDF monitorral történő kimenetszűrés egy másodlagos megoldás, amely hasznos lehet a szűrési beállítások újrafordítása nélküli módosításához.
Az alkalmazásod tags nem tartalmazhat szóközöket, csillagokat (*) vagy kettőspontokat : ahhoz, hogy kompatibilis legyen a kimeneti szűrési funkcióval.
Ha az alkalmazás kimenetének utolsó sorát nem követi kocsivissza karakter, a kimeneti szűrés zavart okozhat, azaz a monitor elkezdi kinyomtatni a sort, majd később rájön, hogy a sort nem kellett volna kiírni. Ez egy ismert probléma, és elkerülhető, ha mindig kocsivissza karaktert adunk hozzá (különösen akkor, ha közvetlenül utána nem következik kimenet).

Espressif rendszerek

33 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
ExampSzűrési szabályok leírása:
· A * karakterrel bármely egyezést megtalálhatunk tags. Azonban a PRINT_FILTER=”*:I karakterlánc tag1:E” a következők tekintetében tag1 csak hibákat ír ki, mivel a szabály a következőre vonatkozik: tagAz 1-esnek magasabb prioritása van a *-ra vonatkozó szabállyal szemben.
· Az alapértelmezett (üres) szabály egyenértékű a *:V-vel, mivel minden egyező tag A részletes vagy annál alacsonyabb szinten lévő kifejezés mindennek az egyezését jelenti.
· A „*:N” nemcsak a naplózófüggvények kimeneteit tiltja le, hanem a printf stb. által készített nyomtatásokat is. Ennek elkerülése érdekében használja a *:E karakterláncot vagy egy magasabb részletességi szintet.
· Szabályok “tag1:V”, „tag1:v”, „tag1:”, „tag1:*”, és „tag1” egyenértékűek. · „ szabály”tag1:Ny tagAz „1:E” egyenértékű a „tag1:E”, mert ugyanazon jelenség bármely következményének előfordulása tag
A név felülírja az előzőt. · Szabály „tag1:I tagCsak a „2:W” feliratú betűk nyomtathatók ki. tag1 az információ részletességi szintjén vagy annál alacsonyabb szinten, és tag2 a Figyelmeztetésnél
bőbeszédűségi szint vagy alacsonyabb. · „ szabály”tag1:I tag2:Ny tagA „3:N” lényegében egyenértékű az előzővel, mivel tag3:N meghatározza
hogy tagA 3-ast nem szabad kinyomtatni. · tag3:N a szabályban „tag1:I tag2:Ny tagA „3:N *:V” értelmesebb, mert anélkül tag3:N a
tag3 üzenetet lehetett volna kinyomtatni; a hibák a következőkhöz: tag1 és tagA 2-es szöveg a megadott (vagy alacsonyabb) részletességi szinten lesz kinyomtatva, minden más pedig alapértelmezés szerint.
Egy összetettebb szűrési példaampA következő naplórészletet szűrési beállítások nélkül szereztük be:
load:0x40078000,len:13564 entry 0x40078d4c E (31) esp_image: a 0x30000 címen található kép érvénytelen mágikus bájttal rendelkezik W (31) esp_image: a 0x30000 címen található kép érvénytelen SPI móddal rendelkezik 255 E (39) boot: A gyári alkalmazáspartíció nem indítható I (568) cpu_start: Pro CPU feltöltve. I (569) heap_init: Inicializálás. RAM elérhető dinamikus allokációhoz: I (603) cpu_start: Pro CPU indítása felhasználói kóddal D (309) light_driver: [light_init, 74]:status: 1, mode: 2 D (318) vfs: az esp_vfs_register_fd_range sikeres a <54-es tartományban; 64) és VFS ID 1 I (328) wifi: wifi driver task: 3ffdbf84, prio:23, stack:4096, core=0
A PRINT_FILTER=”wifi esp_image:E light_driver:I” szűrési beállítások rögzített kimenete az alábbiakban látható:
E (31) esp_image: a 0x30000-nél található kép érvénytelen mágikus bájtot tartalmaz I (328) wifi: wifi driver task: 3ffdbf84, prio:23, stack:4096, core=0
A „PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V” opciók a következő kimenetet mutatják:
load:0x40078000,len:13564 entry 0x40078d4c I (569) heap_init: Inicializálás. Dinamikus kiosztáshoz elérhető RAM: D (309) light_driver: [light_init, 74]:status: 1, mode: 2
Ismert problémák az IDF Monitorral
Windows rendszeren megfigyelt problémák
· A nyílbillentyűk, valamint néhány más billentyű, a Windows konzol korlátai miatt nem működnek a GDB-ben. · Előfordulhat, hogy az oidf.pypexits fájl kilépése esetén akár 30 másodpercre is leáll, mielőtt az IDF Monitor újraindulna. · Az ogdbpis futtatásakor rövid időre leállhat, mielőtt elkezdene kommunikálni a GDBStubbal.

Espressif rendszerek

34 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Első lépések Standard Toolchain beállítás Linux és macOS rendszeren

Telepítés lépésről lépésre Ez egy részletes útmutató, amely végigvezeti Önt a telepítési folyamaton.
Fejlesztői környezet beállítása Az ESP-IDF ESP32-höz történő beállításának lépései: · 1. lépés: Telepítési előfeltételek · 2. lépés: Az ESP-IDF beszerzése · 3. lépés: Az eszközök beállítása · 4. lépés: A környezeti változók beállítása · 5. lépés: Az ESP-IDF első lépései
1. lépés: Telepítési előfeltételek Az ESP-IDF ESP32-vel való használatához telepítenie kell néhány szoftvercsomagot az operációs rendszerétől függően. Ez a telepítési útmutató segít mindent telepíteni Linux és macOS alapú rendszerekre.
Linux felhasználóknak Az ESP-IDF használatával történő fordításhoz a következő csomagokra lesz szükséged. A futtatandó parancs attól függ, hogy melyik Linux disztribúciót használod:
· Ubuntu és Debian: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 és 8: sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
A CentOS 7 továbbra is támogatott, de a jobb felhasználói élmény érdekében a CentOS 8-as verziója ajánlott. · Arch: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Megjegyzés: · Az ESP-IDF használatához a CMake 3.16-os vagy újabb verziója szükséges. Ha az operációs rendszer verziói nem rendelkeznek megfelelő verzióval, futtassa az otools/idf_tools.py install cmakepta parancsot a telepítéshez. · Ha nem találja a Linux disztribúcióját a fenti listában, akkor ellenőrizze a dokumentációját, hogy megtudja, melyik parancsot kell használni a csomagok telepítéséhez.
macOS felhasználók esetén az ESP-IDF a macOS-re alapértelmezés szerint telepített Python verziót használja. · A CMake és a Ninja build telepítése: Ha HomeBrew-t használsz, a következő parancsot futtathatod: brew install cmake ninja dfu-util Ha MacPorts-ot használsz, a következő parancsot futtathatod: sudo port install cmake ninja dfu-util Egyébként a macOS telepítési letöltéseit a CMake és a Ninja honlapján találod.

Espressif rendszerek

35 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
· A gyorsabb fordítás érdekében erősen ajánlott a ccache telepítése is. Ha HomeBrew-t használsz, ezt a brew install ccache vagy a sudo port install ccache paranccsal teheted meg MacPortokon.
Megjegyzés: Ha bármelyik lépés során ehhez hasonló hiba jelenik meg: xcrun: hiba: érvénytelen aktív fejlesztői útvonal (/Library/Developer/CommandLineTools), hiányzik az xcrun a következő helyen: /Library/Developer/CommandLineTools/usr/bin/xcrun
Ezután telepítenie kell az XCode parancssori eszközeit a folytatáshoz. Ezeket az xcode-select –install paranccsal telepítheti.
Apple M1 felhasználók Ha Apple M1 platformot használ, és ehhez hasonló hibát lát: FIGYELMEZTETÉS: az xtensa-esp32-elf eszköz esp-2021r2-patch3-8.4.0 verziójának könyvtára jelen van, de az eszköz nem található HIBA: az xtensa-esp32-elf eszköznek nincsenek telepített verziói. Kérjük, futtassa az 'install.sh' fájlt a telepítéshez.
vagy: zsh: hibás CPU típus a futtatható fájlban: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Ezután telepítenie kell az Apple Rosetta 2-t a /usr/sbin/softwareupdate –install-rosetta –agree-to-license paranccsal.
A Python 3 telepítése A macOS Catalina 10.15 kiadási megjegyzései alapján a Python 2.7 használata nem ajánlott, és a Python 2.7 nem lesz alapértelmezés szerint benne a macOS jövőbeli verzióiban. Ellenőrizd, hogy melyik Python verzióval rendelkezel jelenleg: python –version
Ha a kimenet a Python 2.7.17-hez hasonló, akkor az alapértelmezett értelmező a Python 2.7. Ha igen, akkor azt is ellenőrizd, hogy a Python 3 nincs-e telepítve a számítógépeden: python3 –version
Ha a fenti parancs hibát ad vissza, az azt jelenti, hogy a Python 3 nincs telepítve. Az alábbiakban egy áttekintés látható.view a Python 3 telepítésének lépéseiről.
· A HomeBrew-val történő telepítés a következőképpen történhet: brew install python3
· Ha MacPorts-od van, akkor a következő parancsot futtathatod: sudo port install python38
2. lépés: Az ESP-IDF beszerzése Az ESP32-höz alkalmazások készítéséhez szükség van az Espressif által az ESP-IDF repositoryban biztosított szoftverkönyvtárakra. Az ESP-IDF beszerzéséhez navigáljon a telepítési könyvtárba, és klónozza a repositoryt a git clone segítségével, az operációs rendszerére vonatkozó alábbi utasításokat követve. Nyissa meg a Terminált, és futtassa a következő parancsokat:

Espressif rendszerek

36 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –rekurzív https://github.com/espressif/esp-idf.git
Az ESP-IDF az ~/esp/esp-idf fájlba lesz letöltve. Tekintse meg az ESP-IDF verziók oldalt, hogy megtudja, melyik ESP-IDF verziót kell használni egy adott helyzetben.
3. lépés. Az eszközök beállítása Az ESP-IDF mellett az ESP-IDF által használt eszközöket is telepíteni kell, például a fordítót, a hibakeresőt, a Python csomagokat stb. az ESP32-t támogató projektekhez. cd ~/esp/esp-idf ./install.sh esp32
vagy a Fish shell cd ~/esp/esp-idf ./install.fish esp32 paranccsal
A fenti parancsok csak az ESP32-höz telepítenek eszközöket. Ha több chipcélponthoz is projekteket kíván fejleszteni, akkor listázza ki az összeset, és futtassa például a következőt:ampfájl: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
vagy a Fish shell cd ~/esp/esp-idf ./install.fish esp32,esp32s2 paranccsal
Az összes támogatott célállomáshoz tartozó eszközök telepítéséhez futtassa a következő parancsot: cd ~/esp/esp-idf ./install.sh all
vagy a Fish shell cd ~/esp/esp-idf ./install.fish paranccsal
Megjegyzés: macOS felhasználók számára, ha bármelyik lépés során ehhez hasonló hiba jelenik meg:urlNyitási hiba [SSL: CERTIFICATE_VERIFY_FAILED] tanúsítványellenőrzés sikertelen: nem sikerült lekérni a helyi kibocsátó tanúsítványát (_ssl.c:xxx)
A tanúsítványok telepítéséhez futtathatja az Install Certificates.command parancsot a számítógép Python mappájában. Részletekért lásd: Letöltési hiba az ESP-IDF eszközök telepítése közben.

Alternatív File Letöltések Az eszközök telepítője számos fájlt letölt fileGitHub kiadásokhoz csatolva. Ha a GitHub elérése lassú, akkor beállítható egy környezeti változó, amely az Espressifns letöltőszervert részesíti előnyben a GitHub-eszközök letöltéséhez.

Megjegyzés: Ez a beállítás csak a GitHub kiadásaiból letöltött egyes eszközöket szabályozza, nem változtatja meg a URLbármely Git-tárház elérésére szolgál.

Ha az Espressif letöltőszervert szeretné előnyben részesíteni az eszközök telepítésekor, az install.sh futtatásakor használja a következő parancssorozatot:

Espressif rendszerek

37 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

cd ~/esp/esp-idf export IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Az eszközök telepítési útvonalának testreszabása Az ebben a lépésben bemutatott szkriptek az ESP-IDF által igényelt fordítási eszközöket a felhasználó saját könyvtárába telepítik: $HOME/.espressif Linux rendszeren. Ha az eszközöket egy másik könyvtárba szeretné telepíteni, akkor a telepítőszkriptek futtatása előtt állítsa be az IDF_TOOLS_PATH környezeti változót. Győződjön meg arról, hogy felhasználói fiókja rendelkezik megfelelő jogosultságokkal az útvonal olvasásához és írásához. Ha módosítja az IDF_TOOLS_PATH változót, győződjön meg arról, hogy minden alkalommal, amikor a telepítőszkript (install.bat, install.ps1 vagy install.sh) és az exportálószkript (export.bat, export.ps1 vagy export.sh) fut, ugyanarra az értékre van állítva.
4. lépés: A környezeti változók beállítása A telepített eszközök még nincsenek hozzáadva a PATH környezeti változóhoz. Ahhoz, hogy az eszközök használhatók legyenek a parancssorból, néhány környezeti változót be kell állítani. Az ESP-IDF egy másik szkriptet biztosít ehhez. Abban a terminálban, ahol az ESP-IDF-et használni fogja, futtassa a következőt:
. $HOME/esp/esp-idf/export.sh
vagy halakhoz (csak a halak 3.0.0 verziója óta támogatott):
$HOME/esp/esp-idf/export.fish
Figyelj a kezdőpont és az elérési út közötti térközre! Ha gyakran tervezed használni az esp-idf függvényt, létrehozhatsz egy aliast az export.sh végrehajtásához:
1. Másold be a következő parancsot a shellns pro fájlodba:file (.profile, .bashrc, .zprofilestb.)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Frissítse a konfigurációt a terminál munkamenet újraindításával vagy a source [a pro elérési útja] parancs futtatásával.file],
plample, forrás ~/.bashrc. Most már futtathatod a get_idf parancsot az esp-idf környezet beállításához vagy frissítéséhez bármely terminál munkamenetben. Technikailag hozzáadhatod az export.sh fájlt a shellns pro-hozfile közvetlenül; azonban nem ajánlott. Ezáltal minden terminál munkamenetben aktiválódik az IDF virtuális környezet (beleértve azokat is, ahol nincs szükség IDF-re), ezzel meghiúsítva a virtuális környezet célját, és valószínűleg más szoftvereket is érintve.
5. lépés: Első lépések az ESP-IDF-fel Mivel minden követelmény teljesült, a következő témakör végigvezeti Önt az első projekt elindításában. Ez az útmutató segít az ESP-IDF használatának első lépéseiben. Kövesse ezt az útmutatót egy új projekt elindításához az ESP32-n, valamint az eszköz kimenetének felépítéséhez, flasheléséhez és monitorozásához.
Megjegyzés: Ha még nem telepítette az ESP-IDF-et, kérjük, lépjen a Telepítés oldalra, és kövesse az utasításokat az útmutató használatához szükséges összes szoftver beszerzéséhez.

Projekt indítása Most már készen állsz az ESP32-re vonatkozó alkalmazásod előkészítésére. Kezdheted a getstarted/hello_world projekttel az ex-ből.amples könyvtár az ESP-IDF-ben.

Fontos: Az ESP-IDF build rendszer nem támogatja a szóközöket sem az ESP-IDF-hez, sem a projektekhez vezető elérési utakban.

Másold a get-started/hello_world projektet a ~/esp könyvtárba:

Espressif rendszerek

38 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
Megjegyzés: Számos ex létezikample projektek az examples könyvtár az ESP-IDF-ben. Bármely projektet a fent bemutatott módon másolhatja, és futtathatja. Építeni is lehet plampfájlokat a helyükön anélkül, hogy előbb lemásolnánk őket.
Eszköz csatlakoztatása Most csatlakoztassa az ESP32 kártyát a számítógéphez, és ellenőrizze, hogy melyik soros port alatt látható a kártya. A soros portok elnevezési mintái a következők:
· Linux: /dev/tty parancssorral kezdve · macOS: /dev/cu parancssorral kezdve. Ha nem biztos benne, hogyan ellenőrizheti a soros port nevét, a részletekért lásd a Soros kapcsolat létrehozása ESP32-vel című részt.
Megjegyzés: Tartsa kéznél a port nevét, mert szüksége lesz rá a következő lépésekben.
A projekt konfigurálása Navigáljon a hello_world könyvtárba, állítsa be az ESP32-t célként, és futtassa a menuconfig projektkonfigurációs segédprogramot. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Egy új projekt megnyitása után először be kell állítani a célt az idf.py set-target esp32 paranccsal. Vegye figyelembe, hogy a projektben lévő meglévő buildek és konfigurációk, ha vannak ilyenek, törlődnek és inicializálódnak ebben a folyamatban. A cél menthető a környezeti változóba, hogy ezt a lépést teljesen kihagyja. További információkért lásd a Célchip kiválasztása: set-target című részt. Ha az előző lépéseket helyesen végezte el, a következő menü jelenik meg:

17. ábra: Projektkonfiguráció – Kezdőablak Ebben a menüben állíthatja be a projektspecifikus változókat, pl. a Wi-Fi hálózat nevét és jelszavát, a processzor sebességét stb. A projekt menuconfig segítségével történő beállítása kihagyható a hello_worldp esetében, mivel ez a példa...ample fut vele

Espressif rendszerek

39 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
alapértelmezett konfiguráció.
Figyelem: Ha ESP32-DevKitC kártyát használ az ESP32-SOLO-1 modullal, vagy ESP32-DevKitM-1 kártyát az ESP32-MIN1-1(1U) modullal, akkor a flashelés előtt engedélyezze az egymagos módot (CONFIG_FREERTOS_UNICORE) a menuconfig-ban.amples.
Megjegyzés: A menü színei eltérőek lehetnek a terminálban. A megjelenést a –style opcióval módosíthatja. További információkért futtassa az idf.py menuconfig –help parancsot.
Ha a támogatott fejlesztőkártyák egyikét használod, felgyorsíthatod a fejlesztést a Board Support Package használatával. További információkért lásd a További tippek részt.
A projekt létrehozása A projektet a következő futtatásával hozhatja létre:
idf.py build
Ez a parancs lefordítja az alkalmazást és az összes ESP-IDF összetevőt, majd létrehozza a rendszertöltőt, a partíciós táblát és az alkalmazás bináris fájljait.
$ idf.py build A cmake futtatása a /hello_world/path/path/ könyvtárban A „cmake -G Ninja –warn-unitialized /hello_world/path” parancs végrehajtása… Figyelmeztetés inicializálatlan értékekre. — Git található: /usr/bin/git (a „2.17.0” verzió található) — Üres aws_iot komponens létrehozása a konfiguráció miatt — Komponensnevek: … — Komponens elérési utak: …
… (a rendszer kiépítésének több sora)
[527/527] hello_world.bin esptool.py v2.3.1 létrehozása
A projekt építése befejeződött. A flasheléshez futtassa a következő parancsot: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin vagy futtassa az 'idf.py -p PORT flash' parancsot.
Ha nincs hiba, a build a firmware bináris .bin generálásával fejeződik be files.
Flashelj az eszközre Flasheld az imént felépített bináris fájlokat (bootloader.bin, partition-table.bin és hello_world.bin) az ESP32 kártyádra a következő futtatásával:
idf.py -p PORT [-b BAUD] vaku
A PORT helyére írja be az ESP32 kártya soros portjának nevét. A flasher adatátviteli sebességét is megváltoztathatja, ha a BAUD helyet írja be a kívánt adatátviteli sebességre. Az alapértelmezett adatátviteli sebesség 460800. Az idf.py argumentumokkal kapcsolatos további információkért lásd az idf.py fájlt.
Megjegyzés: A flash opció automatikusan felépíti és flasheli a projektet, így az idf.py build futtatása nem szükséges.

Espressif rendszerek

40 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés

Problémák merültek fel flashelés közben? Ha a megadott parancs futtatásakor olyan hibákat lát, mint például a „Nem sikerült a csatlakozáshoz” (asoFailed to connectp), ennek több oka is lehet. Az egyik ok az esptool.py segédprogram által tapasztalt problémák lehetnek. Ez a segédprogram a build rendszer által a chip visszaállításához, a ROM rendszerbetöltővel való interakcióhoz és a firmware flasheléséhez hívódik meg. Egy egyszerű megoldás, amit kipróbálhatsz, a manuális visszaállítás, amelyet alább ismertetünk, és ha ez nem segít, a lehetséges problémákról további részleteket a Hibaelhárítás című részben találsz.
Az esptool.py automatikusan visszaállítja az ESP32-t az USB-soros átalakító chip, például az FTDI vagy a CP210x DTR és RTS vezérlővezetékeinek aktiválásával (további információkért lásd: Soros kapcsolat létrehozása az ESP32-vel). A DTR és RTS vezérlővezetékek az ESP32 GPIO0 és CHIP_PU (EN) lábaihoz csatlakoznak, így megváltozik a hangerő.tagA DTR és RTS szintek az ESP32-t firmware letöltési módba indítják. PéldáulampPéldául, nézd meg az ESP32 DevKitC fejlesztőkártya kapcsolási rajzát.
Általánosságban elmondható, hogy a hivatalos esp-idf fejlesztőkártyákkal nem szabad problémáknak lenniük. Az esptool.py azonban a következő esetekben nem képes automatikusan visszaállítani a hardvert:
· A hardvereden nincsenek csatlakoztatva a DTR és RTS vonalak a GPIO0-hoz és a CHIP_PU-hoz · A DTR és RTS vonalak eltérően vannak konfigurálva · Egyáltalán nincsenek ilyen soros vezérlővonalak
A hardver típusától függően előfordulhat, hogy manuálisan is beállíthatja az ESP32 kártyát firmware letöltési módban (alaphelyzetbe állítás).
· Az Espressif által gyártott fejlesztőkártyák esetében ez az információ a megfelelő használati útmutatókban vagy felhasználói útmutatókban található. PéldáulampPéldául egy ESP-IDF fejlesztőkártya manuális alaphelyzetbe állításához tartsa lenyomva a Boot gombot (GPIO0), és nyomja meg az EN gombot (CHIP_PU).
· Más típusú hardverek esetén próbálja meg lehúzni a GPIO0-t.

Normál működés Villogáskor a következőhöz hasonló kimeneti naplót fog látni:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Soros port /dev/ttyUSB0 Csatlakozás…….._ A chip ESP32D0WDQ6 (0. revízió) Jellemzők: WiFi, BT, Dual Core, Kódolási séma Nincs A Crystal 40MHz-es MAC: 24:0a:c4:05:b9:14 Csonk feltöltése… Csonk fut… Csonk fut… Az átviteli sebesség módosítása 460800-ra Módosítva. Flash méretének konfigurálása… 3072 bájt tömörítve 103-ra… 0x00008000 sebességgel írás… (100%) 3072 bájt (103 tömörítve) 0x00008000 sebességgel 0.0 másodperc alatt írt (effektív 5962.8 kbit/s)… Adatok hash-e ellenőrizve. 26096 bájt tömörítve 15408-ra… 0x00001000 sebességgel írás… (100%) 26096 bájt (15408 tömörítve) 0x00001000 sebességgel 0.4 másodperc alatt írt (effektív 546.7 kbit/s)… Adatok hash-e ellenőrizve. 147104 bájt tömörítve 77364…-re Írás 0x00010000…-nál (20%) Írás 0x00014000…-nál (40%) Írás 0x00018000…-nál (60%) Írás 0x0001c000…-nál (80%)
(folytatás a következő oldalon)

Espressif rendszerek

41 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
(folytatás az előző oldalról) 0x00020000 sebességgel írás… (100%) 147104 bájtot írt (77364 tömörítve) 0x00010000 sebességgel 1.9 másodperc alatt (effektív 615,5 kbit/s)… Az adatok hash-e ellenőrizve.
Kilépés… Kemény visszaállítás RTS tűn keresztül… Kész
Ha a flashelési folyamat végére nem merül fel probléma, a kártya újraindul, és elindítja a theohello_worldpapplication alkalmazást. Ha az idf.py futtatása helyett az Eclipse vagy a VS Code IDE-t szeretnéd használni, nézd meg az Eclipse bővítmény VSCode bővítményét.
Kimenet monitorozása Annak ellenőrzéséhez, hogy az ohello_worldpis valóban fut-e, írja be az idf.py -p PORT monitor parancsot (ne felejtse el a PORT helyére a soros port nevét írni). Ez a parancs elindítja az IDF Monitor alkalmazást:
$ idf.py -p monitor Az idf_monitor futtatása a […]/esp/hello_world/build könyvtárban A „python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/build/hello_world.elf” parancs végrehajtása… — idf_monitor bekapcsolva 115200 —– Kilépés: Ctrl+] | Menü: Ctrl+T | Súgó: Ctrl+T, majd Ctrl+H –ets 2016. június 8. 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) dátum: 2016. június 8. 00:22:57 …
Miután az indítási és diagnosztikai naplók felfelé görgetnek, az alkalmazás által kinyomtatott oHello world! szöveget kell látnia.
… Helló világ! Újraindítás 10 másodperc múlva… Ez egy esp32 chip 2 CPU maggal, WiFi/BT/BLE, 1-es szilícium-revízió, 2 MB külső flash memóriával Minimális szabad memóriaméret: 298968 bájt Újraindítás 9 másodperc múlva… Újraindítás 8 másodperc múlva… Újraindítás 7 másodperc múlva…
Az IDF monitorból való kilépéshez használd a Ctrl+ billentyűkombinációt. Ha az IDF monitor a feltöltés után röviddel meghibásodik, vagy ha a fenti üzenetek helyett az alább láthatóhoz hasonló véletlenszerű szemetet látsz, akkor a kártyád valószínűleg 26 MHz-es kristályt használ. A legtöbb fejlesztőkártya-terv 40 MHz-et használ, így az ESP-IDF ezt a frekvenciát használja alapértelmezett értékként.

Ha ilyen problémája van, tegye a következőket:
1. Lépjen ki a monitorból. 2. Menjen vissza a menuconfig-ba. 3. Lépjen a Component config > Hardware Settings > Main XTAL Config > Main XTAL menüpontra.
frekvenciát, majd változtassa meg a CONFIG_XTAL_FREQ_SEL értékét 26 MHz-re. 4. Ezután fordítsa le és flashelje újra az alkalmazást.

Espressif rendszerek

42 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
Az ESP-IDF jelenlegi verziójában az ESP32 által támogatott fő XTAL frekvenciák a következők:
· 26 MHz · 40 MHz
Megjegyzés: Az építést, a flashelést és a monitorozást egyetlen lépésben kombinálhatja az idf.py -p PORT flash monitor parancs futtatásával.
Lásd még: · IDF Monitor a hasznos gyorsbillentyűkért és az IDF monitor használatával kapcsolatos további részletekért. · idf.py az idf.py parancsok és opciók teljes körű áttekintéséért.
Ennyi az egész, amire szükséged van az ESP32 használatának elkezdéséhez! Most már készen állsz kipróbálni más ex-eket is.amples, vagy egyenesen a saját alkalmazások fejlesztéséhez nyúlhat.
Fontos: Néhány korábbiampAz állományok nem támogatják az ESP32-t, mivel az ESP32 nem tartalmazza a szükséges hardvert, így nem támogatott. Ha egy ex-t építünkampkérlek, nézd meg a README fájlt file a Támogatott célok táblázathoz. Ha ez jelen van, beleértve az ESP32 célt is, vagy a tábla egyáltalán nem létezik, akkor a példaampMűködni fog az ESP32-n.
További tippek
/dev/ttyUSB0 jogosultsági problémák Egyes Linux disztribúciók esetén a „Nem sikerült megnyitni a /dev/ttyUSB0 portot” hibaüzenetet kaphatja az ESP32 flashelésekor. Ez úgy oldható meg, hogy az aktuális felhasználót hozzáadjuk a kitárcsázós csoporthoz.
Python kompatibilitás Az ESP-IDF támogatja a Python 3.7-es vagy újabb verzióját. Javasoljuk, hogy frissítse operációs rendszerét egy újabb verzióra, amely megfelel ennek a követelménynek. További lehetőségek közé tartozik a Python telepítése forráskódból, vagy egy Python verziókezelő rendszer, például a pyenv használata.
Kezdés a Board Support Package csomaggal Egyes fejlesztőkártyákon a prototípusgyártás felgyorsításához használhat Board Support Packages (BSP) csomagokat, amelyek egy adott kártya inicializálását néhány függvényhívással leegyszerűsítik. A BSP általában a fejlesztőkártyán található összes hardverkomponenst támogatja. A lábkiosztás meghatározásán és az inicializálási funkciókon kívül a BSP illesztőprogramokat is tartalmaz a külső komponensekhez, például érzékelőkhöz, kijelzőkhöz, audiokodekekhez stb. A BSP-ket az IDF Component Manager terjeszti, így megtalálhatók az IDF Component Registry-ben. Itt egy példa...ampLeírás, hogyan adhatod hozzá az ESP-WROVER-KIT BSP-t a projektedhez: idf.py add-dependency esp_wrover_kit
Több exampA BSP használatának módjai megtalálhatók a BSP példában.amples mappa.
Tipp: Az ESP-IDF frissítése Javasoljuk az ESP-IDF időről időre történő frissítését, mivel az újabb verziók hibákat javítanak és/vagy új funkciókat biztosítanak. Felhívjuk figyelmét, hogy minden ESP-IDF fő- és alverzióhoz tartozik egy támogatási időszak, és amikor egy kiadási ág a végéhez (EOL) közeledik, minden felhasználót arra biztatunk, hogy frissítse projektjeit újabb ESP-IDF kiadásokra. A támogatási időszakokkal kapcsolatos további információkért lásd: ESP-IDF verziók.

Espressif rendszerek

43 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

1. fejezet. Kezdés
A frissítés legegyszerűbb módja a meglévő esp-idf mappa törlése és újbóli klónozása, mintha a 2. lépésben leírt kezdeti telepítést végezné. Szerezze be az ESP-IDF fájlt. Egy másik megoldás, ha csak a megváltozott elemeket frissíti. A frissítési eljárás az Ön által használt ESP-IDF verziótól függ. Az ESP-IDF frissítése után futtassa újra a telepítőszkriptet, arra az esetre, ha az új ESP-IDF verzióhoz az eszközök eltérő verziói szükségesek. Lásd a 3. lépésben található utasításokat. Állítsa be az eszközöket. Miután az új eszközök telepítése megtörtént, frissítse a környezetet az exportálási szkript segítségével. Lásd a 4. lépésben található utasításokat. Állítsa be a környezeti változókat.
Kapcsolódó dokumentumok · Soros kapcsolat létrehozása ESP32-vel · Eclipse bővítmény · VSCode bővítmény · IDF monitor
1.4 Az első projekted elkészítése
Ha már telepítve van az ESP-IDF, és nem használ IDE-t, akkor az első projektet a parancssorból is felépítheti a Windows rendszeren futó Projekt indítása vagy a Linux és macOS rendszeren futó Projekt indítása című rész utasításait követve.
1.5 Az ESP-IDF eltávolítása
Az ESP-IDF eltávolításához kérjük, kövesse az ESP-IDF eltávolítása című részt.

Espressif rendszerek

44 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

2. fejezet
API-referencia
2.1 API-konvenciók
Ez a dokumentum az ESP-IDF alkalmazásprogramozási interfészekre (API-kra) jellemző konvenciókat és feltételezéseket ismerteti. Az ESP-IDF többféle programozási interfészt biztosít:
· C függvények, struktúrák, felsorolások, típusdefiníciók és preprocesszor makrók deklarálása nyilvános fejlécben fileAz ESPIDF komponensek. A programozási útmutató API referencia szakaszának különböző oldalai tartalmazzák ezen függvények, struktúrák és típusok leírását.
· Fordítási rendszer függvényei, előre definiált változók és opciók. Ezek a fordítási rendszer útmutatójában találhatók. · A Kconfig opciók használhatók kódban és a fordítási rendszerben (CMakeLists.txt) files. · A gazdaeszközök és azok parancssori paraméterei szintén az ESP-IDF felület részét képezik. Az ESP-IDF kifejezetten az ESP-IDF-hez írt komponensekből, valamint harmadik féltől származó könyvtárakból áll. Bizonyos esetekben egy ESP-IDF-specifikus burkoló kerül hozzáadásra a harmadik féltől származó könyvtárhoz, amely egy olyan felületet biztosít, amely vagy egyszerűbb, vagy jobban integrálódik az ESP-IDF többi szolgáltatásával. Más esetekben a harmadik féltől származó könyvtár eredeti API-ja kerül bemutatásra az alkalmazásfejlesztők számára. A következő szakaszok az ESP-IDF API-k és használatuk néhány aspektusát ismertetik.
2.1.1 Hibakezelés
A legtöbb ESP-IDF API az esp_err_t típussal definiált hibakódokat adja vissza. A hibakezelési megközelítésekről további információt a Hibakezelés című részben talál. A Hibakód-referencia tartalmazza az ESP-IDF komponensek által visszaadott hibakódok listáját.
2.1.2 Konfigurációs struktúrák
Fontos: A konfigurációs struktúrák helyes inicializálása fontos része annak, hogy az alkalmazás kompatibilis legyen az ESP-IDF jövőbeli verzióival.
Az ESP-IDF inicializáló vagy konfigurációs függvényeinek többsége argumentumként egy konfigurációs struktúrára mutató mutatót fogad el. Példáulample:
45

2. fejezet. API-referencia

const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = “my_timer” }
}; esp_timer_handle_t my_timer; esp_err_t err = esp_timer_create(&my_timer_args, &my_timer);
Az inicializáló függvények soha nem tárolják a konfigurációs struktúrára mutató mutatót, így biztonságosan lefoglalhatjuk a struktúrát a veremben.
Az alkalmazásnak inicializálnia kell a struktúra összes mezőjét. A következő helytelen:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Hibás! Az .arg és .name mezők nincsenek inicializálva */ esp_timer_create(&my_timer_args, &my_timer);
A legtöbb ESP-IDF exampA programok C99-ben kijelölt inicializálókat használnak a struktúra inicializálásához, mivel ezek tömör módot biztosítanak a mezők egy részhalmazának beállítására, és a fennmaradó mezők nulla inicializálására:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Helyes, az .arg és .name mezők nulla inicializálásúak */
};
A C++ nyelv a C++20-ig nem támogatja a kijelölt inicializáló szintaxist, azonban a GCC fordító részlegesen támogatja kiterjesztésként. ESP-IDF API-k C++ kódban történő használatakor érdemes lehet a következő mintát használni:
esp_timer_create_args_t my_timer_args = {}; /* Minden mező nullára inicializált */ my_timer_args.callback = &my_timer_callback;

Alapértelmezett inicializálók
Bizonyos konfigurációs struktúrákhoz az ESP-IDF makrókat biztosít a mezők alapértelmezett értékeinek beállításához:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* A HTTPD_DEFAULT_CONFIG egy kijelölt inicializálóra bővül.
Most minden mező az alapértelmezett értékre van állítva. Bármelyik mező továbbra is módosítható: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start(&server, &config);
Ajánlott az alapértelmezett inicializáló makrók használata, amikor egy adott konfigurációs struktúrához megadjuk azokat.

2.1.3 Privát API-k
Bizonyos fejléc fileAz ESP-IDF-ben található s olyan API-kat tartalmaz, amelyeket csak az ESP-IDF forráskódjában kell használni, és nem az alkalmazások által. Az ilyen fejlécek fileAz ok neve vagy elérési útja gyakran tartalmazza a private vagy az esp_private karakterláncot. Bizonyos komponensek, mint például a hal, csak privát API-kat tartalmaznak. A privát API-k eltávolíthatók vagy inkompatibilis módon módosíthatók a kisebb vagy javító kiadások között.

2.1.4 Komponensek az ex-benample projektek
ESP-IDF exampA fájlok számos projektet tartalmaznak, amelyek bemutatják az ESP-IDF API-k használatát. A kódduplikáció csökkentése érdekében az ex-benampnéhány gyakori segítő van definiálva a komponenseken belül, amelyeket több példa is használamples.

Espressif rendszerek

46 Dokumentum visszajelzésének beküldése

Kiadás v5.0.9

2. fejezet. API-referencia
Ez magában foglalja az olyan alkatrészeket is, amelyek

Dokumentumok / Források

Espressif Systems ESP32 Dev Kitc fejlesztőkártya [pdf] Felhasználói útmutató
ESP32 Dev Kitc Fejlesztői Testület, ESP32, Dev Kitc Fejlesztői Testület, Kitc Fejlesztői Testület, Fejlesztői Testület, Testület

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *