ESP32 Dev Kitc Garapen Taula

Produktuaren informazioa

Zehaztapenak

  • Produktua: ESP32
  • Programazio Gida: ESP-IDF
  • Argitaratze Bertsioa: v5.0.9
  • Fabrikatzailea: Espressif Systems
  • Argitaratze data: 16ko maiatzaren 2025a

Produktuak erabiltzeko jarraibideak

1. Hasi

ESP32arekin hasi aurretik, ohitu zaitez...
honako hauek:

1.1 Sarrera

Ikasi oinarrizko funtzionalitate eta gaitasunei buruz
ESP32.

1.2 Behar duzuna

Ziurtatu beharrezko hardwarea eta softwarea dituzula:

  • Hardwarea: Beharrezko hardwarearen zerrenda egiaztatu
    osagaiak.
  • Softwarea: Beharrezko softwarea instalatu
    osagaiak.

1.3 Instalazioa

Jarraitu urrats hauek IDEa instalatzeko eta konfiguratzeko
ingurunea:

  • IDEa: Instalatu gomendatutako IDEa honetarako
    ESP32 programatzea.
  • Eskuzko instalazioa: Eskuz konfiguratu
    ingurunea, behar izanez gero.

1.4 Eraiki zure lehen proiektua

Sortu eta eraiki zure hasierako proiektua ESP32 erabiliz.

1.5 Desinstalatu ESP-IDF

Beharrezkoa bada, ikasi nola desinstalatu ESP-IDF zure
sistema.

2. API erreferentzia

Informazio zehatza lortzeko, jo APIaren dokumentaziora
aplikazio-protokoloak, erroreen kudeaketa eta konfigurazioa
egiturak.

Maiz egiten diren galderak (FAQ)

G: Nola konpondu ditzaket ESP32-rekin ohikoak diren arazoen arazoak?

A: Ikusi programazio gidan arazoak konpontzeko atala
edo bisitatu fabrikatzailearengana weblaguntza baliabideen gunea.

G: ESP-IDF beste mikrokontrolagailu batzuekin erabil al dezaket?

A: ESP-IDF ESP32rako bereziki diseinatuta dago, baina baliteke
beste Espressif mikrokontrolagailuekin bateragarritasuna.

ESP32
ESP-IDF Programazio Gida
5.0.9 bertsioaren bertsioa Espressif Systems 2025eko maiatzaren 16a

Aurkibidea

Aurkibidea

i

1 Hasi

3

1.1 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Zer behar duzun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Hardwarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Softwarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Instalazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

1.3.2 Eskuzko instalazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Eraiki zure lehen proiektua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 Desinstalatu ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 API erreferentzia

45

2.1 API Hitzarmenak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 Erroreen kudeaketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Konfigurazio-egiturak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 API pribatuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Adibideko osagaiakampproiektuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 APIaren egonkortasuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Aplikazio-protokoloak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 ASIO ataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

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

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

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

2.2.5 ESP HTTP bezeroa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.2.6 ESP Tokiko Kontrola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

2.2.7 ESP Serieko Esklabo Esteka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

2.2.8 ESP x509 Ziurtagiri sorta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 HTTP zerbitzaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 HTTPS zerbitzaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

2.2.11 ICMP Oihartzuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

2.2.12 mDNS zerbitzua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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

2.2.14 IP Sare Geruza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3 Bluetooth APIa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.1 Bluetooth® Arrunta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.2 Bluetooth® Energia Baxua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

2.3.3 Bluetooth® Klasikoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

2.3.4 Kontrolatzailea eta HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

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

2.3.6 NimBLE oinarritutako ostalarien APIak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

2.4 Errore-kodeen erreferentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

2.5 Sareko APIak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

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

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

2.5.3 Haria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

i

