ESP32 Dev Kitc Development Board

Product Information

Zvinotsanangurwa

  • Chigadzirwa: ESP32
  • Chirongwa Chekuita: ESP-IDF
  • Kuburitswa Shanduro: v5.0.9
  • Mugadziri: Espressif Systems
  • Zuva Rekuburitswa: Chivabvu 16, 2025

Mirayiridzo Yekushandiswa Kwechigadzirwa

1. Tanga

Usati watanga neESP32, zvijairane neiyo
zvinotevera:

1.1 Sumo

Dzidza nezve ekutanga functionalities uye kugona kweiyo
ESP32.

1.2 Zvaunoda

Ita shuwa kuti une hardware inodiwa uye software:

  • Hardware: Tarisa rondedzero yehardware inodiwa
    zvikamu.
  • Software: Isa software inodiwa
    zvikamu.

1.3 Kuiswa

Tevedza nhanho idzi kuisa IDE uye kuseta iyo
nharaunda:

  • IDE: Isa iyo IDE yakakurudzirwa ye
    kuronga ESP32.
  • Kuisa Manual: Manually set up the
    nharaunda kana zvichidikanwa.

1.4 Vaka Chirongwa Chako Chekutanga

Gadzira uye gadzira yako yekutanga chirongwa uchishandisa iyo ESP32.

1.5 Bvisa ESP-IDF

Kana zvichidikanwa, dzidza nzira yekubvisa iyo ESP-IDF kubva kune yako
system.

2. API Reference

Tarisa kune zvinyorwa zveAPI kuti uwane ruzivo rwakadzama pamusoro
application protocol, kukanganisa kubata, uye kumisikidza
zvimiro.

Mibvunzo Inowanzo bvunzwa (FAQ)

Mubvunzo: Ndingagadzirisa sei nyaya dzakajairika neESP32?

A: Tarisa kune chikamu chekugadzirisa matambudziko mugwaro rehurongwa
kana kushanyira mugadziri wacho webnzvimbo yekutsigira zviwanikwa.

Mubvunzo: Ndingashandisa ESP-IDF nemamwe ma microcontrollers?

A: ESP-IDF yakanyatsogadzirirwa ESP32, asi unogona kuwana
kuenderana nemamwe Espressif microcontrollers.

ESP32
ESP-IDF Programming Guide
Kuburitsa v5.0.9 Espressif Systems Chivabvu 16, 2025

Tafura yezviri mukati

Tafura yezviri mukati

i

1 Tanga

3

1.1 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Zvaunoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Kuiswa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

1.3.2 Manual Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Vaka Chirongwa Chako Chekutanga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 Bvisa ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 API Reference

45

2.1 API Kokorodzano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 kukanganisa kubata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Zvimiro zvekugadzirisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 Private APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Zvikamu muexample mapurojekiti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 API Kugadzikana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Mitemo yekushandisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

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

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

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

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

2.2.5 ESP HTTP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.2.6 ESP Local Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

2.2.7 ESP Serial Slave Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

2.2.8 ESP x509 Certificate Bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 HTTP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 HTTPS Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

2.2.11 ICMP Echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

2.2.12 mDNS Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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

2.2.14 IP Network Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

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

2.3.1 Bluetooth® Yakajairwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

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

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

2.3.4 Controller & HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

2.3.5 ESP-BLE-MeSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

2.3.6 NimBLE-based host APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

2.4 Error Codes Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

2.5 Networking APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

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

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

2.5.3 Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

i

