ESP32 Dev Kitc Development Board
Ozi ngwaahịa
Nkọwapụta
- Ngwaahịa: ESP32
- Ntuziaka mmemme: ESP-IDF
- Ụdị mwepụta: v5.0.9
- Onye nrụpụta: Espressif Systems
- Ụbọchị mwepụta: Mee 16, 2025
Ntuziaka ojiji ngwaahịa
1. Malite
Tupu ịmalite ESP32, mara onwe gị nke ọma
na-eso:
1.1 Okwu mmalite
Mụta maka isi ọrụ na ike nke ndị
ESP32.
1.2 Ihe achọrọ
Gbaa mbọ hụ na ị nwere ngwaike na ngwanrọ dị mkpa:
- Akụrụngwa: Lelee ndepụta ngwaike achọrọ
components. - Ngwa ngwa: Wụnye ngwanrọ achọrọ
components.
1.3 Ntinye
Soro usoro ndị a ka ịwụnye IDE wee tọọ ya
gburugburu:
- IDE: Wụnye IDE akwadoro maka
na-eme ihe omume ESP32. - Ntinye aka: Iji aka hazie ihe ahụ
gburugburu ebe obibi ma ọ bụrụ na ọ dị mkpa.
1.4 wuo oru mbu gi
Mepụta ma wuo ọrụ mbụ gị site na iji ESP32.
1.5 Wepu ESP-IDF
Ọ bụrụ na ọ dị mkpa, mụta otu esi ewepụ ESP-IDF na nke gị
usoro.
2. Akwụkwọ ntụaka API
Rụtụ aka na akwụkwọ API maka ozi zuru ezu na ya
Usoro ngwa ngwa, njikwa njehie, na nhazi
ihe owuwu.
Ajụjụ A na-ajụkarị (FAQ)
Ajụjụ: Kedu ka m ga-esi nweta nsogbu na ESP32?
A: Rụtụ aka na ngalaba nchọpụta nsogbu na ntuziaka mmemme
ma ọ bụ gaa na nke emeputa websaịtị maka akụrụngwa nkwado.
Ajụjụ: Enwere m ike iji ESP-IDF na microcontroller ndị ọzọ?
A: ESP-IDF bụ kpọmkwem maka ESP32, ma ị nwere ike ịhụ
ndakọrịta na ndị ọzọ Espressif microcontrollers.
ESP32
Ntuziaka mmemme ESP-IDF
Mwepụta v5.0.9 Espressif Sistemu Mee 16, 2025
Tebulu ọdịnaya
Tebulu ọdịnaya
i
1 Malite
3
1.1 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Ihe achọrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Akụrụngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Nwụnye. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Ntinye akwụkwọ ntuziaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 wuo oru mbu gi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5 Wepu ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 API ntụaka
45
2.1 Mgbakọ API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.1 Njikwa mperi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Nhazi nhazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.3 API nkeonwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4 Akụkụ na example oru ngo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.5 API kwụsie ike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 Protocol ngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1 ọdụ ụgbọ mmiri ASIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.5 Onye ahịa HTTP ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.2.6 Njikwa Mpaghara ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.7 ESP Oghere Usoro Ohu Njikọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2.8 ESP x509 Asambodo ukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.2.9 HTTP sava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2.10 sava HTTPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
2.2.11 ICMP Echo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Ọrụ 2.2.12 mDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.13 Mbed TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.14 IP Network Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3 Bluetooth API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.1 Bluetooth® nkịtị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.2 Bluetooth® obere ike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
2.3.3 Bluetooth® Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2.3.4 Onye njikwa & HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
2.3.5 ESP-BLE-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
2.3.6 API ndị nnabata dabere na NimBLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
2.4 Ntuziaka Koodu mperi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
2.5 API ịkparịta ụka n'Ịntanet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.2 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
2.5.3 eriri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
i
2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP Network Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Ngwa oyi akwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Peripherals API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analog ka Digital Ntụgharị (ADC) Ọkwọ ụgbọ ala Oneshot . . . . . . . . . . . . . . . . . 977 2.6.2 Analog ka Digital Ntụgharị (ADC) Ọkwọ ụgbọ ala na-aga n'ihu . . . . . . . . . . . . . . . 986 2.6.3 Analog ka Digital Ntụgharị (ADC) Ọkwọ ụgbọala Calibration . . . . . . . . . . . . . . . . . . . 993 2.6.4 Osisi elekere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital Ka Analog Ntụgharị (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Ngụ oge ebumnuche izugbe (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Integrated Circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Inter-IC ụda (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Njikwa ọkụ (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 moto Control Pulse Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Transceiver Remote Control (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD-ebuli chọrọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC onye ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI onye ọbịa ọbịa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO Kaadị Ohu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulation (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI onye ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI onye ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (ihe echekwara) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Sensọ mmetụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Igwe eji arụ ọrụ nwere waya abụọ (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Universal Asynchronous Nnata/Nfefe (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Nhazi oru ngo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 NchNhr nhazi oru ngo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Iji sdkconfig.defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig Usoro nhazi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 ndakọrịta azụ nke nhọrọ Kconfig. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Ntụtụ aka nhọrọ nhazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 API inye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Mmekọrịta Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Ngwakọta ọnụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Ntinye Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 API Nchekwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileSistemụ Nkwado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Ngwa nrụpụta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Ọbá akwụkwọ Nchekwa na-adịghị agbanwe agbanwe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Nkebi Generator Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Fileusoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Mebere fileakụrụngwa sistemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 API Ịkwado Wear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 API Sistemụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Ngwa onyogho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Nchọta ọkwa ọkwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Ọrụ oku nwere ngwugwu mpụga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Ntụgharị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 njikwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Koodu mperi na ọrụ inyeaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii
2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Ihe omume Loop Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (N'ofeview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (atụmatụ mgbakwunye) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Oke ebe nchekwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 nbibi ebe nchekwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Ngụ oge mkpebi dị elu (ESP ngụ oge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 API ime na anaghị akwụsi ike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Oku Inter-Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 nkwụsịtụ oke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Ọbá akwụkwọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 API sistemu dị iche iche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 N'ime mmelite ikuku (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Nleba anya arụmọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Njikwa ike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 Nkwado eriri POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Ọgbọ ọnụọgụgụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Ụdị ụra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC Ike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Oge usoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 API oke nke himem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor mmemme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Ndị nche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161
3 Ntuziaka ngwaike
2167
3.1 ntụnyere usoro mgbawa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167
3.1.1 Akwụkwọ ndị emetụtara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170
4 API Ntuziaka
2171
4.1 Ọbá akwụkwọ nchọta ọkwa ngwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.2 Ụdị ọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.3 Nhọrọ nhazi na ndabere. . . . . . . . . . . . . . . . . . . . . . . . . . 2172
4.1.4 Otu esi eji ọba akwụkwọ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173
4.2 Ngwa mmalite mmalite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181
4.2.1 Nke mbụtage bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.2 Nkeji abụọtage bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.3 Mmalite ngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183
4.3 Bluetooth® Classic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.3.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.4 Bluetooth® obere ike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.2 Malite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191
4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240
4.5 Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284
4.5.1 ndakọrịta bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.2 Ọkwa ndekọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.3 nrụpụta nrụpụta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.4 Boot si Test Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.6 Onye nche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.7 Nha Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.8 Ngwa ngwa ngwa si na ụra miri emi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.9 bootloader omenala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.6 Sistemụ wuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.2 Iji Sistemụ Mee Ihe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289
iii
4.6.3 Ọpụampna Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Project CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Ngwa CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Nhazi akụrụngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Nkọwa ndị na-ebu ụzọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Ihe achọrọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Akụkụ na-emebi emebi nke oru ngo a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 nhazi-naanị ihe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Nchọpụta CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Ọpụample Component CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 omenala sdkconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 arụmụka Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Iwuli bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Ide ihe dị ọcha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Iji CMee Project nke Ndị Ọzọ na Ngwa. . . . . . . . . . . . . . . . . . . 2306 4.6.18 Iji ọba akwụkwọ e wuburu ya na ngwa . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Iji ESP-IDF na Omenala CMake Projects. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Mmụba na-abawanye. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Mee metadata sistemụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Mee Sistemụ Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Na-akwaga na ESP-IDF GNU Mee Sistemu. . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 isi mkpofu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Nhazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Chekwaa mkpofu isi ka ọ bụrụ ọkụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Bipụta isi ihe na UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Ọrụ ROM na azụ azụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Ntufu mgbanwe na-achọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Na-agba ọsọ espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Ụra ụra miri emi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Iwu maka stubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Na-eme ihe Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Koodu ntinye n'ime ebe nchekwa RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Na-ebu data na ebe nchekwa RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Lelee maka stubs teta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Ọpụample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Ijikwa mperi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Koodu mperi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Ịtụgharị koodu mperi ka ọ bụrụ ozi mperi. . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK nnukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT nnukwu . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR nnukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR nnukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE nnukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE nnukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 Lelee MACROS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Njehie usoro ejizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH Echiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Iwulite netwọkụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ijikwa netwọk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Nbufe data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Ọwa Ịgbanwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv
4.10.8 Arụmọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 ndetu ndị ọzọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Ijikwa mmemme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet, na ihe omume IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Mesh Ihe omume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Ihe omume Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Mmehie na-egbu egbu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Onye njikwa ụjọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Deba aha mkpofu na azụ azụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog agwụla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Njehie ntụgharị uche Guru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Mmehie ndị ọzọ na-egbu egbu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Flash ezoro ezo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 eFuses dị mkpa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Usoro ezoro ezo Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Nhazi ezoro ezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Ọdịda enwere ike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Ọnọdụ ezoro ezo Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Ọgụgụ na ide data na Flash ezoro ezo. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Na-emelite Flash ezoro ezo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Na-eme ka izo ya ezo Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Isi ihe gbasara izo ya ezo Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Mmachi nke izo ya ezo Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash ezoro ezo na buut echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Atụmatụ dị elu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Nkọwa nka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Ngwakọta ngwaike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Ihe owuwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Ọkwa dị ala) oyi akwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Hardware Abstraction Layer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 nkwụsị ọkwa dị elu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Ọkwa nkwụsị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 ndetu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Ndozi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Kedu otu o si arụ ọrụ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Ịhọrọ JTAG Ihe nkwụnye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Nhazi nke OpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Na-ahazi ESP32 Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Na-ebupụta ihe nbibi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Nchọpụta Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Owuwu OpenOCD sitere na isi mmalite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Ndụmọdụ na Quirks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Akwụkwọ ndị emetụtara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Njikọ Edemede Ọgbọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Mmalite ngwa ngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generation Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 API akwadoro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Ọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 Nkwado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip mgbanwe omenala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v
4.18.7 Nrụpụta arụmọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Ụdị ebe nchekwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (RAM data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (RAM ntuziaka) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (koodu emere site na flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data echekwara na flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Ebe nchekwa dị nwayọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC ebe nchekwa ngwa ngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA chọrọ ikike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA Buffer na ngwugwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 Mepee eriri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Ụdị nke nchịkọta OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Otu esi ede ngwa mepere emepe. . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 The OpenThread Border Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Tebụl nkebi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Tebụl nkebi etinyere n'ime ya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Ịmepụta tebụl omenala. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Na-emepụta tebụl nkebi ọnụọgụ abụọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Nyochaa nha nkebi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Na-egbuke egbuke tebụl nkebi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Ngwa nkebi (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Arụmọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Otu esi ebuli arụmọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Ntuziaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF mmezi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Nhazi akụkụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Nhazi zuru oke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Enweghị mmezi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 data mbido PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API ntụaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 buut echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 ndabere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Usoro buut echekwara echekwabaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Igodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Nha Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Otu esi eme ka buut echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Bootloader sọftụwia na-enwu enwu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Na-emepụta igodo nbinye akpụkpọ ụkwụ echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Ntinye aka nke onyonyo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Omume kacha mma akpụkpọ ụkwụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 nkọwa nka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Boot echekwara na nzuzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Nyochaa ngwa bịanyere aka na ya na-enweghị buut nchekwa ngwaike. . . . . . . . . . . . . . . . . . 2478 4.24.13 Atụmatụ dị elu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Boot V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 ndabere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Usoro buut V2 echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Ụdị Mgbochi mbinye aka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Nkpuchi echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Na-enyocha ngọngọ mbinye aka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Na-enyocha onyonyo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Nha Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse ojiji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Otu esi eme ka Boot Secure V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Mmachibido mgbe agbanyere buut echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Na-emepụta igodo nbinye akpụkpọ ụkwụ echekwara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi
4.25.13 Ntinye aka nke onyonyo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Omume kacha mma akpụkpọ ụkwụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 nkọwa nka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Boot echekwara na nzuzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Nyochaa ngwa bịanyere aka na ya na-enweghị buut nchekwa ngwaike. . . . . . . . . . . . . . . . . . 2484 4.25.18 Atụmatụ dị elu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Nkwado maka RAM mpụga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Akụrụngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Na-ahazi RAM mpụga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Mgbochi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Ịmaliteghị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Ntụgharị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Nchekwa mpaghara eri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Ọkọlọtọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Ngwaọrụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker Foto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 Onye njikwa akụrụngwa IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Ngwa enwere ike nbudata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Nnwale nkeji na ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Nkịtị ule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Usoro ule ọtụtụ ngwaọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stage Akara ule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Nnwale maka ebumnuche dị iche iche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Ngwa Nleba Ihe Owuwu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Nnwale otu na-agba ọsọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Koodu oge nwere ngụ oge akwụ ụgwọ cache. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Na-akwa emo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nnwale nkeji 2517 4.30 na Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Nnwale ngwanrọ agbakwunyere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 IDF Unit Ule na Linux Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi ọkwọ ụgbọ ala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi Ndepụta Njirimara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Otu esi ede ngwa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API Koodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Mmalite Parameter . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Nlereanya Mmemme Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Nkọwa Omume Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi ọdụ izugbe . . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP General Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi nyocha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi ọdụ Njikọ Njikọ. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi ọdụ Njikọ Mgbe Ahụrụ ọtụtụ AP. . . . . . . . . . . . . 2543 4.31.12 Wi-Fi jikọọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi mgbama oge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 nhazi Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Njikwa netwọk ikuku. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Ntụnye akụrụngwa redio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Mgbanwe BSS ngwa ngwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Ọnọdụ nchekwa ike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Ntinye Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
4.31.21 Wi-Fi 80211 ngwugwu zipu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi Ọtụtụ Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi Channel Ozi steeti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Hazie ozi steeti Wi-Fi ọwa. . . . . . . . . . . . . . . . . . . . . . . . . 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 Iberibe Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS ndebanye aha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi Buffer Ojiji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Otu esi emelite arụmọrụ Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Nchọpụta nsogbu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Nchekwa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi Atụmatụ nchekwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Frames njikwa echedoro (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-onwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi emelitere OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF ịdị n'otu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 gafereview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 akwadoro ọnọdụ obibi ndụ maka ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Usoro ịdị n'otu na amụma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Otu esi eji njirimara ịdịkọ ọnụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Ewugharị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Okwu Mmalite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Ihe kpatara ụlọ anaghị arụgharị . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Na-eme ka ihe wuo ụlọ nwere ike imepụtagharị na ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Kedu otu esi arụ ụlọ nrụpụta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Enwere ike imepụtagharị na nrụpụta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Ihe ndị ka na-emetụta ihe nrụgharị . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Ntuziaka onye ọrụ mode ike dị ala. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578
5 Ntuziaka njem
2579
5.1 ESP-IDF 5.x Ntuziaka Mbugharị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
5.1.1 Mbugharị site na 4.4 ruo 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
6 ọba akwụkwọ na Frameworks
2611
6.1 Ígwé ojii Frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.1 ESP mmiri ozuzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.4 ESP-WIFI-MESH Framework . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.6 ESP mmiri ozuzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.7 ESP-IoT-ihe ngwọta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.8 ESP-Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
viii
6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614
7 Ntuziaka ntinye aka
2615
7.1 Otu esi enye onyinye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.2 Tupu inye onyinye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.3 Dọrọ usoro arịrịọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.4 Akụkụ Iwu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5 Akwụkwọ emetụtara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.1 Ntuziaka ụdị mmepe Espressif IoT. . . . . . . . . . . . . . . . . . . . 2616
7.5.2 Wụnye nko tupu arụ ọrụ maka ESP-IDF Project . . . . . . . . . . . . . . . . . . . . . . . 2623
7.5.3 Koodu ntinye akwụkwọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624
7.5.4 Ịmepụta Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629
7.5.5 API Ndekọ ndebiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630
7.5.6 Nkwekọrịta ndị ntinye aka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632
7.5.7 Ntuziaka nkụnye eji isi mee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634
7.5.8 Nnwale ESP-IDF nwere ntuziaka Pytest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635
8 Ụdị ESP-IDF
2645
8.1 Mwepụta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.2 Kedu ụdị nke m kwesịrị iji malite? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.3 Atụmatụ ụdịdị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.4 Oge nkwado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646
8.5 Na-enyocha ụdị dị ugbu a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647
8.6 Git arụ ọrụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7 Na-emelite ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7.1 Na-emelite na Mwepụta Stable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.2 Na-emelite na ụdị ewepụtara tupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.3 Na-emelite na Alaka Nna-ukwu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.4 Na-emelite na ngalaba mwepụta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650
9 Akụrụngwa
2651
9.1 PlatformIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.1 Gịnị bụ PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.2 Ntinye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.3 Nhazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.4 Nkuzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.5 Ọrụ Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.6 Nzọụkwụ ọzọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.2 Njikọ bara uru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
10 Nwebiisinka na ikikere
2653
10.1 Nwebiisinka Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.1 Firmware Ngwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.2 Akwụkwọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.2 ROM Isi iyi koodu nwebiisinka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.3 Xtensa libhal MIT ikike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.4 TinyBasic Plus MIT ikike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.5 TJpgDec ikike. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
11 Banyere
2657
12 Ịgbanwe n'etiti Asụsụ
2659
Index
2661
Index
2661
ix
x
Tebulu ọdịnaya
Nke a bụ akwụkwọ maka Espressif IoT Development Framework (esp-idf). ESP-IDF bụ usoro mmepe gọọmentị maka ESP32, ESP32-S na ESP32-C Series SoCs. Akwụkwọ a na-akọwa iji ESP-IDF na ESP32 SoC.
Malite
Ntuziaka API
Ntuziaka API
Ụlọ ọrụ Espressif Systems
1 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Tebulu ọdịnaya
Ụlọ ọrụ Espressif Systems
2 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1
Malite
Ezubere akwụkwọ a iji nyere gị aka ịtọlite gburugburu mmepe ngwanrọ maka ngwaike dabere na mgbawa ESP32 nke Espressif. Mgbe nke ahụ gasịrị, a dị mfe example ga-egosi gị otu esi eji ESP-IDF (Espressif IoT Development Framework) maka nhazi menu, emesia maka iwulite firmware na-egbu maramara na bọọdụ ESP32.
Mara: Nke a bụ akwụkwọ maka ụdị kwụsiri ike v5.0.9 nke ESP-IDF. Ụdị ESP-IDF ndị ọzọ dịkwa.
1.1 Okwu mmalite
ESP32 bụ sistemụ na mgbawa na-ejikọta atụmatụ ndị a: · Wi-Fi (band 2.4 GHz) · Bluetooth · Dual high performance Xtensa® 32-bit LX6 CPU cores · Ultra Low Power co-processor · Multiple peripherals
Kwadoro site na teknụzụ 40 nm, ESP32 na-enye ikpo okwu siri ike, jikọtara ọnụ nke ukwuu, nke na-enyere aka izute ihe a na-achọsi ike maka iji ike rụọ ọrụ nke ọma, nhazi kọmpat, nchekwa, arụmọrụ dị elu na ntụkwasị obi. Espressif na-enye akụrụngwa akụrụngwa yana akụrụngwa akụrụngwa iji nyere ndị mmepe ngwa aka ịghọta echiche ha site na iji ngwa ESP32. Ebube n'usoro mmepe ngwanrọ nke Espressif bụ maka mmepe nke ngwa Internetof-Things (IoT) nwere Wi-Fi, Bluetooth, njikwa ike na ọtụtụ atụmatụ sistemụ ndị ọzọ.
1.2 Ihe achọrọ
1.2.1 Akụrụngwa
· bọọdụ ESP32. · eriri USB – USB A / micro USB B. · Kọmputa na-agba Windows, Linux, ma ọ bụ macOS.
Mara: Ugbu a, ụfọdụ bọọdụ mmepe na-eji njikọ USB Type C. Jide n'aka na ị nwere eriri ziri ezi iji jikọọ osisi gị!
Ọ bụrụ na ị nwere otu n'ime bọọdụ mmepe gọọmentị ESP32 depụtara n'okpuru, ị nwere ike pịa njikọ ahụ ka ịmatakwu gbasara ngwaike.
3
Isi nke 1. Malite
ESP32-DevKitS(-R)
Ntuziaka onye ọrụ a na-enye ozi na ESP32-DevKitS(-R), bọọdụ na-egbu maramara dabere na ESP32 nke Espressif mepụtara. ESP32-DevKitS(-R) bụ ngwakọta nke aha bọọdụ abụọ: ESP32-DevKitS na ESP32-DevKitS-R. S na-anọchi anya isi iyi, na R na-anọchi anya WROVER.
ESP32-DevKitS
ESP32-DevKitS-R
Akwụkwọ ahụ nwere ngalaba ndị a bụ isi: · Mmalite: Na-enye ihe karịrịview nke ESP32-DevKitS(-R) yana ntuziaka ntọlite ngwaike/software ka ịmalite. Ntuziaka akụrụngwa: Na-enye ozi zuru ezu gbasara ngwaike ESP32-DevKitS(-R) ns. Akwụkwọ ndị metụtara: Na-enye njikọ na akwụkwọ ndị metụtara ya.
Mmalite Akụkụ a na-akọwa otu esi ebido na ESP32-DevKitS(-R). Ọ na-amalite site na ngalaba mmalite ole na ole gbasara ESP32-DevKitS(-R), wee ngalaba Otu esi eme ka bọọdụ na-enye ntuziaka maka otu esi etinye modul na ESP32-DevKitS(-R), jikere ya, wee gbanye firmware na ya.
gafereview ESP32-DevKitS(-R) bụ Espressifns na-egbu maramara emebere maka ESP32. Enwere ike iji ya gbanye modul ESP32 n'ebughị ụzọ ree modul ahụ na ọkụ ọkụ na ahịrị mgbaama. Na modul etinyere, ESP32-DevKitS(-R) nwekwara ike iji dị ka obere mmepe osisi dị ka ESP32-DevKitC.
ESP32-DevKitS na ESP32-DevKitS-R bọọdụ dị iche iche naanị na okirikiri nhọrọ ukwuu nke ntụtụ mmiri ka dabara na modul ESP32 ndị a.
ESP32-DevKitS: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-ỤRỤ-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
ESP32-DevKitS-R: ESP32-WROVER (PCB & IPEX) ESP32-ochie-B (PCB & IPEX) ESP32-ochie-E ESP32-ochie-IE
Maka ozi gbasara modul dị n'elu, biko rụtụ aka na ESP32 Series Modules.
Nkọwa nke akụrụngwa
Ụlọ ọrụ Espressif Systems
4 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Foto 1: ESP32-DevKitS - n'ihu
Ụlọ ọrụ Espressif Systems
Foto 2: ESP32-DevKitS-R - n'ihu 5
Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Isi akụkụ mmiri mkpọ 2.54 mm isi nwanyi
USB-na-UART Bridge LDO Micro-USB njikọ/Micro USB Port EN bọtịnụ buut bọtịnụ.
Ike On Ikanam
Nkọwa Pịa modul n'ime. Ntụtụ ndị ahụ ga-adaba n'ime oghere ndị a kpụrụ akpụ. Ejikọtara isi isi nwanyị ndị a na ntụtụ nke modul etinyere na bọọdụ a. Maka nkọwa nke nkụnye eji isi mee nwanyị, biko rụtụ aka na ngọngọ nkụnye eji isi mee. Otu mgbawa USB na akwa UART na-enye ọnụego mbufe ruru 3 Mbps.
5V-ruo-3.3V obere mwepu voltage regulator (LDO).
USB interface. Ọkụ ọkụ maka bọọdụ yana njikọ nkwukọrịta n'etiti kọmpụta na bọọdụ.
Tọgharịa bọtịnụ.
Budata bọtịnụ. Na-ejide Boot wee pịa EN na-amalite ọnọdụ nbudata Firmware maka nbudata ngwa ngwa site na ọdụ ụgbọ mmiri.
Na-agbanye mgbe eriri USB ma ọ bụ ike jikọọ na bọọdụ.
Otu esi eme bọọdụ tupu ịgbanye ESP32-DevKitS(-R) gị, biko hụ na ọ nọ n'ọnọdụ dị mma n'enweghị akara doro anya nke mmebi.
Ngwaike achọrọ · Modul ESP32 nke nhọrọ gị · USB 2.0 USB (Standard-A ka Micro-B) · Kọmputa na-agba Windows, Linux, ma ọ bụ MacOS
Ntọlite ngwaike Biko tinye modul nke nhọrọ gị na ESP32-DevKitS(-R) dịka usoro ndị a si dị:
· Jiri nwayọ tinye modul gị na bọọdụ ESP32-DevKitS(-R). Jide n'aka na oghere ndị dị na modul gị dabara na ntụtụ mmiri dị na bọọdụ.
Pịa modul gị n'ime bọọdụ ruo mgbe ọ pịrị. · Lelee ma etinyere ntụtụ mmiri niile n'ime oghere nke castellated. Ọ bụrụ na enwere ụfọdụ ntụtụ mmiri na-ezighi ezi,
tinye ha n'ime oghere ndị nwere tweezers.
Mbido Sọftụwia
Usoro akwadoro Usoro mmepe ESP-IDF na-enye ụzọ kacha mma nke na-egbu maramara na ESP32-DevKitS(-R). Biko gaa n'ihu na Malite, ebe ntinye ngalaba ga-enyere gị aka ngwa ngwa melite gburugburu mmepe wee gbanye ngwa exampbanye na ESP32-DevKitS(-R) gị.
Ụzọ ọzọ Dị ka ụzọ ọzọ, ndị ọrụ Windows nwere ike ịgbanye ọnụọgụ abụọ site na iji Ngwa nbudata Flash. Naanị budata ya, wepụ ya, wee soro ntuziaka dị n'ime folda doc.
Cheta na: 1. Iji gbanye ọnụọgụ abụọ files, ESP32 kwesịrị ịtọ ya na ọnọdụ nbudata Firmware. Enwere ike ime nke a site na ngwa ngwa ọkụ na-akpaghị aka, ma ọ bụ site na ijide bọtịnụ Boot wee pịa bọtịnụ EN. 2. Mgbe na-egbuke egbuke ọnụọgụ abụọ files, Ngwá Ọrụ Nbudata Flash malitegharịa modul ESP32 gị wee jiri ndabara na-agbagharị ngwa ahụ.
Ọdịnaya Board akụkụ na nkwakọ ngwaahịa
Ụlọ ọrụ Espressif Systems
6 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite foto 3: Akụkụ bọọdụ ESP32-DevKitS - azụ
Ụlọ ọrụ Espressif Systems
Foto 4: Akụkụ osisi ESP32-DevKitS-R - azụ 7
Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Iwu mkpọsaahịa Ọ bụrụ na ị nye iwu ole na ole sampOtú ọ dị, ESP32-DevKitS(-R) ọ bụla na-abịa na ngwugwu nke ọ bụla na akpa antistatic ma ọ bụ nkwakọ ngwaahịa ọ bụla dabere na onye na-ere ahịa. Maka iwu azụmaahịa, biko gaa na https://www.espressif.com/en/contact-us/get-samples.
Iwu n'ùkwù Ọ bụrụ na ị na-enye iwu n'ọtụtụ, bọọdụ na-abịa na nnukwu igbe kaadiboodu. Maka iwu ọnụ ahịa, biko gaa na https://www.espressif.com/en/contact-us/sales-questions.
Ntuziaka akụrụngwa
Eserese ngọngọ Ihe osise ngọngọ n'okpuru na-egosi ihe mejupụtara ESP32-DevKitS(-R) yana njikọ ha.
Foto 5: ESP32-DevKitS(-R) (pịa iji gbasaa)
Nhọrọ ikenye ike Enwere ụzọ atọ na-ekewapụ onwe ha iji nye ike n'ọdụ ụgbọ mmiri: · Micro USB ọdụ ụgbọ mmiri, ndabara ike ọkọnọ · 5V na GND nkụnye eji isi mee ntụtụ · 3V3 na GND nkụnye eji isi mee atụdo.
A na-adụ ọdụ ka iji nhọrọ mbụ: ọdụ ụgbọ USB micro.
Ụlọ ọrụ Espressif Systems
.
Akara akara
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
na-aga n'ihu na ibe na-esote
8 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Tebụl 1 gara n'ihu na ibe gara aga
.
Akara akara
L9 25
GPIO25
L10 26
GPIO26
L11 27
GPIO27
L12 14
GPIO14
L13 12
GPIO12
Ọnụ ego nke L14 GND
L15 13
GPIO13
L16 D2 SD_DATA2
L17 D3 SD_DATA3
L18 CMD SD_CMD
L19 5V
Mpụga 5V
Ọnụ ego nke R1 GND
R2 23
GPIO23
R3 22
GPIO22
R4 TX U0TXD
R5 RX U0RXD
R6 21
GPIO21
Ọnụ ego nke R7 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
Ihe mgbochi nkụnye eji isi mee Maka onyonyo ngọngọ nkụnye eji isi mee, biko rụtụ aka na Nkọwa nke Ngwa.
Akwụkwọ ndị emetụtara
· ESP32-DevKitS(-R) Nhazi (PDF) · ESP32 Datasheet (PDF) · ESP32-WROOM-32 Akwụkwọ ozi (PDF) Akwụkwọ data (PDF) · ESP32-WROVER-B Datasheet (PDF) · ESP Nhọrọ ngwaahịa
ESP32-DevKitM-1
Ntuziaka onye ọrụ a ga-enyere gị aka ibido na ESP32-DevKitM-1 ma nyekwa ozi ndị ọzọ miri emi.
ESP32-DevKitM-1 bụ bọọdụ mmepe dabere na ESP32-MINI-1(1U) nke Espressif mepụtara. A na-agbajikwa ọtụtụ ntụtụ I/O na ndị nkụnye eji isi mee n'akụkụ abụọ maka njikọta dị mfe. Ndị ọrụ nwere ike iji wires jumper jikọọ mpụta ma ọ bụ tinye ESP32-DevKitM-1 na bọọdụ achịcha.
Ụlọ ọrụ Espressif Systems
9 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
ESP32-DevKitM-1 - n'ihu
ESP32-DevKitM-1 - isometric
Akwụkwọ ahụ nwere ngalaba ndị a bụ isi: · Mmalite: Na-enye ihe nfeview nke ESP32-DevKitM-1 yana ntuziaka ntọlite ngwaike/software ka ịmalite. Ntuziaka akụrụngwa: Na-enye ozi zuru ezu gbasara ngwaike ESP32-DevKitM-1ns. Akwụkwọ ndị emetụtara: Na-enye njikọ na documentaiton metụtara.
Mmalite Akụkụ a na-akọwa otu esi ebido na ESP32-DevKitM-1. Ọ na-amalite site na ngalaba mmeghe ole na ole gbasara ESP32-DevKitM-1, mgbe ahụ, ngalaba Malite Ngwa Development na-enye ntuziaka maka otu esi eme ntọala ngwaike mbụ yana otu esi eme ngwa ngwa na ESP32-DevKitM-1.
gafereview Nke a bụ bọọdụ mmepe pere mpe ma dịkwa mma nwere atụmatụ:
ESP32-MINI-1, ma ọ bụ ESP32-MINI-1U modul · USB-to-Oghere Usoro mmemme interface nke na-enyekwa ike ọkọnọ maka osisi · pin nkụnye eji isi mee · pushbuttons maka nrụpụta na ebighị nke Firmware Download mode · a ole na ole ndị ọzọ components
Ọdịnaya na Nkwakọ ngwaahịa
Iwu mkpọsaahịa Ọ bụrụ na ị nye iwu ole na ole sampOtú ọ dị, ESP32-DevKitM-1 ọ bụla na-abịa na ngwugwu nke ọ bụla na akpa antistatic ma ọ bụ nkwakọ ngwaahịa ọ bụla dabere na onye na-ere ahịa gị.
Maka iwu azụmaahịa, biko gaa na https://www.espressif.com/en/contact-us/get-samples.
Iwu n'ùkwù Ọ bụrụ na ị na-enye iwu n'ọtụtụ, bọọdụ na-abịa na nnukwu igbe kaadiboodu. Maka iwu ọnụ ahịa, biko gaa na https://www.espressif.com/en/contact-us/sales-questions.
Nkọwa nke akụrụngwa Ọgụgụ na-esonụ na tebụl dị n'okpuru na-akọwa isi ihe mejupụtara, ihu na njikwa nke bọọdụ ESP32-DevKitM-1. Anyị na-ewere bọọdụ ahụ nwere modul ESP32-MINI-1 dị ka example na ngalaba ndị a.
Ụlọ ọrụ Espressif Systems
10 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Foto 6: ESP32-DevKitM-1 - n'ihu
Igodo akụrụngwa Modul
5 V ruo 3.3 V LDO bọtịnụ buut
Tọgharịa bọtịnụ Micro-USB Port
USB-to-UART Bridge 3.3 V Ike Na LED
Njikọ I/O
Nkọwa
ESP32-MINI-1 modul ma ọ bụ ESP32-MINI-1U modul. ESP32-MINI-1 na-abịa na eriri PCB nọ n'ụgbọ. ESP32-MINI-1U na-abịa na njikọ antenna mpụga. Modul abụọ a nwere flash 4 MB na ngwugwu mgbawa. Maka nkọwa, biko hụ ESP32-MINI-1 & ESP32-MINI-1U Datasheet.
Onye na-achịkwa ike na-atụgharị 5 V ka ọ bụrụ 3.3 V.
Budata bọtịnụ. Ijide Boot wee pịa Tọgharia na-ebute ọnọdụ nbudata Firmware maka nbudata ngwa ngwa site na ọdụ ụgbọ mmiri.
Tọgharịa bọtịnụ
USB interface. Ọkụ ọkụ maka bọọdụ yana interface nkwukọrịta n'etiti kọmpụta na mgbawa ESP32.
Otu eriri USB-UART na-enye ọnụego mbufe ruo 3 Mbps.
Na-agbanye mgbe USB jikọọ na bọọdụ. Maka nkọwa, biko hụ schematics n'ime akwụkwọ emetụtara. Ntụtụ GPIO niile dị (ma ewezuga ụgbọ ala SPI maka flash) na-agbajikwa ndị nkụnye eji isi mee na bọọdụ. Ndị ọrụ nwere ike hazie mgbawa ESP32 iji mee ka ọtụtụ ọrụ nwee ike.
Bido Mmepe Ngwa Tupu ịkwalite ESP32-DevKitM-1 gị, biko gbaa mbọ hụ na ọ nọ n'ọnọdụ dị mma na-enweghị akara doro anya nke mmebi.
Ngwaike achọrọ · ESP32-DevKitM-1 · USB 2.0 USB (Standard-A ruo Micro-B) · Kọmputa na-agba Windows, Linux, ma ọ bụ MacOS
Ntọlite ngwanrọ Biko gaa n'ihu na-amalite, ebe ntinye nke ngalaba ga-enyere gị aka ngwa ngwa melite gburugburu mmepe wee gbanye ngwa ex.ampGaa na ESP32-DevKitM-1 gị.
Ụlọ ọrụ Espressif Systems
11 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ntị: bọọdụ ESP32-DevKitM-1 arụpụtara tupu Disemba 2, 2021 nwere otu modul isi arụnyere. Iji nyochaa ụdị modul ị nwere, biko lelee ozi akara modul na PCN-2021-021. Ọ bụrụ na bọọdụ gị nwere otu isi modul arụnyere, biko mee ka otu isi ọnọdụ (CONFIG_FREERTOS_UNICORE) dị na menuconfig tupu ịgbanye ngwa gị ọkụ.
Eserese ngọngọ nrụtụ aka ngwaike Ihe eserese mgbochi dị n'okpuru na-egosi ihe mejupụtara ESP32-DevKitM-1 yana njikọ ha.
Foto 7: ESP32-DevKitM-1
Isi iyi Ike Họrọ Enwere ụzọ atọ na-ekewapụ onwe ha iji nye ike n'ọdụ ụgbọ mmiri: · Micro USB ọdụ ụgbọ mmiri, ọkọnọ ike ndabara · 5V na GND nkụnye eji isi mee · 3V3 na GND ntụnye nkụnye eji isi mee
Ịdọ aka ná ntị: · A ghaghị inye ọkụ eletrik site na iji otu na otu nhọrọ dị n'elu, ma ọ bụghị ya, bọọdụ na/ma ọ bụ isi iyi ọkụ nwere ike imebi. A na-atụ aro ịnye ike site na ọdụ ụgbọ mmiri micro USB.
Nkọwa Pin Tebụlụ dị n'okpuru na-enye Aha na Ọrụ nke pin n'akụkụ abụọ nke bọọdụ ahụ. Maka nhazi ntụtụ n'akụkụ, biko rụtụ aka na ESP32 Datasheet.
Mba.
Aha
Ụdị
1
GND
P
2
3V3
P
Ọrụ Ground 3.3 V ike ọkọnọ
na-aga n'ihu na ibe na-esote
Ụlọ ọrụ Espressif Systems
12 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Tebụl 2 gara n'ihu na ibe gara aga
Mba.
Aha
Ụdị
Ọrụ
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
Tọgharia; Elu: nwee ike; Ala: gbanyụọ ike
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
I/O
GPIO32, XTAL_32K_P (ntinye oscillator kristal 32.768 kHz),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
I/O
GPIO33, XTAL_32K_N (mpụta oscillator kristal 32.768 kHz),
ADC1_CH5, TOUCH8, RTC_GPIO8
12
IO25
I/O
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
13
IO26
I/O
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
14
IO27
I/O
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
15
IO14
I/O
GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
16
5V
P
5 V ike ọkọnọ
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
Nkọwa ngbanwe ngwaike Ọ nweghị ụdị gara aga dị.
Akwụkwọ ndị emetụtara
ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Schematics (PDF) · ESP32-DevKitM-1 PCB okirikiri nhọrọ ukwuu (PDF) · ESP32-DevKitM-1 okirikiri nhọrọ ukwuu (DXF) – Ị nwere ike view ya na Autodesk Viewer online · ESP32 Datasheet (PDF) · ESP Product Selector
Maka akwụkwọ nhazi ndị ọzọ maka bọọdụ ahụ, biko kpọtụrụ anyị na sales@espressif.com.
Ụlọ ọrụ Espressif Systems
13 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ngwanrọ 1.2.2
Iji malite iji ESP-IDF na ESP32, wụnye ngwanrọ ndị a: · Ngwá ọrụ iji chịkọta koodu maka ESP32 · Ngwá ọrụ wuo - CMake na Ninja iji wuo ngwa zuru ezu maka ESP32 · ESP-IDF nke nwere API (ọbá akwụkwọ ngwanrọ na koodu isi) maka ESP32 na scripts iji rụọ ọrụ Toolchain.
1.3 Ntinye
Iji wụnye ngwanrọ niile achọrọ, anyị na-enye ụzọ dị iche iche iji kwado ọrụ a. Họrọ n'ime otu nhọrọ dị.
1.3.1 IDE
Mara: Anyị na-akwado nke ukwuu ịwụnye ESP-IDF site na IDE ọkacha mmasị gị.
Plugin eklips · VSCode ndọtị
1.3.2 Ntinye akwụkwọ ntuziaka
Maka usoro ntuziaka, biko họrọ dịka sistemụ arụmọrụ gị siri dị.
Ụlọ ọrụ Espressif Systems
14 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ọkọlọtọ Ntọala nke Toolchain maka Windows
Okwu Mmalite ESP-IDF chọrọ ka etinyere ụfọdụ ngwaọrụ achọrọ ka ị nwee ike wuo ngwa ngwa maka ibe akwadoro. Ngwa ndị achọrọ gụnyere Python, Git, cross-compilers, CMake na Ninja wuru ngwaọrụ. Maka mmalite nke a, anyị ga-eji Command Prompt, mana ka etinyechara ESP-IDF ị nwere ike iji Eclipse Plugin ma ọ bụ IDE eserese ọzọ nwere nkwado CMake kama. Mara: Oke: – Ụzọ ntinye nke ESP-IDF na Ngwa ESP-IDF agaghị adị ogologo karịa mkpụrụedemede 90. Ụzọ nrụnye dị ogologo nwere ike ime ka ụlọ dara ada. - Ụzọ ntinye nke Python ma ọ bụ ESP-IDF agaghị enwe oghere ọcha ma ọ bụ akara aka. – Ụzọ nrụnye nke Python ma ọ bụ ESP-IDF ekwesịghị inwe mkpụrụedemede pụrụ iche (nonASCII) ma ọ bụrụ na ejiri oUnicode UTF-8psupport hazie sistemụ arụmọrụ. Onye nchịkwa sistemụ nwere ike ime nkwado ahụ site na Ogwe njikwa - Gbanwee ụbọchị, oge, ma ọ bụ usoro ọnụọgụ - tab nchịkwa - Gbanwee mpaghara mpaghara - lelee nhọrọ oBeta: Jiri Unicode UTF-8 maka nkwado asụsụ zuru ụwa ọnụ - Ọk wee malitegharịa kọmputa ahụ.
ESP-IDF Tools Installer Ụzọ kacha mfe iji wụnye ESP-IDFns chọrọ bụ ibudata otu n'ime ESP-IDF Tools Installer.
Nbudata Windows Installer
Kedu ihe eji eme ihe n'ịntanetị na anọghị n'ịntanetị Installer Online Installer dị obere ma na-enye ohere ntinye nke mwepụta ESP-IDF niile dị. Onye nrụnye ga-ebudata naanị ihe ndabere dị mkpa gụnyere Git Maka Windows n'oge usoro nrụnye. ebudatara ụlọ ahịa ihe nrụnye files na ndekọ cache% userprofile% espressif
Ihe nwụnye na-anọghị n'ịntanetị anaghị achọ njikọ netwọk ọ bụla. Ihe nrụnye nwere ihe ndabere niile achọrọ gụnyere Git Maka Windows.
Ngwa nke nrụnye Onye nrụnye na-ebunye ihe ndị a:
Ebọchị agbakwunyere · Cross-compilers · OpenOCD · CMake na Ninja wuru ngwaọrụ · ESP-IDF
Onye nrụnye na-enyekwa ohere iji ESP-IDF wee jiri akwụkwọ ndekọ aha dị adị. Akwụkwọ ndekọ aha akwadoro bụ %userprofile%Desktopesp-idf ebe %userprofile% bụ ndekọ ụlọ gị.
Ụlọ ọrụ Espressif Systems
15 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ịmalite ESP-IDF Environment Na njedebe nke usoro nrụnye ị nwere ike ịlele nhọrọ Gbaa ESP-IDF PowerShell Environment ma ọ bụ Gbaa ESP-IDF Command Prompt (cmd.exe). Onye nrụnye ga-ebido gburugburu ESP-IDF na ngwa ngwa ahọpụtara. Gbaa gburugburu ESP-IDF PowerShell:
Foto 8: Mezue Ọkachamara Ntọala Ngwa ESP-IDF na Gbaa ESP-IDF PowerShell Environment
Gbaa ESP-IDF Command Prompt (cmd.exe):
Iji iwu ozugbo maka usoro mmalite mmalite ndị ọzọ, anyị ga-eji Windows Command ozugbo. ESP-IDF Tools Installer na-emepụtakwa ụzọ mkpirisi na menu mmalite ka ịmalite ESP-IDF Command Prompt. Ụzọ mkpirisi a na-ebupụta Command Prompt (cmd.exe) ma na-agba ọsọ script.bat iji melite mgbanwe gburugburu ebe obibi (PATH, IDF_PATH na ndị ọzọ). N'ime ngwa ngwa iwu a, ngwaọrụ arụnyere niile dị. Rịba ama na ụzọ mkpirisi a bụ kpọmkwem na ndekọ ndekọ ESP-IDF ahọpụtara na ESP-IDF Tools Installer. Ọ bụrụ na ị nwere ọtụtụ akwụkwọ ndekọ aha ESP-IDF na kọmpụta (maka example, iji rụọ ọrụ na ụdị ESP-IDF dị iche iche), ị nwere nhọrọ abụọ iji ha:
1. Mepụta otu ụzọ mkpirisi nke ESP-IDF Tools Installer mebere, wee gbanwee ndekọ ọrụ nke ụzọ mkpirisi ọhụrụ ahụ gaa na ndekọ ESP-IDF nke ịchọrọ iji.
2. N'aka nke ọzọ, mee cmd.exe, wee gbanwee gaa na ndekọ ESP-IDF nke ịchọrọ iji, wee mee Export.bat. Mara na n'adịghị ka nhọrọ gara aga, otu a chọrọ Python na Git ịnọ na PATH. Ọ bụrụ na enwetaghị mperi metụtara Python ma ọ bụ Git, jiri nhọrọ mbụ.
Nzọụkwụ mbụ na ESP-IDF Ugbu a, ebe ọ bụ na ezuru ihe niile achọrọ, isiokwu na-esote ga-eduzi gị otu esi amalite ọrụ mbụ gị.
Ụlọ ọrụ Espressif Systems
16 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite foto 9: ESP-IDF PowerShell
Fig. 10: Mezue Ọkachamara Ntọala Ngwa ESP-IDF na Gbaa ESP-IDF Command Prompt (cmd.exe)
Ụlọ ọrụ Espressif Systems
17 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Foto 11: ESP-IDF Command Command
Ụlọ ọrụ Espressif Systems
18 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ntuziaka a ga-enyere gị aka na nzọụkwụ mbụ site na iji ESP-IDF. Soro ntuziaka a ka ịmalite ọrụ ọhụrụ na ESP32 wee wuo, gbanye ma nyochaa mmepụta ngwaọrụ. Mara: Ọ bụrụ na itinyebeghị ESP-IDF, biko gaa na nwụnye wee soro ntuziaka a ka ị nweta ngwanro niile achọrọ iji ntuziaka a.
Bido Project Ugbu a ị dịla njikere ịkwado ngwa gị maka ESP32. Ị nwere ike ịmalite site na mmalite/hello_world project site na examples ndekọ na ESP-IDF.
Ihe dị mkpa: Sistemụ nrụpụta ESP-IDF anaghị akwado oghere n'okporo ụzọ gaa ESP-IDF ma ọ bụ ọrụ.
Detuo oru ngo bido/hello_world na ~/esp ndekọ: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_ụwa ndewo_ụwa
Mara: E nwere oke nke example oru ngo na examples ndekọ na ESP-IDF. Ị nwere ike idetuo ọrụ ọ bụla n'otu ụzọ ahụ e gosipụtara n'elu wee mee ya. Ọ dịkwa ike wuo examples na-ebe na-enweghị iṅomi ha mbụ.
Jikọọ ngwaọrụ gị Ugbu a jikọọ bọọdụ ESP32 gị na kọmputa wee lelee n'okpuru ọdụ ụgbọ mmiri a na-ahụ anya. Aha ọdụ ụgbọ mmiri na-amalite na COM na Windows. Ọ bụrụ na ịmaghị ka esi elele aha ọdụ ụgbọ mmiri serial, biko rụtụ aka na Jikọọ Serial Connection na ESP32 maka nkọwa zuru ezu.
Mara: Debe aha ọdụ ụgbọ mmiri ahụ ka ị ga-achọ ya na usoro ndị ọzọ.
Hazie oru ngo gi Gaa na ndekọ hello_world gi, tọọ ESP32 ka ebumnuche, wee mee mmemme nhazi menuconfig.
Windows cd% userprofile%esphello_world idf.py set-target esp32 idf.py menuconfig
Mgbe ịmepechara ọrụ ọhụrụ, ị ga-ebu ụzọ tọọ ebumnuche na idf.py set-target esp32. Rịba ama na ihe ndị dị adị na nhazi na ọrụ a, ọ bụrụ na ọ bụla, ga-ehichapụ ma malite na usoro a. Enwere ike ịchekwa ebumnuche na mgbanwe gburugburu ebe obibi ka ịwụpụ nzọụkwụ a ma ọlị. Hụ Họrọ Chip Target: set-target maka ozi ndị ọzọ. Ọ bụrụ na emechara usoro ndị gara aga nke ọma, menu na-egosi: Ị na-eji menu a iji dozie mgbanwe dị iche iche, dịka, aha netwọkụ Wi-Fi na paswọọdụ, ọsọ ọsọ processor, wdg. Enwere ike ịwụpụ ọrụ ahụ na menuconfig maka ohllo_wordp, ebe ọ bụ na mbụ a.ample na-agba ọsọ na ndabara nhazi.
Ntị: Ọ bụrụ na ị na-eji bọọdụ ESP32-DevKitC nwere modul ESP32-SOLO-1, ma ọ bụ bọọdụ ESP32-DevKitM-1 nwere modul ESP32-MIN1-1(1U), biko mee ka otu isi ọnọdụ (CONFIG_FREERTOS_UNICORE) na menuconfig tupu ị na-egbu maramara.amples.
Ụlọ ọrụ Espressif Systems
19 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Fig. 12: Nhazi oru - windo ụlọ
Mara: Agba nke menu nwere ike ịdị iche na ọdụ gị. Ị nwere ike ịgbanwe ọdịdị ahụ na nhọrọ -style. Biko mee idf.py menuconfig -help maka ozi ndị ọzọ.
Ọ bụrụ na ị na-eji otu bọọdụ mmepe akwadoro, ị nwere ike mee ka mmepe gị dị ngwa site na iji ngwugwu Nkwado Board. Hụ ndụmọdụ ndị ọzọ maka ozi ndị ọzọ.
Wulite oru ngo a wulite oru ngo site n'iji:
idf.py wuo
Iwu a ga-achịkọta ngwa na ihe niile ESP-IDF, mgbe ahụ ọ ga-emepụta bootloader, tebụl nkebi, na ọnụọgụ abụọ ngwa.
$ idf.py build Running cmake in directory /path/to/hello_world/build Executing “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… dọrọ aka ná ntị banyere uninitialized ụkpụrụ. - Achọtara Git: /usr/bin/git (ụdị a chọtara “2.17.0”) - Iwulite akụrụngwa aws_iot efu n'ihi nhazi - Aha akụrụngwa: … - Ụzọ akụkụ:…
… (ahịrị ndị ọzọ nke nrụpụta sistemụ nrụpụta)
[527/527] Na-emepụta hello_world.bin esptool.py v2.3.1
Nrụpụta ọrụ zuru oke. Iji gbanye ọkụ, gbaa iwu a: .././ bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin ma ọ bụ na-agba ọsọ 'idf.py -p PORT flash'
Ọ bụrụ na enweghị njehie, ihe owuwu ahụ ga-agwụ site na ịmepụta ọnụọgụ abụọ .bin files.
Ụlọ ọrụ Espressif Systems
20 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Fanye na ngwaọrụ Flash ọnụọgụ abụọ nke ị rụburu (bootloader.bin, partition-table.bin na hello_world.bin) na bọọdụ ESP32 gị site na ịgba ọsọ: idf.py -p PORT [-b BAUD] flash
Jiri aha ọdụ ụgbọ mmiri ESP32 dochie PORT gị. Ị nwekwara ike ịgbanwe ọnụego baud flasher site na iji ọnụego baud ị chọrọ dochie BAUD. Ọnụego baud ndabara bụ 460800. Maka ozi ndị ọzọ na arụmụka idf.py, lee idf.py.
Cheta na: The nhọrọ flash na-akpaghị aka na-ewuli ma na-egbuke egbuke oru ngo, otú na-agba ọsọ idf.py wu adịghị mkpa.
Nsogbu zutere mgbe a na-egbuke egbuke? Ọ bụrụ na ị na-agba ọsọ enyere iwu wee hụ mperi dị ka asoEnweghị ijikọ, enwere ike inwe ọtụtụ ihe kpatara nke a. Otu n'ime ihe kpatara ya nwere ike ịbụ nsogbu ndị esptool.py zutere, akụrụngwa nke sistemụ nrụpụta na-akpọ iji tọgharịa mgbawa, soro bootloader ROM na-emekọrịta ihe, yana ngwa ngwa ngwa. Otu ngwọta dị mfe ịnwale bụ nrụpụta akwụkwọ ntuziaka akọwapụtara n'okpuru ebe a, ma ọ bụrụ na ọ naghị enyere gị aka, ị nwere ike ịchọta nkọwa ndị ọzọ gbasara okwu enwere ike na Nchọpụta nsogbu.
esptool.py resets ESP32 na-akpaghị aka site n'ịkwado DTR na RTS akara ahịrị USB ka serial Ntụgharị mgbawa, ya bụ, FTDI ma ọ bụ CP210x (maka ozi ọzọ, lee Melite Serial Connection with ESP32). Ahịrị njikwa DTR na RTS jikọtara ya na GPIO0 na CHIP_PU (EN) ntụtụ nke ESP32, yabụ na-agbanwe na vol.tagE ọkwa nke DTR na RTS ga-ebuba ESP32 n'ime ọnọdụ nbudata Firmware. Dị ka examplee, lelee atụmatụ maka bọọdụ mmepe ESP32 DevKitC.
Na mkpokọta, ịkwesighi inwe nsogbu na bọọdụ mmepe esp-idf gọọmentị. Agbanyeghị, esptool.py enweghị ike ịtọgharịa ngwaike gị na-akpaghị aka n'ọnọdụ ndị a:
· Akụrụngwa gị enweghị ahịrị DTR na RTS ejikọrọ na GPIO0 na CHIP_PU · A na-ahazi ahịrị DTR na RTS dị iche iche · Enweghị ahịrị njikwa serial ma ọlị.
Dabere n'ụdị ngwaike ị nwere, ọ nwekwara ike nwee ike iji aka tinye bọọdụ ESP32 gị n'ime ọnọdụ nbudata Firmware (tọgharịa).
Maka bọọdụ mmepe nke Espressif mepụtara, enwere ike ịchọta ozi a na ntuziaka mmalite ma ọ bụ ntuziaka onye ọrụ. Maka exampka, iji aka gị tọgharịa bọọdụ mmepe ESP-IDF, jituo bọtịnụ Boot (GPIO0) wee pịa bọtịnụ EN (CHIP_PU).
Maka ụdị ngwaike ndị ọzọ, nwaa ịdọrọ GPIO0 ala.
Ịrụ ọrụ nkịtị Mgbe ị na-egbuke egbuke, ị ga-ahụ ndekọ mmepụta ihe yiri nke a:
… 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 0x8000 partition_table/partition.0x bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Serial port / dev/ttyUSB0 Ijikọ……._ Chip bụ ESP32D0WDQ6 (ntụgharị 0) Atụmatụ: WiFi, BT, Dual Core, Coding Scheme Ọ dịghị kristal: 40MHz 24:0a:c4:05:b9:14 Na-ebugote stub… Na-agba ọsọ stub… Stub na-agba ọsọ… Na-agbanwe ọnụego baud na 460800 Gbanwee.
(ga n'ihu na ibe na-esote)
Ụlọ ọrụ Espressif Systems
21 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
(Na-aga n'ihu na ibe gara aga) Na-ahazi nha flash… agbakwunyere 3072 bytes ka ọ bụrụ 103… Na-ede na 0x00008000… (100%) Dere 3072 bytes (103 abịakọrọ) na 0x00008000 na 0.0 sekọnd (dị irè 596k data) 26096 bytes etinyere ruo 15408… Ede na 0x00001000… (100%) Edere 26096 bytes (15408 abịakọrọ) na 0x00001000 na 0.4 sekọnd (dị irè 546.7 kbit/s) Ejikọtara 147104 bytes gaa na 77364… Ede na 0x00010000… (20%) Ode na 0x00014000… (40 %) Ode na 0x00018000… (60%) Na-ede na 0x0001c00 0x00020000… (100%) Dere 147104 bytes (77364 abịakọrọ) na 0x00010000 na 1.9 sekọnd (dị irè 615. 5 kbit/s)… Achọpụtara hash nke data.
Ịhapụ… Ntọgharị siri ike site na pin RTS… Emeela ya
Ọ bụrụ na enweghị nsogbu na njedebe nke usoro flash, bọọdụ ahụ ga-amalitegharị wee malite theohello_worldpapplication. Ọ bụrụ na-amasị gị iji Eclipse ma ọ bụ VS Code IDE kama ịgba ọsọ idf.py, lelee Eclipse Plugin, VSCode Extension.
Nyochaa nsonaazụ ahụ Ka ịlele ma ohllo_worldpis na-agba ọsọ n'ezie, pịnye idf.py -p PORT Monitor (Echefula iji aha ọdụ ụgbọ mmiri gị dochie PORT).
Iwu a na-ebupụta ngwa IDF Monitor:
$ idf.py -p Nyochaa na-agba ọsọ idf_monitor na ndekọ [...]/esp/hello_world/build Na-eme “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… - idf_monitor on 115200 —– Kwụsị: Ctrl+] | NchNhr: Ctrl+T | Enyemaka: Ctrl+T sochiri Ctrl+H –ets Jun 8 2016 00:22:57
Nke mbụ: 0x1 (POWERON_RESET), akpụkpọ ụkwụ: 0x13 (SPI_FAST_FLASH_BOOT) na Jun 8 2016 00:22:57 …
Mgbe mmalite na ndekọ nyocha pịgharịa, ị ga-ahụ oHello ụwa!pprinted site na ngwa.
… Ndewo Ụwa! Na-amalite na 10 sekọnd… Nke a bụ esp32 mgbawa nwere 2 CPU core (s), WiFi/BT/BLE, silicon revision 1, 2MB mpụga flash nha kacha nta free free: 298968 bytes Malite na 9 sekọnd… Malitegharịa ekwentị na 8 sekọnd… Malitegharịa na 7 sekọnd…
Iji pụọ na nyocha IDF jiri ụzọ mkpirisi Ctrl+].
Ụlọ ọrụ Espressif Systems
22 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ọ bụrụ na nyocha IDF dara obere oge ka ebugo ya, ma ọ bụ, ọ bụrụ na kama ozi ndị dị n'elu, ị na-ahụ ihe mkpofu na-enweghị usoro yiri nke enyere n'okpuru, osisi gị nwere ike iji kristal 26 MHz. Ọtụtụ atụmatụ bọọdụ mmepe na-eji 40 MHz, yabụ ESP-IDF na-eji oge a dị ka uru ndabara.
Ọ bụrụ na ị nwere nsogbu dị otú ahụ, mee ihe ndị a: 1. Wepụ nyochaa. 2. Laghachi na menuconfig. 3. Gaa na Component config> Ntọala ngwaike> Isi XTAL Config> Isi ugboro XTAL, wee gbanwee CONFIG_XTAL_FREQ_SEL ka ọ bụrụ 26 MHz. 4. Mgbe nke ahụ gasịrị, wuo ma gbanye ngwa ahụ ọzọ.
Na ụdị ESP-IDF dị ugbu a, ugboro XTAL bụ isi nke ESP32 na-akwado bụ ndị a:
26 MHz · 40 MHz
Mara: Ị nwere ike ijikọta ụlọ, na-egbuke egbuke na nlekota n'ime otu nzọụkwụ site na-agba ọsọ: idf.py -p PORT flash monitor
Hụkwa: · Nyochaa IDF maka ụzọ mkpirisi dị mma yana nkọwa ndị ọzọ gbasara iji nyocha IDF. · idf.py maka nkọwa zuru oke nke iwu na nhọrọ idf.py.
Nke ahụ bụ ihe niile ịchọrọ iji ESP32 malite! Ugbu a, ị dịla njikere ịnwale ụfọdụ examples, ma ọ bụ gaa ozugbo na ịmepụta ngwa nke gị.
Ihe dị mkpa: Ụfọdụ n'ime examples anaghị akwado ESP32 n'ihi na ngwaike achọrọ adịghị etinye na ESP32 yabụ enweghị ike ịkwado ya. Ọ bụrụ na-ewu example, biko lelee README file maka tebụl akwadoro ebumnuche. Ọ bụrụ na nke a dị ugbu a gụnyere ebumnuche ESP32, ma ọ bụ tebụl adịghị adị ma ọlị, exampga-arụ ọrụ na ESP32.
Ndụmọdụ ndị ọzọ
Okwu ikike / dev/ttyUSB0 Site na nkesa Linux ụfọdụ, ị nwere ike ịnweta ozi njehie emepeghị ọdụ ụgbọ mmiri / dev/ttyUSB0 mgbe ị na-egbukepụ ESP32. Enwere ike idozi nke a site na ịgbakwunye onye ọrụ ugbu a na otu mkparịta ụka.
Ndakọrịta Python ESP-IDF na-akwado Python 3.7 ma ọ bụ nke ọhụrụ. A na-atụ aro ka ịkwalite sistemụ arụmọrụ gị gaa na ụdị ọhụrụ na-eju ihe a chọrọ. Nhọrọ ndị ọzọ gụnyere ntinye Python sitere na isi mmalite ma ọ bụ iji usoro njikwa ụdị Python dị ka pyenv.
Malite na ngwugwu nkwado Board Iji mee ka prototyping dị ngwa na ụfọdụ bọọdụ mmepe, ị nwere ike iji ngwugwu Nkwado Board (BSPs), nke na-eme ka mmalite nke otu bọọdụ dị mfe dị ka oku ọrụ ole na ole.
Ụlọ ọrụ Espressif Systems
23 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
BSP na-akwado ngwaike niile enyere na bọọdụ mmepe. Ewezuga nkọwa pinout na ọrụ mmalite, ụgbọ mmiri BSP nwere ndị ọkwọ ụgbọ ala maka ihe ndị dị na mpụga dị ka sensọ, ihe ngosi, codec ọdịyo wdg. A na-ekesa BSP site na njikwa akụrụngwa IDF, yabụ enwere ike ịchọta ha na ndekọ akụrụngwa IDF. Nke a bụ exampotu esi etinye ESP-WROVER-KIT BSP na ọrụ gị: idf.py add-dependency esp_wrover_kit
Ndị ọzọ exampEnwere ike ịhụ obere ojiji BSP na BSP examples nchekwa.
Akwụkwọ ndị emetụtara Maka ndị ọrụ dị elu chọrọ ịhazi usoro nwụnye: · Imelite ngwaọrụ ESP-IDF na Windows · Mepụta njikọ serial na ESP32 · ngwa mgbakwunye Eclipse · VSCode Extension · IDF Monitor
Na-emelite ngwa ESP-IDF na Windows
Wụnye ngwaọrụ ESP-IDF site na iji edemede Site na Windows Command Prompt, gbanwee gaa na ndekọ ebe arụnyere ESPDF. wee gbaa ọsọ:
tinye.bat
Maka Powershell, gbanwee gaa na ndekọ ebe arụnyere ESP-IDF. wee gbaa ọsọ:
tinye.ps1
Nke a ga-ebudata ma wụnye ngwaọrụ ndị dị mkpa iji ESP-IDF. Ọ bụrụ na etinyelarị ụdị ngwa ngwa akọwapụtara, ọ nweghị ihe a ga-eme. A na-ebudata ma tinye ya n'ime ndekọ aha kpọmkwem n'oge ESP-IDF Tools Installer. Site na ndabara, nke a bụ C: Usersusername.espressif.
Tinye ngwa ESP-IDF na PATH site na iji edemede mbupụ ESP-IDF ngwaọrụ installer na-emepụta ụzọ mkpirisi menu mmalite maka oESP-IDF Command Promptp. Ụzọ mkpirisi a na-emepe windo Command ozugbo ebe ngwaọrụ niile adịlarị
dị. N'ọnọdụ ụfọdụ, ị nwere ike iji ESP-IDF rụọ ọrụ na windo Command Prompt nke na-amaliteghị iji ụzọ mkpirisi ahụ. Ọ bụrụ otu a, soro ntuziaka dị n'okpuru ka ịgbakwunye ngwa ESP-IDF na PATH. N'ime iwu ozugbo ebe ịchọrọ iji ESP-IDF, gbanwee gaa na ndekọ ebe arụnyere ESP-IDF, wee mebie export.bat:
cd% onye ọrụprofile%espesp-idf export.bat
N'aka nke ọzọ na Powershell ebe ịchọrọ iji ESP-IDF, gbanwee gaa na ndekọ ebe arụnyere ESP-IDF, wee mee mbupụ.ps1:
cd ~/esp/esp-idf export.ps1
Mgbe emechara nke a, ngwaọrụ ga-adị na ngwa ngwa iwu a.
Mepụta Njikọ Oghere Usoro na ESP32 Nkebi a na-enye ntụzịaka otu esi emepụta njikọ n'etiti ESP32 na PC.
Ụlọ ọrụ Espressif Systems
24 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Jikọọ ESP32 na PC Jikọọ osisi ESP32 na PC site na iji eriri USB. Ọ bụrụ na ọkwọ ụgbọ ala adịghị arụnye na akpaghị aka, chọpụta mgbawa USB gaa na serial na bọọdụ ESP32 gị (ma ọ bụ dongle ntụgharị mpụga), chọọ ndị ọkwọ ụgbọ ala na ịntanetị wee wụnye ha. N'okpuru ebe a bụ ndepụta nke ibe ihe ntụgharị USB na serial nke etinyere na ọtụtụ bọọdụ ESP32 nke Espressif mepụtara yana njikọ ndị ọkwọ ụgbọ ala:
· CP210x: CP210x USB ka UART Bridge VCP ọkwọ ụgbọ ala · FTDI: FTDI Virtual COM Port ọkwọ ụgbọ mmiri Biko lelee osisi ntuziaka onye ọrụ maka kpọmkwem USB ka Oghere Usoro Ntụgharị mgbawa eji. Ndị ọkwọ ụgbọ ala dị n'elu bụ maka ntụnye aka. N'okpuru ọnọdụ nkịtị, ndị ọkwọ ụgbọ ala kwesịrị iji sistemu arụ ọrụ wee tinye ya na akpaghị aka mgbe ijikọ bọọdụ na PC.
Lelee ọdụ ụgbọ mmiri na Windows Lelee ndepụta nke ọdụ ụgbọ mmiri COM achọpụtara na Njikwa Ngwaọrụ Windows. Kwupu ESP32 wee jikọọ ya azụ, iji nyochaa ọdụ ụgbọ mmiri na-apụ na listi wee gosi azụ ọzọ. Ọnụọgụ dị n'okpuru na-egosi ọdụ ụgbọ mmiri maka ESP32 DevKitC na ESP32 WROVER KIT
Foto 13: USB ka UART akwa nke ESP32-DevKitC dị na njikwa ngwaọrụ Windows.
Lelee ọdụ ụgbọ mmiri na Linux na MacOS Ka ịlele aha ngwaọrụ maka ọdụ ụgbọ mmiri nke bọọdụ ESP32 gị (ma ọ bụ dongle ntụgharị mpụga), gbanye iwu a ugboro abụọ, nke mbụ na bọọdụ / dongle unplugged, wee tinye ya.
ls /dev/tty*
macOS
Ụlọ ọrụ Espressif Systems
25 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Foto 14: Ọdụ ụgbọ mmiri USB abụọ nke ESP-WROVER-KIT na njikwa ngwaọrụ Windows
Ụlọ ọrụ Espressif Systems
26 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
ls /dev/cu.* Mara: ndị ọrụ macOS: ọ bụrụ na ịhụghị ọdụ ụgbọ mmiri, lelee na etinyere USB/serial ọkwọ ụgbọ ala. Lee ngalaba Jikọọ ESP32 na PC maka njikọ ndị ọkwọ ụgbọala. Maka macOS High Sierra (10.13), ị nwekwara ike ikwe ka ndị ọkwọ ụgbọ ala mee ihe n'ụzọ doro anya. Mepee Mmasị Sistemu -> Nchekwa & Nzuzo -> Ozuruọnụ wee lelee ma enwere ozi egosiri ebe a gbasara oSystem Software sitere na onye nrụpụta lpebe aha onye nrụpụta bụ Silicon Labs ma ọ bụ FTDI.
Na-agbakwụnye onye ọrụ na diaout na Linux Onye ọrụ abanyela ugbu a kwesịrị ịgụ ma dee ohere ịnweta ọdụ ụgbọ mmiri n'elu USB. N'ọtụtụ nkesa Linux, a na-eme nke a site n'ịgbakwunye onye ọrụ ka ọ bụrụ otu n'ime iwu ndị a:
sudo usermod -a -G dialout $USER
na Arch Linux nke a na-eme site n'ịgbakwunye onye ọrụ na uucp otu na iwu a:
sudo usermod -a -G uucp $USER
Jide n'aka na ị nbanye ọzọ iji nye ikike ịgụ na ide ikike maka ọdụ ụgbọ mmiri.
Nyochaa njikọ serial Ugbu a chọpụta na njikọ serial na-arụ ọrụ. Ị nwere ike ime nke a site na iji mmemme ọnụ ọnụ serial site na ịlele ma ị nweta mmepụta ọ bụla na njedebe mgbe ịtọgharịa ESP32. Ọnụego njikwa njikwa ndabara na ESP32 bụ 115200.
Windows na Linux Na nke a exampAnyị ga-eji PuTTY SSH Client nke dị maka Windows na Linux. Ị nwere ike iji mmemme serial ndị ọzọ wee tọọ paramita nkwurịta okwu dị ka n'okpuru. Gbaa ọnụ ma tọọ ọdụ ụgbọ mmiri achọpụtara. Baud ọnụego = 115200 (ọ bụrụ na ọ dị mkpa, gbanwee nke a na ndabara baud ọnụego nke mgbawa a na-eji), data bits = 8, nkwụsị bits = 1, na parity = N. N'okpuru ebe a bụ example nseta ihuenyo nke ịtọ ọdụ ụgbọ mmiri na ụdị nnyefe dị otú ahụ (na nkenke kọwara dị ka 115200-8-1-N) na Windows na Linux. Cheta ịhọrọ kpọmkwem otu ọdụ ụgbọ mmiri ị chọpụtala na usoro dị n'elu. Mepee ọdụ ụgbọ mmiri serial na ọnụ wee lelee, ọ bụrụ na ị hụ ndekọ ọ bụla ESP32 bipụtara. Ọdịnaya ndekọ ahụ ga-adabere na ngwa etinyere na ESP32, lee Ọpụample mmepụta.
Mara: Mechie ọnụ ọnụ serial ka emechara nkwenye na nkwukọrịta na-arụ ọrụ. Ọ bụrụ na ị na-emepe nnọkọ ọnụ ọnụ, ọdụ ụgbọ mmiri ahụ agaghị enwe ike ịnweta ngwa ngwa ma emechaa.
MacOS Iji chebe gị nsogbu nke ịwụnye usoro ihe omume serial, macOS na-enye iwu ihuenyo. Dị ka a tụlere na Check port na Linux na macOS, gbaa ọsọ:
ls /dev/cu.* · Ị ga-ahụ mmepụta yiri ya:
/dev/cu.Bluetooth-Incoming-Port /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· Mmepụta ga-adịgasị iche dabere na ụdị na ọnụ ọgụgụ nke mbadamba ejikọrọ na PC gị. Wee họrọ aha ngwaọrụ nke bọọdụ gị wee gbaa ọsọ (ọ bụrụ na ọ dị mkpa, gbanwee o115200 na ọnụego baud ndabara nke mgbawa a na-eji):
screen /dev/cu.device_name 115200 Dochie device_name na aha achọtara na-agba ls /dev/cu.*.
Ụlọ ọrụ Espressif Systems
27 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Foto 15: Ịtọ ntọala nzikọrịta ozi na PuTTY na Windows
Ụlọ ọrụ Espressif Systems
28 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Foto 16: Ịtọ ntọala nzikọrịta ozi na PuTTY na Linux
Ụlọ ọrụ Espressif Systems
29 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
· Ihe ị na-achọ bụ ụfọdụ log gosipụtara site na ihuenyo. Ọdịnaya ndekọ ahụ ga-adabere na ngwa etinyere na ESP32, lee Ọpụample Output. To exit the screen session type Ctrl-A + .
Cheta na: Echefula ịpụ na nnọkọ ihuenyo mgbe ị chọpụtachara na nkwurịta okwu na-arụ ọrụ. Ọ bụrụ na ịmeghị ya ma mechie windo ọnụ, ọdụ ụgbọ mmiri ahụ agaghị enwe ike ịnweta ngwa ngwa ma emechaa.
Example Mmepụta Ihe example log na-egosi n'okpuru. Tọgharịa bọọdụ ahụ ma ọ bụrụ na ịhụghị ihe ọ bụla. ets Jun 8 2016 00:22:57
nke mbụ: 0x5 (DEEPSLEEP_RESET), akpụkpọ ụkwụ: 0x13 (SPI_FAST_FLASH_BOOT) na 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) buut: chịkọta oge 18:48:10
…
Ọ bụrụ na ị nwere ike ịhụ mmepụta ndekọ enwere ike ịgụ, ọ pụtara na njikọ serial na-arụ ọrụ ma ị dịla njikere ịga n'ihu na ntinye na n'ikpeazụ bulite ngwa na ESP32.
Mara: Maka ụfọdụ nhazi wiring ọdụ ụgbọ mmiri, serial RTS & DTR pin kwesịrị inwe nkwarụ na mmemme ọnụ tupu ESP32 ebutu wee mepụta mmepụta usoro. Nke a dabere na ngwaike n'onwe ya, ọtụtụ bọọdụ mmepe (gụnyere bọọdụ Espressif niile) enweghị okwu a. Okwu dị ugbu a ma ọ bụrụ na etinyere RTS & DTR ozugbo na ntụtụ EN & GPIO0. Hụ akwụkwọ esptool maka nkọwa ndị ọzọ.
Ọ bụrụ na ị nwetara ebe a site na nzọụkwụ 5. Nzọụkwụ mbụ na ESP-IDF mgbe ị na-etinye s / w maka mmepe ESP32, ị nwere ike ịga n'ihu na Nzọụkwụ 5. Nzọụkwụ mbụ na ESP-IDF.
IDF Monitor IDF Monitor bụ tumadi mmemme ọnụ ọnụ nke na-ebuga data nsonazụ gaa na site na ọdụ ụgbọ mmiri nke ngwaọrụ a chọrọ. Ọ na-enyekwa ụfọdụ atụmatụ akọwapụtara IDF. Enwere ike ịmalite IDF Monitor site na oru ngo IDF site na iji nyochaa idf.py.
Ụzọ mkpirisi ahụigodo Maka mmekọrịta dị mfe na IDF Monitor, jiri ụzọ mkpirisi ahụigodo enyere na tebụl.
Ụlọ ọrụ Espressif Systems
30 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ụzọ mkpirisi ahụigodo Ctrl+] Ctrl+T
Ctrl + T
Ctrl+] · Ctrl+P
Ctrl+R
Ctrl+F
Ctrl+A (ma ọ bụ A)
Ctrl + Y
Ctrl + L
Ctrl + I (ma ọ bụ m)
Ctrl + H (ma ọ bụ H)
Ctrl + X (ma ọ bụ X)
Ctrl+C
Omume
Nkọwa
Wepụ igodo mgbapụ NchNhr zipu agwa menu n'onwe ya gaa na ime ime
Zipu agwa ọpụpụ n'onwe ya na ime ime
Tọgharịa ebumnuche n'ime bootloader ka kwụsịtụ ngwa site na ahịrị RTS
Tọgharịa bọọdụ ebumnuche site na RTS
Wulite ma gbanye ọrụ ahụ
Wulite ma gbanye naanị ngwa ahụ
Kwụsị/ maliteghachi mbipụta akwụkwọ ndekọ na ihuenyo
Kwụsị/ malitegharịa mmepụta ndekọ echekwara na file
Kwụsị/ malitegharịa ogeamps
obibi akwụkwọ
Gosipụta ụzọ mkpirisi ahụigodo niile
Pịa wee soro ya site na otu igodo enyere n'okpuru.
Na-emegharị ihe mgbaru ọsọ, n'ime bootloader site na ahịrị RTS (ọ bụrụ na ejikọtara ya), nke mere na bọọdụ ahụ na-agba ọsọ ọ bụla. Ọ bara uru mgbe ịchọrọ ichere ka ngwaọrụ ọzọ malite. Tọgharịa bọọdụ ebumnuche wee malitegharịa ngwa site na ahịrị RTS (ọ bụrụ na ejikọrọ).
Kwụsị idf_monitor ka ọ rụọ ọrụ flash target, wee maliteghachi idf_monitor. Isi iyi ọ bụla gbanwere fileA na-achịkọta s wee tụgharịa ọzọ. A na-agba ọsọ ezoro ezo-flash ma ọ bụrụ na ejiri arụmụka malite idf_monitor -E. Kwụsị idf_monitor iji mee ebumnuche ngwa-flash, wee maliteghachi idf_monitor. Yiri ebumnobi ọkụ, mana ọ bụ naanị ngwa bụ isi ka ewuru wee nwugharịa ọzọ. A na-agba ọsọ ezoro ezo-app-flash ma ọ bụrụ na ejiri arụmụka malite idf_monitor -E. Na-atụfu usoro usoro data niile na-abata ka ọ na-arụ ọrụ. Na-enye ohere kwụsịtụ ngwa ngwa wee nyochaa mmepụta ndekọ na-akwụsịghị ihe nleba anya. Na-emepụta a file na akwụkwọ ndekọ aha na mmepụta na-dere na file ruo mgbe enwere nkwarụ site na otu ụzọ mkpirisi ahụigodo ahụ (ma ọ bụ ọpụpụ IDF Monitor). IDF Monitor nwere ike ibipụta ogeamp na mmalite nke ọ bụla ahịrị. Ogeamp enwere ike gbanwee usoro site na -timestamp-usoro iwu ahịrị arụmụka.
Wepụ mmemme
Kwụsị ngwa na-agba ọsọ
Kwụsị IDF Nyochaa ma mee GDB ihe nbibi iji mebie ngwa ahụ n'oge ọ na-agba ọsọ. Nke a na-achọ :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME nhọrọ ka agbanyere ya.
A ga-eziga igodo ọ bụla apịara, na-abụghị Ctrl-] na Ctrl-T, site na ọdụ ụgbọ mmiri.
Njirimara ndị akọwapụtara IDF
Nchọpụta adreesị akpaaka Mgbe ọ bụla ESP-IDF weputara adreesị koodu hexadecimal nke ụdị 0x4_______, IDF Monitor na-eji addr2line_ chọpụta ebe dị na koodu isi mmalite wee chọta aha ọrụ ahụ.
Ọ bụrụ na ngwa ESP-IDF daa na ụjọ, a na-emepụta ndetu na azụ azụ, dị ka ndị a:
Ụlọ ọrụ Espressif Systems
31 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Njehie ntụgharị uche Guru nke ụdị ụlọ ahịa amachibidoro mere na isi 0. Ewepụghị ya
ejighi aka.
Deba aha mkpofu:
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 MGBE:
0x0000001d
EXCVADDR: 0x00000000 LBEG : 0x4000c46c mgbazinye ego: 0x4000c477 LCOUNT :
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
IDF Monitor na-agbakwụnye nkọwa ndị ọzọ na mkpofu:
Njehie ntụgharị uche Guru nke ụdị ụlọ ahịa amachibidoro mere na isi 0. Ewepụghị ya
ejighi aka.
Deba aha mkpofu:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
0x400f360d: mee_something_ga_okuku na /home/gus/esp/32/idf/examples/bido/
ndewo_world/isi/./ndeewo_world_main.c:57
(nke etinyere ya) inner_dont_crash na /home/gus/esp/32/idf/examples/bido/ndewo_
uwa/isi/./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 MGBE:
0x0000001d
EXCVADDR: 0x00000000 LBEG : 0x4000c46c mgbazinye ego: 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/ ndewo_world/main/./hello_world_main.c:57 (nke etinyere) inner_dont_crash na /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash na /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: egbula okuku na /home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main na /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task na /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254
Iji dekọọ adreesị nke ọ bụla, IDF Monitor na-eme iwu ndị a na ndabere: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS.
Mara: Tọọ mgbanwe gburugburu ESP_MONITOR_DECODE ka ọ bụrụ 0 ma ọ bụ jiri ahịrị iwu kpọọ idf_monitor.py
Ụlọ ọrụ Espressif Systems
32 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
nhọrọ: idf_monitor.py -disable-address-decoding iji gbanyụọ ngbanwe adreesị.
Tọgharia ebumnuche na Njikọ Site na ndabara, IDF Monitor ga-emegharị ebumnuche mgbe ị na-ejikọ ya. A na-eme nrụpụta mgbawa ebumnuche site na iji ahịrị DTR na RTS. Iji gbochie IDF Monitor site na ịtọgharịa ebumnuche na njikọ na-akpaghị aka, kpọọ IDF Monitor na nhọrọ –no-tọgharịa (dịka ọmụmaatụ, idf_monitor.py –no-reset).
Mara: Nhọrọ –no-reset na-emetụta otu omume ahụ ọbụlagodi mgbe ị na-ejikọ IDF Monitor na ọdụ ụgbọ mmiri (dịka ọmụmaatụ, idf.py monitor –no-reset -p [PORT]).
Ịmepụta GDB na GDBStub GDBStub bụ njirimara nbibi oge ọsọ bara uru nke na-agba ọsọ na ebumnuche ma jikọọ na onye ọbịa n'elu ọdụ ụgbọ mmiri iji nweta iwu nbipu. GDBStub na-akwado iwu dị ka ịgụ ebe nchekwa na mgbanwe dị iche iche, na-enyocha okpokolo agba oku wdg. Ọ bụ ezie na GDBStub adịchaghị ike karịa J.TAG debugging, ọ dịghị achọ ngwaike pụrụ iche (dị ka JTAG na akwa USB) ka a na-eme nkwukọrịta kpamkpam n'ọdụ ụgbọ mmiri. Enwere ike ịhazi ebumnuche ka ọ na-agba GDBStub n'azụ site na ịtọ CONFIG_ESP_SYSTEM_PANIC na GDBStub n'oge ọsọ. GDBStub ga-agba ọsọ n'azụ ruo mgbe ezigara ozi Ctrl+C n'ọdụ ụgbọ mmiri serial wee mee ka GDBStub mebie (ya bụ, kwụsị mmezu nke) mmemme, si otú a na-enye GDBStub aka ijikwa iwu nbipu. Ọzọkwa, enwere ike ịhazi onye na-ahụ maka ụjọ ka ọ gbaa GDBStub na okuku site na ịtọ CONFIG_ESP_SYSTEM_PANIC na GDBStub na ụjọ. Mgbe ihe mberede mere, GDBStub ga-ewepụta usoro eriri pụrụ iche n'elu ọdụ ụgbọ mmiri iji gosi na ọ na-agba ọsọ. N'ọnọdụ abụọ ahụ (ntụgharị, izipu ozi Ctrl+C, ma ọ bụ ịnata ụkpụrụ eriri pụrụ iche), IDF Monitor ga-ewepụta GDB ozugbo ka onye ọrụ nwee ike izipu iwu nbipu. Mgbe GDB gachara, a na-emegharị ebumnuche ahụ site na ahịrị akara RTS. Ọ bụrụ na ejikọtaghị ahịrị a, ndị ọrụ nwere ike ịtọgharịa ebumnuche ha (site na ịpị bọtịnụ Tọgharia boardns).
Mara: N'okirikiri, IDF Monitor na-eme iwu a ka ịmalite GDB:
xtensa-esp32-elf-gdb -ex “set serial baud BAUD” -ex “Target remote PORT”-ex interrupt build/PROJECT.elf:idf_target:`Ndewo aha mgbawa`
Enwere ike ịkpọpụta ihe nzacha IDF dị ka idf.py Monitor –print-filter=”xyz”, ebe –print-filter bụ oke maka nzacha mmepụta. Uru ndabara bụ eriri efu, nke pụtara na ebipụtara ihe niile.
Enwere ike ịkọwa mmachi na ihe a ga-ebipụta dịka usorotag>: ihe ebetag> bụ tag eriri na bụ agwa sitere na ntọala {N, E, W, I, D, V, *} na-ezo aka n'ọkwa maka ịkụ osisi.
Maka example, PRINT_FILTER="tag1:W" dakọtara ma na-ebipụta naanị ihe e dere na ESP_LOGW("tag1”, …) ma ọ bụ n'ogo okwu ọnụ dị ala, ntụgharị ESP_LOGE(“tag1 ″,…). Na-akọwaghị a ma ọ bụ iji * ndabara na ọkwa Verbose.
Mara: Jiri osisi mbụ iji gbanyụọ mgbe ị na-achịkọta nsonaazụ ị na-achọghị site na ọba akwụkwọ osisi. Nzacha mmepụta na nyocha IDF bụ ihe ngwọta nke abụọ nwere ike ịba uru maka ịhazigharị nhọrọ nzacha na-enweghị achịkọta ngwa ahụ.
Ngwa gị tags agaghị enwe oghere, akara mmuke * ma ọ bụ oghere: ka ọ dakọtara na njirimara nzacha mmepụta.
Ọ bụrụ na ahịrị ikpeazụ nke mmepụta na ngwa gị esoghị na nloghachi ụgbọ ala, nzacha mmepụta nwere ike gbagwojuru anya, ya bụ, onye nleba anya na-amalite ibipụta ahịrị wee chọpụta na ekwesighi idebe ahịrị ahụ. Nke a bụ okwu amaara ma enwere ike zere ya site na ịtinye nloghachi ụgbọ ala mgbe niile (karịsịa mgbe ọ nweghị mmepụta na-esote ozugbo emechara).
Ụlọ ọrụ Espressif Systems
33 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
ExampIwu nzacha:
· * enwere ike iji dabara nke ọ bụla tags. Agbanyeghị, eriri PRINT_FILTER=”*:I tag1:E” n'ihe gbasara tag1 na-ebipụta naanị njehie, n'ihi na iwu maka tag1 nwere ihe kacha mkpa karịa iwu maka * .
Iwu ndabara (efu) bụ *:V n'ihi na ọ dabara nke ọ bụla tag na verbose larịị ma ọ bụ ala pụtara na-adaba ihe niile.
· "*: N" na-egbochi ọ bụghị naanị mmepụta sitere na ọrụ ndekọ, kamakwa mbipụta nke printf, wdg. Iji zere nke a, jiri *: E ma ọ bụ ọkwa verbosity dị elu.
· Iwu"tag1:V", "tag1:v", "tag1: ","tag1:*" na"tag1" bụ otu. · Iwu "tag1: W tag1:E" pụtara "tag1:E” n'ihi na ihe ọ bụla ga-esi na ya pụta tag
aha na-edegharị nke gara aga. · Ọchịchị"tag1:I tag2:W” naanị ebipụta tag1 na ọkwa verbosity ozi ma ọ bụ ala na tag2 na ịdọ aka ná ntị
ọkwa okwu ọnụ ma ọ bụ ala. · Ọchịchị"tag1:I tag2: W tag3:N” dabara na nke gara aga n'ihi na tag3:N na-akọwapụta
na tagE kwesịghị ibipụta 3. · tag3:N na iwu"tag1:I tag2: W tag3:N *:V" bara uru karịa n'ihi na enweghị tag3:N nke
tagEnwere ike ibipụta ozi 3; mmejọ maka tag1 na tagA ga-ebipụta 2 na ọkwa verbosity akọwapụtara (ma ọ bụ ala) yana ihe ọ bụla ọzọ ga-ebipụta na ndabara.
Ihe nzacha dị mgbagwoju anya ExampE nwetara snippet log ndị a na-enweghị nhọrọ nzacha ọ bụla:
ibu: 0x40078000,len:13564 ntinye 0x40078d4c E (31) esp_image: onyonyo dị na 0x30000 nwere anwansi byte W (31) esp_image na-ezighi ezi: onyonyo na 0x30000 nwere ọnọdụ SPI na-ezighi ezi 255 E (39) anaghị arụ ọrụ nke ukwuu. cpu_start: Pro cpu elu. I (569) heap_init: Mmalite. RAM dị maka oke ike: I (603) cpu_start: Pro cpu mmalite koodu njirimara D (309) light_driver: [light_init, 74]: ọnọdụ: 1, mode: 2 D (318) vfs: esp_vfs_register_fd_range na-aga nke ọma maka oke <54; 64) na VFS ID 1 I (328) wifi: wifi ọkwọ ụgbọ ala: 3ffdbf84, prio: 23, tojupụtara: 4096, isi = 0
Ihe ewepụtara maka nhọrọ nzacha PRINT_FILTER=”wifi esp_image:E light_driver:I” ka enyere n’okpuru:
E (31) esp_image: onyonyo dị na 0x30000 nwere byte anwansi na-ezighi ezi (328) wifi: ọrụ ọkwọ ụgbọ ala wifi: 3ffdbf84, prio: 23, stack: 4096, isi = 0
Nhọrọ "PRINT_FILTER="light_driver:D esp_image:N buut:N cpu_start:N vfs:N wifi:N *:V"gosi ihe a:
ibu:0x40078000,len:13564 ntinye 0x40078d4c I (569) heap_init: Initializing. RAM dị maka oke ike: D (309) light_driver: [light_init, 74]: ọnọdụ: 1, ọnọdụ: 2
Okwu ndị amaara na IDF Monitor
A na-ahụta nsogbu na Windows
Igodo akụ, yana ụfọdụ igodo ndị ọzọ anaghị arụ ọrụ na GDB n'ihi oke Windows Console. Mgbe ụfọdụ, mgbe oidf.pypexits, ọ nwere ike akwụsị ruo 30 sekọnd tupu IDF Monitor malitegharịa. Mgbe ogdbpis na-agba ọsọ, ọ nwere ike kwụsịtụ obere oge tupu ya amalite ịkparịta ụka na GDBStub.
Ụlọ ọrụ Espressif Systems
34 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Bido Ntọala Ngwa Ngwa Ọkọlọtọ maka Linux na MacOS
Nzọụkwụ Nwụnye site na Nzọụkwụ Nke a bụ ụzọ zuru ezu nke ga-ejegharị gị na usoro ntinye.
Ịtọlite gburugburu mmepe mmepe Ndị a bụ usoro maka ịtọlite ESP-IDF maka ESP32 gị. · Nzọụkwụ 1. Wụnye ihe achọrọ · Nzọụkwụ 2. Nweta ESP-IDF · Nzọụkwụ 3. Tọọ ngwá ọrụ · Nzọụkwụ 4. Tọọ gburugburu gburugburu ebe obibi variables · Nzọụkwụ 5. Nzọụkwụ mbụ na ESP-IDF
Nzọụkwụ 1. Wụnye Prerequisites Iji jiri ESP-IDF na ESP32, mkpa ka ị wụnye ụfọdụ software ngwugwu dabere na gị Operating System. Ntuziaka nhazi a ga-enyere gị aka ị nweta ihe niile arụnyere na Linux na MacOS.
Maka ndị ọrụ Linux Iji ESP-IDF chịkọta, ị ga-enweta ngwugwu ndị a. Iwu ịgba ọsọ dabere na nkesa Linux ị na-eji:
Ubuntu na Debian: sudo apt-nweta wụnye git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
CentOS 7 & 8: sudo yum -y update && sudo yum wụnye git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
A ka na-akwado CentOS 7 mana ụdị CentOS 8 ka akwadoro maka ahụmịhe onye ọrụ ka mma. Arch: sudo pacman -S – need gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Mara: · CMake ụdị 3.16 ma ọ bụ nke ọhụrụ ka achọrọ maka iji ESP-IDF. Gbaa otools/idf_tools.py wụnye cmakepto wụnye ụdị kwesịrị ekwesị ma ọ bụrụ na nsụgharị OS gị enweghị otu. Ọ bụrụ na ịhụghị nkesa Linux gị na listi dị n'elu, biko lelee akwụkwọ ya ka ị mata iwu ị ga-eji maka nrụnye ngwugwu.
Maka ndị ọrụ macOS ESP-IDF ga-eji ụdị Python arụnyere na ndabara na macOS. Wụnye CMake & Ninja wuo: Ọ bụrụ na ị nwere HomeBrew, ị nwere ike ịgba ọsọ: brew install cmake ninja dfu-util Ọ bụrụ na ị nwere MacPorts, ị nwere ike ịgba ọsọ: sudo port install cmake ninja dfu-util Ma ọ bụghị ya, lelee ibe CMake na Ninja maka nbudata nrụnye macOS.
Ụlọ ọrụ Espressif Systems
35 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
· A na-atụ aro ka ịwụnye ccache maka iwuli ngwa ngwa. Ọ bụrụ na ị nwere HomeBrew, enwere ike ime nke a site na ime biya tinye ccache ma ọ bụ sudo port install ccache na MacPorts.
Mara: Ọ bụrụ na egosiri njehie dị ka nke a n'oge usoro ọ bụla: xcrun: njehie: ụzọ onye nrụpụta na-adịghị mma (/Library/Developer/CommandLineTools), na-efu xcrun na: /Library/Developer/CommandLineTools/usr/bin/xcrun
Mgbe ahụ, ị ga-achọ ịwụnye ngwaọrụ ahịrị iwu XCode ka ị gaa n'ihu. Ị nwere ike iwunye ndị a site na ịgba ọsọ xcode-select -install.
Ndị ọrụ Apple M1 Ọ bụrụ na ị na-eji Apple M1 n'elu ikpo okwu wee hụ njehie dị ka nke a: ỊDỌ AKA NA NTỊ: akwụkwọ ndekọ maka ngwá ọrụ xtensa-esp32-elf version esp-2021r2-patch3-8.4.0 dị ugbu a, ma achọtaghị ngwá ọrụ ERROR: ngwá ọrụ xtensa-esp32-elf enweghị nsụgharị arụnyere. Biko mee 'install.sh' ka ịwụnye ya.
ma ọ bụ: zsh: ụdị CPU ọjọọ dị na executable: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Mgbe ahụ ị ga-achọ ịwụnye Apple Rosetta 2 site na ịgba ọsọ /usr/sbin/softwareupdate -install-rosetta -agree-to-license.
Ịwụnye Python 3 dabere na ndetu ntọhapụ macOS Catalina 10.15, akwadoghị iji Python 2.7 yana Python 2.7 agaghị etinye ya na ndabara na ụdị macOS n'ọdịnihu. Lelee ihe Python ị nwere ugbu a: python –version
Ọ bụrụ na mmepụta ahụ dị ka Python 2.7.17, onye ntụgharị okwu gị bụ Python 2.7. Ọ bụrụ otu a, leleekwa ma ọ bụrụ na etinyeghị Python 3 na kọmputa gị: python3 –version
Ọ bụrụ na iwu a dị n'elu weghachiri mperi, ọ pụtara Python 3 etinyeghị ya. N'okpuru bụ njedebeview nke usoro iji wụnye Python 3.
Ịwụnye na HomeBrew nwere ike ime dị ka ndị a: brew install python3
Ọ bụrụ na ị nwere MacPorts, ị nwere ike ịgba ọsọ: sudo port install python38
Nzọụkwụ 2. Nweta ESP-IDF Iji wuo ngwa maka ESP32, ị ga-achọ ọba akwụkwọ software nke Espressif nyere na ebe nchekwa ESP-IDF. Iji nweta ESP-IDF, gaa na ndekọ nwụnye gị wee mechie ebe nchekwa ahụ na git clone, na-eso ntuziaka dị n'okpuru kpọmkwem maka sistemụ arụmọrụ gị. Mepee Terminal, wee mee iwu ndị a:
Ụlọ ọrụ Espressif Systems
36 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
mkdir -p ~/ esp cd ~/esp git clone -b v5.0.9 -recursive https://github.com/espressif/esp-idf.git
A ga-ebudata ESP-IDF na ~/esp/esp-idf. Gaa na ụdị ESP-IDF maka ozi gbasara ụdị ESP-IDF ị ga-eji na ọnọdụ enyere.
Kwụpụ 3. Tọọ ngwaọrụ ndị ewezuga ESP-IDF, ịkwesịrị ịwụnye ngwa ndị ESP-IDF na-eji, dị ka nchịkọta, debugger, Python packages, wdg, maka ọrụ na-akwado ESP32. cd ~/esp/esp-idf ./install.sh esp32
ma ọ bụ jiri azụ azụ cd ~/esp/esp-idf ./install.fish esp32
Iwu ndị a dị n'elu wụnye ngwaọrụ maka naanị ESP32. Ọ bụrụ na ị bu n'obi ịmalite ọrụ maka mgbawa mgbawa ọzọ, ị ga-edepụta ha niile wee gbaa ọsọ maka example: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
ma ọ bụ jiri akwa shei cd ~/esp/esp-idf ./install.fish esp32,esp32s2
Iji wụnye ngwaọrụ maka ebumnuche niile akwadoro biko mee iwu a: cd ~/esp/esp-idf ./install.sh all
ma ọ bụ jiri azụ azụ cd ~/esp/esp-idf ./install.fish niile
Mara: Maka ndị ọrụ macOS, ọ bụrụ na egosipụtara njehie dị ka nke a n'oge usoro ọ bụla:urlmperi mperi [SSL: CERTIFICATE_VERIFY_FAILED] asambodo ọdịda dara: enweghị ike ịnweta asambodo onye na-enye mpaghara (_ssl.c:xxx)
Ị nwere ike ịgba ọsọ Wụnye Certificates.command na nchekwa Python nke kọmputa gị iji wụnye asambodo. Maka nkọwa, lee Njehie nbudata ka ị na-etinye Ngwa ESP-IDF.
Nhọrọ File Nbudata Onye nrụnye ngwaọrụ na-ebudata ọtụtụ files jikọtara na GitHub mwepụta. Ọ bụrụ na ịnweta GitHub dị nwayọ mgbe ahụ ọ ga-ekwe omume ịtọ mgbanwe gburugburu ka ịhọrọ nkesa nbudata Espressifns maka nbudata ngwa GitHub.
Mara: Ntọala a na-ejikwa naanị ngwaọrụ ebudatara na mwepụta GitHub, ọ naghị agbanwe ya URLs iji nweta ebe nchekwa Git ọ bụla.
Ka ịhọrọ nkesa nbudata Espressif mgbe ị na-etinye ngwaọrụ, jiri usoro iwu ndị a mgbe ị na-agba install.sh:
Ụlọ ọrụ Espressif Systems
37 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
cd ~/esp/esp-idf mbupụ IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Ịhazi ụzọ nwụnye ngwaọrụ Edemede ewepụtara na nzọụkwụ a wụnye ngwa nchikota nke ESP-IDF chọrọ n'ime ndekọ ụlọ onye ọrụ: $HOME/.espressif na Linux. Ọ bụrụ na-ịchọrọ ịwụnye akụrụngwa n'ime akwụkwọ ndekọ aha dị iche, tọọ mgbanwe gburugburu IDF_TOOLS_PATH tupu ịmee script nwụnye. Gbaa mbọ hụ na akaụntụ onye ọrụ gị nwere ikike zuru oke ịgụ na ide ụzọ a. Ọ bụrụ na ị na-agbanwe IDF_TOOLS_PATH, jide n'aka na edobere ya ka ọ bụrụ otu uru oge ọ bụla etinyere edemede Wụnye (install. bat, install.ps1 ma ọ bụ install.sh) na edemede mbupụ (export.bat, export.ps1 ma ọ bụ export.sh).
Nzọụkwụ 4. Tọọ mgbanwe gburugburu ebe ngwaọrụ arụnyere na-etinyebeghị na mgbanwe gburugburu PATH. Iji mee ka ngwa ọrụ dị na ahịrị iwu, a ga-edozi ụfọdụ mgbanwe gburugburu ebe obibi. ESP-IDF na-enye edemede ọzọ na-eme nke ahụ. N'ọnụ ọnụ ebe ị ga-eji ESP-IDF, gbaa ọsọ:
. $HOME/esp/esp-idf/export.sh
ma ọ bụ maka azụ (akwadoro naanị kemgbe ụdị azụ 3.0.0):
. $HOME/esp/esp-idf/export.fish
Rịba ama oghere dị n'etiti ntụpọ na-eduga na ụzọ ahụ! Ọ bụrụ na ị na-eme atụmatụ iji esp-idf ugboro ugboro, ị nwere ike ịmepụta utu aha maka ime Export.sh:
1. Detuo na mado iwu na-esonụ na shellns pro gịfile (.profile, .bashrc, .zprofile, wdg)
utu aha get_idf='. $HOME/esp/esp-idf/export.sh' 2. Mee ka nhazi ahụ dị ọhụrụ site na ịmalitegharị nnọkọ ọnụ ma ọ bụ site na isi iyi [ụzọ profile],
maka example, isi iyi ~/.bashrc. Ugbu a ị nwere ike ịgba ọsọ get_idf ka ịtọlite ma ọ bụ nweta ume gburugburu esp-idf na nnọkọ ọnụ ọ bụla. Na teknụzụ, ị nwere ike itinye export.sh na shellns pro gịfile ozugbo; Otú ọ dị, a naghị atụ aro ya. Ime nke a na-eme ka IDF mebere gburugburu ebe obibi na nnọkọ ọnụ ọ bụla (gụnyere ndị ebe IDF adịghị mkpa), na-emeri ebumnuche nke gburugburu ebe obibi ma nwee ike imetụta ngwanrọ ndị ọzọ.
Nzọụkwụ 5. Nzọụkwụ mbụ na ESP-IDF Ugbu a ebe ọ bụ na niile chọrọ na-zutere, na-esote isiokwu ga-eduzi gị na otú na-amalite gị mbụ oru ngo. Ntuziaka a ga-enyere gị aka na nzọụkwụ mbụ site na iji ESP-IDF. Soro ntuziaka a ka ịmalite ọrụ ọhụrụ na ESP32 wee wuo, gbanye ma nyochaa mmepụta ngwaọrụ.
Mara: Ọ bụrụ na itinyebeghị ESP-IDF, biko gaa na nwụnye wee soro ntuziaka a ka ị nweta ngwanro niile achọrọ iji ntuziaka a.
Bido Project Ugbu a ị dịla njikere ịkwado ngwa gị maka ESP32. Ị nwere ike ịmalite site na mmalite/hello_world project site na examples ndekọ na ESP-IDF.
Ihe dị mkpa: Sistemụ nrụpụta ESP-IDF anaghị akwado oghere n'okporo ụzọ gaa ESP-IDF ma ọ bụ ọrụ.
Detuo oru ngo bido/hello_world na ~/esp ndekọ:
Ụlọ ọrụ Espressif Systems
38 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
cd ~/ esp cp -r $IDF_PATH/ examples/bido/hello_world .
Mara: E nwere oke nke example oru ngo na examples ndekọ na ESP-IDF. Ị nwere ike idetuo ọrụ ọ bụla n'otu ụzọ ahụ e gosipụtara n'elu wee mee ya. Ọ dịkwa ike wuo examples na-ebe na-enweghị iṅomi ha mbụ.
Jikọọ ngwaọrụ gị Ugbu a jikọọ bọọdụ ESP32 gị na kọmputa wee lelee n'okpuru ọdụ ụgbọ mmiri a na-ahụ anya. Ọdụ ụgbọ mmiri serial nwere ụkpụrụ ịkpọ aha ndị a:
Linux: malite na /dev/tty · macOS: malite na /dev/cu. Ọ bụrụ na ịmaghị ka esi elele aha ọdụ ụgbọ mmiri serial, biko rụtụ aka na Jikọọ Serial Connection na ESP32 maka nkọwa zuru ezu.
Mara: Debe aha ọdụ ụgbọ mmiri ahụ ka ị ga-achọ ya na usoro ndị ọzọ.
Hazie oru ngo gi Gaa na ndekọ hello_world gi, tọọ ESP32 ka ebumnuche, wee mee mmemme nhazi menuconfig. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Mgbe ịmepechara ọrụ ọhụrụ, ị ga-ebu ụzọ tọọ ebumnuche na idf.py set-target esp32. Rịba ama na ihe ndị dị adị na nhazi na ọrụ a, ọ bụrụ na ọ bụla, ga-ehichapụ ma malite na usoro a. Enwere ike ịchekwa ebumnuche na mgbanwe gburugburu ebe obibi ka ịwụpụ nzọụkwụ a ma ọlị. Hụ Họrọ Chip Target: set-target maka ozi ndị ọzọ. Ọ bụrụ na emechara usoro ndị gara aga nke ọma, menu na-egosi:
Fig. 17: Nhazi oru ngo – Window ụlọ Ị na-eji menu a ka ịtọlite oru ngo dị iche iche, dịka ọmụmaatụ, Wi-Fi netwọkụ aha na paswọọdụ, ọsọ nke processor, wdg. Ịtọlite oru ngo na menuconfig nwere ike skipped forohello_worldp, ebe ọ bụ na nke a bụ ex.ample na-agba ọsọ
Ụlọ ọrụ Espressif Systems
39 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
nhazi nke ndabara.
Ntị: Ọ bụrụ na ị na-eji bọọdụ ESP32-DevKitC nwere modul ESP32-SOLO-1, ma ọ bụ bọọdụ ESP32-DevKitM-1 nwere modul ESP32-MIN1-1(1U), biko mee ka otu isi ọnọdụ (CONFIG_FREERTOS_UNICORE) na menuconfig tupu ị na-egbu maramara.amples.
Mara: Agba nke menu nwere ike ịdị iche na ọdụ gị. Ị nwere ike ịgbanwe ọdịdị ahụ na nhọrọ -style. Biko mee idf.py menuconfig -help maka ozi ndị ọzọ.
Ọ bụrụ na ị na-eji otu bọọdụ mmepe akwadoro, ị nwere ike mee ka mmepe gị dị ngwa site na iji ngwugwu Nkwado Board. Hụ ndụmọdụ ndị ọzọ maka ozi ndị ọzọ.
Wulite oru ngo a wulite oru ngo site n'iji:
idf.py wuo
Iwu a ga-achịkọta ngwa na ihe niile ESP-IDF, mgbe ahụ ọ ga-emepụta bootloader, tebụl nkebi, na ọnụọgụ abụọ ngwa.
$ idf.py build Running cmake in directory /path/to/hello_world/build Executing “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… dọrọ aka ná ntị banyere uninitialized ụkpụrụ. - Achọtara Git: /usr/bin/git (ụdị a chọtara “2.17.0”) - Iwulite akụrụngwa aws_iot efu n'ihi nhazi - Aha akụrụngwa: … - Ụzọ akụkụ:…
… (ahịrị ndị ọzọ nke nrụpụta sistemụ nrụpụta)
[527/527] Na-emepụta hello_world.bin esptool.py v2.3.1
Nrụpụta ọrụ zuru oke. Iji gbanye ọkụ, gbaa iwu a: .././ bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin ma ọ bụ na-agba ọsọ 'idf.py -p PORT flash'
Ọ bụrụ na enweghị njehie, ihe owuwu ahụ ga-agwụ site na ịmepụta ọnụọgụ abụọ .bin files.
Gbanyụọ na ngwaọrụ Flash ọnụọgụ abụọ nke ị rụpụtara (bootloader.bin, partition-table.bin na hello_world.bin) na bọọdụ ESP32 gị site na ịgba ọsọ:
idf.py -p PORT [-b BAUD] flash
Jiri aha ọdụ ụgbọ mmiri ESP32 dochie PORT gị. Ị nwekwara ike ịgbanwe ọnụego baud flasher site na iji ọnụego baud ị chọrọ dochie BAUD. Ọnụego baud ndabara bụ 460800. Maka ozi ndị ọzọ na arụmụka idf.py, lee idf.py.
Cheta na: The nhọrọ flash na-akpaghị aka na-ewuli ma na-egbuke egbuke oru ngo, otú na-agba ọsọ idf.py wu adịghị mkpa.
Ụlọ ọrụ Espressif Systems
40 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Nsogbu zutere mgbe a na-egbuke egbuke? Ọ bụrụ na ị na-agba ọsọ enyere iwu wee hụ mperi dị ka asoEnweghị ijikọ, enwere ike inwe ọtụtụ ihe kpatara nke a. Otu n'ime ihe kpatara ya nwere ike ịbụ nsogbu ndị esptool.py zutere, akụrụngwa nke sistemụ nrụpụta na-akpọ iji tọgharịa mgbawa, soro bootloader ROM na-emekọrịta ihe, yana ngwa ngwa ngwa. Otu ngwọta dị mfe ịnwale bụ nrụpụta akwụkwọ ntuziaka akọwapụtara n'okpuru ebe a, ma ọ bụrụ na ọ naghị enyere gị aka, ị nwere ike ịchọta nkọwa ndị ọzọ gbasara okwu enwere ike na Nchọpụta nsogbu.
esptool.py resets ESP32 na-akpaghị aka site n'ịkwado DTR na RTS akara ahịrị USB ka serial Ntụgharị mgbawa, ya bụ, FTDI ma ọ bụ CP210x (maka ozi ọzọ, lee Melite Serial Connection with ESP32). Ahịrị njikwa DTR na RTS jikọtara ya na GPIO0 na CHIP_PU (EN) ntụtụ nke ESP32, yabụ na-agbanwe na vol.tagE ọkwa nke DTR na RTS ga-ebuba ESP32 n'ime ọnọdụ nbudata Firmware. Dị ka examplee, lelee atụmatụ maka bọọdụ mmepe ESP32 DevKitC.
Na mkpokọta, ịkwesighi inwe nsogbu na bọọdụ mmepe esp-idf gọọmentị. Agbanyeghị, esptool.py enweghị ike ịtọgharịa ngwaike gị na-akpaghị aka n'ọnọdụ ndị a:
· Akụrụngwa gị enweghị ahịrị DTR na RTS ejikọrọ na GPIO0 na CHIP_PU · A na-ahazi ahịrị DTR na RTS dị iche iche · Enweghị ahịrị njikwa serial ma ọlị.
Dabere n'ụdị ngwaike ị nwere, ọ nwekwara ike nwee ike iji aka tinye bọọdụ ESP32 gị n'ime ọnọdụ nbudata Firmware (tọgharịa).
Maka bọọdụ mmepe nke Espressif mepụtara, enwere ike ịchọta ozi a na ntuziaka mmalite ma ọ bụ ntuziaka onye ọrụ. Maka exampka, iji aka gị tọgharịa bọọdụ mmepe ESP-IDF, jituo bọtịnụ Boot (GPIO0) wee pịa bọtịnụ EN (CHIP_PU).
Maka ụdị ngwaike ndị ọzọ, nwaa ịdọrọ GPIO0 ala.
Ịrụ ọrụ nkịtị Mgbe ị na-egbuke egbuke, ị ga-ahụ ndekọ mmepụta ihe yiri nke a:
… 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 0x1000 partition_table/partition.0x bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Serial port / dev/ttyUSB0 Ijikọ……._ Chip bụ ESP32D0WDQ6 (ntụgharị 0) Atụmatụ: WiFi, BT, Dual Core, Coding Scheme Ọ dịghị kristal: 40MHz 24:0a:c4:05:b9:14 Na-ebugote stub… Na-agba ọsọ stub… Stub na-agba ọsọ… Na-agbanwe ọnụego baud na 460800 Gbanwee. Na-ahazi nha ọkụ… agbakwunyere 3072 bytes gaa na 103… Na-ede na 0x00008000… (100%) Dere 3072 bytes (103 abịakọrọ) na 0x00008000 na 0.0 sekọnd (dị irè 5962.8 kbit/s nke ọma). 26096 bytes etinyere ruo 15408… Ede na 0x00001000… (100%) Edere 26096 bytes (15408 abịakọrọ) na 0x00001000 na 0.4 sekọnd (dị irè 546.7 kbit/s) Ejikọtara 147104 bytes gaa na 77364… Ede na 0x00010000… (20%) Ode na 0x00014000… (40 %) Ode na 0x00018000… (60%) Ode na 000x0001c80
(ga n'ihu na ibe na-esote)
Ụlọ ọrụ Espressif Systems
41 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
(Na-aga n'ihu na ibe gara aga) Ide na 0x00020000… (100%) Dee 147104 bytes (77364 abịakọrọ) na 0x00010000 na 1.9 sekọnd (dị irè 615. 5 kbit/s)… Hash nke data kwadoro.
Ịhapụ… Ntọgharị siri ike site na pin RTS… Emeela ya
Ọ bụrụ na enweghị nsogbu na njedebe nke usoro flash, bọọdụ ahụ ga-amalitegharị wee malite theohello_worldpapplication. Ọ bụrụ na-amasị gị iji Eclipse ma ọ bụ VS Code IDE kama ịgba ọsọ idf.py, lelee Eclipse Plugin, VSCode Extension.
Nyochaa nsonaazụ ahụ Ka ịlele ma ohllo_worldpis na-agba ọsọ n'ezie, pịnye idf.py -p PORT Monitor (Echefula iji aha ọdụ ụgbọ mmiri gị dochie PORT). Iwu a na-ebupụta ngwa IDF Monitor:
$ idf.py -p Nyochaa na-agba ọsọ idf_monitor na ndekọ [...]/esp/hello_world/build Na-eme “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… - idf_monitor on 115200 —– Kwụsị: Ctrl+] | NchNhr: Ctrl+T | Enyemaka: Ctrl+T sochiri Ctrl+H –ets Jun 8 2016 00:22:57
Nke mbụ: 0x1 (POWERON_RESET), akpụkpọ ụkwụ: 0x13 (SPI_FAST_FLASH_BOOT) na Jun 8 2016 00:22:57 …
Mgbe mmalite na ndekọ nyocha pịgharịa, ị ga-ahụ oHello ụwa!pprinted site na ngwa.
… Ndewo Ụwa! Na-amalite na 10 sekọnd… Nke a bụ esp32 mgbawa nwere 2 CPU core (s), WiFi/BT/BLE, silicon revision 1, 2MB mpụga flash nha kacha nta free free: 298968 bytes Malite na 9 sekọnd… Malitegharịa ekwentị na 8 sekọnd… Malitegharịa na 7 sekọnd…
Iji pụọ na nyocha IDF jiri ụzọ mkpirisi Ctrl+]. Ọ bụrụ na nyocha IDF dara obere oge ka ebugo ya, ma ọ bụ, ọ bụrụ na kama ozi ndị dị n'elu, ị na-ahụ ihe mkpofu na-enweghị usoro yiri nke enyere n'okpuru, osisi gị nwere ike iji kristal 26 MHz. Ọtụtụ atụmatụ bọọdụ mmepe na-eji 40 MHz, yabụ ESP-IDF na-eji oge a dị ka uru ndabara.
Ọ bụrụ na ị nwere nsogbu dị otú ahụ, mee ihe ndị a:
1. Wepụ ihe nleba anya. 2. Laghachi na menuconfig. 3. Gaa na ngalaba nhazi> Ntọala ngwaike> Isi XTAL Config> Main XTAL
ugboro ugboro, wee gbanwee CONFIG_XTAL_FREQ_SEL ka ọ bụrụ 26 MHz. 4. Mgbe nke ahụ gasịrị, wuo ma gbanye ngwa ahụ ọzọ.
Ụlọ ọrụ Espressif Systems
42 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Na ụdị ESP-IDF dị ugbu a, ugboro XTAL bụ isi nke ESP32 na-akwado bụ ndị a:
26 MHz · 40 MHz
Mara: Ị nwere ike ijikọta ụlọ, na-egbuke egbuke na nlekota n'ime otu nzọụkwụ site na-agba ọsọ: idf.py -p PORT flash monitor
Hụkwa: · Nyochaa IDF maka ụzọ mkpirisi dị mma yana nkọwa ndị ọzọ gbasara iji nyocha IDF. · idf.py maka nkọwa zuru oke nke iwu na nhọrọ idf.py.
Nke ahụ bụ ihe niile ịchọrọ iji ESP32 malite! Ugbu a, ị dịla njikere ịnwale ụfọdụ examples, ma ọ bụ gaa ozugbo na ịmepụta ngwa nke gị.
Ihe dị mkpa: Ụfọdụ n'ime examples anaghị akwado ESP32 n'ihi na ngwaike achọrọ adịghị etinye na ESP32 yabụ enweghị ike ịkwado ya. Ọ bụrụ na-ewu example, biko lelee README file maka tebụl akwadoro ebumnuche. Ọ bụrụ na nke a dị ugbu a gụnyere ebumnuche ESP32, ma ọ bụ tebụl adịghị adị ma ọlị, exampga-arụ ọrụ na ESP32.
Ndụmọdụ ndị ọzọ
Okwu ikike / dev/ttyUSB0 Site na nkesa Linux ụfọdụ, ị nwere ike ịnweta ozi njehie emepeghị ọdụ ụgbọ mmiri / dev/ttyUSB0 mgbe ị na-egbukepụ ESP32. Enwere ike idozi nke a site na ịgbakwunye onye ọrụ ugbu a na otu mkparịta ụka.
Ndakọrịta Python ESP-IDF na-akwado Python 3.7 ma ọ bụ nke ọhụrụ. A na-atụ aro ka ịkwalite sistemụ arụmọrụ gị gaa na ụdị ọhụrụ na-eju ihe a chọrọ. Nhọrọ ndị ọzọ gụnyere ntinye Python sitere na isi mmalite ma ọ bụ iji usoro njikwa ụdị Python dị ka pyenv.
Malite na ngwugwu nkwado Board Iji mee ka prototyping dị ngwa na ụfọdụ bọọdụ mmepe, ị nwere ike iji ngwugwu Nkwado Board (BSPs), nke na-eme ka mmalite nke otu bọọdụ dị mfe dị ka oku ọrụ ole na ole. BSP na-akwado ngwaike niile enyere na bọọdụ mmepe. Ewezuga nkọwa pinout na ọrụ mmalite, ụgbọ mmiri BSP nwere ndị ọkwọ ụgbọ ala maka ihe ndị dị na mpụga dị ka sensọ, ihe ngosi, codec ọdịyo wdg. A na-ekesa BSP site na njikwa akụrụngwa IDF, yabụ enwere ike ịchọta ha na ndekọ akụrụngwa IDF. Nke a bụ exampotu esi etinye ESP-WROVER-KIT BSP na ọrụ gị: idf.py add-dependency esp_wrover_kit
Ndị ọzọ exampEnwere ike ịhụ obere ojiji BSP na BSP examples nchekwa.
Ndụmọdụ: Imelite ESP-IDF A na-atụ aro imelite ESP-IDF site n'oge ruo n'oge, ka ụdị ọhụrụ na-edozi ahụhụ na/ma ọ bụ nye atụmatụ ọhụrụ. Biko mara na nke ọ bụla ESP-IDF isi na obere ntọhapụ nwere oge nkwado metụtara, na mgbe otu ngalaba ntọhapụ na-eru nso na njedebe nke ndụ (EOL), a na-agba ndị ọrụ niile ume ka ha kwalite ọrụ ha na mwepụta ESP-IDF na nso nso a, ka ịmatakwu banyere oge nkwado, lee ESP-IDF Versions.
Ụlọ ọrụ Espressif Systems
43 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 1. Malite
Ụzọ kachasị mfe iji mee mmelite ahụ bụ ka ihichapụ folda esp-idf dị ugbu a wee mechie ya ọzọ, dị ka a ga-asị na ị na-arụ ọrụ mbụ a kọwara na Nzọụkwụ 2. Nweta ESP-IDF. Ihe ngwọta ọzọ bụ imelite naanị ihe gbanwere. Usoro mmelite a dabere na ụdị ESP-IDF ị na-eji. Mgbe emelitechara ESP-IDF, mebie script Wụnye ọzọ, ma ọ bụrụ na ụdị ESP-IDF ọhụrụ chọrọ ụdị ngwaọrụ dị iche iche. Hụ ntuziaka na Nzọụkwụ 3. Hazie ngwaọrụ. Ozugbo arụnyere ngwaọrụ ọhụrụ, melite gburugburu site na iji edemede mbupụ. Hụ ntuziaka na Nzọụkwụ 4. Tọọ mgbanwe gburugburu ebe obibi.
Akwụkwọ ndị emetụtara · Mepụta Njikọ Oghere Usoro na ESP32 · Ngwa mgbakwunye Eclipse · Mgbatị VSCode · Nyocha IDF
1.4 wuo oru mbu gi
Ọ bụrụ na ị tinyelarị ESP-IDF ma ghara iji IDE, ị nwere ike wulite ọrụ mbụ gị site na ahịrị iwu na-eso Malite Project na Windows ma ọ bụ Bido Project na Linux na MacOS.
1.5 Wepu ESP-IDF
Ọ bụrụ na ịchọrọ iwepụ ESP-IDF, biko soro iwepụ ESP-IDF.
Ụlọ ọrụ Espressif Systems
44 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 2
Ntuziaka API
2.1 Mgbakọ API
Akwụkwọ a na-akọwa nkwekọrịta na echiche ndị ESP-IDF Ngwa Programming Interfaces (API) na-ahụkarị. ESP-IDF na-enye ọtụtụ ụdị interface mmemme:
Ọrụ C, ihe owuwu, ọnụ ọgụgụ, ụdị nkọwa na macro preprocessor ekwuputara na nkụnye eji isi mee ọha files nke ESPDF components. Ibe dị iche iche dị na ngalaba ntụnye aka API nke ntuziaka mmemme nwere nkọwa nke ọrụ ndị a, nhazi na ụdị.
Wulite ọrụ sistemụ, mgbanwe ndị eburu ụzọ kọwaa na nhọrọ. Edere ihe ndị a n'akwụkwọ ntuziaka usoro ihe owuwu. Enwere ike iji nhọrọ Kconfig mee ihe na koodu na n'ime usoro ihe owuwu (CmakeLists.txt) files. · Ngwa ndị ọbịa na akara ahịrị iwu ha bụkwa akụkụ nke interface ESP-IDF. ESP-IDF nwere ngwa ndị edere kpọmkwem maka ESP-IDF yana ọba akwụkwọ ndị ọzọ. N'ọnọdụ ụfọdụ, a na-agbakwunye ihe mkpuchi ESP-IDF n'ọbá akwụkwọ nke ndị ọzọ, na-enye interface nke dị mfe ma ọ bụ nke ka mma jikọtara ya na ihe ndị ọzọ ESP-IDF. N'ọnọdụ ndị ọzọ, a na-egosi ndị nrụpụta ngwa API izizi nke ọba akwụkwọ ndị ọzọ. Akụkụ ndị na-esonụ na-akọwa ụfọdụ akụkụ nke ESP-IDF API na ojiji ha.
2.1.1 Njehie
Ọtụtụ ESP-IDF API na-eweghachi koodu mperi akọwara n'ụdị esp_err_t. Lee ngalaba njikwa njehie maka ozi ndị ọzọ gbasara ụzọ njikwa njehie. Ntuziaka koodu mperi nwere ndepụta koodu njehie nke ngwa ESP-IDF weghachitere.
2.1.2 Nhazi nhazi
Ihe dị mkpa: mmalite nhazi nke ọma bụ akụkụ dị mkpa n'ime ka ngwa ahụ kwekọọ na ụdị ESP-IDF n'ọdịnihu.
Ọtụtụ ọrụ mmalite ma ọ bụ nhazi nhazi na ESP-IDF na-ewere dị ka arụmụka nrụtụ aka na nhazi nhazi. Maka exampLe:
45
Isi nke 2. Ntuziaka API
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);
Ọrụ mmalite anaghị echekwa ihe nrịbama na nhazi nhazi, ya mere ọ dị mma ịkenye ihe owuwu ahụ na nchịkọta.
Ngwa ahụ ga-ebidorịrị mpaghara niile nke nhazi ahụ. Ihe ndị a ezighi ezi:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = & my_timer_callback; /* ezighi ezi! A naghị ebido ubi .arg na .aha */ esp_timer_create(&my_timer_args, &my_timer);
Ọtụtụ ESP-IDF examples iji C99 ahapụtara initializers maka nhazi mbido, ebe ọ bụ na ha na-enye ụzọ dị nkenke nke ịtọ mpaghara mpaghara, yana efu-ịmalite ubi ndị fọdụrụ:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* ziri ezi, ubi .arg na .aha bụ efu ebidola */
};
Asụsụ C++ anaghị akwado syntax mmalite ahapụtara ruo C++20, mana GCC compiler na-akwado ya dị ka ndọtị. Mgbe ị na-eji API ESP-IDF na koodu C++, ị nwere ike ịtụle iji ụkpụrụ ndị a:
esp_timer_create_args_t my_timer_args = {}; /* ubi niile bụ efu-initialized */ my_timer_args.callback = &my_timer_callback;
Ndị mbido mbụ
Maka ụfọdụ nhazi nhazi, ESP-IDF na-enye macro maka ịtọ ụkpụrụ ndabara nke ubi:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG na-agbasa ruo na mbido ahapụtara.
Ugbu a ka edobere mpaghara niile na ụkpụrụ ndabara. A ka nwere ike gbanwee ubi ọ bụla: */ config.server_port = 8081; ihe nkesa httpd_handle_t; esp_err_t err = httpd_start (& nkesa, & config);
A na-atụ aro ka iji macros mmalite mmalite mgbe ọ bụla enyere ha maka otu nhazi nhazi.
2.1.3 API nkeonwe
Ụfọdụ nkụnye eji isi mee files na ESP-IDF nwere API ndị ezubere ka ejiri naanị na koodu isi ESP-IDF, ọ bụghịkwa ngwa. nkụnye eji isi mee files na-enwekarị nzuzo ma ọ bụ esp_private n'aha ma ọ bụ ụzọ ha. Ụfọdụ akụrụngwa, dị ka hal nwere naanị API nkeonwe. Enwere ike wepu ma ọ bụ gbanwee API nkeonwe n'ụzọ na-ekwekọghị n'etiti mwepụta obere ma ọ bụ patch.
2.1.4 Akụkụ na example oru ngo
ESP-IDF examples nwere ọtụtụ ọrụ na-egosi ojiji nke API ESP-IDF. Iji belata mkpụkọ koodu na exampOtú ọ dị, a na-akọwapụta ndị enyemaka ole na ole n'ime ihe ndị na-eji otutu examples.
Ụlọ ọrụ Espressif Systems
46 Nyefee nzaghachi akwụkwọ
Mwepụta v5.0.9
Isi nke 2. Ntuziaka API
Nke a gụnyere akụrụngwa dị
Akwụkwọ / akụrụngwa
![]() |
Espressif Systems ESP32 Dev Kitc Development Board [pdf] Ntuziaka onye ọrụ ESP32 Dev Kitc Development Board, ESP32, Dev Kitc Development Board, Kitc Development Board, Board Development Board, Board. |