2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP Sare Geruza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Aplikazio geruza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Periferikoen APIa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analogiko-digitaleko bihurgailuaren (ADC) modu bakarreko kontrolatzailea. . . . . . . . . . . . . . . . . 977 2.6.2 Analogiko-digitaleko bihurgailuaren (ADC) modu jarraituko kontrolatzailea. . . . . . . . . . . . . . . 986 2.6.3 Bihurgailu analogiko-digitalaren (ADC) kalibrazio-kontrolatzailea. . . . . . . . . . . . . . . . . . . 993 2.6.4 Erloju-arbola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Bihurgailu digital-analogikoa (DAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO eta RTC GPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Helburu Orokorreko Tenporizadorea (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Zirkuitu Elkarri Integratua (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 IC arteko soinua (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCDa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 LED kontrola (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Motorraren Kontrolerako Pultsu Zabalera Modulatzailea (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pultsu-kontagailua (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Urrutiko Agintearen Igorle-hartzailea (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD Pull-up Baldintzak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC ostalariaren kontrolatzailea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI ostalariaren kontrolatzailea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO txartelaren esklabo kontrolatzailea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulazioa (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI maisu kontrolatzailea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI esklabo kontrolatzailea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Elementu Segurua) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Ukipen-sentsorea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Bi Haridun Automobilgintzako Interfazea (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Hartzaile/Igorle Asinkrono Unibertsala (UART). . . . . . . . . . . . . . . . . . 1317 2.7 Proiektuaren konfigurazioa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Proiektuaren konfigurazio menua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 sdkconfig.defaults erabiltzea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig formatu-arauak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kconfig aukeren atzeranzko bateragarritasuna. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Konfigurazio Aukeren Erreferentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Hornidura APIa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Protokolo bidezko komunikazioa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Hornidura bateratua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Wi-Fi hornidura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Biltegiratze APIa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileSistemaren laguntza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Fabrikazio Utilitatea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Biltegiratze Ez-lurrunkorreko Liburutegia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Partizio Sortzailearen Utilitatea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC Kontrolatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filesistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Birtuala filesistemaren osagaia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Higadura-mailaketaren APIa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 Sistemaren APIa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Aplikazioaren irudiaren formatua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Aplikazio mailako trazabilitatea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Kanpoko pila duen funtzio-dei bat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Txipen berrikuspena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Kontsola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse kudeatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Errore-kodeak eta laguntza-funtzioak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Gertaeren Begiztaren Liburutegia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Gaineraview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Ezaugarri osagarriak) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Heap Memoriaren Esleipena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Heap Memoriaren Arazketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Bereizmen Handiko Tenporizadorea (ESP Tenporizadorea) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Barneko eta API ezegonkorrak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Prozesadore arteko deia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Etenaldien esleipena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Erregistro-liburutegia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Sistemaren API desberdinak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Aireko eguneraketak (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Errendimendu-monitorea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Energia-kudeaketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX harien euskarria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Ausazko zenbakien sorrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Lo moduak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC gaitasunak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Sistemaren ordua . ​​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 Himem esleipen APIa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Koprozesadorearen programazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Zaindariak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Hardware Erreferentzia

2167

3.1 Txipen Serieen Konparaketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Erlazionatutako dokumentuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

4 API Gidak

2171

4.1 Aplikazio Mailako Trazabilitate liburutegia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Gehiagoview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Funtzionamendu moduak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Konfigurazio aukerak eta mendekotasunak . . . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 Liburutegi hau nola erabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Aplikazioaren abiarazte-fluxua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Lehenengo stagabio-kargatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 segundo stagabio-kargatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Aplikazioa abiaraztea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

4.3 Bluetooth® Klasikoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.3.1 Gehiagoview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® Energia Baxua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Gehiagoview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Hasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

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

4.5 Abio-kargatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284

4.5.1 Abio-kargatzailearen bateragarritasuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Erregistro-maila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Fabrika berrezarpena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Proba Firmwaretik abiarazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.5 Atzera egitea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.6 Zaintza-txakurra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.7 Abio-kargatzailearen tamaina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Lo sakonetik abiarazteko azkarra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Abio-kargatzaile pertsonalizatua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Eraikuntza Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Gehiagoview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 Eraikuntza-sistema erabiltzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 AdibampProiektua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 CMakeLists proiektua File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 CMakeLists osagaiak Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Osagaien konfigurazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Aurreprozesadoreen definizioak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Osagaien eskakizunak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Proiektuaren atalak gainidaztea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Konfigurazio-bakarrik diren osagaiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 CMake arazketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 ExampCMakeLists osagaiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Sdkconfig pertsonalizatuaren lehenetsiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash argumentuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Abio-kargatzailea eraikitzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 CMake osagai hutsak idaztea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Hirugarrenen CMake proiektuak osagaiekin erabiltzea . . . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Aurrez eraikitako liburutegiak osagaiekin erabiltzea . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 ESP-IDF erabiltzea CMake proiektu pertsonalizatuetan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake eraikitze sistemaren APIa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing eta eraikuntza inkrementalak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Eraikuntza-sistemaren metadatuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Eraikuntza-sistemaren barnekoak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 ESP-IDF GNU Make System-etik migratzea . . . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Core Dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Gaindituview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Konfigurazioak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Core dump-a flash formatuan gorde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Nukleo-zapalkuntza UART-era inprimatu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 ROM funtzioak atzera-aztarnetan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Aldagaiak eskaeraren arabera iraultzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 espcoredump.py exekutatzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Lo sakoneko esna-atalak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Esna-atalen arauak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Stub bat inplementatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Kodea RTC memorian kargatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Datuak RTC memorian kargatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Esnatze-adarren egiaztapena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Erroreen kudeaketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Gainetikview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Errore-kodeak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Errore-kodeak errore-mezu bihurtzea . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK makro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT makro . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR makro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR makroa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE makroa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE makroa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 EGIAZTATU MAKROAK Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Erroreak kudeatzeko ereduak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ salbuespenak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Gainetikview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH kontzeptuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Sare bat eraikitzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Sare bat kudeatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Datuen transmisioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Kanalen aldaketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Errendimendua . ​​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Ohar gehiago . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Gertaeren kudeaketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet eta IP gertaerak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Sare gertaerak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Bluetooth gertaerak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Errore Larriak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Gainidaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Izua kontrolatzeko tresna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Erregistroen iraulketa eta atzera-jarraipena. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB zirriborroa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC zaindariaren denbora-muga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Guru Meditazioko Akatsak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Beste errore hilgarri batzuk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Flash enkriptazioa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 eFuse garrantzitsuak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Flash enkriptazio prozesua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Flash enkriptazioaren konfigurazioa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Balizko hutsegiteak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Flash enkriptazioaren egoera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Datuak irakurtzea eta idaztea Flash memoria enkriptatuan. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Flash enkriptatua eguneratzea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Flash enkriptazioa desgaitzea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Flash enkriptazioari buruzko puntu nagusiak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Flash enkriptazioaren mugak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash enkriptazioa eta abio segurua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Ezaugarri aurreratuak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Xehetasun teknikoak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Hardwarearen abstrakzioa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Arkitektura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Maila Baxuko) Geruza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Hardware Abstrakzio Geruza) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Goi-mailako etenaldiak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Etenaldi mailak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Oharrak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Arazketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Nola funtzionatzen du? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 J hautatzeaTAG Egokitzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 OpenOCD-ren konfigurazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 ESP32 helburua konfiguratzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Arazketa-programa abiaraztea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Arazketa-prozesuaamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 OpenOCD iturburuetatik eraikitzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Aholkuak eta bitxikeriak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Erlazionatutako dokumentuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Estekatzaile-skriptaren sorrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Gainetikview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Hasiera azkarra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Estekatzaileen script-ak sortzeko barne-funtzioak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Onartutako APIak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets APIa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Zeregina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 euskarria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip aldaketa pertsonalizatuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Errendimenduaren optimizazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Memoria motak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Datuen RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Argibideen RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (flashetik exekutatutako kodea) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (flash memorian gordetako datuak) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Memoria motela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC Memoria AZKARRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA gai den eskakizuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA bufferra piletan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 OpenThread pilaren moduak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Nola idatzi OpenThread aplikazio bat . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 OpenThread mugako bideratzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Partizio-taulak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Gainetikview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Partizio-taulak integratuta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Taula pertsonalizatuak sortzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Partizio-taula bitarra sortzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Partizio-taula egiaztatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Partizio-taula flasheatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Partizio tresna (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Errendimendua . ​​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Nola optimizatu errendimendua . ​​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Gidak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF kalibrazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Kalibrazio partziala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Kalibrazio osoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Kalibraziorik ez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 PHY hasieratze datuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API erreferentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Abio segurua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Atzeko planoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Abio seguruaren prozesuaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Giltzak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Abioko kargatzailearen tamaina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Nola gaitu abio segurua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Berriro flasheatu daitekeen software abioko kargatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Abio seguruaren sinadura-giltza sortzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Irudien urruneko sinadura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Abio seguruaren jardunbide egokiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Xehetasun teknikoak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Abio segurua eta flash enkriptazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Sinatutako aplikazioaren egiaztapena hardware bidezko abio segururik gabe . . . . . . . . . . . . . . . . . . . 2478 4.24.13 Ezaugarri aurreratuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Abio Segurua V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Atzeko planoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Aurrerapenatagda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Abiadura Seguruaren V2 Prozesua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Sinadura-blokearen formatua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Betegarri segurua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Sinadura-bloke bat egiaztatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Irudi bat egiaztatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Abio-kargatzailearen tamaina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse-ren erabilera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Nola gaitu abio segurua V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Abio segurua gaitu ondoren dauden murrizketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Abio seguruaren sinadura-giltza sortzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Irudien urruneko sinadura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Abio seguruaren jardunbide egokiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Xehetasun teknikoak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Abio segurua eta flash enkriptazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Sinatutako aplikazioaren egiaztapena hardware bidezko abio segururik gabe . . . . . . . . . . . . . . . . . . . 2484 4.25.18 Ezaugarri aurreratuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Kanpoko RAM memoriaren euskarria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Hardwarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Kanpoko RAMa konfiguratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Murrizketak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Hasieratzean hutsegitea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Txipen Berrikuspenak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Harien Tokiko Biltegiratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Gainetikview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS API natiboa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Estandarra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Tresnak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF aurrealdea – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker irudia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows instalatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF Osagaien Kudeatzailea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Deskargatzeko Tresnak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Unitate-probak ESP32-n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Ohiko proba-kasuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Gailu anitzeko proba kasuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Gailu anitzekoaktage Proba Kasuak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Helburu desberdinetarako probak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Unitate-proba aplikazioa eraikitzea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Unitate-probak exekutatzen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Denbora-kodea cache konpentsatutako tenporizadorearekin. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Iseka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Unitate-probak Linuxen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Txertatutako softwarearen probak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 IDF unitate-probak Linux ostalarian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi kontrolatzailea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi ezaugarrien zerrenda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Nola idatzi Wi-Fi aplikazio bat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi APIaren errore kodea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi APIaren parametroen hasieraketa. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi Programazio Eredua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi Gertaeraren Deskribapena. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi estazioaren eszenatoki orokorra. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP-ren eszenatoki orokorra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi eskaneatzea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi estazioaren konexio-eszenatokia. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi estazioa konektatzen hainbat AP aurkitzen direnean. . . . . . . . . . . . . 2543 4.31.12 Wi-Fi berriro konektatu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi baliza denbora-muga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi konfigurazioa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy Connect™ (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Haririk gabeko sarearen kudeaketa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Irrati-baliabideen neurketa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 BSS trantsizio azkarra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Energia aurrezteko modua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi-aren abiadura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 pakete bidalketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi usaintzeko modua . ​​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi antena anitzak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi kanalaren egoeraren informazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi kanalaren egoeraren informazioa Konfiguratu . . . . . . . . . . . . . . . . . . . . . . . . . 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 zatia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS izena eman duen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi bufferraren erabilera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Nola hobetu Wi-Fiaren errendimendua . ​​. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi menuaren konfigurazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Arazoak konpontzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi Segurtasuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi Segurtasun Ezaugarriak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Babestutako Kudeaketa Markoak (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enpresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Personala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Hobetua Irekia™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Koexistentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Gainetikview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 ESP32-rako onartutako koexistentzia-eszenatokia . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Koexistentzia-mekanismoa eta -politika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Koexistentzia funtzioa nola erabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Eraikuntza erreproduzigarriak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Sarrera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Eraikuntza ez-erreproduzigarrien arrazoiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Eraikuntza erreproduzigarriak gaitzea ESP-IDF-n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Eraikuntza erreproduzigarriak nola lortzen diren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Eraikuntza erreproduzigarriak eta arazketa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Eraikuntza erreproduzigarrietan oraindik eragina duten faktoreak . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Energia gutxiko moduaren erabiltzailearen gida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 Migrazio Gidak

2579

5.1 ESP-IDF 5.x Migrazio Gida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 4.4tik 5.0rako migrazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 Liburutegi eta Esparruak

2611

6.1 Hodeiko Esparruak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Gauzen Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.1.8 Tencentyun Gauzen Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2 Espresio Esparruak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Espressif Audio Garapen Esparrua . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2.3 Espressif DSP liburutegia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 ESP-WIFI-MESH Garapen Esparrua . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.5 ESP-OME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

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

6.2.7 ESP-IoT-Soluzioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.8 ESP-Protokoloak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

viii

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

7 Ekarpenen Gida

2615

7.1 Nola lagundu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Lagundu aurretik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Ateratze-eskaera prozesua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Zati Juridikoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Erlazionatutako dokumentuak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.1 Espressif IoT Garapen Esparruaren Estilo Gida . . . . . . . . . . . . . . . . . . . . 2616

7.5.2 Instalatu aurre-konpromisoa duen Hook-a ESP-IDF proiekturako . . . . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Kodea dokumentatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Ex sortzeaamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

7.5.5 API dokumentazio txantiloia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630

7.5.6 Kolaboratzaileen Hitzarmena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

7.5.7 Copyright Goiburuaren Gida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634

7.5.8 ESP-IDF probak Pytest gidarekin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 ESP-IDF bertsioak

2645

8.1 Bertsioak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Zein bertsiorekin hasi behar dut? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Bertsio-eskema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Laguntza-aldiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Uneko bertsioa egiaztatzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

8.6 Git lan-fluxua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7 ESP-IDF eguneratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Bertsio egonkorrera eguneratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Aurre-argitaratze bertsio batera eguneratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Master adarrera eguneratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Argitalpen adar batera eguneratzea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Baliabideak

2651

9.1 Plataforma IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.1 Zer da PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Instalazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Konfigurazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Tutorialak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Proiektu Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Hurrengo urratsak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Esteka erabilgarriak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Copyright eta Lizentziak

2653

10.1 Softwarearen copyrightak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Firmwarearen osagaiak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Dokumentazioa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 ROM iturburu-kodearen copyrightak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.3 Xtensa libhal MIT Lizentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.4 TinyBasic Plus MIT Lizentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.5 TJpgDec Lizentzia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

11 Buruz

2657

12 Hizkuntzak aldatu

2659

Aurkibidea

2661

Aurkibidea

2661

ix

x

Aurkibidea
Hau da Espressif IoT Development Framework (esp-idf)-ren dokumentazioa. ESP-IDF ESP32, ESP32-S eta ESP32-C serieko SoC-en garapen-esparru ofiziala da. Dokumentu honek ESP-IDF ESP32 SoC-arekin nola erabili deskribatzen du.

Hasi

API Erreferentzia

API gidak

Espressif Sistemak

1 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

Aurkibidea

Espressif Sistemak

2 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua
Hasi
Dokumentu honen helburua Espressif-en ESP32 txipan oinarritutako hardwarearentzako software garapen ingurunea konfiguratzen laguntzea da. Ondoren, adibide sinple bat...ampESP-IDF (Espressif IoT Development Framework) nola erabili erakutsiko dizugu menuen konfiguraziorako, eta gero firmwarea ESP32 plaka batean eraiki eta flashatzeko.
Oharra: Hau ESP-IDFren 5.0.9 bertsio egonkorrerako dokumentazioa da. Beste ESP-IDF bertsio batzuk ere eskuragarri daude.
1.1 Sarrera
ESP32 txip bateko sistema bat da, ezaugarri hauek integratzen dituena: · Wi-Fi (2.4 GHz banda) · Bluetooth · Errendimendu handiko bi Xtensa® 32 biteko LX6 CPU nukleo · Ultra Low Power koprozesadorea · Periferiko anitz
40 nm-ko teknologiak bultzatuta, ESP32-k plataforma sendo eta oso integratua eskaintzen du, energia-erabilera eraginkorraren, diseinu trinkoaren, segurtasunaren, errendimendu handikoaren eta fidagarritasunaren etengabeko eskaerei erantzuten laguntzen duena. Espressif-ek oinarrizko hardware eta software baliabideak eskaintzen ditu aplikazio-garatzaileei ESP32 serieko hardwarea erabiliz beren ideiak gauzatzen laguntzeko. Espressif-en software garapen esparrua Gauzen Internet (IoT) aplikazioak garatzeko pentsatuta dago, Wi-Fi, Bluetooth, energia kudeaketa eta beste hainbat sistema-ezaugarrirekin.
1.2 Behar duzuna
1.2.1 Hardwarea
· ESP32 plaka bat. · USB kablea – USB A / mikro USB B. · Windows, Linux edo macOS exekutatzen duen ordenagailua.
Oharra: Gaur egun, garapen-plaka batzuek USB C motako konektoreak erabiltzen dituzte. Ziurtatu plaka konektatzeko kable zuzena duzula!
Jarraian zerrendatutako ESP32 garapen-plaka ofizialetako bat baduzu, estekan klik egin dezakezu hardwareari buruz gehiago jakiteko.
3

1. kapitulua. Hasi
ESP32-DevKitS(-R)
Erabiltzailearen gida honek Espressif-ek ekoitzitako ESP32-DevKitS(-R) plaka bati buruzko informazioa ematen du. ESP32-DevKitS(-R) bi plaka izenen konbinazioa da: ESP32-DevKitS eta ESP32-DevKitS-R. S-k malgukiak esan nahi du, eta R-k WROVER.

ESP32-Garapen Kitak

ESP32-DevKitS-R

Dokumentuak atal nagusi hauek ditu: · Hasteko: Informazio gehiago eskaintzen duview ESP32-DevKitS(-R)-ren eta hardware/software konfigurazio argibideen bidez hasteko. · Hardware erreferentzia: ESP32-DevKitS(-R)ns hardwareari buruzko informazio zehatzagoa ematen du. · Erlazionatutako dokumentuak: Erlazionatutako dokumentaziorako estekak ematen ditu.

Hasteko Atal honek ESP32-DevKitS(-R) erabiltzen nola hasi azaltzen du. ESP32-DevKitS(-R) buruzko sarrera-atal batzuekin hasten da, eta ondoren, "Nola flasheatu plaka bat" atalak ESP32-DevKitS(-R)-n modulu bat nola muntatu, prestatu eta firmwarea nola flasheatu azaltzen du.

Amaituview ESP32-DevKitS(-R) ESP32rako bereziki diseinatutako Espressif-en flasheatze-plaka bat da. ESP32 modulua elikatze-iturrira eta seinale-lineetara soldatu gabe flasheatzeko erabil daiteke. Modulua muntatuta dagoenean, ESP32-DevKitS(-R) ESP32-DevKitC bezala garapen-plaka txiki gisa ere erabil daiteke.
ESP32-DevKitS eta ESP32-DevKitS-R plakak malguki-pinen diseinuan baino ez dira aldatzen, ESP32 modulu hauetan sartzeko.
· ESP32-Garapen Kitak: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB eta IPEX) ESP32-WROVER-B (PCB eta IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Goiko moduluei buruzko informazioa lortzeko, jo ESP32 Serieko Moduluetara.

Osagaien deskribapena

Espressif Sistemak

4 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

1. irudia: ESP32-DevKitS – aurrealdea

Espressif Sistemak

2. irudia: ESP32-DevKitS-R – aurrealdea 5
Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

Osagai nagusien malguki-pinak 2.54 mm-ko eme-buruak
USB-tik UART-era zubia LDO mikro-USB konektorea/mikro-USB ataka EN botoia Abio botoia
Pizteko LEDa

Deskribapena Modulua klik egin. Pinak moduluko zulo almendratuetan sartuko dira. Eme goiburu hauek plaka honetan muntatutako moduluko pinetara konektatuta daude. Eme goiburuen deskribapena lortzeko, jo Goiburu Blokeetara. Txip bakarreko USBtik UARTrako zubiak 3 Mbps-ko transferentzia-tasak eskaintzen ditu.
5V-tik 3.3V-ra bitarteko tentsio-galera txikiko bolumenatage erregulatzailea (LDO).
USB interfazea. Plakaren elikatze-iturria eta ordenagailuaren eta plakaren arteko komunikazio-interfazea.
Berrezarri botoia.
Deskargatu botoia. Boot sakatuta eduki eta gero EN sakatuta Firmware Download modua abiarazten da, firmwarea serieko atakaren bidez deskargatzeko.
Pizten da USBa edo elikatze-iturria plakara konektatzen denean.

Nola flasheatu plaka bat ESP32-DevKitS(-R) piztu aurretik, ziurtatu egoera onean dagoela, kalterik gabe.
Beharrezko hardwarea · Aukeratutako ESP32 modulua · USB 2.0 kablea (A estandarretik Mikro-Bra) · Windows, Linux edo macOS exekutatzen duen ordenagailua
Hardwarearen konfigurazioa Mesedez, muntatu nahi duzun modulua zure ESP32-DevKitS(-R)-n urrats hauek jarraituz:
· Jarri kontu handiz modulua ESP32-DevKitS(-R) plakan. Ziurtatu moduluko zulo almendratuak plakaren malguki-pinekin lerrokatuta daudela.
· Sakatu modulua plakaren kontra klik egin arte. · Egiaztatu malguki-pin guztiak zulo almendratuetan sartuta dauden. Malguki-pinen bat gaizki lerrokatuta badago,
pintzekin zulo almendratuetan sartu.
Software konfigurazioa
Metodo hobetsia ESP-IDF garapen-esparruak ESP32-DevKitS(-R)-n binarioak flashatzeko modu hobetsia eskaintzen du. Mesedez, jarraitu Hasi atalera, non Instalazio atalak garapen-ingurunea konfiguratzen eta aplikazio ex bat flashatzen lagunduko dizun azkar.ampzure ESP32-DevKitS(-R)-ra.
Bestelako metodoa Bestelako gisa, Windows erabiltzaileek binarioak flasheatu ditzakete Flash Download Tool erabiliz. Deskargatu, deskonprimitu eta doc karpetako argibideei jarraitu besterik ez duzu egin behar.
Oharra: 1. Bitarra flashatzeko files, ESP32 Firmware Download moduan konfiguratu beharko litzateke. Hau flash tresnaren bidez egin daiteke automatikoki, edo Boot botoia sakatuta mantenduz eta EN botoia sakatuz. 2. Bitarra flashatu ondoren files, Flash Download Tool-ek zure ESP32 modulua berrabiarazten du eta flasheatutako aplikazioa abiarazten du lehenespenez.

Taularen neurriak Edukia eta ontziratzea

Espressif Sistemak

6 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi 3. irudia: ESP32-DevKitS plakaren neurriak – atzealdea

Espressif Sistemak

4. irudia: ESP32-DevKitS-R plakaren neurriak – atzealdea 7
Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Txikizkako eskaerak Zenbait eskatzen badituzuampESP32-DevKitS(-R) bakoitza banakako pakete batean dator, poltsa antiestatiko batean edo beste edozein ontzitan, saltzailearen arabera. Txikizkako eskaeretarako, joan https://www.espressif.com/en/contact-us/get-s helbidera.amples.
Handizkako eskaerak Handizkako eskaerak egiten badituzu, oholak kartoizko kaxa handietan datoz. Handizkako eskaeretarako, joan https://www.espressif.com/en/contact-us/sales-questions helbidera.
Hardware Erreferentzia
Bloke-diagrama Jarraian dagoen bloke-diagrama batek ESP32-DevKitS(-R)-ren osagaiak eta haien interkonexioak erakusten ditu.

5. irudia: ESP32-DevKitS(-R) (handitzeko klik egin)
Elikatze Hornidura Aukerak Hiru modu esklusibo daude plakari energia emateko: · Mikro USB ataka, lehenetsitako elikatze iturria · 5V eta GND goiburu pinak · 3V3 eta GND goiburu pinak
Lehenengo aukera erabiltzea gomendatzen da: mikro USB ataka.

Espressif Sistemak

.

Etiketa Seinalea

L1 3V3 VDD 3V3

L2 EN CHIP_PU

L3 VP SENSOR_VP

L4 VN SENTSOREA_VN

L5 34

GPIO34

L6 35

GPIO35

L7 32

GPIO32

L8 33

GPIO33

hurrengo orrialdean jarraitzen du

8 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

1 taula aurreko orrialdetik jarraitu da

.

Etiketa Seinalea

L9 25

GPIO25

L10 26

GPIO26

L11 27

GPIO27

L12 14

GPIO14

L13 12

GPIO12

L14 GND GND

L15 13

GPIO13

L16 D2 SD_DATA2

L17 D3 SD_DATA3

L18 CMD SD_CMD

L19 5V

Kanpoko 5V

R1 GND GND

R2 23

GPIO23

R3 22

GPIO22

R4 TX U0TXD

R5 RX U0RXD

R6 21

GPIO21

R7 GND GND

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_DATUAK1

R18 D0 SD_DATUAK0

R19 CLK SD_CLK

Goiburuko blokeak Goiburuko blokeen irudia ikusteko, jo ezazu Osagaien Deskribapena atalera.

Lotutako dokumentuak
· ESP32-DevKitS(-R) eskemak (PDF) · ESP32 datu-orria (PDF) · ESP32-WROOM-32 datu-orria (PDF) · ESP32-WROOM-32D eta ESP32-WROOM-32U datu-orria (PDF) · ESP32-SOLO-1 datu-orria (PDF) · ESP32-WROVER datu-orria (PDF) · ESP32-WROVER-B datu-orria (PDF) · ESP produktuen hautatzailea

ESP32-DevKitM-1

Erabiltzailearen gida honek ESP32-DevKitM-1 erabiltzen hasteko lagunduko dizu eta informazio sakonagoa ere emango dizu.
ESP32-DevKitM-1 Espressif-ek ekoitzitako ESP32-MINI-1(1U) oinarritutako garapen-plaka bat da. S/I pin gehienak bi aldeetako pin-buruetara banatuta daude interfazea errazteko. Erabiltzaileek periferikoak jumper-kableekin konekta ditzakete edo ESP32-DevKitM-1 protokolo-plaka batean muntatu.

Espressif Sistemak

9 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

ESP32-DevKitM-1 - aurrealdea

ESP32-DevKitM-1 – isometrikoa

Dokumentuak atal nagusi hauek ditu: · Hasteko: Informazio gehiago eskaintzen duview ESP32-DevKitM-1-aren eta hardware/software konfigurazio argibideen hasiera-hasieratik. · Hardware erreferentzia: ESP32-DevKitM-1ns hardwareari buruzko informazio zehatzagoa ematen du. · Erlazionatutako dokumentuak: Erlazionatutako dokumentaziorako estekak ematen ditu.

Hasteko Atal honek ESP32-DevKitM-1-rekin nola hasi azaltzen du. ESP32-DevKitM-1-ri buruzko sarrera-atal batzuekin hasten da, eta ondoren Aplikazioen Garapena Hasi atalak hasierako hardwarearen konfigurazioa nola egin eta firmwarea ESP32-DevKitM-1-era nola flashatu azaltzen du.

Amaituview Hau garapen-taula txiki eta erosoa da, eta hauek ditu:
· ESP32-MINI-1, edo ESP32-MINI-1U modulua · USB-serieko programazio interfazea, plakarentzako elikadura ere ematen duena · pinen goiburuak · Firmware Download modua berrezartzeko eta aktibatzeko botoiak · beste osagai batzuk

Edukiak eta ontziratzea

Txikizkako eskaerak Zenbait eskatzen badituzuampLes, ESP32-DevKitM-1 bakoitza banakako pakete batean dator, poltsa antiestatiko batean edo beste edozein ontzitan, zure saltzailearen arabera.
Txikizkako eskaeretarako, joan https://www.espressif.com/en/contact-us/get-s helbidera.amples.

Handizkako eskaerak Handizkako eskaerak egiten badituzu, oholak kartoizko kaxa handietan datoz. Handizkako eskaeretarako, joan https://www.espressif.com/en/contact-us/sales-questions helbidera.

Osagaien deskribapena Hurrengo irudiak eta beheko taulak ESP32-DevKitM-1 plakaren osagai, interfaze eta kontrolak deskribatzen dituzte. ESP32-MINI-1 modulua duen plaka hartzen dugu adibide gisa.ample hurrengo ataletan.

Espressif Sistemak

10 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

6. irudia: ESP32-DevKitM-1 – aurrealdea

Osagai nagusia: modulua barnean
5 V-tik 3.3 V-ra bitarteko LDO abio botoia
Berrezarri botoia Mikro-USB ataka
USB-tik UART-erako zubia 3.3 V-ko pizte-LEDa
I/O konektorea

Deskribapena
ESP32-MINI-1 modulua edo ESP32-MINI-1U modulua. ESP32-MINI-1ak barneko PCB antena bat du. ESP32-MINI-1Uak kanpoko antena konektore bat du. Bi moduluek 4 MB-ko flash paketea dute txiparen barruan. Xehetasunetarako, ikusi ESP32-MINI-1 eta ESP32-MINI-1U datu-orria.
Potentzia-erregulatzaileak 5 V 3.3 V-ra bihurtzen ditu.
Deskargatu botoia. Abiarazi botoia sakatuta eduki eta gero Berrezarri botoia sakatuta Firmware Deskargatzeko modua abiarazten da, firmwarea serieko atakaren bidez deskargatzeko.
Berrezarri botoia
USB interfazea. Plakaren elikadura iturria eta ordenagailu baten eta ESP32 txiparen arteko komunikazio-interfazea.
USB-UART zubi txip bakarrak 3 Mbps arteko transferentzia-tasak eskaintzen ditu.
USBa plakara konektatzen denean pizten da. Xehetasunetarako, ikusi eskemak Erlazionatutako Dokumentuetan. Eskuragarri dauden GPIO pin guztiak (flasherako SPI busa izan ezik) plakaren pin-buruetan banatuta daude. Erabiltzaileek ESP32 txipa programatu dezakete hainbat funtzio gaitzeko.

Aplikazioen garapena hasi ESP32-DevKitM-1 piztu aurretik, ziurtatu egoera onean dagoela, kalterik gabe.
Beharrezko hardwarea · ESP32-DevKitM-1 · USB 2.0 kablea (A estandarretik Mikro-Bra) · Windows, Linux edo macOS exekutatzen duen ordenagailua
Softwarearen konfigurazioa Mesedez, jarraitu Hasteko atalera, non Instalazio atalak garapen ingurunea konfiguratzen eta aplikazio ex bat flasheatzen lagunduko dizun azkar.ample zure ESP32-DevKitM-1-ra.

Espressif Sistemak

11 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Arreta: 2021eko abenduaren 2a baino lehen fabrikatutako ESP32-DevKitM-1 plakek nukleo bakarreko modulua dute instalatuta. Zein modulu duzun egiaztatzeko, egiaztatu moduluen markaketaren informazioa PCN-2021-021ean. Zure plakak nukleo bakarreko modulua badu instalatuta, gaitu nukleo bakarreko modua (CONFIG_FREERTOS_UNICORE) menuconfig-en aplikazioak flashatu aurretik.
Hardwarearen erreferentziazko bloke-diagrama Jarraian dagoen bloke-diagrama batek ESP32-DevKitM-1-ren osagaiak eta haien interkonexioak erakusten ditu.

7. irudia: ESP32-DevKitM-1
Energia iturriaren hautaketa Hiru modu esklusibo daude plakari energia emateko: · Mikro USB ataka, lehenetsitako energia iturria · 5V eta GND goiburu pinak · 3V3 eta GND goiburu pinak
Abisua: · Goiko aukeretako bat eta bakarra erabiliz eman behar da energia-iturria, bestela plaka eta/edo energia-iturria kaltetu daitezke. · Mikro USB ataka bidezko energia-iturria gomendatzen da.

Pinen deskribapenak Beheko taulan plakaren bi aldeetako pinen izena eta funtzioa ageri dira. Periferikoen pinen konfigurazioetarako, jo ESP32 datu-orrira.

Ez.

Izena

Mota

1

GND

P

2

3V3

P

Funtzioa Lurra 3.3 V-ko elikatze-iturria

hurrengo orrialdean jarraitzen du

Espressif Sistemak

12 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

2 taula aurreko orrialdetik jarraitu da

Ez.

Izena

Mota

Funtzioa

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

Berrezarri; Altua: gaitu; Baxua: itzali egiten da

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-ko kristal osziladorearen sarrera),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

I/O

GPIO33, XTAL_32K_N (32.768 kHz kristal osziladorearen irteera),

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-ko elikadura

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

Hardwarearen berrikuspenaren xehetasunak Ez dago aurreko bertsiorik eskuragarri.
Lotutako dokumentuak
· ESP32-MINI-1 eta ESP32-MINI-1U Datuen Orria (PDF) · ESP32-DevKitM-1 Eskemak (PDF) · ESP32-DevKitM-1 PCB diseinua (PDF) · ESP32-DevKitM-1 diseinua (DXF) – Egin dezakezu view Autodesk-ekin. Viewonline · ESP32 Datuen Orria (PDF) · ESP Produktuen Hautatzailea
Taularen diseinu-dokumentazio gehiago nahi izanez gero, jarri gurekin harremanetan sales@espressif.com helbidean.

Espressif Sistemak

13 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
1.2.2 softwarea
ESP32-n ESP-IDF erabiltzen hasteko, instalatu software hau: · ESP32rako kodea konpilatzeko Toolchain · ESP32rako aplikazio oso bat eraikitzeko tresnak eraikitzeko – CMake eta Ninja · ESP32rako APIa (software liburutegiak eta iturburu kodea) eta Toolchain funtzionatzeko scriptak dituen ESP-IDF

1.3 Instalazioa
Beharrezko software guztia instalatzeko, zeregin hau errazteko hainbat modu eskaintzen ditugu. Aukeratu eskuragarri dauden aukeretako bat.
1.3.1 IDE

Oharra: Oso gomendagarria da ESP-IDF zure IDE gogokoenaren bidez instalatzea.
· Eclipse plugina · VSCode luzapena

1.3.2 Eskuzko instalazioa
Eskuzko prozedurarako, aukeratu zure sistema eragilearen arabera.

Espressif Sistemak

14 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Windows-erako Toolchain-en konfigurazio estandarra
Sarrera ESP-IDF-k zenbait aurrebaldintza-tresna instalatu behar ditu txip onartuetarako firmwarea eraiki ahal izateko. Aurrebaldintza-tresnen artean Python, Git, konpiladore gurutzatuak, CMake eta Ninja eraikuntza-tresnak daude. Hasteko, Komando-gonbita erabiliko dugu, baina ESP-IDF instalatu ondoren, Eclipse Plugin edo CMake euskarria duen beste IDE grafiko bat erabil dezakezu. Oharra: Mugak: – ESP-IDF eta ESP-IDF tresnen instalazio-bideak ezin du 90 karaktere baino gehiago izan. Instalazio-bide luzeegiek eraikuntza huts egin dezakete. – Python edo ESP-IDF-ren instalazio-bideak ezin du zuriunerik edo parentesirik izan. – Python edo ESP-IDF-ren instalazio-bideak ezin du karaktere berezirik izan (ASCII ez direnak), sistema eragilea Unicode UTF-8 euskarriarekin konfiguratuta ez badago. Sistemaren administratzaileak laguntza gaitu dezake Kontrol Panelaren bidez – Aldatu data, ordua edo zenbaki formatuak – Administrazio fitxa – Aldatu sistemaren eskualdea – markatu Beta: Erabili Unicode UTF-8 mundu osoko hizkuntzen euskarrirako aukera – Ados eta berrabiarazi ordenagailua.
ESP-IDF tresnen instalatzailea ESP-IDFn aurrebaldintzak instalatzeko modurik errazena ESP-IDF tresnen instalatzaileetako bat deskargatzea da.

Windows instalatzailearen deskarga
Zein da Online eta Offline instalatzailearen erabilera? Online instalatzailea oso txikia da eta ESP-IDFren bertsio guztiak instalatzea ahalbidetzen du. Instalatzaileak beharrezko mendekotasunak soilik deskargatuko ditu instalazio prozesuan, Git For Windows barne. Instalatzaileak deskargatutako datuak gordetzen ditu... files %userpro cache direktorioanfile%. espressif
Lineaz kanpoko instalatzaileak ez du sareko konexiorik behar. Instalatzaileak beharrezko mendekotasun guztiak ditu, Git For Windows barne.
Instalazioaren osagaiak Instalatzaileak osagai hauek zabaltzen ditu:
· Python txertatua · Konpiladore gurutzatuak · OpenOCD · CMake eta Ninja eraikuntza tresnak · ESP-IDF
Instalatzaileak ESP-IDF-rekin dauden direktorioak berrerabiltzea ere ahalbidetzen du. Gomendatutako direktorioa %userpro da.file%Desktopesp-idf non %userprofile% zure etxeko direktorioa da.

Espressif Sistemak

15 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
ESP-IDF Ingurunea abiaraztea Instalazio prozesuaren amaieran, "Run ESP-IDF PowerShell Ingurunea" edo "Run ESP-IDF Komando Promptua" (cmd.exe) aukera hautatu dezakezu. Instalatzaileak ESP-IDF ingurunea abiaraziko du hautatutako gonbitan. "Run ESP-IDF PowerShell Ingurunea":

8. irudia: ESP-IDF tresnen konfigurazio-morroia osatzea ESP-IDF PowerShell ingurunea exekutatu erabiliz
Exekutatu ESP-IDF komando-gonbita (cmd.exe):
Komando-gonbita erabiltzea Hasteko gainerako urratsetarako, Windows-en komando-gonbita erabiliko dugu. ESP-IDF tresnen instalatzaileak lasterbide bat sortzen du Hasi menuan ESP-IDF komando-gonbita abiarazteko. Lasterbide honek komando-gonbita (cmd.exe) abiarazten du eta export.bat script-a exekutatzen du ingurune-aldagaiak (PATH, IDF_PATH eta beste batzuk) konfiguratzeko. Komando-gonbita honen barruan, instalatutako tresna guztiak eskuragarri daude. Kontuan izan lasterbide hau ESP-IDF tresnen instalatzailean hautatutako ESP-IDF direktorioari dagokiola. Ordenagailuan hainbat ESP-IDF direktorio badituzu (adibidez...ampadibidez, ESP-IDF bertsio desberdinekin lan egiteko), bi aukera dituzu erabiltzeko:
1. Sortu ESP-IDF Tresnen Instalatzaileak sortutako lasterbidearen kopia bat, eta aldatu lasterbide berriaren lan-direktorioa erabili nahi duzun ESP-IDF direktoriora.
2. Bestela, exekutatu cmd.exe, ondoren joan erabili nahi duzun ESP-IDF direktoriora eta exekutatu export.bat. Kontuan izan aurreko aukera ez bezala, modu honek Python eta Git PATH-en egotea eskatzen duela. Python edo Git aurkitzen ez direlako erroreak jasotzen badituzu, erabili lehenengo aukera.
ESP-IDF-ri buruzko lehen urratsak Orain, baldintza guztiak betetzen direnez, hurrengo gaiak zure lehen proiektua nola hasi erakutsiko dizu.

Espressif Sistemak

16 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasiberriak 9. irudia: ESP-IDF PowerShell

10. irudia: ESP-IDF tresnen konfigurazio-morroia osatzea ESP-IDF komando-gonbita exekutatu (cmd.exe) erabiliz

Espressif Sistemak

17 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

11. irudia: ESP-IDF komando-gonbita

Espressif Sistemak

18 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Gida honek ESP-IDF erabiltzeko lehen urratsetan lagunduko dizu. Jarraitu gida honi ESP32-an proiektu berri bat hasteko eta gailuaren irteera eraikitzeko, flasheatzeko eta monitorizatzeko. Oharra: ESP-IDF oraindik instalatu ez baduzu, joan Instalaziora eta jarraitu argibideei gida hau erabiltzeko beharrezko software guztia lortzeko.

Proiektu bat hasi Orain prest zaude zure aplikazioa ESP32rako prestatzeko. getstarted/hello_world proiektuarekin has zaitezke ex-tikamples direktorioa ESP-IDF-n.
Garrantzitsua: ESP-IDF eraikuntza-sistemak ez ditu hutsuneak onartzen ez ESP-IDFrako ez proiektuetarako bideetan.
Kopiatu get-started/hello_world proiektua ~/esp direktoriora: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedkaixo_mundua kaixo_mundua
Oharra: Hainbat adibide daudeample proiektuak examples direktorioa ESP-IDF-n. Edozein proiektu kopiatu dezakezu goian aurkeztutako modu berean eta exekutatu. Exampleak lekuan bertan lehenik kopiatu gabe.

Konektatu zure gailua Orain konektatu zure ESP32 plaka ordenagailura eta egiaztatu zein serieko ataka azpian dagoen ikusgai plaka. Serieko ataken izenak COM letraz hasten dira Windows-en. Serieko atakaren izena nola egiaztatu ez badakizu, jo ezazu ESP32-rekin serieko konexioa ezartzea atalera xehetasun gehiago lortzeko.
Oharra: eduki portuaren izena eskura hurrengo urratsetan beharko duzulako.

Konfiguratu zure proiektua Joan zaitez zure hello_world direktoriora, ezarri ESP32 helburu gisa eta exekutatu proiektuaren konfigurazio utilitatea menuconfig.
Windows CD %userprofile%esphello_world idf.py helburu-multzoa esp32 idf.py menukonfigurazioa
Proiektu berri bat ireki ondoren, lehenik helburua idf.py set-target esp32-rekin ezarri beharko zenuke. Kontuan izan proiektuan dauden build-ak eta konfigurazioak, baldin badaude, prozesu honetan garbitu eta hasieratuko direla. Helburua ingurune-aldagaian gorde daiteke urrats hau guztiz saltatzeko. Ikusi Hautatu Helburu Txipa: set-target informazio gehiago lortzeko. Aurreko urratsak behar bezala egin badira, menu hau agertuko da: Menu hau erabiltzen ari zara proiektuaren aldagai espezifikoak konfiguratzeko, adibidez, Wi-Fi sarearen izena eta pasahitza, prozesadorearen abiadura, etab. Proiektua menuconfig-ekin konfiguratzea saltatu daiteke ohello_wordp-rentzat, ex hau...ample konfigurazio lehenetsiarekin exekutatzen da.
Arreta: ESP32-DevKitC plaka ESP32-SOLO-1 moduluarekin edo ESP32-DevKitM-1 plaka ESP32-MIN1-1(1U) moduluarekin erabiltzen baduzu, gaitu nukleo bakarreko modua (CONFIG_FREERTOS_UNICORE) menuconfig-en ex flashatu aurretik.amples.

Espressif Sistemak

19 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

12. irudia: Proiektuaren konfigurazioa – Hasierako leihoa
Oharra: Menuaren koloreak desberdinak izan daitezke zure terminalean. Itxura alda dezakezu –style aukerarekin. Informazio gehiago lortzeko, exekutatu idf.py menuconfig –help komandoa.
Garapen-plaka bateragarrietako bat erabiltzen ari bazara, garapena bizkortu dezakezu Plaka Laguntza Paketea erabiliz. Informazio gehiago lortzeko, ikusi Aholku Gehigarriak.
Eraiki proiektua Eraiki proiektua exekutatu hau eginez:
idf.py eraiki
Komando honek aplikazioa eta ESP-IDF osagai guztiak konpilatuko ditu, ondoren abio-kargatzailea, partizio-taula eta aplikazioaren bitarrak sortuko ditu.
$ idf.py build cmake exekutatzen /path/to/hello_world/build direktorioan “cmake -G Ninja –warn-uninitialized /path/to/hello_world” exekutatzen… Hasieratu gabeko balioei buruz abisatzen. — Git aurkitua: /usr/bin/git (“2.17.0” bertsioa aurkitua) — Konfigurazioagatik aws_iot osagai hutsa eraikitzen — Osagaien izenak: … — Osagaien bideak: …
… (eraikitzeko sistemaren irteerako lerro gehiago)
[527/527] hello_world.bin esptool.py v2.3.1 sortzen
Proiektuaren eraikuntza osatu da. Flashatzeko, exekutatu komando hau: ../../../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 edo exekutatu 'idf.py -p PORT flash'
Akatsik ez badago, eraikitzea amaituko da firmware .bin binarioa sortuz files.

Espressif Sistemak

20 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Flashatu gailuan Flashatu eraiki berri dituzun binarioak (bootloader.bin, partition-table.bin eta hello_world.bin) zure ESP32 plakan hau exekutatuz: idf.py -p PORT [-b BAUD] flash
Ordeztu PORT zure ESP32 plakaren serieko ataka izenarekin. Keinukariaren baud abiadura ere alda dezakezu BAUD behar duzun baud abiadurarekin ordezkatuz. Lehenetsitako baud abiadura 460800 da. idf.py argumentuei buruzko informazio gehiago lortzeko, ikus idf.py.
Oharra: flash aukerak automatikoki eraikitzen eta flashatzen du proiektua, beraz, ez da beharrezkoa idf.py build exekutatzea.

Arazoak izan dituzu flasheatzen ari zaren bitartean? Komandoa exekutatzen baduzu eta "Failed to connectp" bezalako erroreak ikusten badituzu, hainbat arrazoi egon daitezke horretarako. Arrazoietako bat esptool.py-k izandako arazoak izan daitezke, txipa berrezartzeko, ROM abioko kargatzailearekin elkarreragiteko eta firmwarea flashatzeko eraikuntza-sistemak deitzen duen utilitatea. Probatzeko irtenbide erraz bat eskuzko berrezartzea da, behean deskribatzen dena, eta laguntzen ez badu, arazo posibleei buruzko xehetasun gehiago aurki ditzakezu Arazoak Konpontzea atalean.
esptool.py-k ESP32 automatikoki berrezartzen du USB serieko bihurgailu txiparen DTR eta RTS kontrol lerroak berretsiz, hau da, FTDI edo CP210x (informazio gehiago lortzeko, ikus ESP32-rekin serieko konexioa ezartzea). DTR eta RTS kontrol lerroak, aldi berean, ESP32-ren GPIO0 eta CHIP_PU (EN) pinetara konektatuta daude, eta horrela bolumena aldatzen da.tagDTR eta RTS mailek ESP32 Firmware Download moduan abiaraziko dute. Adibide gisaampAdibidez, begiratu ESP32 DevKitC garapen-plakaren eskema.
Oro har, ez zenuke arazorik izan behar esp-idf garapen-plaka ofizialekin. Hala ere, esptool.py-k ezin du zure hardwarea automatikoki berrezarri honako kasu hauetan:
· Zure hardwareak ez ditu DTR eta RTS lineak GPIO0 eta CHIP_PU-ra konektatuta · DTR eta RTS lineak modu ezberdinean konfiguratuta daude · Ez dago halako serieko kontrol linearik inola ere
Zure hardware motaren arabera, baliteke zure ESP32 plaka eskuz Firmware Download moduan (berrezarri) jartzea ere.
· Espressifek ekoitzitako garapen-plaken kasuan, informazio hau dagokien hasierako gidetan edo erabiltzaile-gidetan aurki daiteke. AdibidezampAdibidez, ESP-IDF garapen-plaka eskuz berrezartzeko, eutsi sakatuta Abio botoia (GPIO0) eta sakatu EN botoia (CHIP_PU).
Beste hardware mota batzuetarako, saiatu GPIO0 behera tiratzen.

Funtzionamendu Normala Keinuka ari denean, irteera-erregistroa honelakoaren antzekoa ikusiko duzu:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –lehen=berrezarri_lehen -after=berrezarri_hardly 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 Serieko ataka /dev/ttyUSB0 Konektatzen…….._ Txipa ESP32D0WDQ6 da (0 berrikuspena) Ezaugarriak: WiFi, BT, Dual Core, Kodetze Eskema Bat ere ez Kristala 40MHz da MAC: 24:0a:c4:05:b9:14 Stub-a igotzen… Stub-a exekutatzen… Stub-a martxan… Baud abiadura 460800ra aldatzen Aldatu da.
(hurrengo orrialdean jarraitzen du)

Espressif Sistemak

21 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
(aurreko orrialdetik jarraitua) Flash tamaina konfiguratzen… 3072 byte 103ra konprimatuta… 0x00008000-n idazten… (% 100) 3072 byte idatzi ditu (103 konprimituta) 0x00008000-n 0.0 segundotan (5962.8 kbit/s eraginkorra)… Datuen hasha egiaztatuta. 26096 byte 15408ra konprimatuta… 0x00001000-n idazten… (% 100) 26096 byte idatzi ditu (15408 konprimituta) 0x00001000-n 0.4 segundotan (546.7 kbit/s eraginkorra)… Datuen hasha egiaztatuta. 147104 byte 77364ra konprimatuta... 0x00010000-n idazten... (% 20) 0x00014000-n idazten... (% 40) 0x00018000-n idazten... (% 60) 0x0001c000-n idazten... (% 80) 0x00020000-n idazten... (% 100) 147104 byte idatzi dira (77364 konprimatuta) 0x00010000-n 1.9 segundotan (615,5 kbit/s eraginkorra)... Datuen hasha egiaztatuta.
Irteten... Gogor berrezartzen da RTS pin bidez... Eginda
Flash prozesuaren amaieran arazorik ez badago, plaka berrabiaraziko da eta thehello_worldp aplikazioa abiaraziko du. idf.py exekutatu beharrean Eclipse edo VS Code IDE erabili nahi baduzu, begiratu Eclipse Plugin, VSCode Extension.
Irteera kontrolatu ohello_worldpis martxan dagoen egiaztatzeko, idatzi idf.py -p PORT monitor (Ez ahaztu PORT zure serieko atakaren izenarekin ordezkatzea).
Komando honek IDF Monitor aplikazioa abiarazten du:
$ idf.py -p monitore idf_monitor exekutatzen […]/esp/hello_world/build direktorioan “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf” exekutatzen… — idf_monitor piztuta 115200 —– Irten: Ctrl+] | Menua: Ctrl+T | Laguntza: Ctrl+T eta ondoren Ctrl+H –ets 2016ko ekainak 8 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 2016ko ekainak 8 00:22:57 …
Abioko eta diagnostiko erregistroak gora joan ondoren, aplikazioak oHello world! inprimatuta ikusi beharko zenuke.
… Kaixo mundua! 10 segundotan berrabiaraziko da… Hau esp32 txipa da, 2 CPU nukleorekin, WiFi/BT/BLE, 1. silizio berrikuspena, 2 MB kanpoko flasha Gutxieneko heap tamaina librea: 298968 byte 9 segundotan berrabiaraziko da… 8 segundotan berrabiaraziko da… 7 segundotan berrabiaraziko da…
IDF monitorea irteteko, erabili Ctrl+] lasterbidea.

Espressif Sistemak

22 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
IDF monitoreak kargatu eta gutxira huts egiten badu, edo goiko mezuen ordez behean agertzen denaren antzeko zabor ausazkoa ikusten baduzu, ziurrenik zure plakak 26 MHz-ko kristala erabiltzen ari da. Garapen-plaka gehienen diseinuak 40 MHz erabiltzen dituzte, beraz, ESP-IDF-k maiztasun hau erabiltzen du balio lehenetsi gisa.

Halako arazoren bat baduzu, egin hau: 1. Irten monitorearen sistematik. 2. Itzuli menuko konfiguraziora. 3. Joan Osagaien konfigurazioa > Hardwarearen ezarpenak > XTAL konfigurazio nagusia > XTAL maiztasun nagusia atalera, eta gero aldatu CONFIG_XTAL_FREQ_SEL 26 MHz-ra. 4. Ondoren, eraiki eta flasheatu aplikazioa berriro.
ESP-IDFren egungo bertsioan, ESP32k onartzen dituen XTAL maiztasun nagusiak hauek dira:
· 26 MHz · 40 MHz
Oharra: Eraikuntza, flashatzea eta monitorizazioa urrats bakarrean konbina ditzakezu hau exekutatuz: idf.py -p PORT flash monitor
Ikus baita ere: · IDF Monitor lasterbide erabilgarriak eta IDF monitorearen erabilerari buruzko xehetasun gehiago lortzeko. · idf.py idf.py komando eta aukeren erreferentzia osoa lortzeko.
Hori da ESP32-rekin hasteko behar duzun guztia! Orain prest zaude beste adibide batzuk probatzeko.amples, edo zuzenean zure aplikazioak garatzera joan.
Garrantzitsua: ohi batzukampFitxategiek ez dute ESP32 onartzen, beharrezko hardwarea ez baitago ESP32-n sartuta, beraz, ezin da onartu. ESP32 bat eraikitzen ari bazaraampmesedez, egiaztatu README fitxategia file Onartutako Helburuen taularako. ESP32 helburua barne badago, edo taula batere ez badago, exampESP32-n funtzionatuko du.
Aholku gehigarriak
Baimen arazoak /dev/ttyUSB0 Linux banaketa batzuekin, /dev/ttyUSB0 portua irekitzeko huts egin du errore mezua jaso dezakezu ESP32 flasheatzen duzunean. Hau konpondu daiteke uneko erabiltzailea dialout taldera gehituz.
Pythonen bateragarritasuna ESP-IDF-k Python 3.7 edo berriagoa onartzen du. Gomendagarria da zure sistema eragilea baldintza hau betetzen duen bertsio berri batera eguneratzea. Beste aukera batzuk Python iturburuetatik instalatzea edo pyenv bezalako Python bertsio kudeaketa sistema bat erabiltzea dira.
Hasi Board Support Package-rekin Garapen-plaka batzuetan prototipoak azkartzeko, Board Support Packages (BSP) erabil ditzakezu, eta horrek plaka jakin baten hasiera funtzio-dei gutxi batzuk bezain erraza egiten du.

Espressif Sistemak

23 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

BSP batek garapen-plakan ematen diren hardware osagai guztiak onartzen ditu normalean. Pinout definizio eta hasieratze funtzioez gain, BSP batek kanpoko osagaien kontrolatzaileak ere baditu, hala nola sentsoreak, pantailak, audio kodekak, etab. BSPak IDF Osagaien Kudeatzailearen bidez banatzen dira, beraz, IDF Osagaien Erregistroan aurki daitezke. Hemen adibide batampESP-WROVER-KIT BSP zure proiektura nola gehitu erakusten du: idf.py add-dependency esp_wrover_kit
Gehiago adibidezampBSP erabileraren zatiak BSP ex-en aurki daitezke.amples karpeta.
Erlazionatutako dokumentuak Instalazio prozesua pertsonalizatu nahi duten erabiltzaile aurreratuentzat: · ESP-IDF tresnak eguneratzea Windows-en · Serieko konexioa ezartzea ESP32-rekin · Eclipse plugina · VSCode luzapena · IDF monitore
ESP-IDF tresnak eguneratzea Windows-en
Instalatu ESP-IDF tresnak script bat erabiliz Windows komando-gonbitetik, joan ESPIDF instalatuta dagoen direktoriora. Ondoren, exekutatu:
instalatu.bat
Powershell-erako, joan ESP-IDF instalatuta dagoen direktoriora. Ondoren, exekutatu:
instalatu.ps1
Honek ESP-IDF erabiltzeko beharrezkoak diren tresnak deskargatu eta instalatuko ditu. Tresnaren bertsio zehatza instalatuta badago, ez da ekintzarik egingo. Tresnak ESP-IDF Tresnen Instalazio prozesuan zehaztutako direktorio batean deskargatu eta instalatzen dira. Berez, hau C:Erabiltzaileenizena.espressif da.
Gehitu ESP-IDF tresnak PATH-ra esportazio-script bat erabiliz ESP-IDF tresnen instalatzaileak Hasi menuko lasterbide bat sortzen du oESP-IDF Komando-gonbiterako. Lasterbide honek Komando-gonbitaren leiho bat irekitzen du, non tresna guztiak dagoeneko dauden.
eskuragarri. Zenbait kasutan, baliteke ESP-IDF-rekin lan egin nahi izatea lasterbide hori erabiliz abiarazi ez den Komando-gonbitaren leiho batean. Hala bada, jarraitu beheko argibideei ESP-IDF tresnak PATH-era gehitzeko. ESP-IDF erabili behar duzun komando-gonbitan, joan ESP-IDF instalatuta dagoen direktoriora eta exekutatu export.bat:
cd %userprofile%espesp-idf esportazioa.bat
Bestela, ESP-IDF erabili behar duzun Powershellean, ESP-IDF instalatuta dagoen direktoriora joan eta exekutatu export.ps1:
cd ~/esp/esp-idf esportazioa.ps1
Hori eginda, tresnak komando-leiho honetan egongo dira eskuragarri.
ESP32-rekin serieko konexioa ezarri Atal honek ESP32 eta ordenagailuaren arteko serieko konexioa nola ezarri azaltzen du.

Espressif Sistemak

24 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Konektatu ESP32 ordenagailura Konektatu ESP32 plaka ordenagailura USB kablea erabiliz. Gailuaren kontrolatzailea automatikoki instalatzen ez bada, identifikatu USBtik serierako bihurgailu txipa zure ESP32 plakan (edo kanpoko bihurgailu donglean), bilatu kontrolatzaileak Interneten eta instalatu itzazu. Jarraian, Espressifek ekoitzitako ESP32 plaka gehienetan instalatutako USBtik serierako bihurgailu txipen zerrenda dago, kontrolatzaileen estekak barne:
· CP210x: CP210x USBtik UARTrako zubi VCP kontrolatzaileak · FTDI: FTDI COM ataka birtualeko kontrolatzaileak Mesedez, egiaztatu plakaren erabiltzailearen gida erabilitako USBtik serierako bihurgailu txipa zehatza ikusteko. Goiko kontrolatzaileak batez ere erreferentzia gisa dira. Egoera normaletan, kontrolatzaileak sistema eragile batekin batera etorri beharko lirateke eta automatikoki instalatu plaka ordenagailura konektatzean.
Egiaztatu portua Windows-en Egiaztatu identifikatutako COM portuen zerrenda Windows Gailu Kudeatzailean. Deskonektatu ESP32 eta konektatu berriro, zein portu desagertzen den zerrendatik eta berriro agertzen den egiaztatzeko. Beheko irudiek ESP32 DevKitC eta ESP32 WROVER KIT-en serieko portua erakusten dute.

13. irudia: ESP32-DevKitC-ren USBtik UARTerako zubia Windows Gailu Kudeatzailean

Egiaztatu ataka Linux eta macOS-en ESP32 plakaren (edo kanpoko bihurgailuaren donglearen) serieko atakaren gailuaren izena egiaztatzeko, exekutatu komando hau bi aldiz, lehenik plaka / donglea deskonektatuta, eta gero konektatuta. Bigarren aldiz agertzen den ataka behar duzuna da: Linux
ls /dev/tty*
macOS

Espressif Sistemak

25 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

14. irudia: ESP-WROVER-KIT-en bi USB serieko ataka Windows gailuen kudeatzailean

Espressif Sistemak

26 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

ls /dev/cu.* Oharra: macOS erabiltzaileak: serieko ataka ikusten ez baduzu, egiaztatu USB/serieko kontrolatzaileak instalatuta dituzula. Ikusi ESP32 ordenagailura konektatu atala kontrolatzaileen estekak ikusteko. macOS High Sierra (10.13)-rako, baliteke kontrolatzaileak kargatzea berariaz baimendu behar izatea. Ireki Sistemaren Hobespenak -> Segurtasuna eta Pribatutasuna -> Orokorra eta egiaztatu hemen lp garatzailearen oSystem Software-ri buruzko mezurik agertzen den, non garatzailearen izena Silicon Labs edo FTDI den.

Erabiltzailea Linuxen irteera-taldera gehitzea Une honetan saioa hasita duen erabiltzaileak serieko ataka USB bidez irakurtzeko eta idazteko sarbidea izan beharko luke. Linux banaketa gehienetan, hau erabiltzailea irteera-taldera gehituz egiten da komando hau erabiliz:
sudo usermod -a -G dialout $USER
Arch Linux-en erabiltzailea uucp taldean gehituz egiten da komando honekin:
sudo usermod -a -G uucp $USER
Ziurtatu berriro saioa hasten duzula serieko atakan irakurtzeko eta idazteko baimenak gaitzeko.
Serieko konexioa egiaztatu Orain egiaztatu serieko konexioa funtzionatzen duela. Serieko terminal programa bat erabiliz egin dezakezu hau, ESP32 berrezarri ondoren terminalean irteerarik jasotzen duzun egiaztatuz. ESP32-ren kontsolako baud abiadura lehenetsia 115200 da.
Windows eta Linux adibide honetanampAdibidez, PuTTY SSH bezeroa erabiliko dugu, bai Windows bai Linuxerako eskuragarri dagoena. Beste serieko programa batzuk erabil ditzakezu eta komunikazio parametroak ezar ditzakezu behean bezala. Exekutatu terminala eta ezarri identifikatutako serieko ataka. Baud abiadura = 115200 (beharrezkoa bada, aldatu hau erabiltzen ari den txiparen baud abiadura lehenetsira), datu bitak = 8, stop bitak = 1 eta paritatea = N. Jarraian adibideak daudeampWindows eta Linux-en ataka eta transmisio-parametro horiek (laburbilduz 115200-8-1-N bezala deskribatuta) ezartzeko pantaila-argazkiak. Gogoratu goiko urratsetan identifikatu duzun serieko ataka bera hautatzea. Ondoren, ireki serieko ataka terminalean eta egiaztatu ea ESP32-k inprimatutako erregistrorik ikusten duzun. Erregistroaren edukia ESP32-n kargatutako aplikazioaren araberakoa izango da, ikusi Adibidea.ampIrteera.
Oharra: Komunikazioa funtzionatzen duela egiaztatu ondoren, itxi serieko terminala. Terminaleko saioa irekita mantentzen baduzu, serieko ataka ezingo da erabili firmwarea geroago kargatzeko.

macOS Serieko terminal programa bat instalatzearen lana aurrezteko, macOS-ek pantaila komandoa eskaintzen du. · Linux eta macOS-en ataka egiaztatu atalean azaldu bezala, exekutatu:

ls /dev/cu.* · Antzeko irteera ikusi beharko zenuke:

/dev/cu.Bluetooth-Sarrerako-Ataka /dev/cu.SLAB_USBtoUART USBtoUART7

/dev/cu.SLAB_

· Irteera aldatu egingo da zure ordenagailura konektatutako plaka motaren eta kopuruaren arabera. Ondoren, aukeratu zure plakaren gailu-izena eta exekutatu (beharrezkoa bada, aldatu o115200 erabiltzen ari den txiparen baud-tasa lehenetsia):

pantaila /dev/cu.gailu_izena 115200 Ordezkatu gailu_izena ls /dev/cu.* exekutatzen aurkitutako izenarekin.

Espressif Sistemak

27 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

15. irudia: Serieko komunikazioa konfiguratzea PuTTY-n Windows-en

Espressif Sistemak

28 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

16. irudia: Serieko komunikazioa konfiguratzea PuTTY-n Linuxen

Espressif Sistemak

29 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
· Pantailan bistaratzen den erregistro bat bilatzen ari zarena. Erregistroaren edukia ESP32-n kargatutako aplikazioaren araberakoa izango da, ikus AdibideaampIrteera. Pantaila-saiotik irteteko, idatzi Ctrl-A + .
Oharra: Komunikazioa ondo dabilen egiaztatu ondoren, ez ahaztu pantaila-saiotik irtetea. Hori egiten ez baduzu eta terminalaren leihoa ixten baduzu, serieko ataka ezingo da erabili firmwarea geroago kargatzeko.
ExampIrteera adibide batamperregistroa behean erakusten da. Berrezarri taula ezer ikusten ez baduzu. ets 2016ko ekainak 8 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 2016ko ekainak 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 abio-kargatzailea I (45) abiaraztea: konpilazio-denbora 18:48:10

Irakurgarria den erregistro-irteera ikusten baduzu, serieko konexioa funtzionatzen ari dela esan nahi du eta instalazioarekin jarraitzeko eta azkenik aplikazioa ESP32ra igotzeko prest zaudela.
Oharra: Serieko ataken kableatu konfigurazio batzuetarako, RTS eta DTR serieko pinak desgaitu behar dira terminal programan ESP32 abiarazi eta serieko irteera sortu aurretik. Hori hardwarearen beraren araberakoa da, garapen plaka gehienek (Espressif plaka guztiak barne) ez dute arazo hau. Arazoa RTS eta DTR zuzenean EN eta GPIO0 pinetara kableatzen badira gertatzen da. Ikusi esptool dokumentazioa xehetasun gehiago lortzeko.
5. urratsetik iritsi bazara. ESP32 garapenerako softwarea instalatzerakoan ESP-IDFri buruzko lehen urratsak, orduan 5. urratsarekin jarrai dezakezu. ESP-IDFri buruzko lehen urratsak.
IDF Monitor IDF Monitor batez ere serieko terminal programa bat da, datu serieak helburuko gailuaren serieko atakara eta atakatik bidaltzen dituena. IDF-ren funtzio espezifiko batzuk ere eskaintzen ditu. IDF Monitor IDF proiektu batetik abiarazi daiteke idf.py monitor exekutatuz.
Teklatuko lasterbideak IDF Monitorearekin erraz elkarreragiteko, erabili taulan emandako teklatuko lasterbideak.

Espressif Sistemak

30 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

Teklatuko lasterbidea Ktrl+] Ktrl+T
· Ktrl+T
· Ktrl+] · Ktrl+P
· Ktrl+R
· Ktrl+F
· Ktrl+A (edo A)
· Ktrl+Y
· Ktrl+L
· Ktrl+I (edo I)
· Ktrl+H (edo H)
· Ktrl+X (edo X)
Ktrl+C

Ekintza

Deskribapena

Programatik irten Menu ihes tekla Menuko karakterea bera urrutiko aginteari bidali
Bidali irteerako karakterea bera urruneko gailura
Berrezarri helburua abioko kargatzailean aplikazioa RTS lerroaren bidez pausatzeko
Berrezarri helburu-taula RTS bidez
Eraiki eta flasheatu proiektua

Aplikazioa eraiki eta flasheatu bakarrik

Gelditu/berrekin erregistroaren irteera pantailan inprimatzea

Gelditu/berrekin erregistroaren irteera gordeta hemen: file

Gelditu/berrekin hasteko orduaamps

inprimatzea

Bistaratu teklatuko lasterbide guztiak

Sakatu eta jarraitu behean emandako tekla bat erabiliz.
Helburua berrezartzen du abioko kargatzailean RTS linearen bidez (konektatuta badago), plakak ezer ez exekutatzeko. Erabilgarria beste gailu bat abiarazteko itxaron behar duzunean. Helburuko plaka berrezartzen du eta aplikazioa berrabiarazten du RTS linearen bidez (konektatuta badago).
idf_monitor pausatzen du proiektuaren flash helburua exekutatzeko, eta gero idf_monitor berrabiarazten du. Aldatutako edozein iturburu-prozesu files berriro konpilatu eta berriro flashatzen dira. Helburuaren encrypted-flash exekutatzen da idf_monitor -E argumentuarekin abiarazi bazen. idf_monitor pausatzen du app-flash helburua exekutatzeko, eta gero idf_monitor berrabiarazten du. Flash helburuaren antzekoa, baina aplikazio nagusia bakarrik eraikitzen eta berriro flashatzen da. Helburuaren encrypted-app-flash exekutatzen da idf_monitor -E argumentuarekin abiarazi bazen. Sarrerako serieko datu guztiak baztertzen ditu aktibatuta dagoenean. Erregistroaren irteera azkar pausatu eta aztertzea ahalbidetzen du monitore utzi gabe. Sortzen du... file proiektuaren direktorioan eta irteera bertan idazten da file teklatu lasterbide berarekin desgaitu arte (edo IDF Monitorea itxi arte). IDF Monitoreak ordutegi bat inprima dezakeamp lerro bakoitzaren hasieran. Denbora gehienaamp formatua alda daiteke –timest-en araberaamp-format komando-lerroko argumentua.

Irten programatik

Aplikazio martxan eten

IDF Monitorea pausatzen du eta GDB proiektuaren arazgailua exekutatzen du aplikazioa exekuzio-garaian arazteko. Horretarako :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME aukera gaituta egon behar da.

Sakatzen diren tekla guztiak, Ctrl-] eta Ctrl-T izan ezik, serieko atakaren bidez bidaliko dira.

IDFren ezaugarri espezifikoak

Helbideen deskodetze automatikoa ESP-IDF-k 0x4_______ formako kode hamaseitar baten helbidea irteeran ematen duenean, IDF Monitoreak addr2line_ erabiltzen du iturburu-kodean kokapena bilatzeko eta funtzio-izena aurkitzeko.
ESP-IDF aplikazio bat huts egiten badu eta izua sortzen bada, erregistro-zabortegi bat eta atzera-aztarna bat sortzen dira, honako hau bezalakoa:

Espressif Sistemak

31 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

StoreProhibited motako Guru Meditazio errorea gertatu da 0 nukleoan. Salbuespena izan zen

kudeatu gabe.

Erregistroaren zabortegia:

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

: 0x0000000f SAR

: 0x00000019 BARKATUTAKOA:

0x0000001d

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

0x00000000

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

IDF Monitoreak xehetasun gehiago gehitzen dizkio zabortegiari:

StoreProhibited motako Guru Meditazio errorea gertatu da 0 nukleoan. Salbuespena izan zen

kudeatu gabe.

Erregistroaren zabortegia:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: egin_zerbait_istripua_emateko /home/gus/esp/32/idf/ex helbideanamples/hasteko/

kaixo_mundua/main/./kaixo_mundua_main.c:57

(lerrokatuta) inner_dont_crash hemen: /home/gus/esp/32/idf/examples/hasteko/kaixo_

mundua/nagusia/./kaixo_mundua_nagusia.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

: 0x0000000f SAR

: 0x00000019 BARKATUTAKOA:

0x0000001d

EXCVADR: 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 (lerrokatuta) inner_dont_crash at /home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash hemen: /home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:47 0x400dbf5e: dont_crash hemen: /home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main at /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254 helbidean

Helbide bakoitza deskodetzeko, IDF Monitoreak komando hau exekutatzen du atzeko planoan: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Oharra: Ezarri ESP_MONITOR_DECODE ingurune-aldagaia 0 baliora edo deitu idf_monitor.py komando-lerro espezifiko batekin

Espressif Sistemak

32 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
aukera: idf_monitor.py –disable-address-decoding helbideen deskodetzea desgaitzeko.
Helburua Berrezarri Konexioan Berez, IDF Monitoreak helburua berrezarriko du bertara konektatzean. Helburu txiparen berrezarpena DTR eta RTS serieko lineak erabiliz egiten da. IDF Monitoreak helburua automatikoki berrezartzea saihesteko konexioan, deitu IDF Monitorera –no-reset aukerarekin (adibidez, idf_monitor.py –no-reset).
Oharra: –no-reset aukerak portaera bera aplikatzen du IDF Monitor ataka jakin batera konektatzean ere (adibidez, idf.py monitor –no-reset -p [ATAKA]).
GDB GDBStub-ekin abiaraztea GDBStub exekuzio-denbora arazketa-funtzio erabilgarria da, helburuan exekutatzen dena eta serieko ataka bidez ostalariarengana konektatzen dena arazketa-komandoak jasotzeko. GDBStub-ek memoria eta aldagaiak irakurtzea, dei-pila-markoak aztertzea eta abar bezalako komandoak onartzen ditu. GDBStub J baino moldakorragoa ez den arren...TAG arazketa egiteko, ez du hardware berezirik behar (adibidez, JTAG USB zubira) komunikazioa serieko ataka osorik egiten baita. Helburu bat GDBStub atzeko planoan exekutatzeko konfigura daiteke CONFIG_ESP_SYSTEM_PANIC GDBStub baliora ezarriz exekuzio-garaian. GDBStub atzeko planoan exekutatuko da Ctrl+C mezu bat serieko atakatik bidali eta GDBStub-ek programa hausten (hau da, exekuzioa geldiarazten) duen arte, horrela GDBStub-ek arazketa-komandoak kudeatu ahal izateko. Gainera, panic kudeatzailea GDBStub kraskatzen denean exekutatzeko konfigura daiteke CONFIG_ESP_SYSTEM_PANIC GDBStub baliora ezarriz panic-ean. Kraskadura bat gertatzen denean, GDBStub-ek kate-eredu berezi bat emango du serieko atakan exekutatzen ari dela adierazteko. Bi kasuetan (hau da, Ctrl+C mezua bidaltzean edo kate-eredu berezia jasotzean), IDF Monitoreak automatikoki abiaraziko du GDB erabiltzaileak arazketa-komandoak bidaltzeko aukera izan dezan. GDB irten ondoren, helburua RTS serieko linearen bidez berrezartzen da. Linea hau konektatuta ez badago, erabiltzaileek beren helburua berrezarri dezakete (taularen Berrezarri botoia sakatuz).
Oharra: Atzeko planoan, IDF Monitoreak komando hau exekutatzen du GDB abiarazteko:
xtensa-esp32-elf-gdb -ex “serieko baud BAUD ezarri” -ex “helburu urruneko PORTUA” -ex eten build/PROJECT.elf :idf_target:`Kaixo IZENA txipa`

Irteera Iragazketa IDF monitore gisa dei daiteke idf.py monitor –print-filter=”xyz”, non –print-filter irteera iragazteko parametroa den. Balio lehenetsia kate huts bat da, hau da, dena inprimatzen da.
Inprimatu beharreko murrizketak multzo gisa zehaztu daitezketag>: elementuak nontag> da tag soka eta {N, E, W, I, D, V, *} multzoko karaktere bat da, erregistrorako maila bati erreferentzia egiten diona.
Adibidezample, PRINT_FILTER=”tag1:W”-ek ESP_LOGW(“)-rekin idatzitako irteerak bakarrik bat datoz eta inprimatzen ditutag1”, …) edo hitz-jario maila baxuagoan, adibidez ESP_LOGE(“tag1″, …). Zehaztu gabe edo * erabiltzeak maila zehatza ezartzen du lehenespenez.
Oharra: Erabili erregistro nagusia erregistro liburutegiaren bidez behar ez dituzun irteerak konpilazioan desgaitzeko. IDF monitorearekin irteera iragaztea bigarren mailako irtenbide bat da, aplikazioa berriro konpilatu gabe iragazketa aukerak doitzeko erabilgarria izan daitekeena.
Zure aplikazioa tags ez du hutsunerik, izartxorik * edo bi punturik izan behar irteerako iragazketa funtzioarekin bateragarria izateko.
Aplikazioko irteeraren azken lerroaren ondoren ez badago orga-itzulerarik, irteerako iragazketa nahasgarria izan daiteke, hau da, monitoreak lerroa inprimatzen hasten da eta geroago ikusten du lerroa ez zela idatzi behar. Arazo ezaguna da eta saihestu daiteke beti orga-itzulera bat gehituz (batez ere berehala irteerarik ez dagoenean).

Espressif Sistemak

33 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
ExampIragazketa arauen zerrenda:
· * edozeinekin bat etortzeko erabil daiteke tagsHala ere, PRINT_FILTER=”*:I katea tag1:E” horri dagokionez tag1-ek erroreak bakarrik inprimatzen ditu, araua delako tag1-ek lehentasun handiagoa du *-ren arauaren aldean.
· Lehenetsitako (hutsik dagoen) araua *:V-ren baliokidea da, bat etortzen baita tag Verbose mailan edo baxuagoan dena bat etortzea esan nahi du.
· “*:N”-k ez ditu soilik erregistro-funtzioen irteerak kentzen, baita printf-ek egindako inprimaketak ere, etab. Hori ekiditeko, erabili *:E edo hitz-maila altuago bat.
· Arauak “tag1:V”, “tag1:v”, “tag1:”, “tag1:*”, eta “tag1” baliokideak dira. · “ arauatag1:W tag1:E”-ren baliokidea da “tag1:E” gauza bera gertatzen delako ondorioz tag
izenak aurrekoa gainidazten du. · Araua “tag1:I tag2:W” inprimaketak bakarrik tag1 informazio-berdintasun mailan edo baxuagoan eta tag2 abisuan
hitz-maila edo baxuagoa. · Araua “tag1:I tag2:W tag3:N” funtsean aurrekoaren baliokidea da, zeren eta tag3:N-k zehazten du
hori tag3 ez da inprimatu behar. · tag3:N arauan “tag1:I tag2:W tag3:N *:V” esanguratsuagoa da, gabe tag3:N
tag3 mezu inprimatu zitezkeen; erroreak tag1 eta tag2 zehaztutako (edo baxuagoko) hitz-mailan inprimatuko da eta gainerako guztia lehenespenez inprimatuko da.
Iragazketa konplexuago baten adibideaampHurrengo erregistro zatia iragazketa aukerarik gabe eskuratu da:
karga:0x40078000, luzera:13564 sarrera 0x40078d4c E (31) esp_image: 0x30000-n irudiak byte magiko baliogabea du W (31) esp_image: 0x30000-n irudiak SPI modu baliogabea du 255 E (39) abiaraztea: Fabrikako aplikazioaren partizioa ez da abiarazteko modukoa I (568) cpu_start: Pro CPUa martxan. I (569) heap_init: Hasieratzen. RAM erabilgarria esleipen dinamikorako: I (603) cpu_start: Pro CPUa abiarazteko erabiltzailearen kodea D (309) light_driver: [light_init, 74]:egoera: 1, modua: 2 D (318) vfs: esp_vfs_register_fd_range arrakastatsua da <54 barrutian; 64) eta VFS ID 1 I (328) wifi: wifi kontrolatzailearen zeregina: 3ffdbf84, prio:23, stack:4096, core=0
PRINT_FILTER=”wifi esp_image:E light_driver:I” iragazketa aukeren irteera behean ematen da:
E (31) esp_image: 0x30000-n irudiak byte magiko baliogabea du I (328) wifi: wifi kontrolatzailearen zeregina: 3ffdbf84, prio:23, stack:4096, core=0
“PRINT_FILTER="light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V" aukerek irteera hau erakusten dute:
karga:0x40078000, luzera:13564 sarrera 0x40078d4c I (569) heap_init: Hasieratzen. RAM erabilgarria esleipen dinamikorako: D (309) light_driver: [light_init, 74]: egoera: 1, modua: 2
IDF Monitorearekin dauden arazo ezagunak
Windows-en ikusitako arazoak
· Gezi-teklak, baita beste tekla batzuk ere, ez dute funtzionatzen GDBn Windows kontsolaren mugak direla eta. · Batzuetan, oidf.pypex-ek irteten denean, 30 segundo arte gelditu daiteke IDF Monitoreak berriro abiarazi aurretik. · ogdbpis exekutatzen denean, denbora labur batez gelditu daiteke GDBStub-ekin komunikatzen hasi aurretik.

Espressif Sistemak

34 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi Linux eta macOS-erako tresna-kate estandarraren konfigurazioa

Instalazioa pausoz pauso Instalazio prozesuan zehar gidatuko zaituen bide-orri zehatza da hau.
Garapen Ingurunea Konfiguratzea Hauek dira zure ESP32rako ESP-IDF konfiguratzeko urratsak. · 1. urratsa. Instalatu Aurrebaldintzak · 2. urratsa. Eskuratu ESP-IDF · 3. urratsa. Konfiguratu tresnak · 4. urratsa. Konfiguratu ingurune aldagaiak · 5. urratsa. Lehen urratsak ESP-IDF-n
1. urratsa. Instalatzeko aurrebaldintzak ESP-IDF ESP32-rekin erabiltzeko, zure sistema eragilearen araberako software pakete batzuk instalatu behar dituzu. Konfigurazio gida honek Linux eta macOS oinarritutako sistemetan dena instalatzen lagunduko dizu.
Linux erabiltzaileentzat ESP-IDF erabiliz konpilatzeko, pakete hauek beharko dituzu. Exekutatzeko komandoa erabiltzen ari zaren Linux banaketaren araberakoa da:
· Ubuntu eta 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 eta 8: sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 oraindik onartzen da, baina CentOS 8 bertsioa gomendatzen da erabiltzaile esperientzia hobea lortzeko. · Arch: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Oharra: · ESP-IDF-rekin erabiltzeko CMake 3.16 bertsioa edo berriagoa behar da. Exekutatu otools/idf_tools.py install cmakepto bertsio egoki bat instalatzeko, zure sistema eragilearen bertsioak ez badu halakorik. · Zure Linux banaketa goiko zerrendan ikusten ez baduzu, begiratu bere dokumentazioa paketeak instalatzeko zein komando erabili behar den jakiteko.
macOS erabiltzaileentzat ESP-IDF-k macOS-en lehenespenez instalatutako Python bertsioa erabiliko du. · CMake eta Ninja build instalatu: HomeBrew baduzu, hau exekutatu dezakezu: brew install cmake ninja dfu-util MacPorts baduzu, hau exekutatu dezakezu: sudo port install cmake ninja dfu-util Bestela, kontsultatu CMake eta Ninja hasierako orrialdeak macOS instalazioen deskargetarako.

Espressif Sistemak

35 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
· Oso gomendagarria da ccache instalatzea eraikuntza azkarragoak lortzeko. HomeBrew baduzu, hau `brew install ccache` edo `sudo port install ccache` bidez egin daiteke MacPorts-en.
Oharra: Edozein urratsetan errore hau agertzen bada: xcrun: errorea: garatzaile aktiboaren bide baliogabea (/Library/Developer/CommandLineTools), xcrun falta da hemen: /Library/Developer/CommandLineTools/usr/bin/xcrun
Ondoren, XCode komando-lerroko tresnak instalatu beharko dituzu jarraitzeko. Hauek instala ditzakezu xcode-select –install exekutatuz.
Apple M1 erabiltzaileak Apple M1 plataforma erabiltzen baduzu eta honelako errore bat ikusten baduzu: ABISUA: xtensa-esp32-elf tresnaren esp-2021r2-patch3-8.4.0 bertsioaren direktorioa badago, baina tresna ez da aurkitu ERROREA: xtensa-esp32-elf tresnak ez du instalatuta dauden bertsiorik. Exekutatu 'install.sh' instalatzeko.
edo: zsh: CPU mota okerra exekutagarrian: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Ondoren, Apple Rosetta 2 instalatu beharko duzu /usr/sbin/softwareupdate –install-rosetta –agree-to-license komandoa exekutatuz.
Python 3 instalatzea macOS Catalina 10.15 bertsio-oharretan oinarrituta, ez da gomendagarria Python 2.7 erabiltzea eta Python 2.7 ez da lehenespenez sartuko macOS-en etorkizuneko bertsioetan. Egiaztatu zein Python duzun une honetan: python –version
Irteera Python 2.7.17 bezalakoa bada, zure lehenetsitako interpretea Python 2.7 da. Hala bada, egiaztatu Python 3 zure ordenagailuan instalatuta ez dagoen: python3 –version
Goiko komandoak errore bat itzultzen badu, Python 3 ez dagoela instalatuta esan nahi du. Jarraian,view Python 3 instalatzeko urratsak.
· HomeBrew-ekin instalatzea honela egin daiteke: brew install python3
· MacPorts baduzu, hau exekutatu dezakezu: sudo port install python38
2. urratsa. Eskuratu ESP-IDF ESP32rako aplikazioak eraikitzeko, Espressifek ESP-IDF biltegian eskaintzen dituen software liburutegiak behar dituzu. ESP-IDF lortzeko, joan instalazio direktoriora eta klonatu biltegia git clone erabiliz, zure sistema eragilerako zehaztutako argibideei jarraituz. Ireki Terminala eta exekutatu komando hauek:

Espressif Sistemak

36 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

mkdir -p ~/esp cd ~/esp git klon -b v5.0.9 –errekurtsiboa https://github.com/espressif/esp-idf.git
ESP-IDF ~/esp/esp-idf-era deskargatuko da. Kontsultatu ESP-IDF bertsioak egoera jakin batean zein ESP-IDF bertsio erabili behar den jakiteko.
3. urratsa. Tresnak konfiguratu ESP-IDFz gain, ESP-IDFk erabiltzen dituen tresnak ere instalatu behar dituzu, hala nola konpiladorea, arazitzailea, Python paketeak, etab., ESP32 onartzen duten proiektuetarako. cd ~/esp/esp-idf ./install.sh esp32
edo Fish shell cd-rekin ~/esp/esp-idf ./install.fish esp32
Goiko komandoek ESP32rako tresnak soilik instalatzen dituzte. Txip helburu gehiagotarako proiektuak garatu nahi badituzu, denak zerrendatu eta exekutatu beharko zenituzke, adibidez.ampfitxategia: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
edo Fish shell cd-rekin ~/esp/esp-idf ./install.fish esp32,esp32s2
Onartutako helburu guztietarako tresnak instalatzeko, exekutatu komando hau: cd ~/esp/esp-idf ./install.sh all
edo Fish shell cd-rekin ~/esp/esp-idf ./install.fish all
Oharra: macOS erabiltzaileentzat, urrats batean errore hau agertzen bada:urlirekitze errorea [SSL: CERTIFICATE_VERIFY_FAILED] ziurtagiriaren egiaztapena huts egin du: ezin izan da tokiko jaulkitzailearen ziurtagiria lortu (_ssl.c:xxx)
Ziurtagiriak instalatzeko, Install Certificates.command exekutatu dezakezu zure ordenagailuko Python karpetan. Xehetasunetarako, ikusi Deskargatzeko errorea ESP-IDF tresnak instalatzean.

Alternatiba File Deskargak Tresnen instalatzaileak hainbat deskargatzen ditu fileGitHub bertsioei erantsita dago. GitHub-era sartzea motela bada, ingurune aldagai bat ezar daiteke GitHub-eko aktiboen deskargetarako Espressifns deskarga zerbitzaria lehenesteko.

Oharra: Ezarpen honek GitHub-eko bertsioetatik deskargatutako tresna indibidualak soilik kontrolatzen ditu, ez ditu aldatzen URLEdozein Git biltegira sartzeko erabiltzen da.

Tresnak instalatzerakoan Espressif deskargatzeko zerbitzaria lehenesteko, erabili komando-sekuentzia hau install.sh exekutatzean:

Espressif Sistemak

37 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

cd ~/esp/esp-idf export IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Tresnen instalazio-bidea pertsonalizatzea Urrats honetan aurkeztutako scriptek ESP-IDF-k behar dituen konpilazio-tresnak erabiltzailearen etxeko direktorioan instalatzen dituzte: $HOME/.espressif Linuxen. Tresnak beste direktorio batean instalatu nahi badituzu, ezarri IDF_TOOLS_PATH ingurune-aldagaia instalazio-scriptak exekutatu aurretik. Ziurtatu zure erabiltzaile-kontuak bide hau irakurri eta idazteko baimen nahikoa duela. IDF_TOOLS_PATH aldatzen baduzu, ziurtatu balio bera duela instalazio-scripta (install.bat, install.ps1 edo install.sh) eta esportazio-scripta (export.bat, export.ps1 edo export.sh) exekutatzen diren bakoitzean.
4. urratsa. Ingurune-aldagaiak konfiguratu Instalatutako tresnak ez dira oraindik PATH ingurune-aldagaian gehitu. Tresnak komando-lerrotik erabilgarri egiteko, ingurune-aldagai batzuk ezarri behar dira. ESP-IDF-k hori egiten duen beste script bat eskaintzen du. ESP-IDF erabiliko duzun terminalean, exekutatu:
. $HOME/esp/esp-idf/export.sh
edo arrainentzat (arrainen 3.0.0 bertsiotik aurrera bakarrik onartzen da):
. $HOME/esp/esp-idf/export.fish
Kontuan izan hasierako puntuaren eta bidearen arteko tartea! esp-idf maiz erabiltzeko asmoa baduzu, alias bat sor dezakezu export.sh exekutatzeko:
1. Kopiatu eta itsatsi komando hau zure shellns pro-nfile (.profile, .bashrc, .zprofile, etab.)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Freskatu konfigurazioa terminal saioa berrabiaraziz edo source [path to pro] exekutatuz.file],
adibidezample, iturburua ~/.bashrc. Orain get_idf exekutatu dezakezu esp-idf ingurunea edozein terminal saiotan konfiguratzeko edo freskatzeko. Teknikoki, export.sh gehi diezaiokezu zure shellns pro-ri.file zuzenean; hala ere, ez da gomendagarria. Horrela eginez gero, IDF ingurune birtuala aktibatzen da terminal saio guztietan (IDF beharrezkoa ez den saioetan barne), ingurune birtualaren helburua zapuztuz eta ziurrenik beste software batzuei eraginez.
5. urratsa. Lehen urratsak ESP-IDF-n Orain, baldintza guztiak betetzen direnez, hurrengo gaiak zure lehen proiektua nola hasi erakutsiko dizu. Gida honek ESP-IDF erabiltzeko lehen urratsetan lagunduko dizu. Jarraitu gida honi ESP32-n proiektu berri bat hasteko eta gailuaren irteera eraikitzeko, flasheatzeko eta monitorizatzeko.
Oharra: ESP-IDF oraindik instalatu ez baduzu, joan Instalaziora eta jarraitu argibideei gida hau erabiltzeko beharrezko software guztia lortzeko.

Proiektu bat hasi Orain prest zaude zure aplikazioa ESP32rako prestatzeko. getstarted/hello_world proiektuarekin has zaitezke ex-tikamples direktorioa ESP-IDF-n.

Garrantzitsua: ESP-IDF eraikuntza-sistemak ez ditu hutsuneak onartzen ez ESP-IDFrako ez proiektuetarako bideetan.

Kopiatu get-started/hello_world proiektua ~/esp direktoriora:

Espressif Sistemak

38 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
cd ~/esp cp -r $IDF_PATH/adibamples/get-started/hello_world .
Oharra: Hainbat adibide daudeample proiektuak examples direktorioa ESP-IDF-n. Edozein proiektu kopiatu dezakezu goian aurkeztutako modu berean eta exekutatu. Exampleak lekuan bertan lehenik kopiatu gabe.
Konektatu zure gailua Orain konektatu zure ESP32 plaka ordenagailura eta egiaztatu zein serieko ataka azpian dagoen ikusgai plaka. Serieko atakek izendapen eredu hauek dituzte:
· Linux: /dev/tty-rekin hasita · macOS: /dev/cu-rekin hasita. Serieko atakaren izena nola egiaztatu ez badakizu, jo ezazu ESP32-rekin serieko konexioa ezartzea atalera xehetasun gehiago lortzeko.
Oharra: eduki portuaren izena eskura hurrengo urratsetan beharko duzulako.
Konfiguratu zure proiektua Joan zaitez zure hello_world direktoriora, ezarri ESP32 helburu gisa eta exekutatu proiektuaren konfigurazio utilitatea menuconfig. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Proiektu berri bat ireki ondoren, lehenik helburua idf.py set-target esp32 fitxategiarekin ezarri beharko zenuke. Kontuan izan proiektuan dauden build-ak eta konfigurazioak, baldin badaude, prozesu honetan garbitu eta hasieratuko direla. Helburua ingurune-aldagaian gorde daiteke urrats hau guztiz saltatzeko. Informazio gehiago lortzeko, ikusi Hautatu Helburu Txipa: set-target. Aurreko urratsak behar bezala egin badira, menu hau agertuko da:

17. irudia: Proiektuaren konfigurazioa – Hasierako leihoa Menu hau erabiltzen ari zara proiektuaren aldagai espezifikoak konfiguratzeko, adibidez, Wi-Fi sarearen izena eta pasahitza, prozesadorearen abiadura, etab. Proiektua menuconfig-ekin konfiguratzea saltatu daiteke forhello_worldp-erako, ex hau baitaample-rekin exekutatzen da

Espressif Sistemak

39 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
konfigurazio lehenetsia.
Arreta: ESP32-DevKitC plaka ESP32-SOLO-1 moduluarekin edo ESP32-DevKitM-1 plaka ESP32-MIN1-1(1U) moduluarekin erabiltzen baduzu, gaitu nukleo bakarreko modua (CONFIG_FREERTOS_UNICORE) menuconfig-en ex flashatu aurretik.amples.
Oharra: Menuaren koloreak desberdinak izan daitezke zure terminalean. Itxura alda dezakezu –style aukerarekin. Informazio gehiago lortzeko, exekutatu idf.py menuconfig –help komandoa.
Garapen-plaka bateragarrietako bat erabiltzen ari bazara, garapena bizkortu dezakezu Plaka Laguntza Paketea erabiliz. Informazio gehiago lortzeko, ikusi Aholku Gehigarriak.
Eraiki proiektua Eraiki proiektua exekutatu hau eginez:
idf.py eraiki
Komando honek aplikazioa eta ESP-IDF osagai guztiak konpilatuko ditu, ondoren abio-kargatzailea, partizio-taula eta aplikazioaren bitarrak sortuko ditu.
$ idf.py build cmake exekutatzen /path/to/hello_world/build direktorioan “cmake -G Ninja –warn-uninitialized /path/to/hello_world” exekutatzen… Hasieratu gabeko balioei buruz abisatzen. — Git aurkitua: /usr/bin/git (“2.17.0” bertsioa aurkitua) — Konfigurazioagatik aws_iot osagai hutsa eraikitzen — Osagaien izenak: … — Osagaien bideak: …
… (eraikitzeko sistemaren irteerako lerro gehiago)
[527/527] hello_world.bin esptool.py v2.3.1 sortzen
Proiektuaren eraikuntza osatu da. Flashatzeko, exekutatu komando hau: ../../../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 edo exekutatu 'idf.py -p PORT flash'
Akatsik ez badago, eraikitzea amaituko da firmware .bin binarioa sortuz files.
Flashatu gailuan Flashatu eraiki berri dituzun binarioak (bootloader.bin, partition-table.bin eta hello_world.bin) zure ESP32 plakan exekutatu hau eginez:
idf.py -p PORT [-b BAUD] flash
Ordeztu PORT zure ESP32 plakaren serieko ataka izenarekin. Keinukariaren baud abiadura ere alda dezakezu BAUD behar duzun baud abiadurarekin ordezkatuz. Lehenetsitako baud abiadura 460800 da. idf.py argumentuei buruzko informazio gehiago lortzeko, ikus idf.py.
Oharra: flash aukerak automatikoki eraikitzen eta flashatzen du proiektua, beraz, ez da beharrezkoa idf.py build exekutatzea.

Espressif Sistemak

40 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi

Arazoak izan dituzu flasheatzen ari zaren bitartean? Komandoa exekutatzen baduzu eta "Failed to connectp" bezalako erroreak ikusten badituzu, hainbat arrazoi egon daitezke horretarako. Arrazoietako bat esptool.py-k izandako arazoak izan daitezke, txipa berrezartzeko, ROM abioko kargatzailearekin elkarreragiteko eta firmwarea flashatzeko eraikuntza-sistemak deitzen duen utilitatea. Probatzeko irtenbide erraz bat eskuzko berrezartzea da, behean deskribatzen dena, eta laguntzen ez badu, arazo posibleei buruzko xehetasun gehiago aurki ditzakezu Arazoak Konpontzea atalean.
esptool.py-k ESP32 automatikoki berrezartzen du USB serieko bihurgailu txiparen DTR eta RTS kontrol lerroak berretsiz, hau da, FTDI edo CP210x (informazio gehiago lortzeko, ikus ESP32-rekin serieko konexioa ezartzea). DTR eta RTS kontrol lerroak, aldi berean, ESP32-ren GPIO0 eta CHIP_PU (EN) pinetara konektatuta daude, eta horrela bolumena aldatzen da.tagDTR eta RTS mailek ESP32 Firmware Download moduan abiaraziko dute. Adibide gisaampAdibidez, begiratu ESP32 DevKitC garapen-plakaren eskema.
Oro har, ez zenuke arazorik izan behar esp-idf garapen-plaka ofizialekin. Hala ere, esptool.py-k ezin du zure hardwarea automatikoki berrezarri honako kasu hauetan:
· Zure hardwareak ez ditu DTR eta RTS lineak GPIO0 eta CHIP_PU-ra konektatuta · DTR eta RTS lineak modu ezberdinean konfiguratuta daude · Ez dago halako serieko kontrol linearik inola ere
Zure hardware motaren arabera, baliteke zure ESP32 plaka eskuz Firmware Download moduan (berrezarri) jartzea ere.
· Espressifek ekoitzitako garapen-plaken kasuan, informazio hau dagokien hasierako gidetan edo erabiltzaile-gidetan aurki daiteke. AdibidezampAdibidez, ESP-IDF garapen-plaka eskuz berrezartzeko, eutsi sakatuta Abio botoia (GPIO0) eta sakatu EN botoia (CHIP_PU).
Beste hardware mota batzuetarako, saiatu GPIO0 behera tiratzen.

Funtzionamendu Normala Keinuka ari denean, irteera-erregistroa honelakoaren antzekoa ikusiko duzu:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –lehen=berrezarri_lehen -after=berrezarri_hardly 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 Serieko ataka /dev/ttyUSB0 Konektatzen…….._ Txipa ESP32D0WDQ6 da (0 berrikuspena) Ezaugarriak: WiFi, BT, Dual Core, Kodetze Eskema Bat ere ez Kristala 40MHz da MAC: 24:0a:c4:05:b9:14 Stub-a igotzen… Stub-a exekutatzen… Stub-a martxan… Baud abiadura 460800ra aldatzen Aldatu da. Flash tamaina konfiguratzen… 3072 byte 103ra konprimatuta… 0x00008000-n idazten… (% 100) 3072 byte idatzi dira (103 konprimituta) 0x00008000-n 0.0 segundotan (5962.8 kbit/s eraginkorra)… Datuen hasha egiaztatuta. 26096 byte 15408ra konprimatuta… 0x00001000-n idazten… (% 100) 26096 byte idatzi dira (15408 konprimituta) 0x00001000-n 0.4 segundotan (546.7 kbit/s eraginkorra)… Datuen hasha egiaztatuta. 147104 byte 77364ra konprimatuta… 0x00010000-n idazten… (% 20) 0x00014000-n idazten… (% 40) 0x00018000-n idazten… (% 60) 0x0001c000-n idazten… (% 80)
(hurrengo orrialdean jarraitzen du)

Espressif Sistemak

41 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
(aurreko orrialdetik jarraitua) 0x00020000-n idazten… (% 100) 147104 byte idatzi ditu (77364 konprimituta) 0x00010000-n 1.9 segundotan (615,5 kbit/s eraginkorra)… Datuen hasha egiaztatuta.
Irteten... Gogor berrezartzen da RTS pin bidez... Eginda
Flash prozesuaren amaieran arazorik ez badago, plaka berrabiaraziko da eta thehello_worldp aplikazioa abiaraziko du. idf.py exekutatu beharrean Eclipse edo VS Code IDE erabili nahi baduzu, begiratu Eclipse Plugin, VSCode Extension.
Irteera kontrolatu Ohello_worldpis martxan dagoen egiaztatzeko, idatzi idf.py -p PORT monitor (Ez ahaztu PORT ordezkatzea zure serieko atakaren izenarekin). Komando honek IDF Monitor aplikazioa abiarazten du:
$ idf.py -p monitore idf_monitor exekutatzen […]/esp/hello_world/build direktorioan “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf” exekutatzen… — idf_monitor piztuta 115200 —– Irten: Ctrl+] | Menua: Ctrl+T | Laguntza: Ctrl+T eta ondoren Ctrl+H –ets 2016ko ekainak 8 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 2016ko ekainak 8 00:22:57 …
Abioko eta diagnostiko erregistroak gora joan ondoren, aplikazioak oHello world! inprimatuta ikusi beharko zenuke.
… Kaixo mundua! 10 segundotan berrabiaraziko da… Hau esp32 txipa da, 2 CPU nukleorekin, WiFi/BT/BLE, 1. silizio berrikuspena, 2 MB kanpoko flasha Gutxieneko heap tamaina librea: 298968 byte 9 segundotan berrabiaraziko da… 8 segundotan berrabiaraziko da… 7 segundotan berrabiaraziko da…
IDF monitorearen bidez irteteko, erabili Ctrl+ lasterbidea. IDF monitoreak kargatu eta gutxira huts egiten badu, edo goiko mezuen ordez behean agertzen denaren antzeko ausazko zaborra ikusten baduzu, ziurrenik zure plakak 26 MHz-ko kristala erabiltzen ari da. Garapen-plaka gehienen diseinuak 40 MHz erabiltzen dituzte, beraz, ESP-IDF-k maiztasun hau erabiltzen du balio lehenetsi gisa.