2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP Network Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Application Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purogiramu inonzi 976 2.6 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analogi to Digital Converter (ADC) Oneshot Mode Driver . . . . . . . . . . . . . . . . . 977 2.6.2 Analog to Digital Converter (ADC) Continuous Mode Driver . . . . . . . . . . . . . . . 986 2.6.3 Analogi kusvika Digital Converter (ADC) Calibration Driver . . . . . . . . . . . . . . . . . . . 993 2.6.4 Clock Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital To Analog Converter (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 General Chinangwa Timer (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Inter-Integrated Circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Inter-IC Inzwi (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Kudzora kwe LED (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Motor Control Pulse Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Remote Control Transceiver (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD Dhova-up Zvinodiwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO Card Muranda Mutyairi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulation (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Master Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Slave Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Secure Element) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Touch Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Two-Waya Automotive Interface (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Universal Asynchronous Receiver/Transmitter (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Magadzirirwo eProjekti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Project Configuration Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Uchishandisa sdkconfig.defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig Formatting Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kumashure Kuenderana kweKconfig Options . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Kugadzirisa Sarudzo Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Provisioning API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Protocol Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Kugovera Kwakabatana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Wi-Fi Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purogiramu inonzi 1669 2.9 Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filesystem Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Manufacturing Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Raibhurari yekuchengetera isingaite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Partition Generator Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC Mutyairi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Virtual filesystem chikamu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purogiramu inonzi Wear Leveling 2.9.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 App Image Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Application Level Kutsvaga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Kufona basa rine stack yekunze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Chip Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Makodhi Error neMashandiro Ekubatsira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Chiitiko Loop Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Kupfuuraview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Zvimwe Zvimwe Zvimiro) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Murwi Wekuyeuka Mugove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Heap Memory Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 High Resolution Timer (ESP Timer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Yemukati uye isina Kugadzikana APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Inter-Processor Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Kukanganisa kugoverwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Raibhurari yekutema miti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Miscellaneous System APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Over The Air Updates (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Performance Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX Threads Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Random Number Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Nzira dzekurara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC Caabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 System Nguva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 The himem allocation API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Watchdogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Hardware Reference

2167

3.1 Chip Series Kuenzanisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Zvinyorwa zvinoenderana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

4 API Guides

2171

4.1 Raibhurari Yekutsvagira Nhamba Yekushandisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Pamusoroview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Maitiro eMashandiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Magadzirirwo Sarudzo uye Zvinoenderana . . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 Mashandisiro Akaitwa Raibhurari Ino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Kuyerera Kwekutanga Kwekushandisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Chekutanga ptaguye bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 Second ptaguye bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Kutanga kwekushandisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

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

4.3.1 Pamusoroview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® Yakaderera Simba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Pamusoroview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Tanga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

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

4.5 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284

4.5.1 Bootloader kuenderana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Log Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Factory reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Boot kubva paTest Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.5 Rollback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.6 Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.7 Bootloader Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Fast boot kubva Kurara Kwakadzika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Custom bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Vaka Sisitimu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Pamusoroview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 Kushandisa Build System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 Eksample Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Project CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Component CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Component Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Preprocessor Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Component Zvinodiwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Kupfuura Zvikamu zvePurojekiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Kugadzirisa-Chete Zvikamu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Debugging CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Eksample Component CMakeLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Custom sdkconfig defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Kuvaka Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Kunyora Kwakachena CIta Zvikamu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Kushandisa Chechitatu-Bato CKugadzira MaProjekiti ane Zvikamu. . . . . . . . . . . . . . . . . . . 2306 4.6.18 Kushandisa Maraibhurari Akambovakwa Ane Zvikamu . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Kushandisa ESP-IDF muCustom CMake Projects . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Inowedzera Zvivakwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Build System Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Vaka Sistimu Yemukati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Kutama kubva ESP-IDF GNU Make System . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Core Dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Chengetedza kuraswa kwepakati kuti uvheneke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Print core dump to UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 ROM Mabasa muKumashure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Kurasa zvinosiyana pazvinodiwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Running espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Kurara Kwakadzika Kumutsa Matsipa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Mitemo yeKumutsa Stubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Kushandisa A Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Kuisa Kodhi muRTC Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Kuisa Data MuRTC Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Check For Wake Stubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Eksample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Kubata Kwemhosho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Makodhi ezvikanganiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Kushandura macode ekukanganisa kuita meseji yezvikanganiso . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT macro . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 ONA MACROS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Kukanganisa kubata mapatani . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ Kunze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MeSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MeSH Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Kuvaka Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Managing a Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Data Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Channel Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Zvimwe Zvinyorwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Kubata Chiitiko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet, uye IP Zviitiko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Mesh Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Zviitiko zveBluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Zvikanganiso Zvinouraya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Panic Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Register Dump uye Backtrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Guru Meditation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Zvimwe Zvikanganiso Zvinouraya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Relevant eFuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Flash Encryption process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Flash Encryption Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Zvinogona Kukundikana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Flash Encryption Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Kuverenga uye Kunyora Data muEncrypted Flash . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Updating Encrypted Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Kudzima Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Key Points About Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Kuganhurirwa kweFlash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash Encryption uye Chengetedza Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Technical Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Hardware Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Low Level) Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Hardware Abstraction Layer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Kukanganisa Kwepamusoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Kuvhiringidza Matanho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Zvinoshanda Sei? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Kusarudza JTAG Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Setup yeOpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Configuring ESP32 Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Kuvhura Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Kugadzirisa Eksamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Kuvaka OpenOCD kubva kuZvitubu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Mazano NeZvinhu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Linker Script Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generation Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 MaAPI Anotsigirwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip custom modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Performance Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Memory Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Data RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Instruction RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (kodhi yakagadzirwa kubva kuflash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data rakachengetwa muflash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Slow memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC FAST ndangariro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA Inokwanisa Zvinodiwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA Buffer mudura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Modes dzeOpenThread stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Manyorero eOpenThread Application . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 OpenThread Border Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Partition Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Akavakirwa-mukati Partition Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Kugadzira Custom Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Kugadzira Binary Partition Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Partition Size Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Kupenya tafura yekuparadzanisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Partition Tool (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Mashandiro Ekuita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Vatungamiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Kugadzirisa zvishoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Full calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 No calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 PHY yekutanga data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Chengetedza Bhutsu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Chengetedza Boot process Yaperaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Makiyi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Bootloader Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Magonero Ekuita Chengetedza Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Re-Flashable Software Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Kugadzira Kiyi Yekusaina Yakachengeteka Yebhutsu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Kure Kusainwa Kwemifananidzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Chengetedza Boot Yakanakisa Maitiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Technical Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Yakachengeteka Boot & Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Yakasaina App Verification Pasina Hardware Chengetedza Boot . . . . . . . . . . . . . . . . . . 2478 4.24.13 Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Chengetedza Bhutsu V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Chengetedza Boot V2 Maitiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Signature Block Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Secure Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Verifying a Signature Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Verifying a Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Bootloader Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Maitiro Ekuita Chengetedza Boot V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Zvirambidzo mushure meSecurity Boot yavhurwa . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Kugadzira Kiyi Yekusaina Yakachengeteka Yebhutsu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Kure Kusainwa Kwemifananidzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Chengetedza Boot Yakanakisa Maitiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Technical Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Yakachengeteka Boot & Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Yakasaina App Verification Pasina Hardware Yakachengeteka Boot . . . . . . . . . . . . . . . . . . 2484 4.25.18 Advanced Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Tsigiro yeKunze RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Kugadzira Ekunze RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Zvisungo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Kutadza kutanga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Chip Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Thread Local Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF Component Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Downloadable Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Unit Testing muESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Normal Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Multi-device Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stage Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Miedzo yeZvinangwa Zvakasiyana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Building Unit Test App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Running Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Timing Code ine Cache Yakabhadharwa Nguva . . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Mocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Unit Testing paLinux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Embedded Software Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 IDF Unit Tests paLinux Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi Feature List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Manyorero Ekunyorera Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Parameter Kutanga . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi Chiitiko Tsanangudzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi Station General Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP General Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi Station Connecting Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi Station Inobatanidza Kana MaAP Akawanda Awanikwa . . . . . . . . . . . . . 2543 4.31.12 Wi-Fi Batanidzazve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi Beacon Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Wireless Network Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Radio Resource Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Fast BSS Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Simba Resevha Modhi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 Packet Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi Multiple Antennas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi Channel State Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi Channel State Information Configure . . . . . . . . . . . . . . . . . . . . . . . . . 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 Fragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS Vakanyoresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi Buffer Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Magadzirirwo eWi-Fi Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Kugadzirisa matambudziko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi Security Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Mafuremu Ekuchengetedza Akachengetedzwa (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Kugarisana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Scenario Inotsigirwa Yekugarisana yeESP32 . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Coexistence Mechanism uye Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Mashandisiro Akaitwa Nyaya Yekugarisana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Reproducible Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Nhanganyaya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Zvikonzero zvekusaberekana kuvaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Kugonesa reproducible kuvaka muESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Magadzirirwo anogadzirwazve anovakwa sei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Reproducible inovaka nekugadzirisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Zvinhu zvichiri kukanganisa reproducible builds . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Low Power Mode User Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 Migration Guides

2579

5.1 ESP-IDF 5.x Migration Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 Kutama kubva ku4.4 kuenda ku5.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 Maraibhurari uye Zvirongwa

2611

6.1 Cloud Frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

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

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

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

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

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

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

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

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

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

6.2 Espressifns Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Espressif Audio Development Framework . . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2.3 Espressif DSP Raibhurari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 ESP-WIFI-MESH Development Framework . . . . . . . . . . . . . . . . . . . . . . . . 2613

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

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

6.2.7 ESP-IoT-Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.8 ESP-Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

viii

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

7 Mipiro Yekubatsira

2615

7.1 Maitiro ekupa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Usati Wapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Dhonza Maitiro Ekukumbira. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Chikamu Chemutemo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.1 Espressif IoT Development Framework Style Guide . . . . . . . . . . . . . . . . . . . . 2616

7.5.2 Isa pre-commit Hook yeESP-IDF Project. . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Documenting Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Kugadzira Eksamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

7.5.5 API Documentation Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630

7.5.6 Contributor Agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

7.5.7 Copyright Header Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634

7.5.8 ESP-IDF Miedzo nePytest Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 ESP-IDF Shanduro

2645

8.1 Zvakaburitswa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Ndeipi Shanduro Yandinofanira Kutanga Nayo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Versioning Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Nguva dzekutsigira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Kutarisa Shanduro Yazvino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

8.6 Git Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7 Kuvandudza ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Kugadziridza kuKuburitswa Kwakagadzikana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Kugadziridza kune imwe Pre-Release Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Kugadziridza kuBazi Ratenzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Kugadziridza kuBazi Rakaburitswa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Zvishandiso

2651

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

9.1.1 Chii chinonzi PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Kuiswa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Kugadzirisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Project Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Matanho Anotevera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Zvinobatsira Zvinobatanidza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Copyrights uye Marezenisi

2653

10.1 Software Copyrights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Firmware Zvikamu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Zvinyorwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 ROM Source Code Copyrights. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.3 Xtensa libhal MIT License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.4 TinyBasic Plus MIT Rezinesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.5 TJpgDec License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

11 About

2657

12 Chinja Pakati Pemitauro

2659

Index

2661

Index

2661

ix

x

Tafura yezviri mukati
Aya ndiwo magwaro eEspressif IoT Development Framework (esp-idf). ESP-IDF ndiyo hurongwa hwekusimudzira huri pamutemo hweESP32, ESP32-S uye ESP32-C Series SoCs. Gwaro iri rinotsanangura kushandisa ESP-IDF neESP32 SoC.

Tanga

API Reference

API Guides

Espressif Systems

1 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Tafura yezviri mukati

Espressif Systems

2 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1
Tanga
Gwaro iri rakaitirwa kukubatsira kumisikidza software yekuvandudza nharaunda yehardware yakavakirwa paESP32 chip neEspressif. Pashure paizvozvo, nyore example inokuratidza mashandisiro eESP-IDF (Espressif IoT Development Framework) yekumisikidza menyu, wozovaka uye nekupenya firmware pabhodhi reESP32.
Cherechedza: Aya magwaro evhezheni yakatsiga v5.0.9 yeESP-IDF. Dzimwe ESP-IDF Shanduro dziripowo.
1.1 Sumo
ESP32 isystem iri pachipu inobatanidza zvinhu zvinotevera: · Wi-Fi (2.4 GHz bhendi) · Bluetooth · Dual high performance Xtensa® 32-bit LX6 CPU cores · Ultra Low Power co-processor · Multiple peripherals
Inofambiswa ne40 nm tekinoroji, ESP32 inopa yakasimba, yakanyatsobatanidzwa chikuva, iyo inobatsira kuzadzisa zvinoramba zvichidiwa zvekushandisa simba kwakanaka, dhizaini dhizaini, chengetedzo, kuita kwepamusoro, uye kuvimbika. Espressif inopa zvakakosha Hardware uye software zviwanikwa kubatsira vanogadzira maapplication kuona mazano avo vachishandisa ESP32 series hardware. Iyo software yekuvandudza dhizaini neEspressif inoitirwa kuvandudza Internetof-Zvinhu (IoT) zvikumbiro neWi-Fi, Bluetooth, simba manejimendi uye akati wandei mamwe masisitimu maficha.
1.2 Zvaunoda
1.2.1 Hardware
Bhodhi reESP32. · USB tambo – USB A/micro USB B. · Computer inoshandisa Windows, Linux, kana macOS.
Ongorora: Parizvino, mamwe emabhodhi ekuvandudza ari kushandisa USB Type C yekubatanidza. Iva nechokwadi chekuti une tambo chaiyo yekubatanidza bhodhi rako!
Kana iwe uine imwe yeESP32 zviri pamutemo mabhodhi ekuvandudza akanyorwa pazasi, unogona kudzvanya pane iyi link kuti udzidze zvakawanda nezve Hardware.
3

Chitsauko 1. Tanga
ESP32-DevKitS(-R)
Uyu mutungamiri wevashandisi anopa ruzivo pamusoro peESP32-DevKitS(-R), ESP32-based flashing board yakagadzirwa neEspressif. ESP32-DevKitS(-R) musanganiswa wemazita maviri ebhodhi: ESP32-DevKitS uye ESP32-DevKitS-R. S inomirira zvitubu, uye R inomirira WROVER.

ESP32-DevKitS

ESP32-DevKitS-R

Gwaro rine zvikamu zvikuru zvinotevera: · Kutanga: Rinopa pamusoroview yeESP32-DevKitS(-R) uye hardware/software setup mirairo kuti utange. · Hardware Reference: Inopa rumwe ruzivo rwakadzama nezve ESP32-DevKitS(-R) ns hardware. · Zvinyorwa zvinoenderana: Inopa zvinongedzo kune zvine hukama zvinyorwa.

Kutanga Ichi chikamu chinotsanangura maitiro ekutanga neESP32-DevKitS(-R). Inotanga nezvikamu zvishoma zvekusuma nezve ESP32-DevKitS(-R), kozoti Chikamu Maitiro eKupenya Bhodhi chinopa mirairo yekuti ungaisa sei module paESP32-DevKitS(-R), igadzirire, uye flash firmware pairi.

Overview ESP32-DevKitS(-R) ndeye Espressifns inopenya bhodhi yakagadzirirwa zvakananga ESP32. Inogona kushandiswa kuvheneka ESP32 module pasina kutengesa module kune magetsi uye mitsara yemasaini. Iine module yakaiswa, ESP32-DevKitS(-R) inogona zvakare kushandiswa sediki yekuvandudza bhodhi senge ESP32-DevKitC.
ESP32-DevKitS uye ESP32-DevKitS-R mabhodhi anosiyana chete mumagadzirirwo emapini echirimo kuti akwane anotevera ESP32 modules.
ESP32-DevKitS: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
ESP32-DevKitS-R: ESP32-WROVER (PCB & IPEX) ESP32-WROVER-B (PCB & IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Kuti uwane ruzivo nezve mamodule ari pamusoro, ndapota tarisa kune ESP32 Series Modules.

Tsanangudzo yeZvikamu

Espressif Systems

4 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Mufananidzo 1: ESP32-DevKitS - mberi

Espressif Systems

Mufananidzo 2: ESP32-DevKitS-R - kumberi 5
Tumira Document Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Key Component Chitubu Pini 2.54 mm Misoro Yechikadzi
USB-ku-UART Bridge LDO Micro-USB Chibatanidza/Micro USB Chiteshi EN Bhatani Bhatani reBoot
Simba Pane akatungamira

Tsanangudzo Dzvanya iyo module mukati. Mapini anozokwana mumaburi emodulens. Iyi misoro yechikadzi yakabatana nemapini emodule akaiswa pabhodhi iri. Kuti uwane tsananguro yemusoro wevakadzi, ndapota tarisa kune Header Blocks. Single-chip USB kune UART bhiriji inopa kutamisa mitengo inosvika 3 Mbps.
5V-kusvika-3.3V yakaderera-dropout voltage regulator (LDO).
USB interface. Simba rekupa bhodhi pamwe chete nekutaurirana pakati pekombiyuta nebhodhi.
Reset bhatani.
Dhaunirodha bhatani. Kubata pasi Boot wobva wadzvanya EN inotanga Firmware Dhawunirodha modhi yekurodha firmware kuburikidza neserial port.
Inobatidza kana USB kana magetsi akabatana nebhodhi.

Maitiro eKupenya Bhodhi Usati wasimbisa ESP32-DevKitS(-R), ndapota ita shuwa kuti iri muchimiro chakanaka pasina zviratidzo zviri pachena zvekukuvara.
Inodiwa Hardware · Iyo ESP32 module yesarudzo yako · USB 2.0 tambo (Standard-A kusvika kuMicro-B) · Kombuta inoshandisa Windows, Linux, kana macOS
Hardware Setup Ndokumbira uise module yesarudzo yako pane yako ESP32-DevKitS(-R) zvinoenderana nematanho anotevera:
· Zvinyoro isa module yako paESP32-DevKitS(-R) bhodhi. Ita shuwa kuti maburi akaiswa pane yako module anoenderana nemapini echirimo pabhodhi.
· Dzvanya module yako pasi mubhodhi kusvika yadzvanya. · Tarisa uone kana mapini ese echirimo akapinzwa mumakomba ane castellated. Kana paine mamwe mapini echirimo asina kurongeka,
zviise mumakomba ane castellated ane tweezers.
Software Setup
Inofarirwa Nzira Iyo ESP-IDF yekuvandudza chimiro inopa yakasarudzika nzira yekupenya mabhinari paESP32-DevKitS(-R). Ndokumbirawo uenderere mberi kune Tanga, uko Chikamu Kuisirwa kuchakurumidza kukubatsira kumisikidza nharaunda yekusimudzira uye wobva wavheneka application exampenda kune yako ESP32-DevKitS(-R).
Imwe nzira Seimwe nzira, vashandisi veWindows vanogona kupenya mabhinari vachishandisa Flash Download Tool. Ingo dhawunirodha, unzip iyo, uye tevera mirairo iri mukati meiyo doc folda.
Cherechedza: 1. Kupenya binary files, ESP32 inofanira kuiswa kuFirmware Download mode. Izvi zvinogona kuitwa pamwe neiyo flash turusi otomatiki, kana nekubata pasi bhatani reBoot uye kubaya bhatani reEN. 2. Mushure mekupenya binary files, Flash Download Tool inotangazve ESP32 module yako uye inotanga iyo yakapenya application nekukasira.

Board Dimensions Zviri mukati uye Packaging

Espressif Systems

6 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga Fig. 3: ESP32-DevKitS board dimensions - kumashure

Espressif Systems

Mufananidzo 4: ESP32-DevKitS-R bhodhi zviyero - kumashure 7
Tumira Document Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Retail orders Kana iwe ukaraira mashoma sampLes, imwe neimwe ESP32-DevKitS(-R) inouya mune yega pasuru mune chero antistatic bag kana chero kurongedza zvinoenderana nemutengesi. Kuti uwane maodha ezvitoro, ndapota enda ku https://www.espressif.com/en/contact-us/get-samples.
Wholesale Orders Kana iwe ukahodha muhuwandu, mabhodhi anouya ari makuru makadhibhokisi mabhokisi. Kuti uwane maodha akazara, ndapota enda ku https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Dhiagiramu A block dhayagiramu pazasi inoratidza zvikamu zveESP32-DevKitS(-R) uye kubatanidzwa kwavo.

Mufananidzo 5: ESP32-DevKitS(-R) (tinya kuti ukudze)
Sarudzo dzeKugovera Simba Pane nzira nhatu dzakasarudzika dzekupa simba kubhodhi: · Micro USB port, default power supply · 5V uye GND header pini · 3V3 uye GND header pini.
Inokurudzirwa kushandisa yekutanga sarudzo: micro USB port.

Espressif Systems

.

Label Signal

L1 3V3 VDD 3V3

L2 EN CHIP_PU

L3 VP SENSOR_VP

L4 VN SENSOR_VN

L5 34

GPIO34

L6 35

GPIO35

L7 32

GPIO32

L8 33

GPIO33

inoenderera mberi papeji inotevera

8 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Tafura 1 inoenderera mberi kubva papeji yapfuura

.

Label Signal

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

Zvekunze 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_DATA1

R18 D0 SD_DATA0

R19 CLK SD_CLK

Musoro Zvivharo Zvemufananidzo wemabhururu emusoro, ndapota tarisa kune Tsananguro yeZvikamu.

Related Documents
· ESP32-DevKitS(-R) Schematics (PDF) · ESP32 Datasheet (PDF) · ESP32-WROOM-32 Datasheet (PDF) · ESP32-WROOM-32D & ESP32-WROOM-32U Datasheet (PDF) · ESP32-SOLO-1 Datasheet · ESPROOM-W PDF Datasheet ·32PDF-W ESP32-WROVER-B Datasheet (PDF) · ESP Product Selector

ESP32-DevKitM-1

Gwaro iri remushandisi rinokubatsira kuti utange neESP32-DevKitM-1 uye rinopawo ruzivo rwakadzama.
ESP32-DevKitM-1 ndeye ESP32-MINI-1 (1U)-yakavakirwa bhodhi bhodhi rakagadzirwa neEspressif. Mazhinji emapini eI/O akatsemurwa kumisoro yepini pamativi ese kuti ive nyore kupindirana. Vashandisi vanogona kubatanidza peripherals nejumper waya kana kukwira ESP32-DevKitM-1 pabhodhi rechingwa.

Espressif Systems

9 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

ESP32-DevKitM-1 - pamberi

ESP32-DevKitM-1 - isometric

Gwaro rine zvikamu zvikuru zvinotevera: · Kutanga: Rinopa pamusoroview yeESP32-DevKitM-1 uye hardware/software setup mirairo kuti utange. · Hardware referensi: Inopa rumwe ruzivo rwakadzama nezve ESP32-DevKitM-1ns hardware. · Zvinyorwa zvinoenderana: Inopa zvinongedzo kune zvine hukama documentaiton.

Kutanga Ichi chikamu chinotsanangura maitiro ekutanga neESP32-DevKitM-1. Inotanga nezvikamu zvishoma zvekusuma nezve ESP32-DevKitM-1, ipapo Chikamu Chekutanga Chikumbiro Chikumbiro chinopa mirairo yemaitirwo ekutanga kuseta hardware uyezve maitiro ekuvheneka firmware paESP32-DevKitM-1.

Overview Iri ibhodhi diki uye rakanakira kusimudzira iro rinoratidzira:
· ESP32-MINI-1, kana ESP32-MINI-1U module · USB-to-serial programming interface inopawo magetsi kubhodhi · pini misoro · mabhatani ekugadzirisa zvakare uye activation yeFirmware Download mode · zvimwe zvishoma zvimwe zvikamu.

Zviri mukati uye Packaging

Retail orders Kana iwe ukaraira mashoma sampLes, ESP32-DevKitM-1 yega yega inouya mune imwe pasuru mune antistatic bag kana chero kurongedza zvinoenderana nemutengesi wako.
Kuti uwane maodha ezvitoro, ndapota enda ku https://www.espressif.com/en/contact-us/get-samples.

Wholesale Orders Kana iwe ukahodha muhuwandu, mabhodhi anouya ari makuru makadhibhokisi mabhokisi. Kuti uwane maodha akazara, ndapota enda ku https://www.espressif.com/en/contact-us/sales-questions.

Tsanangudzo yeZvikamu Iyi inotevera nhamba uye tafura iri pazasi inotsanangura zvakakosha zvikamu, machinjiro uye zvidzoreso zveESP32-DevKitM-1 bhodhi. Isu tinotora bhodhi neESP32-MINI-1 module se example muzvikamu zvinotevera.

Espressif Systems

10 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Mufananidzo 6: ESP32-DevKitM-1 - mberi

Key Component On-board module
5 V kusvika 3.3 V LDO Boot Button
Reset Bhatani Micro-USB Port
USB-ku-UART Bridge 3.3 V Simba Pa LED
I/O Chibatanidza

Tsanangudzo
ESP32-MINI-1 module kana ESP32-MINI-1U module. ESP32-MINI-1 inouya ne-on-board PCB antenna. ESP32-MINI-1U inouya neyekunze antenna yekubatanidza. Iwo ma module maviri ese ane 4 MB flash mune chip package. Kuti uwane rumwe ruzivo, ndapota ona ESP32-MINI-1 & ESP32-MINI-1U Datasheet.
Simba regulator rinoshandura 5 V kusvika 3.3 V.
Dhaunirodha bhatani. Kubata pasi Bhoot wobva wadzvanya Reset kunotanga Firmware Download mode yekurodha firmware kuburikidza neserial port.
Reset Bhatani
USB interface. Simba rekupa bhodhi pamwe nekutaurirana pakati pekombuta neESP32 chip.
Imwe USB-UART bhiriji chip inopa kutamisa mitengo kusvika ku3 Mbps.
Inobatidza kana USB yabatanidzwa kubhodhi. Kuti uwane rumwe ruzivo, ndapota ona schematics mune Related Documents. Mapini ese aripo eGPIO (kunze kwebhazi reSPI reflash) akatsemurwa kune misoro yepini pabhodhi. Vashandisi vanogona kuronga ESP32 chip kugonesa akawanda mabasa.

Tanga Kuvandudza Chikumbiro Usati wasimbisa ESP32-DevKitM-1 yako, ndapota ita shuwa kuti iri muchimiro chakanaka pasina zviratidzo zviri pachena zvekukuvara.
Inodiwa Hardware · ESP32-DevKitM-1 · USB 2.0 tambo (Standard-A kusvika Micro-B) · Computer inomhanya Windows, Linux, kana macOS
Software Setup Ndokumbira uenderere mberi kuti utange, uko Chikamu Kuiswa kuchakurumidza kukubatsira kumisa nharaunda yekusimudzira uye wobva wavheneka application ex.ampenda kune yako ESP32-DevKitM-1.

Espressif Systems

11 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Chenjerera: ESP32-DevKitM-1 mabhodhi akagadzirwa pamberi paZvita 2, 2021 ane imwechete yakakosha module yakaiswa. Kuti uone kuti ndeipi module yaunayo, ndapota tarisa ruzivo rwemodule yekumaka muPCN-2021-021. Kana bhodhi rako riine imwechete core module yakaiswa, ndapota gonesa single core mode (CONFIG_FREERTOS_UNICORE) mumenuconfig usati wavheneka maapplication ako.
Hardware Reference Block Diagram A block diagram pazasi inoratidza zvikamu zveESP32-DevKitM-1 nekubatana kwavo.

Mufananidzo 7: ESP32-DevKitM-1
Simba Source Sarudza Pane nzira nhatu dzakasarudzika dzekupa simba kubhodhi: · Micro USB port, default magetsi magetsi · 5V uye GND header pini · 3V3 uye GND header pini.
Yambiro: · Simba remagetsi rinofanirwa kupihwa uchishandisa imwe chete uye imwe chete yesarudzo dziri pamusoro, zvikasadaro bhodhi uye/kana sosi yemagetsi inogona kukuvara. · Simba rekupa ne micro USB port inokurudzirwa.

Tsanangudzo yePini Tafura iri pazasi inopa Zita neBasa remapini pamativi ese ebhodhi. Nekumisikidzwa kwepini, ndapota tarisa kuESP32 Datasheet.

Aihwa.

Zita

Type

1

GND

P

2

3V3

P

Basa Ground 3.3 V magetsi ekupa

inoenderera mberi papeji inotevera

Espressif Systems

12 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Tafura 2 inoenderera mberi kubva papeji yapfuura

Aihwa.

Zita

Type

Function

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

Reset; High: gonesa; Low: magetsi adzima

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 crystal oscillator kupinza),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

I/O

GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator kubuda),

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, MMS, HSPICLK,

HS2_CLK, SD_CLK, EMAC_TXD2

16

5V

P

5 V simba rekupa

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

Hardware Revision Details Hapana shanduro yapfuura iripo.
Related Documents
ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Schematics (PDF) · ESP32-DevKitM-1 PCB marongerwo (PDF) · ESP32-DevKitM-1 marongerwo (DXF) – Unogona view iyo neAutodesk Viewer online · ESP32 Datasheet (PDF) · ESP Product Selector
Kune mamwe magwaro ekugadzira ebhodhi, ndapota taura nesu pa sales@espressif.com.

Espressif Systems

13 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
1.2.2 Software
Kutanga kushandisa ESP-IDF paESP32, isa software inotevera: · Toolchain yekuunganidza kodhi yeESP32 · Vaka maturusi - CMake uye Ninja kuvaka Chikumbiro chakazara cheESP32 · ESP-IDF iyo ine API (software raibhurari uye sosi kodhi) yeESP32 uye zvinyorwa zvekushandisa Toolchain.

1.3 Kuiswa
Kuisa software yese inodiwa, tinopa dzimwe nzira dzakasiyana dzekufambisa basa iri. Sarudza kubva kune imwe yezvisarudzo zviripo.
1.3.1 IDE

Cherechedza: Isu tinokurudzira zvikuru kuisa ESP-IDF kuburikidza neIDE yako yaunofarira.
Eclipse Plugin · VSCode Extension

1.3.2 Manual Kuisa
Kune iyo manyore maitiro, ndapota sarudza zvinoenderana neyako yekushandisa system.

Espressif Systems

14 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Standard Setup yeToolchain yeWindows
Nhanganyaya ESP-IDF inoda mamwe maturusi anodiwa kuti aiswe kuitira kuti ugone kuvaka firmware yemachipisi anotsigirwa. Zvishandiso zvinotarisirwa zvinosanganisira Python, Git, cross-compilers, CMake uye Ninja kuvaka maturusi. Kune iyi Kutanga taizoshandisa Command Prompt, asi mushure mekunge ESP-IDF yaiswa unogona kushandisa Eclipse Plugin kana imwe graphical IDE ine CMake rutsigiro panzvimbo. Ongorora: Mipimo: - Nzira yekuisa yeESP-IDF uye ESP-IDF Zvishandiso haifanire kunge yakareba kupfuura mavara makumi mapfumbamwe. Nzira dzekuisa dzakarebesa dzinogona kukonzera kutadza kuvaka. -Iyo nzira yekuisa yePython kana ESP-IDF haifanirwe kunge iine nzvimbo chena kana maparentheses. -Nzira yekuisa yePython kana ESP-IDF haifanirwe kunge iine mavara akakosha (asiri ASCII) kunze kwekunge sisitimu yekushandisa yakagadziriswa neOUnicode UTF-8psupport. System Administrator inogona kugonesa rutsigiro kuburikidza neKudzora Panel - Shandura zuva, nguva, kana nhamba mafomati - Administrative tab - Shandura sisitimu yenzvimbo - tarisa sarudzo oBeta: Shandisa Unicode UTF-8 yepasi rose tsigiro yemutauro - Ok uye tangazve komputa.
ESP-IDF Zvishandiso Installer Nzira iri nyore yekuisa ESP-IDFns prerequisites ndeyekudhawunirodha imwe yeESP-IDF Zvishandiso Installers.

Windows Installer Dhawunirodha
Chii chinoshandiswa paInternet uye Offline Installer Online Installer idiki kwazvo uye inobvumira kuisirwa kwese kuburitswa kunowanikwa kweESP-IDF. Iyo yekuisa inongodhawunirodha inodiwa inotsamira inosanganisira Git YeWindows panguva yekuisa maitiro. Zvitoro zvekuisa zvakadhaunirodwa files mune cache dhairekitori % userprofile%. espressif
Offline Installer haidi chero network yekubatanidza. Iyo yekuisa ine zvese zvinodiwa zvinotsamira kusanganisira Git YeWindows.
Zvikamu zvekuisa Iyo installer inoshandisa zvinotevera zvikamu:
· Embedded Python · Cross-compilers · OpenOCD · CMake uye Ninja kuvaka maturusi · ESP-IDF
Iyo yekuisa inobvumira zvakare kushandisa dhairekitori iripo neESP-IDF. Dhairekitori rinokurudzirwa ndeye % userprofile% Desktopesp-idf uko % userprofile% ndiro dhairekitori rako repamba.

Espressif Systems

15 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Kutangisa ESP-IDF Nzvimbo Pakupera kwegadziriro yekuisa iwe unogona kutarisa sarudzo Mhanya ESP-IDF PowerShell Nzvimbo kana Mhanya ESP-IDF Command Prompt (cmd.exe). Iyo yekuisa ichavhura ESP-IDF nharaunda mune yakasarudzwa nekukurumidza. Mhanya ESP-IDF PowerShell Nzvimbo:

Mufananidzo 8: Kuzadza ESP-IDF Tools Setup Wizard ine Run ESP-IDF PowerShell Environment.
Mhanya ESP-IDF Command Prompt (cmd.exe):
Kushandisa Command Prompt Kune asara ekutanga matanho, taizoshandisa Windows Command Prompt. ESP-IDF Zvishandiso Installer inogadzirawo nzira yekudimbudzira muKutanga menyu kuvhura ESP-IDF Command Prompt. Iyi nzira yekudimbudzira inovhura Command Prompt (cmd.exe) uye inomhanyisa export.bat script kumisikidza nharaunda zvinosiyana (PATH, IDF_PATH nezvimwe). Mukati meiyi yekuraira kukurumidza, ese akaiswa maturusi anowanikwa. Ziva kuti iyi nzira yekudimbudzira yakanangana neiyo ESP-IDF dhairekitori yakasarudzwa muESP-IDF Tools Installer. Kana uine akawanda ESP-IDF madhairekitori pakombuta (yeexample, kushanda neshanduro dzakasiyana dzeESP-IDF), une sarudzo mbiri dzekudzishandisa:
1. Gadzira kopi yenzira yekudimbudzira yakagadzirwa neESP-IDF Tools Installer, uye shandura dhairekitori rekushanda renzira yekudimbudzira kuESP-IDF dhairekitori raunoda kushandisa.
2. Neimwe nzira, mhanya cmd.exe, wozochinja kuESP-IDF dhairekitori yaunoda kushandisa, uye mhanya export.bat. Ziva kuti kusiyana nesarudzo yapfuura, nzira iyi inoda kuti Python neGit ivepo muPATH. Kana iwe ukawana zvikanganiso zvine chekuita nePython kana Git isiri kuwanikwa, shandisa yekutanga sarudzo.
Matanho ekutanga paESP-IDF Zvino sezvo zvese zvinodiwa zvazadzikiswa, musoro unotevera uchakutungamira kuti ungatanga sei chirongwa chako chekutanga.

Espressif Systems

16 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga Fig. 9: ESP-IDF PowerShell

Fig. 10: Kuzadza ESP-IDF Tools Setup Wizard with Run ESP-IDF Command Prompt (cmd.exe)

Espressif Systems

17 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Mufananidzo 11: ESP-IDF Command Prompt

Espressif Systems

18 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Gwaro iri richakubatsira pamatanho ekutanga uchishandisa ESP-IDF. Tevedza gwara iri kuti utange purojekiti nyowani paESP32 uye uvake, penya, uye utarise kubuda kwemudziyo. Cherechedza: Kana usati waisa ESP-IDF, ndapota enda kuInstalation uye tevera rairo kuitira kuti uwane software yese inodiwa kushandisa gwara iri.

Tanga chirongwa Iye zvino wagadzirira kugadzirira chikumbiro chako cheESP32. Unogona kutanga nekutanga/hello_world chirongwa kubva kune exampLes directory muESP-IDF.
Zvakakosha: Iyo ESP-IDF yekuvaka system haitsigire nzvimbo munzira dzekuenda kuESP-IDF kana kumapurojekiti.
Kopa purojekiti yekutanga/hello_world ku ~/esp dhairekitori: cd% userprofile% esp xcopy /e /i %IDF_PATH% examplesget-startedhello_world kwaziwai_nyika
Cherechedza: Kune huwandu hwe example mapurojekiti mune exampLes directory muESP-IDF. Unogona kukopa chero purojekiti nenzira imwechete seyakaratidzwa pamusoro uye woimhanyisa. Zvinogoneka zvakare kugadzira examples in-place usina kutanga waakopa.

Batanidza Chishandiso Chako Iye zvino batanidza ESP32 board yako kukombiyuta uye tarisa pasi peiyo serial port iyo bhodhi inoonekwa. Mazita echiteshi cheseri anotanga neCOM muWindows. Kana usina chokwadi chekutarisa zita rechiteshi, ndapota tarisa kuGadzira Serial Connection neESP32 kuti uwane zvizere.
Ongorora: Chengeta zita rechiteshi riri nyore sezvauchazorida mumatanho anotevera.

Gadzirisa Projekiti Yako Enda kune yako hello_world dhairekitori, isa ESP32 sechinangwa, uye mhanyisa purojekiti yekumisikidza utility menuconfig.
Windows cd% userprofile%esphello_world idf.py set-target esp32 idf.py menuconfig
Mushure mekuvhura chirongwa chitsva, unofanira kutanga waisa chinangwa neidf.py set-target esp32. Ziva kuti zviripo zvinovaka uye zvigadziriso mupurojekiti, kana zviripo, zvichacheneswa uye zvinotangwa mukuita uku. Chinangwa chinogona kuchengetwa mukuchinja kwenharaunda kuti usvetuke danho iri zvachose. Ona Sarudza Target Chip: set-target kuti uwane rumwe ruzivo. Kana matanho apfuura akaitwa nemazvo, menyu anotevera anooneka: Uri kushandisa menyu kumisa mapurojekiti akasiyana, semuenzaniso, zita retiweki yeWi-Fi nepassword, kumhanya kweprosesa, zvichingodaro.ample inomhanya ine default configuration.
Chenjerera: Kana ukashandisa ESP32-DevKitC bhodhi ine ESP32-SOLO-1 module, kana ESP32-DevKitM-1 bhodhi ine ESP32-MIN1-1 (1U) module, ndapota gonesa single core mode (CONFIG_FREERTOS_UNICORE) mumenuconfig isati yapenya ex.amples.

Espressif Systems

19 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Mufananidzo 12: Kugadziriswa kweprojekti - Hwindo repamba
Cherechedza: Mavara emenyu anogona kunge akasiyana mune yako terminal. Iwe unogona kushandura chitarisiko nesarudzo -style. Ndokumbira umhanye idf.py menuconfig -help kuti uwane rumwe ruzivo.
Kana iwe uri kushandisa imwe yemabhodhi anotsigirwa ekusimudzira, unogona kukurumidzira budiriro yako uchishandisa Board Support Package. Ona Mamwe Mazano kuti uwane rumwe ruzivo.
Vakai Project Vakai purojekiti nekumhanya:
idf.py kuvaka
Uyu murairo uchaunganidza chikumbiro uye ese ESP-IDF zvikamu, zvino ichagadzira iyo bootloader, tafura yekuparadzanisa, uye mabhinari ekushandisa.
$ idf.py kuvaka Inomhanya cmake mudhairekitori / nzira/ku/hello_world/kuvaka Kuita "cmake -G Ninja -warn-uninitialized /path/to/hello_world"… Yambiro pamusoro pehunhu husina kutanga. - Yakawanikwa Git: /usr/bin/git (yakawanikwa vhezheni "2.17.0") - Kuvaka isina chinhu aws_iot chikamu nekuda kwekumisikidzwa - Mazita echikamu: ... - Nzira dzechikamu: ...
... (mimwe mitsara yekuvaka system inobuda)
[527/527] Kugadzira hello_world.bin esptool.py v2.3.1
Kuvakwa kweprojekiti kwapera. Kupenya, shandisa murairo uyu: ../../../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. bhini kuvaka 0x1000 kuvaka/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin kana kumhanya 'idf.py -p PORT flash'
Kana pasina zvikanganiso, kuvaka kuchapedza nekugadzira iyo firmware binary .bin files.

Espressif Systems

20 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Flash paChishandiso Chengetedza mabhinari auchangobva kuvaka (bootloader.bin, partition-table.bin uye hello_world.bin) pabhodhi rako reESP32 nekumhanya: idf.py -p PORT [-b BAUD] flash
Tsiva PORT neESP32 boardns serial port zita. Iwe unogona zvakare kushandura iyo flasher baud mwero nekutsiva BAUD neiyo baud rate yaunoda. Chiyero chebaud chinogara chiri 460800. Kuti uwane rumwe ruzivo nezve idf.py nharo, ona idf.py.
Ongorora: Iyo sarudzo flash inovaka uye inopenya purojekiti, saka kumhanya idf.py kuvaka hakudiwi.

Wakasangana Nematambudziko Paunenge Uchipenya? Kana iwe ukamhanyisa wakapihwa kuraira uye woona zvikanganiso zvakadai asoFailed to connectp, panogona kunge paine zvikonzero zvakati wandei zveizvi. Chimwe chezvikonzero chinogona kunge chiri nyaya dzakasangana ne esptool.py, iyo inoshandiswa iyo inonzi negadziriro yekuvaka kugadzirisa chip, kupindirana neROM bootloader, uye flash firmware. Imwe mhinduro yakapusa yekuedza ndeye kusetazve nemanyorero kunotsanangurwa pazasi, uye kana zvikasakubatsira iwe unogona kuwana rumwe ruzivo nezve zvinobvira nyaya mu Troubleshooting.
esptool.py inogadzirisa ESP32 otomatiki nekutaura kuti DTR neRTS inodzora mitsara ye USB kune serial converter chip, kureva, FTDI kana CP210x (kuti uwane rumwe ruzivo, ona Gadzira Serial Connection neESP32). Iyo DTR neRTS mitsara yekutonga inozobatana neGPIO0 uye CHIP_PU (EN) pini dzeESP32, nekudaro shanduko muvol.tage mazinga eDTR uye RTS achatanga ESP32 muFirmware Download mode. Sezvo example, tarisa schematic yeESP32 DevKitC yekuvandudza bhodhi.
Kazhinji, haufanirwe kunge uine matambudziko neiyo official esp-idf mabhodhi ekuvandudza. Nekudaro, esptool.py haikwanise kusetazve hardware yako otomatiki mune zvinotevera kesi:
· Hardware yako haina mitsara yeDTR neRTS yakabatana neGPIO0 neCHIP_PU · Iyo DTR neRTS mitsetse yakagadziridzwa zvakasiyana.
Zvichienderana nerudzi rwehardware yauinayo, zvinogona zvakare kugoneka kuisa yako ESP32 board muFirmware Download mode (reset).
· Kumabhodhi ekuvandudza anogadzirwa neEspressif, ruzivo urwu runogona kuwanikwa mune mamwe magwara ekutanga kana madhairekitori evashandisi. For example, kuti uisezve bhodhi rekuvandudza ESP-IDF, bata bhatani reBoot (GPIO0) wodzvanya bhatani reEN (CHIP_PU).
· Kune mamwe marudzi ehardware, edza kudhonzera GPIO0 pasi.

Zvakajairwa Kushanda Paunenge uchipenya, iwe uchaona iyo yekubuda log yakafanana neinotevera:
… esptool.py -chip esp32 -p /dev/ttyUSB0 -b 460800 -before=default_reset -after=hard_reset write_flash -flash_mode dio -flash_freq 40m -flash_size 2MB 0x8000 partition_table/load0booterx0bootertable.0 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Connecting…….._ Chip is ESP32D0WDQ6 (kudzokorora 0) Zvimiro: WiFi, BT, Dual Core, Coding Scheme Hapana Crystal iri 40MHz MAC: 24 : 24: 0b4: Kukwidza Rukudzo… stub… Stub running... Kuchinja baud rate kusvika 460800 Changed.
(inoenderera papeji inotevera)

Espressif Systems

21 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
(inoenderera kubva papeji yapfuura) Kugadzirisa flash size… Yakadzvanywa 3072 bytes kusvika 103… Kunyora pa 0x00008000… (100 %) Vakanyora 3072 bytes (103 yakamanikidzwa) pa 0x00008000 mumasekonzi 0.0 (inoshanda 8… Yakadzvanywa 26096 bytes kusvika 15408… Kunyora pa 0x00001000… (100 %) Vakanyora 26096 bytes (15408 compressed) pa 0x00001000 mumasekonzi 0.4 (inoshanda 546.7 kbit/s data)… Yakadzvanywa 147104 bytes kusvika 77364… Kunyora pa 0x00010000… (20 %) Kunyora pa 0x00014000… (40 %) Kunyora pa 0x00018000… (60 %) Kunyora pa 0x0001c0 (Writing at 0x0001c0) 0x00020000… (100 %) Akanyora 147104 bytes (77364 compressed) at 0x00010000 mumasekonzi 1.9 (inoshanda 615. 5 kbit/s)… Hashi yedata yakasimbiswa.
Kusiya… Kugadzirisa zvakaoma kuburikidza neRTS pin… Zvaita
Kana pasina nyaya pakupera kweiyo flash process, bhodhi rinotangazve uye kutanga theohello_worldpapplication. Kana iwe uchida kushandisa Eclipse kana VS Code IDE panzvimbo yekumhanya idf.py, tarisa Eclipse Plugin, VSCode Extension.
Tarisa Kubuda Kuti utarise kana ohello_worldpis ichimhanya, nyora idf.py -p PORT monitor (Usakanganwa kutsiva PORT nezita rako rechiteshi).
Uyu murairo unotanga iyo IDF Monitor application:
$ idf.py -p monitor Kumhanya idf_monitor mudhairekitori […]/esp/hello_world/build Kuita “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Siya: Ctrl+] | Menyu: Ctrl+T | Rubatsiro: Ctrl+T ichiteverwa neCtrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET), boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 ...
Mushure mekutanga uye yekuongorora matanda kukwira kumusoro, iwe unofanirwa kuona oHello world! yakadhindwa neapp.
… Mhoro nyika! Inotangazve mumasekonzi gumi… Iyi esp32 chip ine 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB yekunze flash Yakaderera murwi wemasaizi: 298968 bytes Inotangazve mumasekonzi 9… Ichitanga zvakare mumasekonzi masere… Ichitanga zvakare mumasekonzi manomwe…
Kubuda IDF yekutarisa shandisa nzira yekudimbudzira Ctrl+].

Espressif Systems

22 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Kana IDF yekutarisa ikatadza nguva pfupi yadarika kurodha, kana, kana panzvimbo yemameseji ari pamusoro, ukaona marara asina kurongeka akafanana neakapihwa pazasi, bhodhi rako rinogona kushandisa 26 MHz crystal. Mazhinji madhizaini ebhodhi ekuvandudza anoshandisa 40 MHz, saka ESP-IDF inoshandisa iyi frequency seyakasarudzika kukosha.

Kana uine dambudziko rakadaro, ita zvinotevera: 1. Buda mumonitor. 2. Dzokera ku menuconfig. 3. Enda kuComponent config > Hardware Settings > Main XTAL Config > Main XTAL frequency, wozoshandura CONFIG_XTAL_FREQ_SEL kusvika 26 MHz. 4. Mushure mezvo, kuvaka uye kupenya kushandiswa zvakare.
Mune yazvino vhezheni yeESP-IDF, main XTAL frequency anotsigirwa neESP32 ndeaya anotevera:
26 MHz · 40 MHz
Cherechedza: Unogona kusanganisa kuvaka, kupenya uye kutarisa kuita nhanho imwe nekumhanya: idf.py -p PORT flash monitor.
Onawo: · IDF Monitor kune mapfupi anobatsira uye zvimwe zvakawanda zvekushandisa IDF monitor. · idf.py yereferensi yakazara yemirairo yeidf.py uye sarudzo.
Ndizvo zvese zvaunoda kuti utange neESP32! Iye zvino wagadzirira kuedza imwe examples, kana kuti enda wakananga kukugadzira ako maapplication.
Zvinokosha: Zvimwe zvekareamples haitsigire ESP32 nekuti hardware inodiwa haina kuisirwa muESP32 saka haigone kutsigirwa. Kana kugadzira example, ndapota tarisa README file nokuda kwetafura yeZvinangwa Zvinotsigirwa. Kana izvi zviripo zvinosanganisira ESP32 target, kana tafura isipo zvachose, example ichashanda paESP32.
Mamwe Mazano
Mvumo nyaya /dev/ttyUSB0 Nekumwe kugoverwa kweLinux, unogona kuwana Yakundikana kuvhura port /dev/ttyUSB0 mhosho meseji paunenge uchipenya ESP32. Izvi zvinogona kugadziriswa nekuwedzera mushandisi aripo kuboka redhiyabhorosi.
Python inoenderana ESP-IDF inotsigira Python 3.7 kana nyowani. Zvinokurudzirwa kukwidziridza sisitimu yako yekushandisa kune yazvino vhezheni inogutsa ichi chinodiwa. Dzimwe sarudzo dzinosanganisira kuiswa kwePython kubva kune zvinyorwa kana kushandiswa kwePython version management system yakadai sepyenv.
Tanga neBhodhi Rutsigiro Package Kuti ukurumidze prototyping pane mamwe mabhodhi ekuvandudza, unogona kushandisa Bhodhi Tsigiro Packages (BSPs), izvo zvinoita kuti kutanga kweimwe bhodhi kuve nyore sekufona kwekuita mashoma.

Espressif Systems

23 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

A BSP inowanzo tsigira zvese zve Hardware zvinopihwa pabhodhi rekusimudzira. Kunze kwekutsanangurwa kwepinout uye mabasa ekutanga, ngarava dzeBSP dzine vatyairi vezvikamu zvekunze zvakadai sema sensors, zviratidzo, audio codecs etc. I-BSPs inoparadzirwa kuburikidza ne IDF Component Manager, saka inogona kuwanikwa mu IDF Component Registry. Herens an exampMaitiro ekuwedzera ESP-WROVER-KIT BSP kupurojekiti yako: idf.py wedzera-kutsamira esp_wrover_kit
Zvimwe exampmashoma ekushandiswa kweBSP anogona kuwanikwa muBSP examples folder.
Zvinyorwa zvinoenderana Nevashandisi vepamberi vanoda kugadzirisa maitiro ekuisa: · Kuvandudza ESP-IDF maturusi paWindows · Gadzira Serial Connection neESP32 · Eclipse Plugin · VSCode Extension · IDF Monitor
Kuvandudza ESP-IDF zvishandiso paWindows
Isa ESP-IDF zvishandiso uchishandisa script Kubva paWindows Command Prompt, chinja kune dhairekitori panoiswa ESPIDF. Wobva wamhanya:
install.bat
Kune Powershell, shandura kune dhairekitori panoiswa ESP-IDF. Wobva wamhanya:
install.ps1
Izvi zvichadhawunirodha uye kuisa maturusi anodiwa kushandisa ESP-IDF. Kana iyo chaiyo vhezheni yechishandiso yakatoiswa, hapana danho richatorwa. Zvishandiso zvinotorwa uye kuiswa mudhairekitori rakatsanangurwa panguva yeESP-IDF Zvishandiso Kuisa maitiro. Nekusagadzika, iyi inonzi C:Userusesername.espressif.
Wedzera maturusi eESP-IDF kuPATH uchishandisa chinyorwa chekutumira kunze ESP-IDF maturusi ekuisa inogadzira nzira yekudimbudzira menyu yeOESP-IDF Command Promptp. Iyi nzira yekudimbudzira inovhura hwindo reCommand Prompt uko maturusi ese atove
iripo. Mune zvimwe zviitiko, ungangoda kushanda neESP-IDF muhwindo reCommand Prompt iro risina kutanga kushandisa nzira pfupi. Kana zviri izvo, tevera mirairo iri pazasi kuti uwedzere ESP-IDF zvishandiso kuPATH. Mukuraira kwekukurumidza kwaunoda kushandisa ESP-IDF, chinja kune dhairekitori panoisirwa ESP-IDF, wobva waita export.bat:
cd % userprofile%espesp-idf export.bat
Neimwe nzira muPowershell paunoda kushandisa ESP-IDF, chinja kudhairekitori panoiswa ESP-IDF, wobva waisa export.ps1:
cd ~/esp/esp-idf export.ps1
Kana izvi zvaitwa, zvishandiso zvichave zviripo mune ino yekuraira kukurumidza.
Gadzira Serial Connection neESP32 Ichi chikamu chinopa gwara maitiro ekutanga serial kubatana pakati peESP32 nePC.

Espressif Systems

24 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Batanidza ESP32 kuPC Batanidza ESP32 board kuPC uchishandisa USB tambo. Kana mutyairi wemudziyo akasaisa otomatiki, tsvaga USB kune serial inoshandura chip pane yako ESP32 board (kana yekunze inoshandura dongle), tsvaga madhiraivha muinternet woaisa. Pazasi pane runyorwa rwe USB kune serial converter machipisi akaiswa pane mazhinji eESP32 mabhodhi anogadzirwa neEspressif pamwe chete nezvinongedzo kune vatyairi:
· CP210x: CP210x USB kuUART Bridge VCP Vatyairi · FTDI: FTDI Virtual COM Port Drivers Ndokumbira utarise bhodhi mushandisi gwara kune chaiyo USB kune serial converter chip inoshandiswa. Madhiraivha ari pamusoro apa anonyanya kutariswa. Mumamiriro ezvinhu akajairwa, madhiraivha anofanirwa kuunganidzwa neanoshanda sisitimu uye otomatiki akaiswa pakubatanidza bhodhi kuPC.
Tarisa chiteshi paWindows Tarisa rondedzero yeakazivikanwa COM ports muWindows Device Manager. Bvisa ESP32 woibatanidza zvakare, kuti uone kuti ndeipi chiteshi inonyangarika kubva pane iyo rondedzero uye wozoratidza kudzoka zvakare. Mifananidzo iri pazasi inoratidza serial port yeESP32 DevKitC uye ESP32 WROVER KIT

Mufananidzo 13: USB kuUART bhiriji reESP32-DevKitC muWindows Device Manager

Tarisa chiteshi paLinux uye macOS Kuti utarise zita remudziyo weiyo serial port yeESP32 board yako (kana yekunze inoshandura dongle), mhanyisa uyu murairo kaviri, kutanga nebhodhi / dongle isina kuvharwa, wozobatirwa mukati. Chiteshi chinoonekwa kechipiri ndicho chaunoda: Linux
ls /dev/tty*
macOS

Espressif Systems

25 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Fig. 14: Two USB Serial Ports yeESP-WROVER-KIT muWindows Device Manager

Espressif Systems

26 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

ls /dev/cu.* Cherechedza: vashandisi veMacOS: kana usingaone serial port wobva watarisa kuti une USB/serial drivers akaiswa. Ona Chikamu Batanidza ESP32 kuPC kuti uwane zvinongedzo kune vatyairi. Kune macOS High Sierra (10.13), iwe unogona zvakare kubvumidza zvakajeka madhiraivha kuti atakure. Vhura Zvido zveSystem -> Chengetedzo & Yakavanzika -> Zvakawanda uye tarisa kana paine meseji inoratidzwa pano nezve oSystem Software kubva kune mugadziri lppako zita remugadziri ndiSilicon Labs kana FTDI.

Kuwedzera mushandisi kudhizaina paLinux Mushandisi akanyorwa parizvino anofanirwa kunge akaverenga nekunyora kuwana serial port pamusoro pe USB. Pakugoverwa kweLinux kwakawanda, izvi zvinoitwa nekuwedzera mushandisi kuboka redhiyabhorosi nemurairo unotevera:
sudo usermod -a -G dialout $USER
paArch Linux izvi zvinoitwa nekuwedzera mushandisi kune uucp boka nemurairo unotevera:
sudo usermod -a -G uucp $USER
Ita shuwa kuti wapinda zvakare kuti ugone kuverenga nekunyora mvumo yeiyo serial port.
Verify serial connection Iye zvino simbisa kuti serial yekubatanidza iri kushanda. Iwe unogona kuita izvi uchishandisa serial terminal chirongwa nekutarisa kana iwe ukawana chero chinobuda pane terminal mushure mekugadzirisa ESP32. Iyo default console baud mwero paESP32 ndeye 115200.
Windows neLinux Mune iyi exampisu tichashandisa PuTTY SSH Client iyo inowanikwa kune ese Windows neLinux. Iwe unogona kushandisa mamwe serial zvirongwa uye kuseta kutaurirana paramita senge pazasi. Mhanya terminal uye isa yakazivikanwa serial port. Baud rate = 115200 (kana zvichidikanwa, shandura izvi kune default baud rate ye chip iri kushandiswa), data bits = 8, mira bits = 1, uye parity = N. Pazasi pane example zvidzitiro zvekuseta chiteshi uye akadai ekufambisa paramita (muchidimbu anotsanangurwa se 115200-8-1-N) paWindows neLinux. Rangarira kusarudza chaiyo serial port yawaona mumatanho ari pamusoro. Wobva wavhura serial port mune terminal uye tarisa, kana iwe ukaona chero danda rakadhindwa neESP32. Zviri mukati melogi zvinoenderana nechikumbiro chakaiswa kuESP32, ona Example Output.
Ongorora: Vhara iyo serial terminal mushure mekuona kuti kutaurirana kuri kushanda. Kana iwe ukachengeta iyo terminal seshi yakavhurika, iyo serial port ichave isingasvikike pakurodha firmware gare gare.

macOS Kuti uchengetedze iwe dambudziko rekuisa serial terminal chirongwa, macOS inopa iyo skrini yekuraira. · Sezvakakurukurwa muCheck port paLinux uye macOS, mhanya:

ls /dev/cu.* · Iwe unofanirwa kuona zvakafanana zvinobuda:

/dev/cu.Bluetooth-Incoming-Port /dev/cu.SLAB_USBtoUART USBtoUART7

/dev/cu.SLAB_

· Kubuda kunosiyana zvichienderana nerudzi uye huwandu hwemabhodhi akabatana nePC yako. Wobva watora zita remudziyo webhodhi rako uye mhanya (kana zvichidikanwa, shandura o115200 kusvika kune yakasarudzika baud mwero weiyo chip iri kushandiswa):

skrini /dev/cu.device_name 115200 Tsiva mudziyo_name nezita rinowanikwa richimhanya ls /dev/cu.*.

Espressif Systems

27 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Mufananidzo 15: Kuisa Serial Kukurukurirana muPuTTY paWindows

Espressif Systems

28 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Mufananidzo 16: Kuisa Serial Kukurukurirana muPuTTY paLinux

Espressif Systems

29 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
· Zvauri kutsvaga ndezvimwe danda rinoratidzwa nechidzitiro. Zviri mukati melogi zvinoenderana nechikumbiro chakaiswa kuESP32, ona Example Output. Kuti ubude muchikamu chechirongwa nyora Ctrl-A + .
Ongorora: Usakanganwa kubuda muchikamu chescreen mushure mekuona kuti kutaurirana kuri kushanda. Kana iwe ukatadza kuzviita uye ukangovhara iyo terminal hwindo, iyo serial port ichave isingagoneke pakurodha firmware gare gare.
Example Output An example log inoratidzwa pazasi. Gadzirisa bhodhi kana iwe usingaone chero chinhu. ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET), boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) boot: unganidza nguva 18:48:10

Kana iwe uchigona kuona inoverengeka log inobuda, zvinoreva kuti serial yekubatanidza iri kushanda uye wagadzirira kuenderera mberi nekuisa uye pakupedzisira kurodha application kuESP32.
Cherechedza: Kune mamwe serial port wiring magadzirirwo, serial RTS & DTR pini dzinoda kuvharwa muchirongwa chekupedzisira ESP32 isati yatanga uye kuburitsa serial kubuda. Izvi zvinoenderana nehardware pachayo, mazhinji mabhodhi ekuvandudza (kusanganisira ese Espressif mabhodhi) haana nyaya iyi. Nyaya iripo kana RTS & DTR yaiswa waya zvakananga kune EN & GPIO0 pini. Ona zvinyorwa zve esptool kuti uwane mamwe mashoko.
Kana wakasvika pano kubva paChikamu 5. Matanho Ekutanga paESP-IDF paunenge uchiisa s/w yeESP32 budiriro, zvino unogona kuenderera neNhanho 5. Matanho Ekutanga paESP-IDF.
IDF Monitor IDF Monitor inonyanya kuve serial terminal chirongwa chinoendesa serial data kuenda uye kubva kune yakanangwa michina serial port. Inopawo mamwe maIDF-chaiwo maficha. IDF Monitor inogona kutangwa kubva kuIDF chirongwa nekumhanyisa idf.py monitor.
Madimburiko eKibhodhi Kuti udyidzane zviri nyore neIDF Monitor, shandisa madimikira ekhibhodi akapihwa patafura.

Espressif Systems

30 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Keyboard Shortcut Ctrl+] Ctrl+T
Ctrl+T
Ctrl+] · Ctrl+P
Ctrl+R
Ctrl+F
Ctrl+A (kana A)
Ctrl+Y
Ctrl+L
Ctrl+I (kana ini)
Ctrl+H (kana H)
Ctrl+X (kana X)
Ctrl+C

Chiito

Tsanangudzo

Buda pachirongwa Menyu yekupukunyuka kiyi Tumira iyo menyu mavara pachayo kune kure
Tumira iyo yekubuda iyo pachayo kune kure
Gadzirisa chinangwa mubootloader kuti umbomira app kuburikidza neRTS mutsara
Gadzirisa bhodhi rechinangwa kuburikidza neRTS
Vaka uye vhenekera purojekiti

Vaka uye vhenekera app chete

Misa / tangazve log inobuda kudhinda pachiratidziro

Misa / tangazve log goho rakachengetwa file

Kumira/kutangazve nguvaamps

kudhinda

Ratidza zvidimburiko zve keyboard zvese

Dzvanya uye uitevere neimwe yemakiyi akapihwa pazasi.
Inogadzirisazve chinangwa, mubootloader kuburikidza neRTS mutsara (kana yakabatana), kuitira kuti bhodhi riite chinhu. Inobatsira kana iwe uchida kumirira imwe mudziyo kuti utange. Reseta bhodhi rinonangwa uye wotangazve application kuburikidza neRTS mutsara (kana yakabatana).
Imbomira idf_monitor kumhanyisa purojekiti flash target, yobva yatangazve idf_monitor. Chero shanduko yakashandurwa files anodzokororwa obva avhenekwa zvakare. Target encrypted-flash inomhanya kana idf_monitor yakatangwa nenharo -E. Imbomira idf_monitor kumhanyisa app-flash tarisiro, yobva yatangazve idf_monitor. Zvakafanana neiyo flash tarisiro, asi iyo huru app ndiyo inovakwa uye kupenya zvakare. Target encrypted-app-flash inomhanya kana idf_monitor yakatangwa nenharo -E. Inorasa ese anouya serial data uchiri activated. Inobvumira kukurumidza kumbomira uye kuongorora log inobuda pasina kusiya cheki. Anogadzira a file mune dhairekitori reprojekiti uye zvakabuda zvakanyorwa kune izvo file kudzamara izvi zvaremara nekapfupi keibhodhi (kana IDF Monitor inobuda). IDF Monitor inogona kudhinda nguvaamp pakutanga kwemutsara wega wega. Nguvaamp fomati inogona kuchinjwa ne -timestamp-format command line nharo.

Buda purogiramu

Dzorera kushanda kwekushandisa

Imbomira IDF Monitor uye mhanyisa GDB purojekiti debugger kugadzirisa application panguva yekumhanya. Izvi zvinoda :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME sarudzo kuti ibatiswe.

Chero makiyi akatsikirirwa, kunze kweCtrl-] uye Ctrl-T, anozotumirwa kuburikidza neserial port.

IDF-zvakananga maficha

Otomatiki Kero Decoding Pose ESP-IDF painoburitsa hexadecimal kodhi kero yefomu 0x4_____, IDF Monitor inoshandisa addr2line_ kutarisa nzvimbo mukodhi kodhi uye kutsvaga zita rebasa.
Kana ESP-IDF app ikaparara uye kuvhunduka, register dump uye backtrace inogadzirwa, senge zvinotevera:

Espressif Systems

31 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Guru Kufungisisa Kukanganisa kwemhando StoreProhibited yakaitika pa core 0. Kunze kwaive

isina kubatwa.

Register dump:

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

0x0000001d

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

0x00000000

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

IDF Monitor inowedzera mamwe mashoko kune yekurasa:

Guru Kufungisisa Kukanganisa kwemhando StoreProhibited yakaitika pa core 0. Kunze kwaive

isina kubatwa.

Register dump:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: do_something_to_crash pa /home/gus/esp/32/idf/exampzvishoma/kutanga/

mhoro_world/main/./hello_world_main.c:57

(inlined by) inner_dont_crash pa /home/gus/esp/32/idf/exampzvishoma/tanga/hello_

world/main/./hello_world_main.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 EXCCAUSE:

0x0000001d

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

0x00000000

Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (yakanyorwa ne) inner_dont_crash pa /home/gus/esp/32/idf/examples/get-start/hello_ world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash pa /home/gus/esp/32/idf/examples/get-start/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: dont_crash pa /home/gus/esp/32/idf/examples/get-start/hello_world/ chikuru/./hello_world_main.c:42 0x400dbf82: app_main pa /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task pa /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254

Kuti utore kero yega yega, IDF Monitor inomhanyisa murairo unotevera kumashure: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Cherechedza: Seta shanduko yenharaunda ESP_MONITOR_DECODE kuenda ku0 kana kufonera idf_monitor.py ine mutsara wekuraira.

Espressif Systems

32 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
sarudzo: idf_monitor.py -disable-address-decoding kudzima kero decoding.
Target Reset paConnection By default, IDF Monitor inogadzirisa zvakare chinangwa kana ichibatanidza kwairi. Kudzoreredzwa kweiyo tarisiro chip kunoitwa uchishandisa iyo DTR uye RTS serial mitsara. Kuti udzivise IDF Monitor kuti isagadzirise zvakare chinangwa pakubatanidza, fonera IDF Monitor ine -no-reset sarudzo (semuenzaniso, idf_monitor.py -no-reset).
Cherechedza: Iyo -no-reset sarudzo inoshandisa maitiro akafanana kunyangwe uchibatanidza IDF Monitor kune imwe chiteshi (semuenzaniso, idf.py monitor -no-reset -p [PORT]).
Kutangisa GDB neGDBStub GDBStub chinhu chinobatsira chekugadzirisa nguva inomhanya pane chinongedzo uye chinobatana nemugamuchiri pamusoro peseri port kuti ugamuchire mirairo yedebugging. GDBStub inotsigira mirairo yakadai sekuverenga ndangariro uye zvinoshanduka, kuongorora mafomati stack fremu nezvimwewo. Kunyangwe GDBStub isinganyanyi kuchinjika pane J.TAG debugging, haidi chero yakakosha hardware (senge JTAG ku USB bhiriji) sezvo kutaurirana kunoitwa zvachose pamusoro peiyo serial port. Chinangwa chinogona kugadzirwa kuti chiite GDBStub kumashure nekuseta CONFIG_ESP_SYSTEM_PANIC kuGDBStub panguva yekumhanya. GDBStub ichamhanya kumashure kusvika meseji yeCtrl+C yatumirwa pamusoro pechiteshi cheseri uye ichikonzera kuti GDBStub ityoke (kureva, kumisa kuitwa kwe) chirongwa, zvichibvumira GDBStub kubata mirairo yekubvisa. Uyezve, chibatiso chekuvhunduka chinogona kugadzirwa kuti chimhanye GDBStub pakuparara nekuisa CONFIG_ESP_SYSTEM_PANIC kuGDBStub nekuvhunduka. Kana tsaona yaitika, GDBStub inoburitsa yakakosha tambo patani pamusoro peiyo serial port kuratidza kuti iri kushanda. Muzviitiko zvese zviri zviviri (kureva, kutumira meseji yeCtrl+C, kana kugamuchira iyo yakakosha tambo patani), IDF Monitor inozovhura GDB yega kuitira kuti ibvumidze mushandisi kutumira mirairo yekubvisa. Mushure mekunge GDB yabuda, chinangwa chinogadzikwa patsva kuburikidza neRTS serial line. Kana mutsara uyu usina kubatana, vashandisi vanogona kugadzirisa chinangwa chavo (nekudzvanya mabhodhi Reset bhatani).
Ongorora: Kumashure, IDF Monitor inomhanyisa unotevera kuraira kuvhura GDB:
xtensa-esp32-elf-gdb -ex "set serial baud BAUD" -ex "chinangwa chiri kure PORT" -ex kuvhiringidza kuvaka/PROJECT.elf :idf_target:`Mhoro NAME chip`

Output Sefa IDF monitor inogona kushevedzwa se idf.py monitor -print-filter=”xyz”, uko -print-filter ndiyo parameter yekusefa. Iko kukosha kweiyo tambo isina chinhu, zvinoreva kuti zvese zvakadhindwa.
Zvirambidzo pane zvekudhinda zvinogona kutsanangurwa senhevedzano yetag>: zvinhu apotag> ndiye tag tambo uye hunhu kubva pakaseti {N, E, W, I, D, V, *} zvichireva nhanho yekutema matanda.
For exampmu, PRINT_FILTER=”tag1:W” inofananidza uye inodhinda chete zvakabuda zvakanyorwa neESP_LOGW(“tag1”, …) kana padanho rezwi repasi, kureva ESP_LOGE(“tag1″,…). Kwete kudoma a kana kushandisa * defaults kuVerbose level.
Ongorora: Shandisa matanda ekutanga kudzima pakuunganidza izvo zvausingade kuburikidza neraibhurari yekutema matanda. Kusefa yekubuda neIDF yekutarisa ndiyo yechipiri mhinduro inogona kubatsira kugadzirisa sarudzo dzekusefa pasina kudzoreredza application.
App yako tags haifanirwe kunge iine nzvimbo, asterisks *, kana makoroni : kuti ienderane neinobuda yekusefa.
Kana mutsara wekupedzisira wekubuda muapp yako ukasateverwa nekutakura kudzoka, iyo yekusefa inogona kuvhiringika, kureva kuti, monikiri inotanga kudhinda mutsara wozoona kuti mutsara haufanirwe kunge wakanyorwa. Iyi inyaya inozivikanwa uye inogona kudzivirirwa nekugara uchiwedzera chinodzosa chengoro (kunyanya kana pasina chinobuda chinotevera ipapo ipapo).

Espressif Systems

33 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
ExampMitemo yeKusefa:
· * inogona kushandiswa kuenzanisa chero tags. Zvakadaro, tambo PRINT_FILTER=”*:I tag1:E” maererano ne tag1 inodhinda zvikanganiso chete, nekuti mutemo we tag1 ine chinzvimbo chepamusoro pamusoro pemutemo we *.
· Iyo yakasarudzika (isina) mutemo wakaenzana ne *:V nekuti inofananidzira zvese tag paVerbose level kana pasi zvinoreva kuenzanisa zvese.
· “*:N” inodzvanyirira kwete chete zvakabuda kubva kumabasa ekutema matanda, asiwo maprints akaitwa neprintf, zvichingodaro. Kuti udzivise izvi, shandisa *:E kana nhanho yepamusoro yeverbosity.
· Mitemo "tag1:V”,tag1:v”,tag1:”,tag1:*”, uye “tag1” akaenzana. · Rule “tag1:W tag1:E" inofanana ne"tag1:E” nekuti chero mhedzisiro yakaitika zvakafanana tag
zita rinobvisa rekare. · Rule”tag1:I tag2:W” anodhinda chete tag1 paInfo verbosity level kana pasi uye tag2 paYambiro
verbosity level kana pasi. · Rule”tag1:I tag2:W tag3:N” inongoenzana neyakapfuura nekuti tag3:N inotsanangura
kuti tag3 haifaniri kudhindwa. · tag3:N mumutemo "tag1:I tag2:W tag3:N *:V” inechirevo chikuru nekuti pasina tag3:N iye
tagmameseji matatu angadai akadhindwa; zvikanganiso zve tag1 uye tag2 ichadhindwa pane yakatsanangurwa (kana yakaderera) verbosity level uye zvimwe zvese zvichadhindwa nekusingaperi.
Imwe Yakaomarara Kusefa Example Inotevera log snippet yakawanikwa pasina chero sarudzo dzekusefa:
load:0x40078000,len:13564 entry 0x40078d4c E (31) esp_image: mufananidzo pa 0x30000 une magic byte W (31) esp_image: mufananidzo pa 0x30000 hauna SPI modhi 255 E (39 Factorable app is568) cpu_start: Pro cpu kumusoro. Ini (569) murwi_init: Kutanga. RAM inowanika pakugoverwa kwesimba: I (603) cpu_start: Pro cpu start user code D (309) light_driver: [light_init, 74]:status: 1, mode: 2 D (318) vfs: esp_vfs_register_fd_range inobudirira kune renji <54; 64) uye VFS ID 1 I (328) wifi: wifi driver basa: 3ffdbf84, prio:23, stack:4096, core=0
Iyo yakatorwa yakabuda yesarudzo yekusefa PRINT_FILTER=”wifi esp_image:E light_driver:I” yakapihwa pazasi:
E (31) esp_image: mufananidzo uri pa 0x30000 une magic byte I isiriyo (328) wifi: wifi driver basa: 3ffdbf84, prio:23, stack:4096, core=0
Sarudzo "PRINT_FILTER="light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V" inoratidza zvinotevera kubuda:
mutoro:0x40078000,len:13564 kupinda 0x40078d4c I (569) murwi_init: Kutanga. RAM inowanika pakugoverwa kwesimba: D (309) light_driver: [light_init, 74]:status: 1, mode: 2
Matambudziko Anozivikanwa ane IDF Monitor
Matambudziko Akacherechedzwa paWindows
· Makiyi emiseve, pamwe nemamwe makiyi, haashande muGDB nekuda kweWindows Console zvisingakwanisi. Nguva nenguva, kana oidf.pypexits, inogona kumira kusvika masekonzi makumi matatu IDF Monitor isati yatanga zvakare. Kana ogdbpis ichimhanya, inogona kumira kwenguva pfupi isati yatanga kutaurirana neGDBStub.

Espressif Systems

34 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga Standard Toolchain Setup yeLinux uye macOS

Kuiswa Nhanho Nenhanho Iyi inzira yakadzama yekufamba iwe kuburikidza nekugadzirisa maitiro.
Kumisikidza Nzvimbo Yekuvandudza Aya ndiwo matanho ekumisikidza ESP-IDF yeESP32 yako. · Danho 1. Isa Prerequisites · Danho 2. Wana ESP-IDF · Danho 3. Gadzirisa maturusi · Danho 4. Gadzirisa zvakatipoteredza zvakasiyana-siyana · Danho 5. Matanho ekutanga paESP-IDF
Danho 1. Kuisa Zvinodiwa Kuti ushandise ESP-IDF neESP32, unofanira kuisa mamwe ma-software package anoenderana neOperating System yako. Iyi setup guide ichakubatsira iwe pakuwana zvese zvakaiswa paLinux uye macOS based system.
Kune Vashandisi veLinux Kuunganidza uchishandisa ESP-IDF iwe uchafanirwa kuwana anotevera mapakeji. Murairo wekumhanya unoenderana nekugovera kupi kweLinux yauri kushandisa:
· Ubuntu uye Debian: sudo apt-tora kuisa git wget flex bison gperf python3 python3-pip python3venv cmake ninja-kuvaka ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 & 8: sudo yum -y update && sudo yum kuisa git wget flex bison gperf python3 cmake ninja-kuvaka ccache dfu-util libusbx
CentOS 7 ichiri kutsigirwa asi CentOS vhezheni 8 inokurudzirwa kuti ive nani mushandisi ruzivo. · Arch: sudo pacman -S -inodiwa gcc git ita flex bison gperf python cmake ninja ccache dfu-util libusb
Cherechedza: · CMake vhezheni 3.16 kana kuti itsva inodiwa kuti ishandiswe neESP-IDF. Mhanya otools/idf_tools.py isa cmakepto isa yakakodzera vhezheni kana OS yako shanduro isina imwe. · Kana usingaone kugoverwa kweLinux yako pane iri pamusoro tarisa tarisa zvinyorwa zvayo kuti uzive kuti ndeupi murairo wekushandisa pakuisa package.
Kune macOS Vashandisi ESP-IDF ichashandisa iyo vhezheni yePython yakaiswa nekusarudzika pane macOS. · Isa CMake & Ninja kuvaka: Kana iwe uine HomeBrew, unogona kumhanya: brew install cmake ninja dfu-util Kana uine MacPorts, unogona kumhanya: sudo port install cmake ninja dfu-util Zvikasadaro, tarisa iyo CMake uye Ninja mapeji epamba ekurodha macOS yekurodha.

Espressif Systems

35 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
· Inokurudzirwa zvakanyanya kuisawo ccache yekukurumidza kuvaka. Kana iwe uine HomeBrew, izvi zvinogona kuitwa kuburikidza ne brew install ccache kana sudo port isa ccache paMacPorts.
Ongorora: Kana kukanganisa kwakadai kunoratidzwa panguva chero nhanho: xcrun: kukanganisa: isina kushanda inoshanda yekuvandudza nzira (/Library/Developer/CommandLineTools), inoshaya xcrun pa: /Library/Developer/CommandLineTools/usr/bin/xcrun
Ipapo iwe unozofanirwa kuisa XCode command line maturusi kuti uenderere mberi. Unogona kuisa izvi nekumhanya xcode-select -install.
Apple M1 Vashandisi Kana ukashandisa Apple M1 papuratifomu uye woona kukanganisa kwakadai: YAMBIRO: dhairekitori rekushandisa xtensa-esp32-elf shanduro esp-2021r2-patch3-8.4.0 iripo, asi chishandiso hachina kuwanikwa ERROR: chishandiso xtensa-esp32-elf haina shanduro dzakaiswa. Ndokumbira mumhanye 'install.sh' kuti uiise.
kana: zsh: yakashata CPU mhando mu executable: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Ipapo iwe uchada kuisa Apple Rosetta 2 nekumhanya /usr/sbin/softwareupdate -install-rosetta -agree-to-license
Kuisa Python 3 Kubva pane macOS Catalina 10.15 kuburitsa manotsi, kushandiswa kwePython 2.7 hakukurudzirwe uye Python 2.7 haizoverengerwe nekusarudzika mune ramangwana shanduro dzeMacOS. Tarisa kuti chii Python yaunayo parizvino: python -version
Kana iyo yakabuda yakaita sePython 2.7.17, muturikiri wako wekare iPython 2.7. Kana zvirizvo, tarisawo kana Python 3 isati yatoiswa pakombuta yako: python3 -version
Kana murairo uri pamusoro ukadzosa kukanganisa, zvinoreva kuti Python 3 haina kuiswa. Pazasi pane kuperaview yematanho ekuisa Python 3.
Kuisa neHomeBrew kunogona kuitwa sezvinotevera: brew install python3
· Kana uine MacPorts, unogona kumhanya: sudo port install python38
Danho 2. Wana ESP-IDF Kuti ugadzire zvikumbiro zveESP32, unoda maraibhurari esoftware anopihwa neEspressif muESP-IDF repository. Kuti uwane ESP-IDF, famba uchienda kune yako yekuisa dhairekitori uye gadzira iyo repository ne git clone, uchitevera mirairo iri pazasi yakananga kune yako yekushandisa system. Vhura Terminal, uye shandisa mirairo inotevera:

Espressif Systems

36 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 -recursive https://github.com/espressif/esp-idf.git
ESP-IDF ichatorwa mu ~/esp/esp-idf. Bvunza ESP-IDF Versions kuti uwane ruzivo rwekuti ndeipi ESP-IDF vhezheni yekushandisa mumamiriro akapihwa.
Danho 3. Gadzirisa zvishandiso Kunze kweESP-IDF, unodawo kuisa zvishandiso zvinoshandiswa neESP-IDF, zvakadai semukongiri, debugger, Python packages, nezvimwewo, zvezvirongwa zvinotsigira ESP32. cd ~/esp/esp-idf ./install.sh esp32
kana neFish shell cd ~/esp/esp-idf ./install.fish esp32
Mirairo iri pamusoro isa maturusi eESP32 chete. Kana iwe uchifunga kugadzira mapurojekiti emamwe ma chip tarisiro saka iwe unofanirwa kunyora ese uye kumhanya kune example: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
kana neFish shell cd ~/esp/esp-idf ./install.fish esp32,esp32s2
Kuti uise maturusi ezvinangwa zvese zvinotsigirwa ndapota mhanya unotevera kuraira: cd ~/esp/esp-idf ./install.sh zvese
kana neFish shell cd ~/esp/esp-idf ./install.fish all
Ongorora: Kune vashandisi veMacOS, kana kukanganisa kwakadai kunoratidzwa panguva chero nhanho:urlkuvhura kukanganisa [SSL: CERTIFICATE_VERIFY_FAILED] cheti cheti chakundikana: tatadza kuwana chitupa chemunharaunda (_ssl.c:xxx)
Unogona kumhanya Isa Certificates.command muPython folda yekombuta yako kuti uise zvitupa. Kuti uwane rumwe ruzivo, ona Dhawunirodha Kanganiso Uchiri Kuisa ESP-IDF Zvishandiso.

Alternative File Dhawunirodha Mugadziri wemidziyo anodhawunirodha akati wandei files yakanamatira kuGitHub Inoburitswa. Kana kuwana GitHub kuchinonoka saka zvinokwanisika kuseta nharaunda inoshanduka kuti usarudze Espressifns download server yeGitHub asset downloads.

Ongorora: Kurongeka uku kunongotonga maturusi ega ega akatorwa kubva kuGitHub kuburitswa, haachinje iyo URLs inoshandiswa kuwana chero Git repositories.

Kusarudza Espressif yekurodha server paunenge uchiisa maturusi, shandisa inotevera kutevedzana kwemirairo paunenge uchimhanya install.sh:

Espressif Systems

37 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

cd ~/esp/esp-idf kunze IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Kugadzirisa nzira yekuisa maturusi Manyoro akaunzwa munhanho iyi yekuisa maturusi ekubatanidza anodiwa neESP-IDF mukati medhairekitori remusha wemushandisi: $HOME/.espressif paLinux. Kana iwe uchida kuisa maturusi mune imwe dhairekitori, isa iyo nharaunda inoshanduka IDF_TOOLS_PATH usati wamhanyisa zvinyorwa zvekuisa. Ita shuwa kuti account yako yemushandisi ine mvumo yakakwana yekuverenga nekunyora iyi nzira. Kana ukachinja IDF_TOOLS_PATH, ita shuwa kuti yaiswa paukoshi hwakafanana pese panoiswa chinyorwa (install. bat, install.ps1 kana install.sh) uye Export script (export.bat, export.ps1 kana export.sh) panoitwa.
Nhanho 4. Gadzirisa mamiriro ekunze Zvishandiso zvakaiswa hazvisati zvawedzerwa kune PATH nharaunda inoshanduka. Kuita kuti maturusi ashandiswe kubva kumutsara wekuraira, mamwe mamiriro enzvimbo anofanirwa kusetwa. ESP-IDF inopa imwe script inoita izvozvo. Mune iyo terminal yauchazoshandisa ESP-IDF, mhanya:
. $HOME/esp/esp-idf/export.sh
kana yehove (inotsigirwa chete kubva mushanduro yehove 3.0.0):
. $HOME/esp/esp-idf/export.fish
Ziva nzvimbo iri pakati peinotungamira doti uye nzira! Kana iwe ukaronga kushandisa esp-idf kazhinji, unogona kugadzira alias yekuita export.sh:
1. Kopa uye unamate murairo unotevera kune yako shellns profile (.profile, .bashrc, .zprofile, nezvimwewo)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Zorodzesa zvigadziriso nekutangazve chirongwa chekupedzisira kana nekushandisa sosi [nzira kuenda kuprofile],
zve example, kwakabva ~/.bashrc. Iye zvino unogona kumhanya get_idf kumisikidza kana kuzorodza esp-idf nharaunda mune chero terminal musangano. Nehunyanzvi, unogona kuwedzera export.sh kune yako shellns profile zvakananga; zvisinei, hazvikurudzirwi. Kuita izvi kunomutsa IDF chaiyo nharaunda mune yega yega terminal (kusanganisira iyo iyo IDF isingadikanwi), ichikunda chinangwa cheiyo chaiyo nharaunda uye zvingangokanganisa imwe software.
Danho 5. Matanho Ekutanga paESP-IDF Zvino sezvo zvese zvinodiwa zvazadzikiswa, musoro unotevera uchakutungamira kuti ungatanga sei chirongwa chako chekutanga. Gwaro iri richakubatsira pamatanho ekutanga uchishandisa ESP-IDF. Tevedza gwara iri kuti utange purojekiti nyowani paESP32 uye uvake, penya, uye utarise kubuda kwemudziyo.
Cherechedza: Kana usati waisa ESP-IDF, ndapota enda kuInstalation uye tevera rairo kuitira kuti uwane software yese inodiwa kushandisa gwara iri.

Tanga chirongwa Iye zvino wagadzirira kugadzirira chikumbiro chako cheESP32. Unogona kutanga nekutanga/hello_world chirongwa kubva kune exampLes directory muESP-IDF.

Zvakakosha: Iyo ESP-IDF yekuvaka system haitsigire nzvimbo munzira dzekuenda kuESP-IDF kana kumapurojekiti.

Kopa purojekiti yekutanga/hello_world ku ~/esp dhairekitori:

Espressif Systems

38 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
cd ~/esp cp -r $IDF_PATH/examples/get-start/hello_world .
Cherechedza: Kune huwandu hwe example mapurojekiti mune exampLes directory muESP-IDF. Unogona kukopa chero purojekiti nenzira imwechete seyakaratidzwa pamusoro uye woimhanyisa. Zvinogoneka zvakare kugadzira examples in-place usina kutanga waakopa.
Batanidza Chishandiso Chako Iye zvino batanidza ESP32 board yako kukombiyuta uye tarisa pasi peiyo serial port iyo bhodhi inoonekwa. Serial ports ine anotevera mazita mapatani:
· Linux: kutanga ne /dev/tty · macOS: kutanga ne/dev/cu. Kana usina chokwadi chekutarisa zita rechiteshi, ndapota tarisa kuGadzira Serial Connection neESP32 kuti uwane zvizere.
Ongorora: Chengeta zita rechiteshi riri nyore sezvauchazorida mumatanho anotevera.
Gadzirisa Projekiti Yako Enda kune yako hello_world dhairekitori, isa ESP32 sechinangwa, uye mhanyisa purojekiti yekumisikidza utility menuconfig. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Mushure mekuvhura chirongwa chitsva, unofanira kutanga waisa chinangwa neidf.py set-target esp32. Ziva kuti zviripo zvinovaka uye zvigadziriso mupurojekiti, kana zviripo, zvichacheneswa uye zvinotangwa mukuita uku. Chinangwa chinogona kuchengetwa mukuchinja kwenharaunda kuti usvetuke danho iri zvachose. Ona Sarudza Target Chip: set-target kuti uwane rumwe ruzivo. Kana matanho apfuura akaitwa nemazvo, iyi inotevera menyu inobuda:

Fig. 17: Kugadziriswa kweProjekiti - Hwindo repamba Uri kushandisa iyi menyu kumisa mapurojekiti akasiyana, semuenzaniso, zita retiweki yeWi-Fi nepassword, kumhanya kweprosesa, nezvimwe. Kumisikidza purojekiti nemenuconfig kunogona kusikwa forohello_worldp, sezvo uyu ex.ample anomhanya na

Espressif Systems

39 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
default configuration.
Chenjerera: Kana ukashandisa ESP32-DevKitC bhodhi ine ESP32-SOLO-1 module, kana ESP32-DevKitM-1 bhodhi ine ESP32-MIN1-1 (1U) module, ndapota gonesa single core mode (CONFIG_FREERTOS_UNICORE) mumenuconfig isati yapenya ex.amples.
Cherechedza: Mavara emenyu anogona kunge akasiyana mune yako terminal. Iwe unogona kushandura chitarisiko nesarudzo -style. Ndokumbira umhanye idf.py menuconfig -help kuti uwane rumwe ruzivo.
Kana iwe uri kushandisa imwe yemabhodhi anotsigirwa ekusimudzira, unogona kukurumidzira budiriro yako uchishandisa Board Support Package. Ona Mamwe Mazano kuti uwane rumwe ruzivo.
Vakai Project Vakai purojekiti nekumhanya:
idf.py kuvaka
Uyu murairo uchaunganidza chikumbiro uye ese ESP-IDF zvikamu, zvino ichagadzira iyo bootloader, tafura yekuparadzanisa, uye mabhinari ekushandisa.
$ idf.py kuvaka Inomhanya cmake mudhairekitori / nzira/ku/hello_world/kuvaka Kuita "cmake -G Ninja -warn-uninitialized /path/to/hello_world"… Yambiro pamusoro pehunhu husina kutanga. - Yakawanikwa Git: /usr/bin/git (yakawanikwa vhezheni "2.17.0") - Kuvaka isina chinhu aws_iot chikamu nekuda kwekumisikidzwa - Mazita echikamu: ... - Nzira dzechikamu: ...
... (mimwe mitsara yekuvaka system inobuda)
[527/527] Kugadzira hello_world.bin esptool.py v2.3.1
Kuvakwa kweprojekiti kwapera. Kupenya, shandisa murairo uyu: ../../../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. bhini kuvaka 0x1000 kuvaka/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin kana kumhanya 'idf.py -p PORT flash'
Kana pasina zvikanganiso, kuvaka kuchapedza nekugadzira iyo firmware binary .bin files.
Flash paChishandiso Chengesa mabhinari auchangobva kuvaka (bootloader.bin, partition-table.bin uye hello_world.bin) pabhodhi rako reESP32 nekumhanya:
idf.py -p CHIPORO [-b BAUD] flash
Tsiva PORT neESP32 boardns serial port zita. Iwe unogona zvakare kushandura iyo flasher baud mwero nekutsiva BAUD neiyo baud rate yaunoda. Chiyero chebaud chinogara chiri 460800. Kuti uwane rumwe ruzivo nezve idf.py nharo, ona idf.py.
Ongorora: Iyo sarudzo flash inovaka uye inopenya purojekiti, saka kumhanya idf.py kuvaka hakudiwi.

Espressif Systems

40 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga

Wakasangana Nematambudziko Paunenge Uchipenya? Kana iwe ukamhanyisa wakapihwa kuraira uye woona zvikanganiso zvakadai asoFailed to connectp, panogona kunge paine zvikonzero zvakati wandei zveizvi. Chimwe chezvikonzero chinogona kunge chiri nyaya dzakasangana ne esptool.py, iyo inoshandiswa iyo inonzi negadziriro yekuvaka kugadzirisa chip, kupindirana neROM bootloader, uye flash firmware. Imwe mhinduro yakapusa yekuedza ndeye kusetazve nemanyorero kunotsanangurwa pazasi, uye kana zvikasakubatsira iwe unogona kuwana rumwe ruzivo nezve zvinobvira nyaya mu Troubleshooting.
esptool.py inogadzirisa ESP32 otomatiki nekutaura kuti DTR neRTS inodzora mitsara ye USB kune serial converter chip, kureva, FTDI kana CP210x (kuti uwane rumwe ruzivo, ona Gadzira Serial Connection neESP32). Iyo DTR neRTS mitsara yekutonga inozobatana neGPIO0 uye CHIP_PU (EN) pini dzeESP32, nekudaro shanduko muvol.tage mazinga eDTR uye RTS achatanga ESP32 muFirmware Download mode. Sezvo example, tarisa schematic yeESP32 DevKitC yekuvandudza bhodhi.
Kazhinji, haufanirwe kunge uine matambudziko neiyo official esp-idf mabhodhi ekuvandudza. Nekudaro, esptool.py haikwanise kusetazve hardware yako otomatiki mune zvinotevera kesi:
· Hardware yako haina mitsara yeDTR neRTS yakabatana neGPIO0 neCHIP_PU · Iyo DTR neRTS mitsetse yakagadziridzwa zvakasiyana.
Zvichienderana nerudzi rwehardware yauinayo, zvinogona zvakare kugoneka kuisa yako ESP32 board muFirmware Download mode (reset).
· Kumabhodhi ekuvandudza anogadzirwa neEspressif, ruzivo urwu runogona kuwanikwa mune mamwe magwara ekutanga kana madhairekitori evashandisi. For example, kuti uisezve bhodhi rekuvandudza ESP-IDF, bata bhatani reBoot (GPIO0) wodzvanya bhatani reEN (CHIP_PU).
· Kune mamwe marudzi ehardware, edza kudhonzera GPIO0 pasi.

Zvakajairwa Kushanda Paunenge uchipenya, iwe uchaona iyo yekubuda log yakafanana neinotevera:
… esptool.py -chip esp32 -p /dev/ttyUSB0 -b 460800 -before=default_reset -after=hard_reset write_flash -flash_mode dio -flash_freq 40m -flash_size 2MB 0x8000 partition_table/load0booterx0bootertable.0 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Connecting…….._ Chip is ESP32D0WDQ6 (kudzokorora 0) Zvimiro: WiFi, BT, Dual Core, Coding Scheme Hapana Crystal iri 40MHz MAC: 24 : 24: 0b4: Kukwidza Rukudzo… stub… Stub running... Kuchinja baud rate kusvika 460800 Changed. Kugadzirisa flash size... Yakadzvanywa 3072 bytes kusvika 103… Kunyora pa 0x00008000… (100 %) Vakanyora 3072 bytes (103 compressed) pa 0x00008000 mumasekonzi 0.0 (inoshanda 5962.8 kbit/s data). Yakadzvanywa 26096 bytes kusvika 15408… Kunyora pa 0x00001000… (100 %) Vakanyora 26096 bytes (15408 compressed) pa 0x00001000 mumasekonzi 0.4 (inoshanda 546.7 kbit/s data)… Yakadzvanywa 147104 bytes kusvika 77364… Kunyora pa 0x00010000… (20 %) Kunyora pa 0x00014000… (40 %) Kunyora pa 0x00018000… (60 %) Kunyora pa 0x0001c0 %) (
(inoenderera papeji inotevera)

Espressif Systems

41 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
(inoenderera kubva papeji yapfuura) Kunyora pa 0x00020000… (100 %) Vakanyora 147104 bytes (77364 yakamanikidzwa) pa 0x00010000 mumasekonzi 1.9 (inoshanda 615. 5 kbit/s)… Hashi yedata yakasimbiswa.
Kusiya… Kugadzirisa zvakaoma kuburikidza neRTS pin… Zvaita
Kana pasina nyaya pakupera kweiyo flash process, bhodhi rinotangazve uye kutanga theohello_worldpapplication. Kana iwe uchida kushandisa Eclipse kana VS Code IDE panzvimbo yekumhanya idf.py, tarisa Eclipse Plugin, VSCode Extension.
Tarisa Kubuda Kuti utarise kana ohello_worldpis ichimhanya, nyora idf.py -p PORT monitor (Usakanganwa kutsiva PORT nezita rako rechiteshi). Uyu murairo unotangisa iyo IDF Monitor application:
$ idf.py -p monitor Kumhanya idf_monitor mudhairekitori […]/esp/hello_world/build Kuita “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Siya: Ctrl+] | Menyu: Ctrl+T | Rubatsiro: Ctrl+T ichiteverwa neCtrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET), boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 ...
Mushure mekutanga uye yekuongorora matanda kukwira kumusoro, iwe unofanirwa kuona oHello world! yakadhindwa neapp.
… Mhoro nyika! Inotangazve mumasekonzi gumi… Iyi esp32 chip ine 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB yekunze flash Yakaderera murwi wemasaizi: 298968 bytes Inotangazve mumasekonzi 9… Ichitanga zvakare mumasekonzi masere… Ichitanga zvakare mumasekonzi manomwe…
Kubuda IDF yekutarisa shandisa nzira yekudimbudzira Ctrl+]. Kana IDF yekutarisa ikatadza nguva pfupi yadarika kurodha, kana, kana panzvimbo yemameseji ari pamusoro, ukaona marara asina kurongeka akafanana neakapihwa pazasi, bhodhi rako rinogona kushandisa 26 MHz crystal. Mazhinji madhizaini ebhodhi ekuvandudza anoshandisa 40 MHz, saka ESP-IDF inoshandisa iyi frequency seyakasarudzika kukosha.

Kana uine dambudziko rakadaro, ita zvinotevera:
1. Buda mucherechedzo. 2. Dzokera ku menuconfig. 3. Enda kuComponent config > Hardware Settings > Main XTAL Config > Main XTAL
frequency, wobva wachinja CONFIG_XTAL_FREQ_SEL kusvika 26 MHz. 4. Mushure mezvo, kuvaka uye kupenya kushandiswa zvakare.

Espressif Systems

42 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Mune yazvino vhezheni yeESP-IDF, main XTAL frequency anotsigirwa neESP32 ndeaya anotevera:
26 MHz · 40 MHz
Cherechedza: Unogona kusanganisa kuvaka, kupenya uye kutarisa kuita nhanho imwe nekumhanya: idf.py -p PORT flash monitor.
Onawo: · IDF Monitor kune mapfupi anobatsira uye zvimwe zvakawanda zvekushandisa IDF monitor. · idf.py yereferensi yakazara yemirairo yeidf.py uye sarudzo.
Ndizvo zvese zvaunoda kuti utange neESP32! Iye zvino wagadzirira kuedza imwe examples, kana kuti enda wakananga kukugadzira ako maapplication.
Zvinokosha: Zvimwe zvekareamples haitsigire ESP32 nekuti hardware inodiwa haina kuisirwa muESP32 saka haigone kutsigirwa. Kana kugadzira example, ndapota tarisa README file nokuda kwetafura yeZvinangwa Zvinotsigirwa. Kana izvi zviripo zvinosanganisira ESP32 target, kana tafura isipo zvachose, example ichashanda paESP32.
Mamwe Mazano
Mvumo nyaya /dev/ttyUSB0 Nekumwe kugoverwa kweLinux, unogona kuwana Yakundikana kuvhura port /dev/ttyUSB0 mhosho meseji paunenge uchipenya ESP32. Izvi zvinogona kugadziriswa nekuwedzera mushandisi aripo kuboka redhiyabhorosi.
Python inoenderana ESP-IDF inotsigira Python 3.7 kana nyowani. Zvinokurudzirwa kukwidziridza sisitimu yako yekushandisa kune yazvino vhezheni inogutsa ichi chinodiwa. Dzimwe sarudzo dzinosanganisira kuiswa kwePython kubva kune zvinyorwa kana kushandiswa kwePython version management system yakadai sepyenv.
Tanga neBhodhi Rutsigiro Package Kuti ukurumidze prototyping pane mamwe mabhodhi ekuvandudza, unogona kushandisa Bhodhi Tsigiro Packages (BSPs), izvo zvinoita kuti kutanga kweimwe bhodhi kuve nyore sekufona kwekuita mashoma. A BSP inowanzo tsigira zvese zve Hardware zvinopihwa pabhodhi rekusimudzira. Kunze kwekutsanangurwa kwepinout uye mabasa ekutanga, ngarava dzeBSP dzine vatyairi vezvikamu zvekunze zvakadai sema sensors, zviratidzo, audio codecs etc. I-BSPs inoparadzirwa kuburikidza ne IDF Component Manager, saka inogona kuwanikwa mu IDF Component Registry. Herens an exampMaitiro ekuwedzera ESP-WROVER-KIT BSP kupurojekiti yako: idf.py wedzera-kutsamira esp_wrover_kit
Zvimwe exampmashoma ekushandiswa kweBSP anogona kuwanikwa muBSP examples folder.
Zano: Kuvandudza ESP-IDF Inokurudzirwa kugadzirisa ESP-IDF nguva nenguva, sezvo shanduro itsva dzichigadzirisa tsikidzi uye/kana kupa zvinhu zvitsva. Ndapota cherechedza kuti imwe neimwe ESP-IDF huru uye duku yekusunungurwa shanduro ine nguva yekutsigira yakabatana, uye kana rimwe bazi rekusunungurwa rave kusvika kumagumo ehupenyu (EOL), vashandisi vese vanokurudzirwa kusimudzira mapurogiramu avo kune mamwe mazvino ESP-IDF akabudiswa, kuti uwane zvakawanda pamusoro penguva dzekutsigira, ona ESP-IDF Versions.