Horrelako arazoren bat baduzu, egin hau:
1. Irten monitoretik. 2. Itzuli menuko konfiguraziora. 3. Joan Osagaien konfigurazioa > Hardwarearen ezarpenak > XTAL nagusiaren konfigurazioa > XTAL nagusia atalera.
maiztasuna, eta gero aldatu CONFIG_XTAL_FREQ_SEL 26 MHz-ra. 4. Ondoren, eraiki eta flasheatu aplikazioa berriro.

Espressif Sistemak

42 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
ESP-IDFren egungo bertsioan, ESP32k onartzen dituen XTAL maiztasun nagusiak hauek dira:
· 26 MHz · 40 MHz
Oharra: Eraikuntza, flashatzea eta monitorizazioa urrats bakarrean konbina ditzakezu hau exekutatuz: idf.py -p PORT flash monitor
Ikus baita ere: · IDF Monitor lasterbide erabilgarriak eta IDF monitorearen erabilerari buruzko xehetasun gehiago lortzeko. · idf.py idf.py komando eta aukeren erreferentzia osoa lortzeko.
Hori da ESP32-rekin hasteko behar duzun guztia! Orain prest zaude beste adibide batzuk probatzeko.amples, edo zuzenean zure aplikazioak garatzera joan.
Garrantzitsua: ohi batzukampFitxategiek ez dute ESP32 onartzen, beharrezko hardwarea ez baitago ESP32-n sartuta, beraz, ezin da onartu. ESP32 bat eraikitzen ari bazaraampmesedez, egiaztatu README fitxategia file Onartutako Helburuen taularako. ESP32 helburua barne badago, edo taula batere ez badago, exampESP32-n funtzionatuko du.
Aholku gehigarriak
Baimen arazoak /dev/ttyUSB0 Linux banaketa batzuekin, /dev/ttyUSB0 portua irekitzeko huts egin du errore mezua jaso dezakezu ESP32 flasheatzen duzunean. Hau konpondu daiteke uneko erabiltzailea dialout taldera gehituz.
Pythonen bateragarritasuna ESP-IDF-k Python 3.7 edo berriagoa onartzen du. Gomendagarria da zure sistema eragilea baldintza hau betetzen duen bertsio berri batera eguneratzea. Beste aukera batzuk Python iturburuetatik instalatzea edo pyenv bezalako Python bertsio kudeaketa sistema bat erabiltzea dira.
Hasi plaka laguntza paketearekin Garapen plaka batzuetan prototipoak azkartzeko, plaka laguntza paketeak (BSP) erabil ditzakezu, plaka jakin baten hasiera funtzio dei gutxi batzuk bezain erraza izan dadin. BSP batek normalean garapen plakan ematen diren hardware osagai guztiak onartzen ditu. Pinout definizio eta hasieratze funtzioez gain, BSP batek kanpoko osagaien kontrolatzaileak ditu, hala nola sentsoreak, pantailak, audio kodekak, etab. BSPak IDF Osagaien Kudeatzailearen bidez banatzen dira, beraz, IDF Osagaien Erregistroan aurki daitezke. Hemen adibide batampESP-WROVER-KIT BSP zure proiektura nola gehitu erakusten du: idf.py add-dependency esp_wrover_kit
Gehiago adibidezampBSP erabileraren zatiak BSP ex-en aurki daitezke.amples karpeta.
Aholkua: ESP-IDF eguneratzea Gomendagarria da ESP-IDF noizean behin eguneratzea, bertsio berriagoek akatsak konpontzen baitituzte eta/edo funtzio berriak eskaintzen baitituzte. Kontuan izan ESP-IDF bertsio nagusi eta txiki bakoitzak laguntza-aldi bat duela lotuta, eta adar bat bizitza-amaierara (EOL) hurbiltzen denean, erabiltzaile guztiei gomendatzen zaie beren proiektuak ESP-IDF bertsio berriagoetara eguneratzea. Laguntza-aldiei buruz gehiago jakiteko, ikus ESP-IDF Bertsioak.