Espressif Systems

43 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 1. Tanga
Nzira iri nyore yekuita gadziriso ndeyekudzima iyo iripo esp-idf dhairekitori uye kuigadzira zvakare, sekunge kuita yekutanga kuisirwa inotsanangurwa muChikamu 2. Wana ESP-IDF. Imwe mhinduro ndeyekuvandudza chete izvo zvachinja. Maitiro ekuvandudza zvinoenderana neshanduro yeESP-IDF yauri kushandisa. Mushure mekugadzirisa ESP-IDF, shandisa Isa script zvakare, kana iyo ESP-IDF vhezheni ichida maturusi akasiyana. Ona mirairo paChikamu 3. Gadzira maturusi. Kana zvishandiso zvitsva zvaiswa, gadziridza nharaunda uchishandisa iyo Export script. Ona mirairo paChikamu 4. Gadzirisa mamiriro ezvinhu akasiyana.
Zvinyorwa zvinoenderana · Gadzira Serial Connection neESP32 · Eclipse Plugin · VSCode Extension · IDF Monitor
1.4 Vaka Chirongwa Chako Chekutanga
Kana iwe uchitova neESP-IDF yakaiswa uye usingashandisi IDE, unogona kuvaka purojekiti yako yekutanga kubva kumutsara wekuraira uchitevera Tanga Chirongwa paWindows kana Kutanga Chirongwa paLinux uye macOS.
1.5 Bvisa ESP-IDF
Kana uchida kubvisa ESP-IDF, tapota tevera Uninstall ESP-IDF.

Espressif Systems

44 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 2
API Reference
2.1 API Kokorodzano
Gwaro iri rinotsanangura zvibvumirano uye fungidziro zvakajairika kuESP-IDF Application Programming Interfaces (APIs). ESP-IDF inopa akati wandei marudzi ehurongwa hwekusangana:
· C mabasa, zvimiro, enums, tsananguro yemhando uye preprocessor macros yakaziviswa mumusoro weruzhinji files yezvikamu zveESPIDF. Mapeji akasiyana muAPI Reference chikamu chegwaro rechirongwa rine tsananguro yeaya mabasa, zvimiro uye mhando.
· Vakai masisitimu mabasa, akafanotsanangurwa akasiyana uye sarudzo. Izvi zvakanyorwa mubhuku rekuvaka system. · Kconfig sarudzo dzinogona kushandiswa mukodhi uye mune yekuvaka system (CMakeLists.txt) files. · Zvishandiso zvekugamuchira uye yavo yekuraira mutsara paramita zvakare chikamu cheESP-IDF interface. ESP-IDF ine zvikamu zvakanyorerwa ESP-IDF pamwe chete nemaraibhurari ebato rechitatu. Mune zvimwe zviitiko, ESP-IDF-yakatarwa wrapper inowedzerwa kune yechitatu-bato raibhurari, ichipa chinongedzo chingave chiri nyore kana zvirinani chakabatanidzwa pamwe nezvimwe zvese zveESP-IDF zvivakwa. Mune zvimwe zviitiko, iyo yekutanga API yechitatu-bato raibhurari inounzwa kune vanogadzira maapplication. Zvikamu zvinotevera zvinotsanangura zvimwe zveESP-IDF APIs nemashandisirwo awo.
2.1.1 Kukanganisa kubata
Mazhinji ESP-IDF APIs anodzorera kukanganisa macode anotsanangurwa ne esp_err_t mhando. Ona Kukanganisa Kubata chikamu kuti uwane rumwe ruzivo nezve kukanganisa kubata maitiro. Error Code Reference ine rondedzero yezvikanganiso zvakadzoserwa neESP-IDF zvikamu.
2.1.2 Magadzirirwo zvimiro
Zvakakosha: Kutanga chaiko kwemagadzirirwo ezvimiro chikamu chakakosha mukuita kuti chishandiso chienderane neshanduro dzenguva yemberi dzeESP-IDF.
Mazhinji ekutanga kana kuseta mabasa muESP-IDF anotora senharo chinongedzo kune chimiro chekugadzirisa. For example:
45