Espressif Sistemak

43 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

1. kapitulua. Hasi
Eguneratzea egiteko modurik errazena esp-idf karpeta ezabatzea eta berriro klonatzea da, 2. urratsean deskribatutako hasierako instalazioa egiten ariko bazina bezala. Eskuratu ESP-IDF. Beste irtenbide bat aldatu dena bakarrik eguneratzea da. Eguneratze prozedura erabiltzen ari zaren ESP-IDF bertsioaren araberakoa da. ESP-IDF eguneratu ondoren, exekutatu Instalazio script-a berriro, ESP-IDF bertsio berriak tresnen bertsio desberdinak behar baditu. Ikusi 3. urratseko argibideak. Konfiguratu tresnak. Tresna berriak instalatuta daudenean, eguneratu ingurunea Esportazio script-a erabiliz. Ikusi 4. urratseko argibideak. Konfiguratu ingurune aldagaiak.
Erlazionatutako dokumentuak · Serieko konexioa ezarri ESP32rekin · Eclipse plugina · VSCode luzapena · IDF monitore
1.4 Eraiki zure lehen proiektua
ESP-IDF instalatuta baduzu eta IDE erabiltzen ez baduzu, zure lehen proiektua komando-lerrotik eraiki dezakezu Hasi proiektu bat Windows-en edo Hasi proiektu bat Linux eta macOS-en jarraituz.
1.5 Desinstalatu ESP-IDF
ESP-IDF kendu nahi baduzu, jarraitu ESP-IDF desinstalatu atala.