Chitsauko 2. API Reference

const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = "my_timer"
}; esp_timer_handle_t my_timer; esp_err_t err = esp_timer_create(&my_timer_args, &my_timer);
Mabasa ekutanga haatombo chengetedza chinongedzo kune chimiro chekugadzirisa, saka zvakachengeteka kugovera chimiro pane stack.
Chikumbiro chinofanira kutanga minda yese yechimiro. Zvinotevera hazvina kururama:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Hazvina kunaka! Nzvimbo .arg uye .name hazvina kutangwa */ esp_timer_create(&my_timer_args, &my_timer);
Mazhinji ESP-IDF examples shandisa C99 yakasarudzwa yekutanga yekumisikidza chimiro, sezvo ichipa nzira yakapfupika yekumisikidza subset yeminda, uye zero-kutanga minda yasara:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Correct, fields .arg uye .name are zero-initialized */
};
Mutauro weC++ hautsigire iwo akatemerwa ekutanga syntax kusvika C++20, zvisinei GCC compiler inoitsigira zvishoma sewedzero. Paunenge uchishandisa ESP-IDF APIs muC++ kodhi, unogona kufunga kushandisa inotevera patani:
esp_timer_create_args_t my_timer_args = {}; /* Nzvimbo dzese dzakatangwa zero */ my_timer_args.callback = &my_timer_callback;