Espressif Sistemak

44 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

2. kapitulua
API Erreferentzia
2.1 API Hitzarmenak
Dokumentu honek ESP-IDF Aplikazio Programazio Interfazeen (API) konbentzio eta hipotesi komunak deskribatzen ditu. ESP-IDF-k hainbat programazio interfaze mota eskaintzen ditu:
· C funtzioak, egiturak, enumak, mota definizioak eta aurreprozesadorearen makroak goiburu publikoan deklaratuta fileESPIDF osagaien multzoa. Programazio gidaren API Erreferentzia ataleko hainbat orrialdek funtzio, egitura eta mota horien deskribapenak dituzte.
· Eraikitzeko sistemaren funtzioak, aurrez definitutako aldagaiak eta aukerak. Hauek eraikuntza sistemaren gidan dokumentatuta daude. · Kconfig aukerak kodean eta eraikuntza sisteman erabil daitezke (CMakeLists.txt) files. · Ostalari tresnak eta haien komando-lerroko parametroak ere ESP-IDF interfazearen parte dira. ESP-IDF ESP-IDFrako bereziki idatzitako osagaiez osatuta dago, baita hirugarrenen liburutegiez ere. Kasu batzuetan, ESP-IDFrako berariazko bilgarri bat gehitzen zaio hirugarrenen liburutegiari, interfaze sinpleagoa edo hobeto integratua eskainiz gainerako ESP-IDF instalazioekin. Beste kasu batzuetan, hirugarrenen liburutegiaren jatorrizko APIa aurkezten zaie aplikazioen garatzaileei. Hurrengo atalek ESP-IDF APIen alderdi batzuk eta haien erabilera azaltzen dituzte.
2.1.1 Error error handling
ESP-IDF API gehienek esp_err_t motarekin definitutako errore-kodeak itzultzen dituzte. Ikusi Erroreen Kudeaketa atala erroreak kudeatzeko metodoei buruzko informazio gehiago lortzeko. Errore Kodeen Erreferentziak ESP-IDF osagaiek itzulitako errore-kodeen zerrenda dauka.
2.1.2 Konfigurazio-egiturak
Garrantzitsua: Konfigurazio-egituren hasieratze zuzena funtsezkoa da aplikazioa ESP-IDFren etorkizuneko bertsioekin bateragarria izan dadin.
ESP-IDF-ko hasieratze edo konfigurazio funtzio gehienek konfigurazio egitura baterako erakuslea hartzen dute argumentu gisa. Adibidezample:
45

2. kapitulua. API erreferentzia

const esp_timer_create_args_t my_tenporizadore_args = { .callback = &my_tenporizadore_callback, .arg = callback_arg, .name = “my_timer”
}; esp_timer_handle_t nire_tenporizadorea; esp_err_t err = esp_timer_create(&nire_tenporizadorearen_args, &nire_tenporizadorea);
Hasieratze-funtzioek ez dute inoiz konfigurazio-egituraren erakuslea gordetzen, beraz, segurua da egitura pilan esleitzea.
Aplikazioak egituraren eremu guztiak hasieratu behar ditu. Hurrengoa ez da zuzena:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Okerra! .arg eta .name eremuak ez daude hasieratuta */ esp_timer_create(&my_timer_args, &my_timer);
ESP-IDF ex gehienakampEgitura-hasierarako C99 izendatutako hasieratzaileak erabiltzen dituzte, eremu-azpimultzo bat ezartzeko eta gainerako eremuak zero-hasieratzeko modu zehatza eskaintzen baitute:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Zuzena, .arg eta .name eremuak zero-inizializatuta daude */
};
C++ hizkuntzak ez du hasieratzaile izendatuen sintaxia onartzen C++20ra arte, baina GCC konpiladoreak partzialki onartzen du luzapen gisa. ESP-IDF APIak C++ kodean erabiltzean, honako eredua erabiltzea kontuan har dezakezu:
esp_timer_create_args_t my_timer_args = {}; /* Eremu guztiak zero-hasieratuta */ my_timer_args.callback = &my_timer_callback;