Default initializers
Kune mamwe magadzirirwo ekumisikidza, ESP-IDF inopa macros ekuseta default kukosha kweminda:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG inowedzera kusvika kune yakasarudzwa yekutanga.
Iye zvino minda yese yakaiswa kune yakasarudzika kukosha. Chero munda uchiri kukwanisa kugadziridzwa: */ config.server_port = 8081; httpd_handle_t sevha; esp_err_t err = httpd_start(&server, &config);
Zvinokurudzirwa kushandisa default initializer macros pese paanopihwa kune imwe dhizaini yekumisikidza.

2.1.3 Private APIs
Mumwe musoro files muESP-IDF ine maAPIs anoitirwa kushandiswa chete muESP-IDF sosi kodhi, uye kwete nemaapplication. Musoro wakadaro files kazhinji ine zvakavanzika kana esp_yakavanzika muzita ravo kana nzira. Zvimwe zvikamu, senge hal chete zvine zvakavanzika maAPI. Yakavanzika APIs inogona kubviswa kana kuchinjwa nenzira isingaenderani pakati pezvidiki kana zvigamba zvinoburitswa.

2.1.4 Zvikamu muexample mapurojekiti
ESP-IDF exampLes ine akasiyana mapurojekiti anoratidza kushandiswa kweESP-IDF APIs. Kuti uderedze kodhi kudzokorora mune exampzvishoma, vashoma vabatsiri vanozivikanwa vanotsanangurwa mukati mezvikamu zvinoshandiswa nevakawanda examples.

Espressif Systems

46 Tumira Gwaro Feedback

Kusunungurwa v5.0.9

Chitsauko 2. API Reference
Izvi zvinosanganisira zvikamu zvinowanikwa

Zvinyorwa / Zvishandiso

Espressif Systems ESP32 Dev Kitc Development Board [pdf] Bhuku reMushandisi
ESP32 Dev Kitc Development Board, ESP32, Dev Kitc Development Board, Kitc Development Board, Development Board, Board

References

Siya mhinduro

Yako email kero haizoburitswa. Nzvimbo dzinodiwa dzakamakwa *