Hasieratzaile lehenetsiak
Konfigurazio-egitura batzuetarako, ESP-IDF-k makroak eskaintzen ditu eremuen balio lehenetsiak ezartzeko:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG hasieratzaile izendatu batera hedatzen da.
Orain eremu guztiak balio lehenetsietara ezarrita daude. Edozein eremu alda daiteke oraindik: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start(&server, &config);
Konfigurazio-egitura jakin baterako ematen direnean hasieratzaile-makro lehenetsiak erabiltzea gomendatzen da.

2.1.3 API pribatuak
Goiburu jakin bat fileESP-IDF-ko APIek ESP-IDF iturburu-kodean soilik erabiltzeko pentsatutako APIak dituzte, eta ez aplikazioek. Goiburu horiek files-ek askotan private edo esp_private izaten dituzte beren izenean edo bidean. Osagai batzuek, hala nola hal-ek, API pribatuak baino ez dituzte. API pribatuak modu bateraezinean kendu edo alda daitezke bertsio txikien edo adabakien artean.

2.1.4 Adibideko osagaiakample proiektuak
ESP-IDF exampFitxategiek ESP-IDF APIen erabilera erakusten duten hainbat proiektu dituzte. Kodearen bikoiztasuna murrizteko, ex-eanamphainbat exekutibok erabiltzen dituzten osagaien barruan laguntzaile ohiko batzuk definitzen dira.amples.

Espressif Sistemak

46 Bidali dokumentuaren iritzia

5.0.9 bertsioaren bertsioa

2. kapitulua. API erreferentzia
Honek kokatutako osagaiak barne hartzen ditu

Dokumentuak / Baliabideak

Espressif Systems ESP32 Dev Kitc Garapen Plaka [pdfErabiltzailearen gida
ESP32 Dev Kitc Garapen Taula, ESP32, Dev Kitc Garapen Taula, Kitt Garapen Taula, Garapen Taula, Taula

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *