Ibhodi Lokuthuthukiswa Kwe-ESP32 Dev Kitc
Ulwazi Lomkhiqizo
Imininingwane
- Umkhiqizo: ESP32
- Umhlahlandlela Wokuhlela: ESP-IDF
- Inguqulo yokukhishwa: v5.0.9
- Umkhiqizi: I-Espressif Systems
- Idethi yokukhishwa: Meyi 16, 2025
Imiyalo yokusetshenziswa komkhiqizo
1. Qalisa
Ngaphambi kokuqala nge-ESP32, zijwayeze ne
okulandelayo:
1.1 Isingeniso
Funda mayelana nokusebenza okuyisisekelo kanye namakhono we-
ESP32.
1.2 Okudingayo
Qinisekisa ukuthi unezingxenyekazi zekhompuyutha ezidingekayo kanye nesofthiwe:
- Izingxenyekazi zekhompuyutha: Hlola uhlu lwezingxenyekazi zekhompuyutha ezidingekayo
izingxenye. - Isoftware: Faka isofthiwe edingekayo
izingxenye.
1.3 Ukufakwa
Landela lezi zinyathelo ukufaka i-IDE futhi usethe ifayela le-
imvelo:
- I-IDE: Faka i-IDE enconyelwe
hlela i-ESP32. - Ukufaka Mathupha: Setha ngokwenza i-
imvelo uma kudingeka.
1.4 Yakha Iphrojekthi Yakho Yokuqala
Dala futhi wakhe iphrojekthi yakho yokuqala usebenzisa i-ESP32.
1.5 Khipha i-ESP-IDF
Uma kudingeka, funda ukuthi ungayikhipha kanjani i-ESP-IDF kweyakho
uhlelo.
2. Ireferensi ye-API
Bheka imibhalo ye-API ukuze uthole ulwazi oluningiliziwe
izivumelwano zohlelo lokusebenza, ukuphatha amaphutha, nokumisa
izakhiwo.
Imibuzo Evame Ukubuzwa (FAQ)
Q: Ngingazixazulula kanjani izinkinga ezijwayelekile nge-ESP32?
A: Bheka isigaba sokuxazulula inkinga kugayidi yokuhlela
noma vakashela okomkhiqizi webindawo yezinsiza zokusekela.
Q: Ngingakwazi ukusebenzisa i-ESP-IDF nezinye izilawuli ezincane?
A: I-ESP-IDF yakhelwe ngokukhethekile i-ESP32, kodwa ungathola
ukuhambisana namanye ama-microcontrollers e-Espressif.
ESP32
I-ESP-IDF Programming Guide
Khipha i-v5.0.9 Espressif Systems Meyi 16, 2025
Okuqukethwe
Okuqukethwe
i
1 Qala
3
1.1 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Okudingayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Izingxenyekazi zekhompuyutha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Isofthiwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Ukufakwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Ukufakwa Mathupha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Yakha Iphrojekthi Yakho Yokuqala. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5 Khipha i-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 API Reference
45
2.1 Izivumelwano ze-API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.1 Ukuphatha iphutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Izakhiwo zokuhlela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.3 Ama-API ayimfihlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4 Izingxenye kusibample amaphrojekthi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.5 Ukuzinza kwe-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 Izinqubo Zokusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1 Imbobo ye-ASIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.5 ESP HTTP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.2.6 Ukulawulwa Kwendawo kwe-ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.7 Isixhumanisi se-ESP Serial Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2.8 ESP x509 Inqwaba yesitifiketi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.2.9 Iseva ye-HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2.10 Iseva ye-HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
2.2.11 I-ICMP Echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2.2.12 Isevisi ye-mDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.13 Mbed TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.14 IP Network Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3 I-Bluetooth API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.1 I-Bluetooth® Ejwayelekile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.2 I-Bluetooth® Amandla Aphansi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
2.3.3 I-Bluetooth® Yakudala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2.3.4 Isilawuli ne-HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
2.3.5 ESP-BLE-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
2.3.6 I-NimBLE-based host APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
2.4 Ireferensi Yamakhodi Ephutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
2.5 I-Networking APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.1 I-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.2 I-Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
2.5.3 Uchungechunge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
i
2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP Network Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Uhlaka Lwesicelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Peripherals API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 I-Analog to Digital Converter (ADC) Umshayeli Wemodi Ye-Oneshot . . . . . . . . . . . . . . . . . 977 2.6.2 I-Analog to Digital Converter (ADC) Umshayeli Wemodi Eqhubekayo . . . . . . . . . . . . . . . 986 2.6.3 Umshayeli Wokulinganisa we-Analogi ukuya kuDijithali (ADC) . . . . . . . . . . . . . . . . . . . 993 2.6.4 Isihlahla Sewashi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 I-Digital To Analog Converter (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Isikhathi Esijwayelekile Senhloso (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 I-Inter-Integrated Circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 I-Inter-IC Sound (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Ukulawulwa kwe-LED (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Motor Control Pulse Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 I-Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 I-Remote Control Transceiver (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 Izidingo Zokudonsa I-SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 Umshayeli Wokusingatha I-SDMMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 Umshayeli Wesigqila Wekhadi Le-SDIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 I-Sigma-Delta Modulation (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Master Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Slave Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Isici Esivikelekile) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Inzwa yokuthinta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 I-Automotive Interface Enezintambo Ezimbili (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 I-Universal Asynchronous Receiver/Transmitter (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Ukucushwa Kwephrojekthi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Imenyu Yokuhlelwa Kwephrojekthi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Ukusebenzisa okuthi sdkconfig.defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Imithetho yokufometha kwe-Kconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Ukuhambelana Emuva Kwezinketho ze-Kconfig . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Izinketho Zokucushwa Isithenjwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Provisioning API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Ukuxhumana Kwenqubo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Ukunikezwa Okuhlanganisiwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Ukunikezwa kwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Storage API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileUkusekelwa kwesistimu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Insiza Yokukhiqiza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Umtapowolwazi Wesitoreji Ongaguquguquki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 I-NVS Partition Generator Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SIFFS Fileuhlelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Okubonakalayo fileingxenye yesistimu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Wear Leveling API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Ifomethi yesithombe sohlelo lokusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Ukulandelelwa Kwezinga Lokusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Umsebenzi wekholi onesitaki sangaphandle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Ukubuyekezwa Kwe-chip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Ikhonsoli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 Umphathi we-eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Amakhodi Ephutha kanye Nemisebenzi Yomsizi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii
2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Umtapowolwazi weLoop yomcimbi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 I-FreeRTOS (Overview). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 I-FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 I-FreeRTOS (Izici Ezingeziwe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Ukwabiwa Kwenkumbulo Yenqwaba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Ukulungisa iphutha le-Heap Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Isikhathi Sokulungiswa Okuphezulu (Isibali Sesikhathi Se-ESP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Ama-API Angaphakathi Nangazinzile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 I-Inter-Processor Shayela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Ukwabiwa kokuphazamiseka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Umtapo wolwazi wokugawula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 I-Miscellaneous System APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Izibuyekezo Zomoya (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Ukuqapha Ukusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Ukuphathwa kwamandla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX Ukusekela Imicu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Inombolo Engahleliwe Isizukulwane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Izindlela Zokulala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Amakhono e-SoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Isikhathi Sohlelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 I-API yokwabiwa kwe-hiem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Abaqaphi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161
3 Hardware Reference
2167
3.1 I-Chip Series Ukuqhathanisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167
3.1.1 Imibhalo Ehlobene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170
4 API Guides
2171
4.1 Umtapo wolwazi wokulandela izinga lesicelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.2 Izindlela Zokusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.3 Izinketho Zokuhlela Nokuncika . . . . . . . . . . . . . . . . . . . . . . . . . . 2172
4.1.4 Isetshenziswa Kanjani Le Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173
4.2 Ukugeleza Kokuqalisa Isicelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181
4.2.1 Isiqephu sokuqalatagfuthi i-bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.2 Isahluko sesibilitagfuthi i-bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.3 Ukuqalisa isicelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183
4.3 I-Bluetooth® Yakudala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.3.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.4 I-Bluetooth® Amandla Aphansi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.2 Qalisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191
4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240
4.5 I-Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284
4.5.1 Ukuhambisana kwe-Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.2 Izinga Lelogi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.3 Ukusetha kabusha kwasefekthri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.4 Qalisa ku-Test Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.5 Ukubuyisela emuva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.6 Umlindi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.7 Usayizi we-Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.8 Iqalisa ngokushesha i-Deep Deep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.9 I-bootloader yangokwezifiso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.6 Yakha Uhlelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.2 Ukusebenzisa i-Build System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289
iii
4.6.3 Isbample Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 I-Project CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Ingxenye CMakeLists Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Ukucushwa Kwengxenye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Izincazelo ze-Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Izidingo Zengxenye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Ukweqa Izingxenye Zomsebenzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Izingxenye Zokucushwa Kuphela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Ukulungisa iphutha CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Eksample Ingxenye CMakeLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Okuzenzakalelayo kwe-sdkconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Izimpikiswano ezibambekayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Ukwakha I-Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Ukubhala Okuhlanzekile Kwe-CMake Izingxenye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Ukusebenzisa Amaphrojekthi Enkampani Yangaphandle Ye-CMake Nezingxenye . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Ukusebenzisa Imitapo Yezincwadi Eyakhiwe Ngaphambili Enezingxenye . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Ukusebenzisa i-ESP-IDF Kumaphrojekthi Angokwezifiso e-CMake . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File I-Globbing & Incremental Builds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Yakha imethadatha yesistimu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Yakha Isistimu Yangaphakathi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Ukufuduka ku-ESP-IDF GNU Make System . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 I-Core Dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Ukucushwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Londoloza ukulahla okuyisisekelo ukuze ukhanyise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Phrinta indawo yokulahla okuyisisekelo ku-UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Imisebenzi ye-ROM kokuthi Okungemuva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Ukulahla okuguquguqukayo lapho kudingeka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Isebenza espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Izithupha Zokulala Okujulile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Imithetho Yama-Wake Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Ukusebenzisa I-Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Ilayisha Ikhodi Enkumbulweni Ye-RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Ilayisha Idatha Kumemori ye-RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Hlola Izinti zokuvuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Eksample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Ukuphatha Iphutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Amakhodi amaphutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Ukuguqula amakhodi amaphutha abe yimiyalezo yamaphutha . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK imakhro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT macro . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR imakhro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR imakhro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE imakhro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 HLOLA AMACROS Eksamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Amaphethini okuphatha amaphutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ Okuhlukile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 Imiqondo ye-ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Ukwakha Inethiwekhi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ukuphatha Inethiwekhi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Ukudluliswa Kwedatha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Ukushintsha Isiteshi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv
4.10.8 Ukusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Amanothi Engeziwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Ukusingatha Imicimbi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 I-Wi-Fi, i-Ethernet, kanye Nemicimbi ye-IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Izehlakalo zeMesh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Imicimbi ye-Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Amaphutha Abulalayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Isibambi Sokwethuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Bhalisa Lahla futhi Ulandele Ngemva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 I-RTC Watchdog Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Amaphutha Okuzindla Omkhulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Amanye Amaphutha Abulalayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 I-Flash Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Ama-eFuse Afanelekile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Inqubo Yokubhala Nge-Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Ukucushwa Kwe-Flash Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Ukwehluleka Okungenzeka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Isimo Sokubethela Okukhanyayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Idatha Yokufunda Nokubhala Ku-Flash Ebethelwe . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Ukubuyekeza I-Flash Ebethelwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Ikhubaza Ukubethela Kwe-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Amaphuzu Abalulekile Mayelana Nokubethela Kwe-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Imikhawulo Yokubethela Kwe-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 I-Flash Encryption kanye ne-Viked Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Izici Ezithuthukile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Imininingwane Yezobuchwepheshe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 I-Hardware Abstraction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Izakhiwo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Izinga Eliphansi) Isendlalelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (I-Hardware Abstraction Layer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Iziphazamiso Zezinga Eliphezulu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Amazinga okuphazamisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Amanothi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Ukulungisa iphutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Isebenza Kanjani? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Ukukhetha u-JTAG I-adaptha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Ukusethwa kwe-OpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Ilungiselela i-ESP32 Ithagethi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Iqalisa i-Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Ukulungisa iphutha Eksamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Isakhiwo se-OpenOCD esivela emithonjeni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Amathiphu kanye nemibuzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Imibhalo Ehlobene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Isizukulwane Sesikripthi Esixhumanisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Ukuqala Ngokushesha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 I-Link Script Generation Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Ama-API asekelwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 I-Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP Umsebenzi Wamahhala weRTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 Ukusekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 ukulungiswa ngokwezifiso kwe-esp-lwip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v
4.18.7 Ukuthuthukisa Ukusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Izinhlobo Zenkumbulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 I-DRAM (I-RAM Yedatha) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 I-RAM (I-RAM Yomyalelo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 I-IROM (ikhodi ikhishwe ku-flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (idatha egcinwe ku-flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Inkumbulo enensayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 Inkumbulo ye-RTC FAST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Isidingo Esikwaziyo se-DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 Ibhafa ye-DMA kusitaki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Izindlela zesitaki se-OpenThread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Ibhalwa Kanjani Isicelo se-OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 I-OpenThread Border Router. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Amathebula Okuhlukanisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Amathebula Ahlukanisayo Akhelwe Ngaphakathi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Ukudala Amathebula Ngokwezifiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Ukukhiqiza Ithebula Lokuhlukanisa Umambambili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Ukuhlola Usayizi Wengxenye. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Ukukhanyisa ithebula lokuhlukanisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Ithuluzi Lokuhlukanisa (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Ukusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Indlela Yokuthuthukisa Ukusebenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Abaqondisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 Ukulinganisa kwe-RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Ukulinganisa ingxenye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Ukulinganisa okuphelele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Akukho ukulinganisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 Idatha yokuqalisa ye-PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 Ireferensi ye-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Vikela Ibhuthi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Isendlalelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Vikela Inqubo Yokuqalisa Isiphelileview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Izikhiye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Usayizi we-Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Indlela Yokuvula Ukubhutha Okuvikelekile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 I-Software Bootloader Esebenza Kabusha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Ukukhiqiza Ukhiye Ovikelekile Wokusayina Ebhuthini . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Ukusayinwa Kwezithombe Kukude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Izindlela Ezinhle Kakhulu Zokuvula Ibhuthi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Imininingwane Yezobuchwepheshe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Ukuvula Okuvikelekile Nokubethela Kwe-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Ukuqinisekiswa Kohlelo Lokusebenza Olusayiniwe Ngaphandle Kwe-Hardware Evikelekile Yokuqalisa . . . . . . . . . . . . . . . . . . 2478 4.24.13 Izici Ezithuthukile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Vikela I-Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Isendlalelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Inqubo ye-Vikela ye-Boot V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Ifomethi Yebhulokhi Yesiginesha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Iziphedi Ezivikelekile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Ukuqinisekisa Ibhulokhi Yesiginesha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Ukuqinisekisa Isithombe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Usayizi We-Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 Ukusetshenziswa kwe-eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Indlela Yokuvula I-Vikel Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Imikhawulo ngemva kokuthi Ukuvula Okuvikelekile kunikwe amandla . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Ukukhiqiza Ukhiye Ovikelekile Wokusayina Ebhuthini . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi
4.25.13 Ukusayinwa Kwezithombe Kukude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Izindlela Ezinhle Kakhulu Zokuvula Ibhuthi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Imininingwane Yezobuchwepheshe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Ukuvula Okuvikelekile Nokubethela Kwe-Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Ukuqinisekiswa Kohlelo Lokusebenza Olusayiniwe Ngaphandle Kwe-Hardware Evikelekile Yokuqalisa . . . . . . . . . . . . . . . . . . 2484 4.25.18 Izici Ezithuthukile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Usekelo lwe-RAM Yangaphandle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Izingxenyekazi zekhompyutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Ilungiselela I-RAM Yangaphandle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Imikhawulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Ukwehluleka ukuqalisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Ukubuyekezwa Kwe-chip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Uchungechunge Lwesitoreji Sendawo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 I-FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 I-Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Izinga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Amathuluzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 I-IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 Isithombe se-IDF Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 I-IDF Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 I-IDF Component Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Amathuluzi Alandekayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Ukuhlolwa Kweyunithi ku-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Izimo Ezivamile Zokuhlola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Amacala Okuhlola Amadivayisi Ahlukahlukene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Ama-Multi-stage Amacala Okuhlola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Izivivinyo Ezihlosiwe Ezihlukene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Uhlelo Lokuhlola Iyunithi Yokwakha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Ukuhlolwa Kweyunithi Egijimayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Ikhodi Yesikhathi Nesibali Sesikhathi Esinxeshezelwe Senqolobane . . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Ukubhuqa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Ukuhlolwa Kweyunithi ku-Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Ukuhlolwa Kwesofthiwe Eshumekiwe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Ukuhlolwa Kweyunithi ye-IDF Kusingathi we-Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Umshayeli we-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 Uhlu Lwesici Lwe-ESP32 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Usibhala Kanjani Isicelo Se-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Ikhodi Yephutha ye-Wi-Fi API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Ipharamitha Ukuqaliswa . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Incazelo Yomcimbi We-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 Isimo Esijwayelekile Sesiteshi Se-Wi-Fi ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP General Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Isiteshi se-Wi-Fi Isimo sokuxhuma . . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 Isiteshi Se-Wi-Fi ESP32 Iyaxhuma Lapho Kutholwa Ama-AP Amaningi . . . . . . . . . . . . . 2543 4.31.12 Xhuma kabusha i-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Ukuphelelwa yisikhathi kwe-Wi-Fi Beacon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Ukucushwa kwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 I-Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Ukuphathwa Kwenethiwekhi Okungenantambo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Ukukalwa Kwensiza Yomsakazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Ukuguqulwa Okusheshayo kwe-BSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Imodi yokonga amandla ye-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi Throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
4.31.21 Iphakethe le-Wi-Fi 80211 Thumela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Imodi ye-Wi-Fi Sniffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 I-Wi-Fi Multiple Antenna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Ulwazi Lwesifunda Lwesiteshi Se-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Isiteshi Solwazi se-Wi-Fi Lungisa Ulwazi Lwesifunda. . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 I-Wi-Fi QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 I-Wi-Fi Fragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 Obhalisele i-WPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Ukusetshenziswa kwebhafa ye-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Ungakuthuthukisa Kanjani Ukusebenza Kwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 I-Wi-Fi Menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Ukuxazulula izinkinga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Ukuphepha kwe-Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 Izici Zokuvikela ze-Wi-Fi ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Izinhlaka Zokuphatha Ezivikelekile (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Okomuntu Siqu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 I-Wi-Fi Ethuthukisiwe I-OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Ukuhlalisana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Ngaphezuluview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Isimo Sokuphilisana Esisekelwe se-ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Indlela Yokuhlalisana Nenqubomgomo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Indlela Yokusebenzisa Isici Sokuphilisana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Izakhiwo Ezikhiqizwa kabusha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Isingeniso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Izizathu zezakhiwo ezingakhiqizeki . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Ukunika amandla izakhiwo ezikwazi ukukhiqizwa kabusha ku-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Ukuthi izakhiwo ezikhiqizekayo zifinyelelwa kanjani . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Ukwakhiwa okuphindaphindekayo nokususa iphutha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Izinto ezisathinta ukwakhiwa okungakhiqizeka . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Igayidi Yomsebenzisi Yemodi Yamandla Aphansi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578
5 Iziqondiso Zokufuduka
2579
5.1 ESP-IDF 5.x Umhlahlandlela Wokufuduka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
5.1.1 Ukufuduka kusuka ku-4.4 kuya ku-5.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
6 Imitapo yolwazi kanye nezinhlaka
2611
6.1 Cloud Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.1 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.2 AWS IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.3 I-Azure IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.4 I-Google IoT Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.5 I-Aliyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.6 I-Joylink IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.7 I-Tencent IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.8 I-Tencentyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.9 I-Baidu IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2 Espressifns Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.1 I-Espressif Audio Development Framework . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.2 ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.3 Ilabhulali ye-Espressif DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.4 Uhlaka Lokuthuthukiswa Kwe-ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.6 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.7 ESP-IoT-Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.8 ESP-Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
viii
6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614
7 Iminikelo Umhlahlandlela
2615
7.1 Unganikela Kanjani . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.2 Ngaphambi Kokunikela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.3 Inqubo Yesicelo Sokudonsa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.4 Ingxenye Yomthetho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5 Imibhalo Ehlobene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.1 I-Espressif IoT Development Framework Style Guide . . . . . . . . . . . . . . . . . . . . 2616
7.5.2 Faka i-Hook yokuzibophezela ngaphambilini Yephrojekthi ye-ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . 2623
7.5.3 Ikhodi yokubhala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624
7.5.4 Ukudala Isibamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629
7.5.5 I-API Documentation Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630
7.5.6 Isivumelwano Somnikeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632
7.5.7 Umhlahlandlela wesihloko se-copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634
7.5.8 Ukuhlolwa kwe-ESP-IDF nge-Pytest Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635
8 Izinguqulo ze-ESP-IDF
2645
8.1 Ukukhishwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.2 Iyiphi Inguqulo Okufanele Ngiqale Ngayo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.3 Uhlelo Lokuhumusha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.4 Izikhathi Zokusekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646
8.5 Ukuhlola Inguqulo Yamanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647
8.6 I-Git Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7 Ukubuyekeza i-ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7.1 Ukuthuthukela Ekukhishweni Okuzinzile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.2 Ukuthuthukela Enguqulweni Ekhishwe Ngaphambili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.3 Ukuthuthukiswa Kwegatsha Eliyinhloko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.4 Ukuthuthukiswa Kwegatsha Elikhululiwe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650
9 Izinsiza
2651
9.1 I-PlatformIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.1 Yini i-PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.2 Ukufakwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.3 Ukumisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.4 Okokufundisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.5 Iphrojekthi Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.6 Izinyathelo Ezilandelayo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.2 Izixhumanisi Eziwusizo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
10 Amalungelo obunikazi namalayisense
2653
10.1 Amalungelo Amalungelo Esoftware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.1 Izingxenye zeFirmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.2 Imibhalo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.2 Amalungelo obunikazi bekhodi yomthombo we-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.3 Xtensa libhal MIT License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.4 Ilayisensi ye-TinyBasic Plus MIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.5 Ilayisensi ye-TJpgDec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
11 Mayelana
2657
12 Shintsha Phakathi Kwezilimi
2659
Inkomba
2661
Inkomba
2661
ix
x
Okuqukethwe
Lawa amadokhumenti e-Espressif IoT Development Framework (esp-idf). I-ESP-IDF iwuhlaka lokuthuthukiswa olusemthethweni lwe-ESP32, ESP32-S kanye ne-ESP32-C Series SoCs. Lo mbhalo uchaza ukusebenzisa i-ESP-IDF ne-ESP32 SoC.
Qalisa
Ireferensi ye-API
I-API Guides
Espressif Systems
1 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Okuqukethwe
Espressif Systems
2 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1
Qalisa
Lo mbhalo uhloselwe ukukusiza ukuthi umise indawo yokuthuthukiswa kwesofthiwe yezingxenyekazi zekhompiyutha ngokusekelwe ku-ESP32 chip ye-Espressif. Ngemva kwalokho, i-ex elulaample izokukhombisa ukuthi ungasebenzisa kanjani i-ESP-IDF (Espressif IoT Development Framework) ukuze ulungise imenyu, bese ukwakha kanye ne-firmware ekhanyayo ebhodini le-ESP32.
Qaphela: Lokhu kuyimibhalo yenguqulo ezinzile i-v5.0.9 ye-ESP-IDF. Ezinye Izinguqulo ze-ESP-IDF nazo ziyatholakala.
1.1 Isingeniso
I-ESP32 iyisistimu ku-chip ehlanganisa izici ezilandelayo: · Wi-Fi (2.4 GHz band) · I-Bluetooth · Ukusebenza okuphezulu okuphindwe kabili kwe-Xtensa® 32-bit LX6 CPU cores · I-Ultra Low Power co-processor · Amaperipheral amaningi
Inikwe amandla ubuchwepheshe be-nm engu-40, i-ESP32 inikeza inkundla eqinile, edidiyelwe kakhulu, esiza ukuhlangabezana nezidingo eziqhubekayo zokusebenzisa amandla ngendlela efanele, ukwakheka okuhlangene, ukuphepha, ukusebenza okuphezulu, nokwethembeka. I-Espressif ihlinzeka ngezingxenyekazi zekhompuyutha eziyisisekelo nezinsiza zesoftware ukusiza abathuthukisi bohlelo lokusebenza ukuthi babone imibono yabo besebenzisa ihadiwe yochungechunge lwe-ESP32. Uhlaka lokuthuthukisa isoftware lwe-Espressif luhloselwe ukuthuthukiswa kwezinhlelo zokusebenza ze-Internetof-Things (IoT) nge-Wi-Fi, i-Bluetooth, ukuphathwa kwamandla nezinye izici zesistimu ezimbalwa.
1.2 Okudingayo
1.2.1 Izingxenyekazi zekhompuyutha
· Ibhodi le-ESP32. · Ikhebula le-USB – USB A / micro USB B. · Ikhompyutha esebenzisa iWindows, Linux, noma macOS.
Qaphela: Okwamanje, amanye amabhodi okuthuthukisa asebenzisa izixhumi zohlobo C lwe-USB. Qiniseka ukuthi unekhebula elilungile lokuxhuma ibhodi lakho!
Uma unebhodi lokuthuthukisa elisemthethweni le-ESP32 elibalwe ngezansi, ungachofoza isixhumanisi ukuze ufunde kabanzi mayelana nehardware.
3
Isahluko 1. Qalisa
I-ESP32-DevKitS(-R)
Lo mhlahlandlela womsebenzisi uhlinzeka ngolwazi nge-ESP32-DevKitS(-R), ibhodi elikhanyayo elisekelwe ku-ESP32 elikhiqizwe yi-Espressif. I-ESP32-DevKitS(-R) iyinhlanganisela yamagama amabili ebhodi: ESP32-DevKitS kanye ne-ESP32-DevKitS-R. U-S umele iziphethu, kanti u-R umelela i-WROVER.
I-ESP32-DevKitS
ESP32-DevKitS-R
Umbhalo uqukethe lezi zigaba ezinkulu ezilandelayo: · Ukuqalisa: Ihlinzeka nge-overview ye-ESP32-DevKitS(-R) kanye nemiyalo yokusethwa kwehadiwe/software ukuze uqalise. · I-Hardware Reference: Inikeza imininingwane enemininingwane eyengeziwe mayelana nezingxenyekazi zekhompuyutha ze-ESP32-DevKitS(-R)ns. · Imibhalo Ehlobene: Inikeza izixhumanisi zemibhalo ehlobene.
Ukuqalisa Lesi sigaba sichaza ukuthi ungaqala kanjani nge-ESP32-DevKitS(-R). Iqala ngezigaba ezimbalwa ezethula mayelana ne-ESP32-DevKitS(-R), bese Isigaba Sendlela Yokukhanyisa Ibhodi sinikeza imiyalelo yokuthi ungakhweza kanjani imojuli ku-ESP32-DevKitS(-R), ilungise, futhi ifake i-firmware kuyo.
Kuphelileview I-ESP32-DevKitS(-R) ibhodi elikhanyayo le-Espressifns elakhelwe ngokuqondile i-ESP32. Ingasetshenziselwa ukukhanyisa imojuli ye-ESP32 ngaphandle kokuhlanganisa imojuli kuphakeli wamandla nemigqa yesignali. Ngemojula efakiwe, i-ESP32-DevKitS(-R) ingasetshenziswa njengebhodi lokuthuthukisa elincane njenge-ESP32-DevKitC.
Amabhodi we-ESP32-DevKitS kanye ne-ESP32-DevKitS-R ayahluka kuphela ngesakhiwo samaphini entwasahlobo ukuze alingane namamojula alandelayo e-ESP32.
· ESP32-DevKitS: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB & IPEX) ESP32-WROVER-B (PCB & IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Ukuze uthole ulwazi mayelana namamojula angenhla, sicela ubheke ESP32 Series Modules.
Incazelo Yezingxenye
Espressif Systems
4 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 1: ESP32-DevKitS - ngaphambili
Espressif Systems
Umfanekiso 2: ESP32-DevKitS-R – ngaphambili 5
Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Ingxenye Ebalulekile Izikhonkwane Zasentwasahlobo 2.54 mm Izihloko Zabesifazane
I-USB-to-UART Bridge LDO Isixhumi Esincane se-USB/Imbobo Yembobo encane ye-EN Inkinobho Yokuqalisa
Amandla ku-LED
Incazelo Chofoza imojula phakathi. Izikhonkwane zizongena ezimbotsheni ezinamamojula. Lezi zihloko zabesifazane zixhunywe kumaphini emojuli afakwe kuleli bhodi. Ukuze uthole incazelo yezihloko zabesifazane, sicela ubheke ku-Header Blocks. I-USB ye-Single-chip eya ebhulohweni le-UART inikeza izilinganiso zokudlulisa ezifika ku-3 Mbps.
I-5V-to-3.3V ivolumu yokuphuma ephansitagi-e regulator (LDO).
Isixhumi esibonakalayo se-USB. Ukunikezwa kwamandla ebhodi kanye nesixhumi esibonakalayo sokuxhumana phakathi kwekhompyutha nebhodi.
Setha kabusha inkinobho.
Inkinobho yokulanda. Ukubamba i-Boot bese ucindezela u-EN kuqala Imodi Yokulanda I-Firmware ukuze ulande i-firmware ngembobo ye-serial.
Ivula uma i-USB noma ugesi uxhumeke ebhodini.
Ulikhanyisa Kanjani Ibhodi Ngaphambi kokunika amandla i-ESP32-DevKitS(-R yakho), sicela uqiniseke ukuthi isesimweni esihle futhi azikho izimpawu zomonakalo ezisobala.
Izingxenyekazi zekhompuyutha ezidingekayo · Imojuli ye-ESP32 ozikhethele yona · Ikhebula le-USB 2.0 (I-Standard-A kuya ku-Micro-B) · Ikhompyutha esebenzisa i-Windows, Linux, noma i-macOS
Ukusethwa kwezingxenyekazi zekhompuyutha Sicela ukhweze imojuli oyikhethayo ku-ESP32-DevKitS(-R) yakho ngokuya ngezinyathelo ezilandelayo:
· Faka kancane imojula yakho ebhodini le-ESP32-DevKitS(-R). Qiniseka ukuthi izimbobo ezinama-castelated kumojula yakho zihambisana nezikhonkwane zasentwasahlobo ebhodini.
· Cindezela imojuli yakho phansi ebhodini ize ichofoze. · Hlola ukuthi zonke izikhonkwane zasentwasahlobo zifakwe emigodini eyi-castelated. Uma kukhona izikhonkwane zasentwasahlobo ezingaqondanga kahle,
zibeke emigodini ene-castelated enama-tweezers.
Ukusetha Isoftware
Indlela Ekhethwayo Uhlaka lokuthuthukisa i-ESP-IDF luhlinzeka ngendlela ekhethwayo yokukhanyisa amabhanari ku-ESP32-DevKitS(-R). Sicela uqhubekele kokuthi Qalisa, lapho Ukufakwa Kwesigaba kuzokusiza ngokushesha ukusetha indawo yokuthuthukisa bese ukhanyisa uhlelo lokusebenzaampungene ku-ESP32-DevKitS(-R yakho).
Enye Indlela Njengenye, abasebenzisi be-Windows bangakhanyisa okuhamba ngakubili besebenzisa Ithuluzi Lokulanda I-Flash. Vele uyilande, uyivule, bese ulandela imiyalelo engaphakathi kwefolda yedokhumenti.
Qaphela: 1. Ukukhanyisa kanambambili files, i-ESP32 kufanele isethelwe kumodi yokulanda iFirmware. Lokhu kungenziwa ngethuluzi le-flash ngokuzenzakalelayo, noma ngokubamba inkinobho yokuqalisa bese ucindezela inkinobho ethi EN. 2. Ngemva kokubaneka kanambambili files, Ithuluzi Lokulanda I-Flash liqala kabusha imojuli yakho ye-ESP32 futhi iqalise uhlelo olukhanyayo ngokuzenzakalelayo.
Okuqukethwe kobukhulu bebhodi kanye nokupakishwa
Espressif Systems
6 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa Umdwebo 3: Ubukhulu bebhodi le-ESP32-DevKitS - emuva
Espressif Systems
Umfanekiso 4: Ubukhulu bebhodi le-ESP32-DevKitS-R - emuva 7
Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Ama-oda okuthengisa Uma u-oda ama-s ambalwaampLes, i-ESP32-DevKitS(-R) ngayinye iza ngephakheji ngayinye noma isikhwama esingama-antistatic nanoma iyiphi iphakheji kuye ngomthengisi. Ukuze uthole ama-oda okuthengisa, sicela uye ku-https://www.espressif.com/en/contact-us/get-sampLes.
Ama-oda e-Wholesale Uma u-oda ngobuningi, amabhodi afika ngamabhokisi amakhulu amakhadibhodi. Ukuze uthole ama-oda athengiswayo, sicela uye ku-https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Vimba Umdwebo Umdwebo webhulokhi ngezansi ubonisa izingxenye ze-ESP32-DevKitS(-R) kanye nokuxhumana kwazo.
Umfanekiso 5: ESP32-DevKitS(-R) (chofoza ukuze ukhulise)
Izinketho Zokuphakela Amandla Kunezindlela ezintathu ezihlukene zokunikeza amandla ebhodini: · Imbobo ye-Micro USB, ukunikezwa kwamandla okuzenzakalelayo · 5V kanye namaphinikhodi e-GND · 3V3 kanye namaphinikhodi e-GND
Kunconywa ukusebenzisa inketho yokuqala: imbobo ye-micro USB.
Espressif Systems
.
Isiginali yelebula
I-L1 3V3 VDD 3V3
L2 EN CHIP_PU
I-L3 VP SENSOR_VP
I-L4 VN SENSOR_VN
L5 34
I-GPIO34
L6 35
I-GPIO35
L7 32
I-GPIO32
L8 33
I-GPIO33
iqhubeka ekhasini elilandelayo
8 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Ithebula 1 liqhubeke ekhasini eledlule
.
Isiginali yelebula
L9 25
I-GPIO25
L10 26
I-GPIO26
L11 27
I-GPIO27
L12 14
I-GPIO14
L13 12
I-GPIO12
I-L14 GND GND
L15 13
I-GPIO13
I-L16 D2 SD_DATA2
I-L17 D3 SD_DATA3
I-L18 CMD SD_CMD
I-L19 5V
I-5V yangaphandle
I-R1 GND
R2 23
I-GPIO23
R3 22
I-GPIO22
I-R4 TX U0TXD
I-R5 RX U0RXD
R6 21
I-GPIO21
I-R7 GND
R8 19
I-GPIO19
R9 18
I-GPIO18
R10 5
I-GPIO5
R11 17
I-GPIO17
R12 16
I-GPIO16
R13 4
I-GPIO4
R14 0
I-GPIO0
R15 2
I-GPIO2
R16 15
I-GPIO15
R17 D1 SD_DATA1
R18 D0 SD_DATA0
R19 CLK SD_CLK
Amabhulokhi Kanhlokweni Ukuze uthole isithombe samabhulokhi kanhlokweni, sicela ubheke Incazelo Yezingxenye.
Imibhalo Ehlobene
· I-ESP32-DevKitS(-R) Schematics (PDF) · ESP32 Datasheet (PDF) · ESP32-WROOM-32 Datasheet (PDF) · ESP32-WROOM-32D & ESP32-WROOM-32U Datasheet (PDF) · ESP32-SOLO-1 Datasheet ·PDF-W Datasheet (32PDF-W) ESP32-WROVER-B Datasheet (PDF) · ESP Product Selector
I-ESP32-DevKitM-1
Lo mhlahlandlela womsebenzisi uzokusiza ukuthi uqalise nge-ESP32-DevKitM-1 futhi uzohlinzeka ngolwazi olujulile.
I-ESP32-DevKitM-1 ibhodi lokuthuthukisa elisuselwa ku-ESP32-MINI-1(1U) elikhiqizwe yi-Espressif. Izikhonkwane eziningi ze-I/O zephulwe kuzihloko zamaphini nhlangothi zombili ukuze kuhlangane kube lula. Abasebenzisi bangaxhuma ama-peripherals ngezintambo ze-jumper noma bakhweze i-ESP32-DevKitM-1 ebhodini lokudla.
Espressif Systems
9 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
I-ESP32-DevKitM-1 – ngaphambili
I-ESP32-DevKitM-1 – isometric
Umbhalo uqukethe lezi zigaba ezinkulu ezilandelayo: · Ukuqalisa: Ihlinzeka nge-overview ye-ESP32-DevKitM-1 kanye nemiyalo yokusethwa kwehadiwe/software ukuze uqalise. · Ireferensi yezingxenyekazi zekhompuyutha: Ihlinzeka ngolwazi oluningiliziwe mayelana nezingxenyekazi zekhompuyutha ze-ESP32-DevKitM-1ns. · Imibhalo Ehlobene: Inikeza izixhumanisi ku-documentaiton ehlobene.
Ukuqalisa Lesi sigaba sichaza ukuthi ungaqala kanjani nge-ESP32-DevKitM-1. Iqala ngezigaba ezimbalwa ezethulayo mayelana ne-ESP32-DevKitM-1, bese Isigaba Sokuqala Sokuthuthukiswa Kwesicelo sinikeza imiyalelo yokuthi ungakwenza kanjani ukusethwa kwezingxenyekazi zekhompuyutha zokuqala kanye nendlela yokukhanyisa i-firmware ku-ESP32-DevKitM-1.
Kuphelileview Leli ibhodi lokuthuthukisa elincane nelilula elihlanganisa:
· I-ESP32-MINI-1, noma imojuli ye-ESP32-MINI-1U · i-USB-to-serial programming interface ebuye inikeze amandla kagesi ebhodini · amaphini ekhanda · ama-pushbuttons okusetha kabusha nokusebenzisa Imodi Yokulanda I-Firmware · ezinye izingxenye ezimbalwa
Okuqukethwe kanye nokupakishwa
Ama-oda okuthengisa Uma u-oda ama-s ambalwaampLes, i-ESP32-DevKitM-1 ngayinye iza ngephakeji ngayinye noma isikhwama se-antistatic nanoma iyiphi iphakheji kuye ngomthengisi wakho.
Ukuze uthole ama-oda okuthengisa, sicela uye ku-https://www.espressif.com/en/contact-us/get-sampLes.
Ama-oda e-Wholesale Uma u-oda ngobuningi, amabhodi afika ngamabhokisi amakhulu amakhadibhodi. Ukuze uthole ama-oda athengiswayo, sicela uye ku-https://www.espressif.com/en/contact-us/sales-questions.
Incazelo Yezingxenye Isibalo esilandelayo kanye nethebula elingezansi lichaza izingxenye ezibalulekile, ukuxhumana nokulawula kwebhodi le-ESP32-DevKitM-1. Sithatha ibhodi nge-ESP32-MINI-1 module njengesiboneloample ezigabeni ezilandelayo.
Espressif Systems
10 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 6: ESP32-DevKitM-1 - ngaphambili
Imojula Yengxenye Ebalulekile esebhodini
5 V kuya ku-3.3 V LDO Inkinobho Yokuqalisa
Setha kabusha Imbobo Yenkinobho Ye-Micro-USB
I-USB-to-UART Bridge 3.3 V Amandla Ku-LED
I/O Isixhumi
Incazelo
Imojula ye-ESP32-MINI-1 noma imojuli ye-ESP32-MINI-1U. I-ESP32-MINI-1 iza nothi lwe-PCB olusebhodini. I-ESP32-MINI-1U iza nesixhumi se-antenna sangaphandle. Womabili amamojula ane-flash engu-4 MB kuphakheji ye-chip. Ukuze uthole imininingwane, sicela ubheke I-ESP32-MINI-1 & ESP32-MINI-1U Datasheet.
Isilawuli samandla siguqula i-5 V iye ku-3.3 V.
Inkinobho yokulanda. Ukubamba i-Boot bese ucindezela okuthi Setha kabusha kuqalisa Imodi Yokulanda I-Firmware ukuze ulande i-firmware ngembobo ye-serial.
Setha kabusha Inkinobho
Isixhumi esibonakalayo se-USB. Ukunikezwa kwamandla ebhodi kanye nesixhumi esibonakalayo sokuxhumana phakathi kwekhompyutha ne-chip ye-ESP32.
I-chip yebhuloho ye-USB-UART eyodwa inikeza izilinganiso zokudlulisa ezifika ku-3 Mbps.
Ivula uma i-USB ixhunywe ebhodini. Ukuze uthole imininingwane, sicela ubheke izikimu kokuthi Amadokhumenti Ahlobene. Wonke amaphinikhodi e-GPIO atholakalayo (ngaphandle kwebhasi le-SPI ye-flash) aqhekezwe kuzihloko zamaphini ebhodini. Abasebenzisi bangahlela i-chip ye-ESP32 ukuze banike amandla imisebenzi eminingi.
Qala Ukuthuthukiswa Kwesicelo Ngaphambi kokunika amandla i-ESP32-DevKitM-1 yakho, sicela uqiniseke ukuthi isesimweni esihle futhi azikho izimpawu zomonakalo ezisobala.
I-Hardware Edingekayo · ESP32-DevKitM-1 · Ikhebula le-USB 2.0 (Standard-A kuya ku-Micro-B) · Ikhompyutha esebenzisa i-Windows, Linux, noma i-macOS
Ukusethwa Kwesofthiwe Sicela uqhubekele kokuthi Qalisa, lapho Ukufakwa Kwesigaba kuzokusiza ngokushesha ukusetha indawo yokuthuthuka bese ukhanyisa i-ex yesicelo.ampungene ku-ESP32-DevKitM-1 yakho.
Espressif Systems
11 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Qaphela: Amabhodi e-ESP32-DevKitM-1 akhiqizwa ngaphambi komhla zi-2 kuZibandlela 2021 anemojula eyodwa eyinhloko efakiwe. Ukuze uqinisekise ukuthi iyiphi imojula onayo, sicela uhlole ulwazi lokumaka lwemojuli ku-PCN-2021-021. Uma ibhodi lakho linemojula eyodwa eyinhloko efakiwe, sicela unike amandla imodi ye-single core (CONFIG_FREERTOS_UNICORE) ku-menuconfig ngaphambi kokukhanyisa izinhlelo zakho zokusebenza.
I-Hardware Reference Block Diagram Umdwebo webhulokhi ongezansi ubonisa izingxenye ze-ESP32-DevKitM-1 kanye nokuxhumana kwazo.
Umfanekiso 7: ESP32-DevKitM-1
Khetha Umthombo Wamandla Kunezindlela ezintathu ezihlukene zokunikeza amandla ebhodini: · Imbobo ye-Micro USB, ukunikezwa kwamandla okuzenzakalelayo · 5V kanye namaphinikhodi e-GND kanhlokweni · 3V3 kanye namaphinikhodi e-GND
Isexwayiso: · Amandla kagesi kumele ahlinzekwe kusetshenziswa okukodwa kanye kuphela kwezinketho ezingenhla, ngaphandle kwalokho ibhodi kanye/noma umthombo wokuphakelwa kukagesi ungonakala. · Ukunikezwa kwamandla ngembobo encane ye-USB kuyanconywa.
Izincazelo zamaphini Ithebula elingezansi lihlinzeka ngeGama kanye nomsebenzi wezikhonkwane ezinhlangothini zombili zebhodi. Ukuze uthole ukulungiselelwa kwephinikhodi, sicela ubhekisele ku-ESP32 Datasheet.
Cha.
Igama
Uhlobo
1
GND
P
2
3V3
P
Umsebenzi Ground 3.3 V ugesi
iqhubeka ekhasini elilandelayo
Espressif Systems
12 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Ithebula 2 liqhubeke ekhasini eledlule
Cha.
Igama
Uhlobo
Umsebenzi
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
I-RST
I
Setha kabusha; Phezulu: vumela; Phansi: amandla acishiwe
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
I/O
I-GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator okokufaka),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
I/O
I-GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator oscillator okukhiphayo),
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
I-GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
16
5V
P
5 V ukunikezwa kwamandla
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
I-GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, EMAC_TX_ER
23
IO9
I/O
I-GPIO9, HS1_DATA2, U1RXD, SD_DATA2
24
IO10
I/O
I-GPIO10, HS1_DATA3, U1TXD, SD_DATA3
25
IO5
I/O
I-GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
26
IO18
I/O
I-GPIO18, HS1_DATA7, VSPICLK
27
IO23
I/O
I-GPIO23, HS1_STROBE, VSPID
28
IO19
I/O
I-GPIO19, VSPIQ, U0CTS, EMAC_TXD0
29
IO22
I/O
GPIO22, VSPIWP, U0RTS, EMAC_TXD1
30
IO21
I/O
GPIO21, VSPIHD, EMAC_TX_EN
31
I-TXD0
I/O
GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
32
I-RXD0
I/O
I-GPIO3, U0RXD, CLK_OUT2
Imininingwane Yokubuyekeza Izingxenyekazi Zekhompyutha Azikho izinguqulo zangaphambilini ezitholakalayo.
Imibhalo Ehlobene
· ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Schematics (PDF) · ESP32-DevKitM-1 PCB layout (PDF) · ESP32-DevKitM-1 isakhiwo (DXF) – Ungakwazi view nge-Autodesk Viewer online · ESP32 Datasheet (PDF) · ESP Product Selector
Ukuthola eminye imibhalo yebhodi, sicela usithinte ku-sales@espressif.com.
Espressif Systems
13 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Isoftware ye-1.2.2
Ukuze uqale ukusebenzisa i-ESP-IDF ku-ESP32, faka isofthiwe elandelayo: · I-Toolchain ukuhlanganisa ikhodi ye-ESP32 · Amathuluzi okwakha - CMake kanye ne-Ninja ukwakha Isicelo esigcwele se-ESP32 · I-ESP-IDF equkethe i-API (imitapo yolwazi yesofthiwe nekhodi yomthombo) ye-ESP32 kanye nemibhalo yokusebenzisa i-Toolchain
1.3 Ukufakwa
Ukufaka yonke isoftware edingekayo, sinikeza izindlela ezihlukile zokwenza lo msebenzi. Khetha kweyodwa yezinketho ezitholakalayo.
1.3.1 I-IDE
Qaphela: Sincoma kakhulu ukufaka i-ESP-IDF nge-IDE oyikhonzile.
· I-Eclipse Plugin · Isandiso se-VSCode
1.3.2 Ukufaka Mathupha
Ngenqubo yesandla, sicela ukhethe ngokuya ngesistimu yakho yokusebenza.
Espressif Systems
14 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Ukusethwa Okujwayelekile kwe-Toolchain ye-Windows
Isingeniso I-ESP-IDF idinga amathuluzi adingekayo ukuze afakwe ukuze wakhe i-firmware yama-chips asekelwe. Amathuluzi adingekayo afaka iPython, Git, cross-compilers, CMake kanye namathuluzi okwakha e-Ninja. Kulokhu Ukuqalisa sizosebenzisa i-Command Prompt, kodwa ngemva kokufakwa kwe-ESP-IDF ungasebenzisa i-Eclipse Plugin noma enye i-IDE eyisithombe enosekelo lwe-CMake esikhundleni salokho. Qaphela: Imikhawulo: – Indlela yokufaka ye-ESP-IDF kanye ne-ESP-IDF Amathuluzi akumele ibe yinde kunezinhlamvu ezingu-90. Izindlela zokufaka ezinde kakhulu zingase ziphumele ekwakhiweni okuhlulekile. – Indlela yokufaka yePython noma i-ESP-IDF akumele ibe nezikhala ezimhlophe noma abakaki. – Indlela yokufaka yePython noma i-ESP-IDF akufanele iqukathe izinhlamvu ezikhethekile (nonASCII) ngaphandle uma isistimu yokusebenza ilungiselelwe nge-oUnicode UTF-8psupport. Umphathi Wesistimu anganika amandla usekelo nge-Control Panel - Shintsha idethi, isikhathi, noma amafomethi ezinombolo - ithebhu yokuphatha - Shintsha indawo yesistimu - hlola inketho ethi oBeta: Sebenzisa i-Unicode UTF-8 ukuze uthole ukwesekwa kolimi lomhlaba wonke - Kulungile futhi uqalise kabusha ikhompuyutha.
Isifaki Samathuluzi E-ESP-IDF Indlela elula yokufaka izimfuneko ze-ESP-IDFns ukulanda esinye sezifaki ze-ESP-IDF Tools.
I-Windows Installer Download
Iyini i-usecase ye-Online and Offline Installer Online Installer incane kakhulu futhi ivumela ukufakwa kwakho konke ukukhishwa okutholakalayo kwe-ESP-IDF. Isifaki sizolanda kuphela ukuncika okudingekayo okuhlanganisa i-Git YeWindows ngesikhathi senqubo yokufaka. Izitolo zesifaki zilandiwe files kumkhombandlela wenqolobane %userprofile%. i-espressif
Isifaki esingaxhunyiwe ku-inthanethi asidingi uxhumano lwenethiwekhi. Isifaki siqukethe konke ukuncika okudingekayo okuhlanganisa i-Git YeWindows.
Izingxenye zokufakwa Isifaki sisebenzisa izingxenye ezilandelayo:
· I-Embedded Python · Ama-Cross-compilers · OpenOCD · CMake and Ninja amathuluzi okwakha · ESP-IDF
Isifaki siphinde sivumele ukusebenzisa kabusha uhla lwemibhalo olukhona nge-ESP-IDF. Inkomba enconyiwe ithi %userprofile%Desktopesp-idf lapho %userprofile% wuhla lwemibhalo lwasekhaya.
Espressif Systems
15 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Kwethulwa Imvelo ye-ESP-IDF Ekupheleni kwenqubo yokufaka ungabheka inketho Qalisa i-ESP-IDF PowerShell Environment noma Qalisa i-ESP-IDF Command Prompt (cmd.exe). Isifaki sizovula imvelo ye-ESP-IDF ngokushesha okukhethiwe. Qalisa i-ESP-IDF PowerShell Environment:
Umfanekiso 8: Ukuqedela Iseluleki Sokusethwa Kwamathuluzi E-ESP-IDF Ngokusebenzisa Imvelo ye-ESP-IDF PowerShell
Qalisa i-ESP-IDF Command Prompt (cmd.exe):
Ukusebenzisa i-Command Prompt Ezinyathelweni Zokuqalisa ezisele, sizosebenzisa i-Windows Command Prompt. I-ESP-IDF Tools Installer iphinda idale isinqamuleli kumenyu yokuqala ukuze iqalise i-ESP-IDF Command Prompt. Lesi sinqamuleli sethula i-Command Prompt (cmd.exe) futhi sisebenzisa iskripthi se-export.bat ukusetha okuguquguqukayo kwemvelo (PATH, IDF_PATH nokunye). Ngaphakathi kwalesi saziso somyalo, wonke amathuluzi afakiwe ayatholakala. Qaphela ukuthi lesi sinqamuleli siqondene ngqo nenkomba ye-ESP-IDF ekhethwe kusifaki samathuluzi se-ESP-IDF. Uma unemibhalo eminingi ye-ESP-IDF kukhompuyutha (isibample, ukusebenza nezinguqulo ezahlukene ze-ESP-IDF), unezinketho ezimbili zokuzisebenzisa:
1. Dala ikhophi yesinqamuleli esidalwe Isifaki Samathuluzi ESP-IDF, bese ushintsha uhla lwemibhalo olusebenzayo lwesinqamuleli esisha lube lwemibhalo ye-ESP-IDF ofisa ukuyisebenzisa.
2. Noma, sebenzisa i-cmd.exe, bese ushintshela kumkhombandlela we-ESP-IDF ofisa ukuwusebenzisa, bese usebenzisa i-export.bat. Qaphela ukuthi ngokungafani nenketho yangaphambilini, le ndlela idinga i-Python ne-Git ukuthi ibe khona ku-PATH. Uma uthola amaphutha ahlobene nePython noma i-Git engatholakali, sebenzisa inketho yokuqala.
Izinyathelo Zokuqala ku-ESP-IDF Manje njengoba zonke izimfuneko sezihlangatshezwana nazo, isihloko esilandelayo sizokuqondisa ukuthi ungaqala kanjani iphrojekthi yakho yokuqala.
Espressif Systems
16 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa Umdwebo 9: ESP-IDF PowerShell
Umfanekiso we-10: Ukuqedela Iseluleki Sokusethwa Kwamathuluzi E-ESP-IDF Ngokuqalisa I-ESP-IDF Command Prompt (cmd.exe)
Espressif Systems
17 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 11: I-ESP-IDF Command Prompt
Espressif Systems
18 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Lo mhlahlandlela uzokusiza ezinyathelweni zokuqala usebenzisa i-ESP-IDF. Landela lo mhlahlandlela ukuze uqale iphrojekthi entsha ku-ESP32 futhi wakhe, ukhanyise, futhi ugade okukhipha idivayisi. Qaphela: Uma ungakayifaki i-ESP-IDF, sicela uye kokuthi Faka bese ulandela imiyalelo ukuze uthole yonke isofthiwe edingekayo ukuze usebenzise lo mhlahlandlela.
Qala Iphrojekthi Manje usulungele ukulungiselela isicelo sakho se-ESP32. Ungaqala ngephrojekthi yokuqalisa/hello_world kusuka ku-exampLes directory in ESP-IDF.
Okubalulekile: Isistimu yokwakha ye-ESP-IDF ayisekeli izikhala ezindleleni eziya ku-ESP-IDF noma kumaphrojekthi.
Kopisha iphrojekthi yokuqalisa/hello_world ku- ~/esp lwemibhalo: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world sawubona_mhlaba
Qaphela: Kukhona uhla lwama-exampamaphrojekthi ku-exampLes directory in ESP-IDF. Ungakopisha noma iyiphi iphrojekthi ngendlela efanayo neyethulwe ngenhla bese uyiqhuba. Kungenzeka futhi ukwakha exampngena endaweni ngaphandle kokuwakopisha kuqala.
Xhuma Idivayisi Yakho Manje xhuma ibhodi lakho le-ESP32 kukhompyutha bese uhlola ukuthi ibhodi libonakala ngaphansi kwayiphi imbobo ye-serial. Amagama embobo ye-serial aqala ngo-COM ku-Windows. Uma ungaqiniseki ukuthi ulibheka kanjani igama lembobo yomkhiqizo, sicela ubhekisele kokuthi Sungula Uxhumano Lwe-Serial nge-ESP32 ukuze uthole imininingwane egcwele.
Qaphela: Gcina igama lembobo liseduze njengoba uzolidinga ezinyathelweni ezilandelayo.
Lungiselela Iphrojekthi Yakho Zulazula uye kumkhombandlela wakho we-hello_world, setha i-ESP32 njengento oyiqondisayo, bese usebenzisa i-menuconfig yokucushwa kwephrojekthi.
Windows cd %umsebenzisifile%esphello_world idf.py set-target esp32 idf.py menuconfig
Ngemva kokuvula iphrojekthi entsha, kufanele uqale usethe ithagethi nge-idf.py set-target esp32. Qaphela ukuthi izakhiwo ezikhona kanye nezilungiselelo kuphrojekthi, uma zikhona, zizosulwa futhi ziqaliswe kule nqubo. Ithagethi ingase ilondolozwe kokuguquguquka kwemvelo ukuze weqe lesi sinyathelo nhlobo. Bheka Khetha I-Chip Eqondiwe: i-set-target ukuze uthole ulwazi olwengeziwe. Uma izinyathelo zangaphambilini zenziwe ngendlela efanele, imenyu elandelayo iyavela: Usebenzisa le menyu ukusetha okuguquguqukayo kwephrojekthi ethile, isb, igama lenethiwekhi ye-Wi-Fi nephasiwedi, isivinini sokucubungula, njll. Ukusetha iphrojekthi nge-menuconfig kungase kweqiwe ku-ohello_wordp, njengoba le ex.ample isebenza ngokucushwa okuzenzakalelayo.
Qaphela: Uma usebenzisa ibhodi le-ESP32-DevKitC ngemojula ye-ESP32-SOLO-1, noma ibhodi le-ESP32-DevKitM-1 elinemojula ye-ESP32-MIN1-1(1U), sicela unike amandla imodi yomongo owodwa (CONFIG_FREERTOS_UNICORE) ku-menuconfig ngaphambi kokuba kukhanye ex.ampLes.
Espressif Systems
19 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 12: Ukucushwa kwephrojekthi - Iwindi lasekhaya
Qaphela: Imibala yemenyu ingase yehluke kutheminali yakho. Ungashintsha ukubukeka ngenketho -style. Sicela usebenzise idf.py menuconfig -help ukuze uthole ulwazi olwengeziwe.
Uma usebenzisa elinye lamabhodi okuthuthukisa asekelwe, ungasheshisa ukuthuthukiswa kwakho ngokusebenzisa Iphakheji Yokusekela Ibhodi. Bona Amathiphu Engeziwe ukuze uthole ulwazi olwengeziwe.
Yakha iphrojekthi Yakha iphrojekthi ngokusebenzisa:
idf.py ukwakha
Lo myalo uzohlanganisa uhlelo lokusebenza nazo zonke izingxenye ze-ESP-IDF, bese ukhiqiza i-bootloader, ithebula lokuhlukanisa, namabhanari wohlelo lokusebenza.
$ idf.py ukwakha Isebenzisa i-cmake kuhla lwemibhalo /indlela/kuya/hello_world/build Isebenzisa “cmake -G Ninja -warn-unitialized /path/to/hello_world”… Xwayisa ngamavelu angakaqaliswanga. - I-Git etholiwe: /usr/bin/git (inguqulo etholakele "2.17.0") - Ukwakha ingxenye ye-aws_iot engenalutho ngenxa yokucushwa - Amagama ezingxenye: ... - Izindlela zengxenye: ...
… (imigqa eyengeziwe yokuphuma kwesistimu yokwakha)
[527/527] Ikhiqiza i-hello_world.bin esptool.py v2.3.1
Ukwakhiwa kwephrojekthi kuqedile. Ukuze ukhanyise, sebenzisa lo myalo: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world. bin ukwakha 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin noma sebenzisa 'idf.py -p PORT flash'
Uma engekho amaphutha, ukwakhiwa kuzoqeda ngokukhiqiza ibhini ye-firmware .bin files.
Espressif Systems
20 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Flash edivayisini Yenza ukukhanya okunambambili osanda kukwakha (bootloader.bin, partition-table.bin kanye ne-hello_world.bin) ebhodini lakho le-ESP32 ngokusebenzisa: idf.py -p PORT [-b BAUD] flash
Faka esikhundleni se-PORT ngegama lembobo ye-ESP32 boardns yakho. Ungaphinda uguqule izinga le-baud elikhanyayo ngokufaka esikhundleni se-BAUD ngezinga le-baud olidingayo. Izinga le-baud elizenzakalelayo lingu-460800. Ukuze uthole ulwazi olwengeziwe mayelana nezimpikiswano ze-idf.py, bheka idf.py.
Qaphela: Inketho ye-flash yakha ngokuzenzakalelayo futhi ikhanyise iphrojekthi, ngakho-ke ukusebenzisa i-idf.py build akudingekile.
Uhlangabezane Nezinkinga Ngenkathi Ukhanyisa? Uma usebenzisa umyalo onikeziwe futhi ubona amaphutha afana ne-AsoFailed to connectp, kungase kube nezizathu ezimbalwa zalokhu. Esinye sezizathu kungase kube izinkinga ezihlangatshezwana nazo i-esptool.py, insiza ebizwa ngohlelo lokwakha ukusetha kabusha i-chip, ukusebenzisana ne-ROM bootloader, kanye ne-flash firmware. Isixazululo esisodwa esilula sokuzama ukusetha kabusha mathupha okuchazwe ngezansi, futhi uma kungasizi ungathola imininingwane eyengeziwe mayelana nezinkinga ezingaba khona Ekuxazululeni izinkinga.
I-esptool.py isetha kabusha i-ESP32 ngokuzenzakalelayo ngokugomela imigqa yokulawula ye-DTR ne-RTS ye-USB kuya ku-serial converter chip, okungukuthi, i-FTDI noma i-CP210x (ukuthola ulwazi olwengeziwe, bheka okuthi Sungula Uxhumano Lwe-serial nge-ESP32). Imigqa yokulawula ye-DTR kanye ne-RTS yona ixhunywe kumaphinikhodi we-GPIO0 kanye ne-CHIP_PU (EN) we-ESP32, ngaleyo ndlela izinguquko kuvolumu.tagAmaleveli e-DTR kanye ne-RTS azoqala i-ESP32 ibe yimodi yokulanda iFirmware. Njengesiboneloample, hlola isikimu sebhodi lokuthuthukisa i-ESP32 DevKitC.
Ngokuvamile, akufanele ube nezinkinga ngamabhodi okuthuthukisa esp-idf asemthethweni. Nokho, i-esptool.py ayikwazi ukusetha kabusha ihadiwe yakho ngokuzenzakalelayo kulezi zimo ezilandelayo:
· I-Hardware yakho ayinawo olayini be-DTR kanye ne-RTS exhunywe ku-GPIO0 kanye ne-CHIP_PU · Imigqa ye-DTR ne-RTS imiswe ngendlela ehlukile · Ayikho nhlobo imigqa yokulawula eyisiriyali enjalo.
Kuya ngohlobo lwehadiwe onayo, kungenzeka futhi ukuthi ubeke ibhodi lakho le-ESP32 ngesandla kumodi Yokulanda I-Firmware (setha kabusha).
· Kumabhodi okuthuthukisa akhiqizwe yi-Espressif, lolu lwazi lungatholakala kumagayidi okuqalisa afanele noma iziqondiso zomsebenzisi. Okwesiboneloample, ukuze usethe kabusha ngokwenza ibhodi lokuthuthukisa i-ESP-IDF, cindezela inkinobho yokuqalisa (GPIO0) bese ucindezela inkinobho ethi EN (CHIP_PU).
· Kwezinye izinhlobo zehadiwe, zama ukudonsa i-GPIO0 phansi.
Ukusebenza Okuvamile Uma ukhanyisa, uzobona ilogi yokuphuma efana nokulandelayo:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/load0booter1 0x10000 hello_world.bin esptool.py v3.0-dev Isimboli se-serial /dev/ttyUSB0 Iyaxhuma…….._ I-Chip yi-ESP32D0WDQ6 (ukubuyekeza 0) Izici: I-WiFi, i-BT, i-Dual Core, i-Coding Scheme Ayikho I-Crystal ingu-40MHz MAC: 24:1b Ukulayisha: 24:1b5a stub… I-stub iyasebenza… Ishintsha izinga le-baud libe ngu-460800 Kushintshiwe.
(iqhubeka ekhasini elilandelayo)
Espressif Systems
21 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
(kusuka ekhasini elidlule) Ilungiselela usayizi wefuleshi… Cindezelwe amabhayithi angu-3072 kuya ku-103… Ibhala kokuthi 0x00008000… (100 %) Ibhale amabhayithi angu-3072 (103 icindezelwe) kokuthi 0x00008000 ngamasekhondi angu-0.0 (idatha ephumelelayo engu-8. Icindezelwe ngamabhayithi angu-26096 kuya ku-15408… Ibhala kokuthi 0x00001000… (100 %) Ibhale amabhayithi angu-26096 (15408 ecindezelwe) ngo-0x00001000 ngemizuzwana engu-0.4 (isebenza ngempumelelo engu-546.7 kbit/s) … Cindezelwe ngamabhayithi angu-147104 kuya ku-77364… Ibhala kokuthi 0x00010000… (20 %) Ibhala kokuthi 0x00014000… (40 %) Ibhala kokuthi 0x00018000… (60 %) Ibhala kokuthi 0x0001c0 kokuthi 0x0001c0 kokuthi 0x0001c0 0x00020000… (100 %) Ibhale amabhayithi angu-147104 (77364 icindezelwe) kokuthi 0x00010000 ngamasekhondi angu-1.9 (isebenza ngo-615. 5 kbit/s)… I-hash yedatha iqinisekisiwe.
Iyahamba... Ukusetha kabusha kanzima ngephinikhodi ye-RTS... Kwenziwe
Uma zingekho izinkinga ekupheleni kwenqubo ye-flash, ibhodi lizoqala kabusha futhi liqalise i-theohello_worldpapplication. Uma uthanda ukusebenzisa i-Eclipse noma i-VS Code IDE esikhundleni sokusebenzisa i-idf.py, hlola i-Eclipse Plugin, VSCode Extension.
Gada Okukhiphayo Ukuze uhlole ukuthi i-ohello_worldpis iyasebenza ngempela yini, thayipha i-idf.py -p PORT monitor (Ungakhohlwa ukufaka i-PORT esikhundleni segama lakho lembobo yomkhiqizo).
Lo myalo wethula uhlelo lokusebenza lwe-IDF Monitor:
$ idf.py -p qapha Isebenzisa i-idf_monitor kumkhombandlela […]/esp/hello_world/build Isebenzisa “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Yeka: Ctrl+] | Imenyu: Ctrl+T | Usizo: U-Ctrl+T ulandelwa u-Ctrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 …
Ngemva kokuqala kanye namalogi okuxilonga aya phezulu, kufanele ubone okuthi OHello world!ephrintiwe uhlelo lokusebenza.
… Sawubona Mhlaba! Iqala kabusha kumasekhondi angu-10… Lena i-esp32 chip enamacore(ama-CPU) angu-2), i-WiFi/BT/BLE, ukubuyekezwa kwe-silicon 1, 2MB flash yangaphandle Usayizi omncane wenqwaba yamahhala: 298968 bytes Iqala kabusha kumasekhondi angu-9… Iqala kabusha kumasekhondi angu-8… Iqala kabusha kumasekhondi angu-7…
Ukuze uphume kumonitha we-IDF sebenzisa isinqamuleli esithi Ctrl+].
Espressif Systems
22 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Uma ukuqapha kwe-IDF kwehluleka ngemva nje kokulayisha, noma, uma esikhundleni semilayezo engenhla, ubona udoti ongahleliwe ofana nalokhu okunikezwa ngezansi, ibhodi lakho cishe lisebenzisa ikristalu engu-26 MHz. Imiklamo eminingi yebhodi lokuthuthukisa isebenzisa i-40 MHz, ngakho-ke i-ESP-IDF isebenzisa le mvamisa njengenani elizenzakalelayo.
Uma unenkinga enjalo, yenza lokhu okulandelayo: 1. Phuma kusiqapha. 2. Buyela emuva ku-menuconfig. 3. Hamba ku-Component config > Izilungiselelo ze-Hardware > I-Main XTAL Config > Imvamisa ye-XTAL Eyinhloko, bese ushintsha i-CONFIG_XTAL_FREQ_SEL ibe ngu-26 MHz. 4. Ngemuva kwalokho, yakha futhi ukhanyise uhlelo lokusebenza futhi.
Enguqulweni yamanje ye-ESP-IDF, amafrikhwensi e-XTAL ayinhloko asekelwa i-ESP32 ami kanje:
· 26 MHz · 40 MHz
Qaphela: Ungakwazi ukuhlanganisa isakhiwo, ukubaneka kanye nokuqapha kube isinyathelo esisodwa ngokugijima: idf.py -p PORT flash monitor
Bheka futhi: · I-IDF Monitor ukuze uthole izinqamuleli eziwusizo kanye nemininingwane eyengeziwe ngokusebenzisa imonitha ye-IDF. · idf.py ukuze uthole ireferensi egcwele yemiyalelo ye-idf.py nezinketho.
Yilokho konke okudingayo ukuze uqalise nge-ESP32! Manje usukulungele ukuzama enye i-examples, noma uye ngqo ekuthuthukiseni izinhlelo zakho zokusebenza.
Okubalulekile: Ezinye ze-exampi-les ayisekeli i-ESP32 ngoba izingxenyekazi zekhompuyutha ezidingekayo azifakiwe ku-ESP32 ngakho-ke azikwazi ukusekelwa. Uma wakha i-example, sicela uhlole okuthi README file okwethebula Okukhonjiwe Okusekelwe. Uma lokhu kukhona okuhlanganisa nethagethi ye-ESP32, noma ithebula lingekho nhlobo, i-example izosebenza ku-ESP32.
Amathiphu engeziwe
Izinkinga zemvume/dev/ttyUSB0 Ngokusatshalaliswa okuthile kwe-Linux, ungathola okuthi Yehlulekile ukuvula umlayezo wephutha we-port/dev/ttyUSB0 uma ukhanyisa i-ESP32. Lokhu kungaxazululwa ngokungeza umsebenzisi wamanje eqenjini lokudayela.
Ukuhambisana kwePython ESP-IDF isekela iPython 3.7 noma entsha. Kunconywa ukuthi uthuthukise isistimu yakho yokusebenza ibe inguqulo yakamuva eyanelisa le mfuneko. Ezinye izinketho zifaka ukufakwa kwePython emithonjeni noma ukusetshenziswa kohlelo lokuphatha inguqulo yePython njenge-pyenv.
Qala ngePhakheji Yokusekela Ibhodi Ukuze usheshise ukwenza i-prototyping kwamanye amabhodi okuthuthukisa, ungasebenzisa amaPhakheji Okusekelwa Kwebhodi (BSPs), okwenza ukuqaliswa kwebhodi elithile kube lula njengezingcingo zokusebenza ezimbalwa.
Espressif Systems
23 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
I-BSP ngokuvamile isekela zonke izingxenye zehadiwe ezinikezwe ebhodini lokuthuthukisa. Ngaphandle kwencazelo ye-pinout nemisebenzi yokuqalisa, imikhumbi ye-BSP enabashayeli bezingxenye zangaphandle njengezinzwa, izibonisi, amakhodekhi alalelwayo njll. Ama-BSP asakazwa nge-IDF Component Manager, ukuze atholakale ku-IDF Component Registry. Herens an exampindlela yokwengeza i-ESP-WROVER-KIT BSP kuphrojekthi yakho: idf.py add-dependency esp_wrover_kit
Exampokuncane kokusetshenziswa kwe-BSP kungatholakala ku-BSP exampifolda encane.
Amadokhumenti Ahlobene Kubasebenzisi abathuthukile abafuna ukwenza ngendlela oyifisayo inqubo yokufaka: · Ukubuyekeza amathuluzi e-ESP-IDF ku-Windows · Sungula Uxhumano Lwe-Serial nge-ESP32 · I-Eclipse Plugin · Isandiso se-VSCode · I-IDF Monitor
Ibuyekeza amathuluzi e-ESP-IDF ku-Windows
Faka amathuluzi e-ESP-IDF usebenzisa iskripthi Kusukela ku-Windows Command Prompt, shintshela kumkhombandlela lapho i-ESPIDF ifakwe khona. Bese ugijima:
install.bat
Ku-Powershell, shintshela kumkhombandlela lapho i-ESP-IDF ifakwe khona. Bese ugijima:
faka.ps1
Lokhu kuzodawuniloda futhi kufake amathuluzi adingekayo ukuze usebenzise i-ESP-IDF. Uma inguqulo ethile yethuluzi isivele ifakiwe, akukho sinyathelo esizothathwa. Amathuluzi alandiwe futhi afakwe kuhla lwemibhalo olucaciswe phakathi nenqubo yesifaki samathuluzi e-ESP-IDF. Ngokuzenzakalelayo, lena C:Igama lomsebenzisi.espressif.
Engeza amathuluzi e-ESP-IDF ku-PATH usebenzisa isifaki samathuluzi se-ESP-IDF sokuthekelisa sidala isinqamuleli semenyu yokuqala ye-oESP-IDF Command Promptp. Lesi sinqamuleli sivula iwindi le-Command Prompt lapho wonke amathuluzi asevele ekhona
etholakalayo. Kwezinye izimo, ungase ufune ukusebenza ne-ESP-IDF efasiteleni le-Command Prompt elingaqalwanga ngokusebenzisa leso sinqamuleli. Uma kunjalo, landela imiyalelo engezansi ukuze wengeze amathuluzi e-ESP-IDF ku-PATH. Emyalweni womyalo lapho udinga ukusebenzisa i-ESP-IDF, shintshela kuhla lwemibhalo lapho i-ESP-IDF ifakwe khona, bese usebenzisa i-export.bat:
cd %umsebenzisifile%espesp-idf export.bat
Kungenjalo ku-Powershell lapho udinga ukusebenzisa i-ESP-IDF, shintshela kuhla lwemibhalo lapho i-ESP-IDF ifakiwe, bese usayinda ukuthumela.ps1:
cd ~/esp/esp-idf thekelisa ngaphandle.ps1
Uma lokhu sekwenziwe, amathuluzi azotholakala kulo myalezo womyalo.
Sungula Uxhumano Lwe-Serial nge-ESP32 Lesi sigaba sihlinzeka ngeziqondiso zokuthi ungasungula kanjani uxhumano lwe-serial phakathi kwe-ESP32 ne-PC.
Espressif Systems
24 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Xhuma i-ESP32 ku-PC Xhuma ibhodi le-ESP32 ku-PC usebenzisa ikhebula le-USB. Uma umshayeli wedivayisi engazifaki ngokuzenzakalelayo, khomba i-USB ku-serial converter chip ebhodini lakho le-ESP32 (noma i-dongle yokuguqulela yangaphandle), sesha abashayeli ku-inthanethi bese ubafake. Ngezansi uhlu lwama-USB kuya kuma-serial converter chips afakwe kumabhodi amaningi we-ESP32 akhiqizwa yi-Espressif kanye nezixhumanisi zamashayeli:
· CP210x: CP210x USB kuya e-UART Bridge VCP Abashayeli · FTDI: FTDI Virtual COM Abashayeli Bechweba Sicela uhlole umhlahlandlela womsebenzisi webhodi ukuze uthole i-USB ethile kuya ku-serial converter chip esetshenzisiwe. Abashayeli abangenhla bangezereferensi. Ngaphansi kwezimo ezijwayelekile, abashayeli kufanele bahlanganiswe nesistimu yokusebenza futhi bafakwe ngokuzenzakalelayo lapho bexhuma ibhodi ku-PC.
Hlola imbobo ku-Windows Hlola uhlu lwezimbobo ze-COM ezikhonjiwe ku-Windows Device Manager. Nqamula i-ESP32 bese uyixhuma futhi, ukuze uqinisekise ukuthi iyiphi imbobo enyamalalayo ohlwini bese iphinda iboniswa futhi. Izibalo ezingezansi zibonisa imbobo ye-serial ye-ESP32 DevKitC kanye ne-ESP32 WROVER KIT
Umfanekiso 13: Ibhuloho le-USB eliya ku-UART le-ESP32-DevKitC ku-Windows Device Manager
Hlola imbobo ku-Linux ne-macOS Ukuze uhlole igama ledivayisi yembobo ye-serial yebhodi lakho le-ESP32 (noma i-dongle yokuguqulela yangaphandle), sebenzisa lo myalo izikhathi ezimbili, okokuqala ngebhodi/i-dongle ingaxhunyiwe, bese ixhunyiwe. Ichweba elivela okwesibili yileli olidingayo: I-Linux
ls /dev/tty*
macOS
Espressif Systems
25 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 14: Izimbobo ezimbili ze-USB Serial ze-ESP-WROVER-KIT ku-Windows Device Manager
Espressif Systems
26 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
ls /dev/cu.* Qaphela: abasebenzisi be-macOS: uma ungaboni imbobo ye-serial bheka ukuthi ingabe i-USB/serial drivers ifakiwe. Bheka Isigaba Xhuma i-ESP32 ku-PC ukuze uthole izixhumanisi zamashayeli. KumacOS High Sierra (10.13), kungadingeka futhi ukuthi uvumele abashayeli ukuthi balayishe. Vula Izintandokazi Zesistimu -> Ukuphepha Nobumfihlo -> Okujwayelekile bese uhlola ukuthi ukhona yini umlayezo oboniswe lapha mayelana ne-oSystem Software ovela kunjiniyela lplapho igama lonjiniyela kuyi-Silicon Labs noma i-FTDI.
Ukwengeza umsebenzisi ekudayileni ku-Linux Umsebenzisi ongenile njengamanje kufanele ngabe ufunde futhi abhale ukufinyelela imbobo ye-serial nge-USB. Ekusakazweni okuningi kwe-Linux, lokhu kwenziwa ngokwengeza umsebenzisi eqenjini lokudayela ngomyalo olandelayo:
sudo usermod -a -G dialout $USER
ku-Arch Linux lokhu kwenziwa ngokwengeza umsebenzisi eqenjini le-uucp ngomyalo olandelayo:
I-sudo usermod -a -G uucp $USER
Qiniseka ukuthi ungena kabusha ukuze unike amandla izimvume zokufunda nokubhala zembobo yomkhiqizo.
Qinisekisa uxhumano lwe-serial Manje qinisekisa ukuthi uxhumano lwe-serial luyasebenza. Ungakwenza lokhu usebenzisa uhlelo lwe-serial terminal ngokubheka ukuthi uthola noma yikuphi okukhiphayo kutheminali ngemva kokusetha kabusha i-ESP32. Izinga elizenzakalelayo le-console baud ku-ESP32 ngu-115200.
IWindows ne-Linux Kulesi siboneloample sizosebenzisa iKlayenti le-PuTTY SSH elitholakala kuzo zombili iWindows neLinux. Ungasebenzisa ezinye izinhlelo ze-serial futhi usethe imingcele yokuxhumana njengangezansi. Qalisa itheminali bese usetha imbobo ye-serial ekhonjiwe. Izinga le-baud = 115200 (uma kudingekile, shintsha lokhu kube izinga le-baud elizenzakalelayo le-chip esetshenziswayo), amabhithi edatha = 8, amabhithi wokumisa = 1, kanye nokulinganisa = N. Ngezansi kukhona ama-exampizithombe-skrini zokusetha imbobo kanye nemingcele enjalo yokudlulisela (ngamafuphi echazwe njenge-115200-8-1-N) ku-Windows ne-Linux. Khumbula ukukhetha ncamashi imbobo ye-serial efanayo oyihlonze ezinyathelweni ezingenhla. Bese uvula i-serial port kutheminali bese ubheka, uma ubona noma iyiphi ilogi ephrintwe yi-ESP32. Okuqukethwe kwelogi kuzoncika ohlelweni olulayishwe ku-ESP32, bheka Example Okukhiphayo.
Qaphela: Vala itheminali ye-serial ngemva kokuqinisekisa ukuthi ukuxhumana kuyasebenza. Uma ugcina iseshini yetheminali ivuliwe, imbobo ye-serial ngeke ifinyeleleke ekulayisheni i-firmware kamuva.
I-macOS Ukuphephisa enkingeni yokufaka uhlelo lwe-serial terminal, i-macOS ikunikeza umyalo wesikrini. · Njengoba kuxoxiwe ku-Check port ku-Linux ne-macOS, sebenzisa:
ls /dev/cu.* · Kufanele ubone okukhiphayo okufanayo:
/dev/cu.Bluetooth-Incoming-Port /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· Okukhiphayo kuzohluka kuye ngohlobo kanye nenani lamabhodi axhunywe kwi-PC yakho. Bese ukhetha igama ledivayisi yebhodi lakho bese ugijima (uma kudingeka, shintsha u-o115200ufinyelele esilinganisweni esimisiwe se-baud se-chip esetshenziswayo):
isikrini /dev/cu.device_name 115200 Miselela idivayisi_name ngegama elitholwe ligijima ls /dev/cu.*.
Espressif Systems
27 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 15: Ukusetha Ukuxhumana Kwe-Serial ku-PuTTY ku-Windows
Espressif Systems
28 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Umfanekiso 16: Ukusetha Ukuxhumana Kwe-Serial ku-PuTTY ku-Linux
Espressif Systems
29 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
· Okufunayo kukhona log eboniswa esibukweni. Okuqukethwe kwelogi kuzoncika ohlelweni olulayishwe ku-ESP32, bheka Example Okukhiphayo. Ukuze uphume kuseshini yesikrini thayipha okuthi Ctrl-A + .
Qaphela: Ungakhohlwa ukuphuma kuseshini yesikrini ngemuva kokuqinisekisa ukuthi ukuxhumana kuyasebenza. Uma wehluleka ukukwenza futhi uvele uvale iwindi letheminali, imbobo ye-serial ngeke ifinyeleleke ekulayisheni i-firmware ngokuhamba kwesikhathi.
Example Okukhiphayo Example log iboniswe ngezansi. Setha kabusha ibhodi uma ungaboni lutho. ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) boot: hlanganisa isikhathi 18:48:10
…
Uma ubona okuphumayo kwelogi efundekayo, kusho ukuthi uxhumano lwe-serial luyasebenza futhi usulungele ukuqhubeka nokufaka futhi ekugcineni ulayishe uhlelo lokusebenza ku-ESP32.
Qaphela: Kwezinye izimo ze-serial port izintambo, amaphinikhodi we-serial RTS & DTR adinga ukukhutshazwa kuhlelo lwetheminali ngaphambi kokuthi i-ESP32 iqale futhi ikhiqize okukhiphayo kwe-serial. Lokhu kuncike ku-hardware ngokwayo, amabhodi amaningi okuthuthukiswa (kuhlanganise nawo wonke amabhodi e-Espressif) awanayo le nkinga. Udaba lukhona uma i-RTS ne-DTR zixhunywe izintambo ngokuqondile kumaphini we-EN & GPIO0. Bona imibhalo ye-esptool ukuze uthole imininingwane eyengeziwe.
Uma ufike lapha usuka ku-Isinyathelo sesi-5. Izinyathelo Zokuqala ku-ESP-IDF lapho ufaka i-s/w yokuthuthukiswa kwe-ESP32, ungaqhubeka nesinyathelo sesi-5. Izinyathelo Zokuqala ku-ESP-IDF.
I-IDF Monitor IDF Monitor ngokuyinhloko iwuhlelo lwetheminali ye-serial edlulisela idatha ye-serial ukuya nokusuka embobeni yochungechunge yamadivayisi aqondiwe. Iphinde inikeze ezinye izici eziqondene ne-IDF. I-IDF Monitor ingaqalwa kuphrojekthi ye-IDF ngokusebenzisa imonitha ye-idf.py.
Izinqamuleli zekhibhodi Ukuze usebenzisene kalula ne-IDF Monitor, sebenzisa izinqamuleli zekhibhodi ezinikezwe kuthebula.
Espressif Systems
30 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Isinqamuleli Sekhibhodi Ctrl+] Ctrl+T
Ctrl+T
· Ctrl+] · Ctrl+P
Ctrl+R
Ctrl+F
U-Ctrl+A (noma A)
Ctrl+Y
Ctrl+L
U-Ctrl+I (noma mina)
· Ctrl+H (noma H)
U-Ctrl+X (noma u-X)
Ctrl+C
Isenzo
Incazelo
Phuma ohlelweni Ikhi yemenyu yokuphunyuka Thumela uhlamvu lwemenyu ngokwayo kusilawuli kude
Thumela uhlamvu lokuphuma ngokwalo kusilawuli kude
Setha kabusha ithagethi ku-bootloader ukuze umise uhlelo lokusebenza ngomugqa we-RTS
Setha kabusha ibhodi eliqondiwe nge-RTS
Yakha futhi ukhanyise iphrojekthi
Yakha futhi ukhanyise uhlelo lokusebenza kuphela
Misa/qalisa kabusha ukuphrinta kwelogi esikrinini
Misa/qalisa kabusha okuphumayo kwelogi elondolozwe ku file
Yima/qalisa kabusha izikhathiamps
ukunyathelisa
Bonisa zonke izinqamuleli zekhibhodi
Cindezela bese uyilandela ngeyodwa yezinkinobho ezinikezwe ngezansi.
Isetha kabusha ithagethi, ibe yi-bootloader ngomugqa we-RTS (uma ixhunyiwe), ukuze ibhodi lingasebenzi lutho. Iwusizo uma udinga ukulinda enye idivayisi ukuthi iqalise. Isetha kabusha ibhodi eliqondiwe bese iqalisa kabusha uhlelo lokusebenza ngomugqa we-RTS (uma ixhunyiwe).
Imisa okwesikhashana i-idf_monitor ukuze iqalise iphrojekthi eqondiwe ye-flash, bese iqalisa kabusha i-idf_monitor. Noma yimuphi umthombo oshintshile files ziyahlanganiswa futhi bese zikhanya kabusha. I-flash-encrypted-flash eqondiwe isetshenziswa uma i-idf_monitor iqalwe nge-agumenti -E. Imisa isikhashana i-idf_monitor ukuze iqalise i-app-flash target, bese iqalisa kabusha i-idf_monitor. Ifana nethagethi ye-flash, kodwa uhlelo lokusebenza oluyinhloko kuphela olwakhiwe futhi lukhanyise kabusha. I-target encrypted-app-flash iqalisa uma i-idf_monitor iqalwe nge-agumenti -E. Ilahla yonke idatha yomkhiqizo engenayo ngenkathi icushiwe. Ivumela ukumisa isikhashana ngokushesha futhi ihlole ukuphuma kwelogi ngaphandle kokuyeka isiqapha. Kwakha a file kumkhombandlela wephrojekthi futhi okuphumayo kubhaliwe kulokho file kuze kube yilapho lokhu kukhutshazwa ngesinqamuleli sekhibhodi esifanayo (noma ukuphuma kwe-IDF Monitor). I-IDF Monitor ingaphrinta isikhathiamp ekuqaleni komugqa ngamunye. Izikhathiamp Ifomethi ingashintshwa yi--timestamp-fometha ingxabano yomugqa womyalo.
Phuma ohlelweni
Phakamisa uhlelo lokusebenza olusebenzayo
Imisa okwesikhashana i-IDF Monitor futhi iqalise isilungisi sephutha sephrojekthi ye-GDB ukuze ulungise uhlelo lokusebenza ngesikhathi sokusebenza. Lokhu kudinga inketho ye-:ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME ukuthi inikwe amandla.
Noma yibaphi okhiye abacindezelwe, ngaphandle kuka-Ctrl-] kanye no-Ctrl-T, bazothunyelwa ngembobo ye-serial.
Izici eziqondene ne-IDF
Ukuqopha Ikheli Okuzenzakalelayo Noma nini lapho i-ESP-IDF ikhipha ikheli lekhodi ye-hexadecimal yefomu elithi 0x4_____, i-IDF Monitor isebenzisa i-addr2line_ ukuze ibheke indawo kukhodi yomthombo futhi ithole igama lomsebenzi.
Uma uhlelo lokusebenza lwe-ESP-IDF luphahlazeka futhi luthukile, kukhiqizwa ukulahlwa kwerejista kanye ne-backtrace, njengokulandelayo:
Espressif Systems
31 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Iphutha lokuzindla kwe-Guru lohlobo lwe-StoreProhibited lenzekile ku-core 0. Okuhlukile kwaba
ingabanjwa.
Bhalisa ukulahlwa:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3fb7e00
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 I-EXCCAUSE:
0x0000001d
I-EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT :
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
I-IDF Monitor yengeza imininingwane eyengeziwe lapho kulahlwa khona:
Iphutha lokuzindla kwe-Guru lohlobo lwe-StoreProhibited lenzekile ku-core 0. Okuhlukile kwaba
ingabanjwa.
Bhalisa ukulahlwa:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3fb7e00
0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/exampkancane/qala/
sawubona_mhlaba/main/./hello_world_main.c:57
(kufakwe ku-) inner_dont_crash at /home/gus/esp/32/idf/exampkancane/qala/sawubona_
world/main/./hello_world_main.c:52
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7dd0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 I-EXCCAUSE:
0x0000001d
I-EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT :
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (inlined by) inner_dont_crash at /home/gus/esp/32/idf/examples/get-start/hello_ world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash at /home/gus/esp/32/idf/examples/get-start/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: dont_crash at /home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main at /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task at /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254
Ukuze uqophe ikheli ngalinye, i-IDF Monitor isebenzisa umyalo olandelayo ngemuva: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS
Qaphela: Setha i-ESP_MONITOR_DECODE eguquguqukayo ibe ngu-0 noma shayela i-idf_monitor.py ngomugqa womyalo othize
Espressif Systems
32 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
inketho: idf_monitor.py -disable-address-decoding ukuze ukhubaze ukuqoshwa kwekheli.
Ithagethi Yokusetha Kabusha Ekuxhumekeni Ngokuzenzakalela, I-IDF Monitor izosetha kabusha ithagethi lapho ixhuma kuyo. Ukusetha kabusha i-chip eqondiwe kwenziwa kusetshenziswa imigqa yeserial ye-DTR ne-RTS. Ukuze uvimbele i-IDF Monitor ukuthi ikwazi ukusetha kabusha ithagethi ekuxhumekeni, shayela i-IDF Monitor ngenketho ethi -no-reset (isb, idf_monitor.py -no-reset).
Qaphela: Inketho ethi -no-reset isebenzisa ukuziphatha okufanayo ngisho nalapho uxhuma I-IDF Monitor endaweni ethile (isb, idf.py monitor -no-reset -p [PORT]).
Ukwethula i-GDB nge-GDBStub I-GDBStub isici esiwusizo sokulungisa amaphutha esikhathi sokusebenza esisebenza kokuqondisiwe futhi sixhume kumsingathi phezu kwembobo yomkhiqizo ukuze uthole imiyalo yokususa iphutha. I-GDBStub isekela imiyalo efana nokufunda inkumbulo nezinto eziguquguqukayo, ukuhlola amafreyimu wesitaki sezingcingo njll. Nakuba i-GDBStub iguquguquka kancane kune-J.TAG ukulungisa iphutha, akudingi ihadiwe ekhethekile (njenge-JTAG kuya kwibhuloho le-USB) njengoba ukuxhumana kwenziwa ngokuphelele phezu kwembobo ye-serial. Ithagethi ingalungiselelwa ukusebenzisa i-GDBStub ngemuva ngokusetha i-CONFIG_ESP_SYSTEM_PANIC ku-GDBStub ngesikhathi sokusebenza. I-GDBStub izosebenza ngemuva kuze kube yilapho umlayezo ka-Ctrl+C uthunyelwa phezu kwembobo ye-serial futhi ibangele ukuthi i-GDBStub iphuke (okungukuthi, ukumisa ukwenziwa) kohlelo, ngaleyo ndlela ivumela i-GDBStub ukuthi isingathe imiyalo yokususa iphutha. Ngaphezu kwalokho, isibambi sokwethuka singalungiselelwa ukuthi siqalise i-GDBStub ekuphahlazekeni ngokusetha i-CONFIG_ESP_SYSTEM_PANIC ku-GDBStub ngenxa yokwethuka. Uma kwenzeka ukuphahlazeka, i-GDBStub izokhipha iphethini yeyunithi yezinhlamvu ekhethekile phezu kwembobo ye-serial ukukhombisa ukuthi iyasebenza. Kuzo zombili izimo (okungukuthi, ukuthumela umlayezo ka-Ctrl+C, noma ukuthola iphethini yeyunithi yezinhlamvu ekhethekile), i-IDF Monitor izokwethula ngokuzenzakalelayo i-GDB ukuze ivumele umsebenzisi ukuthi athumele imiyalo yokususa iphutha. Ngemva kokuphuma kwe-GDB, okuqondiwe kusethwa kabusha ngomugqa weserial we-RTS. Uma lo mugqa ungaxhumekile, abasebenzisi bangakwazi ukusetha kabusha ithagethi yabo (ngokucindezela inkinobho ethi Setha kabusha amabhodi).
Qaphela: Ngasemuva, i-IDF Monitor isebenzisa umyalo olandelayo wokuqalisa i-GDB:
xtensa-esp32-elf-gdb -ex "setha i-serial baud BAUD" -ex "i-PORT eqondiwe ekude" -ex phazamisa i-build/PROJECT.elf :idf_target:`Sawubona NAME chip`
Imonitha ye-IDF yokuhlunga okukhiphayo ingase isetshenziswe njenge-idf.py monitor -print-filter=”xyz”, lapho i--print-filter iyipharamitha yokuhlunga okukhiphayo. Inani elizenzakalelayo liwuchungechunge olungenalutho, okusho ukuthi yonke into iphrintiwe.
Imikhawulo yokuthi yini okumele uyiphrinte ingacaciswa njengochungechunge lwakhotag>: izinto laphotag> nguye tag umucu kanye uhlamvu olusuka kusethi ethi {N, E, W, I, D, V, *} ebhekisela ezingeni lokungena.
Okwesiboneloample, PRINT_FILTER=”tag1:W” ifanisa futhi iphrinte kuphela okuphumayo okubhalwe nge-ESP_LOGW(“tag1”, …) noma ezingeni eliphansi le-verbosity, okungukuthi ESP_LOGE(“tag1″,…). Ayicacisi a noma usebenzisa * okumisiwe ukuya ezingeni le-Verbose.
Qaphela: Sebenzisa ukungena okuyinhloko ukuze ukhubaze ekuhlanganiseni okuphumayo ongakudingi ngelabhulali yokungena. Ukuhlunga okukhiphayo ngemonitha ye-IDF kuyisixazululo sesibili esingaba usizo ekulungiseni izinketho zokuhlunga ngaphandle kokubuyisela uhlelo lokusebenza.
Uhlelo lwakho lokusebenza tags akumele iqukathe izikhala, izinkanyezi *, noma amakholoni : ukuze ihambisane nesici sokuhlunga okukhiphayo.
Uma umugqa wokugcina wokukhiphayo kuhlelo lwakho lokusebenza ungalandelwa ukubuyiselwa kwenqola, ukuhlunga okukhiphayo kungase kudideke, okungukuthi, isiqaphi siqala ukuphrinta umugqa futhi kamuva sithole ukuthi ulayini bekungafanele ubhalwe. Le yinkinga eyaziwayo futhi ingagwenywa ngokungeza njalo ukubuya kwenqola (ikakhulukazi uma kungekho okukhiphayo okulandelayo ngokushesha ngemva kwalokho).
Espressif Systems
33 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
ExampImithetho Yokuhlunga:
· * ingasetshenziswa ukufanisa noma iyiphi tags. Nokho, iyunithi yezinhlamvu PRINT_FILTER=”*:I tag1:E” mayelana tag1 iphrinta amaphutha kuphela, ngoba umthetho we tag1 inokubaluleka okuphezulu kunomthetho wokuthi *.
· Umthetho omisiwe (ongenalutho) ulingana nokuthi *:V ngoba ukufanisa yonke into tag ezingeni le-Verbose noma eliphansi lisho ukufanisa yonke into.
· “*:N” ayicindezeli kuphela okuphumayo okuvela emisebenzini yokugawulwa kwemithi, kodwa futhi namaphrinti enziwe i-printf, njll. Ukuze ugweme lokhu, sebenzisa *:E noma izinga eliphezulu le-verbosity.
· Imithetho "tag1:V”, “tag1:v”, “tag1:”, “tag1:*”, kanye “tag1” ziyalingana. · Umthetho “tag1:W tag1:E” kulingana nokuthi “tag1:E” ngoba noma yikuphi ukwenzeka okufanayo tag
igama lisusa elidlule. · Umthetho "tag1:ngi tag2:W” amaphrinti kuphela tag1 ezingeni le-Info verbosity noma ngaphansi futhi tag2 kuSexwayiso
izinga le-verbosity noma eliphansi. · Umthetho "tag1:ngi tag2:W tag3:N” ilingana nedlule ngoba tag3:N uyacacisa
lokho tag3 akufanele iphrintwe. · tag3:N emthethweni "tag1:ngi tag2:W tag3:N *:V” isho lukhulu ngoba ngaphandle tag3:N kwe
tagImiyalezo emi-3 ibingaphrintwa; amaphutha we tag1 futhi tag2 izophrintwa ezingeni elishiwo (noma eliphansi) le-verbosity futhi yonke enye into izophrintwa ngokuzenzakalelayo.
Isihlungi Esiyinkimbinkimbi Kakhudlwana Example Amazwibela alandelayo elogi atholwe ngaphandle kwezinketho zokuhlunga:
load:0x40078000,len:13564 okufakiwe 0x40078d4c E (31) esp_image: isithombe kokuthi 0x30000 sine-magic byte engavumelekile W (31) esp_image: isithombe kokuthi 0x30000 sinemodi ye-SPI engavumelekile 255 E-Factor I-Is568 app ayi-39 ye-bootable) cpu_start: Pro cpu up. I (569) heap_init: Iyaqalisa. I-RAM itholakalela ukunikezwa okuguquguqukayo: I (603) cpu_start: I-Pro cpu iqala ikhodi yomsebenzisi D (309) light_driver: [light_init, 74]:isimo: 1, imodi: 2 D (318) vfs: esp_vfs_register_fd_range iphumelele kububanzi <54; 64) kanye ne-VFS ID 1 I (328) i-wifi: umsebenzi womshayeli we-wifi: 3ffdbf84, prio:23, isitaki:4096, core=0
Okukhiphayo okuthwebuliwe kwezinketho zokuhlunga PRINT_FILTER=”wifi esp_image:E light_driver:I” kunikezwe ngezansi:
E (31) esp_image: isithombe kokuthi 0x30000 sine-magic byte I (328) wifi engavumelekile: umsebenzi womshayeli we-wifi: 3ffdbf84, prio:23, isitaki:4096, core=0
Izinketho “PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V” zibonisa okukhiphayo okulandelayo:
load:0x40078000,len:13564 entry 0x40078d4c I (569) heap_init: Ukuqalisa. I-RAM itholakalela ukunikezwa okuguquguqukayo: D (309) light_driver: [light_init, 74]:status: 1, mode: 2
Izinkinga ezaziwayo nge-IDF Monitor
Izinkinga Ezibonwa ku-Windows
Okhiye bemicibisholo, kanye nabanye okhiye, awasebenzi ku-GDB ngenxa yemikhawulo ye-Windows Console. · Ngezikhathi ezithile, uma i-oidf.pypexits, ingase ihlale imizuzwana engu-30 ngaphambi kokuthi i-IDF Monitor iqale futhi. · Uma i-ogdbpis isebenza, ingase ihlale isikhashana ngaphambi kokuthi iqale ukuxhumana ne-GDBStub.
Espressif Systems
34 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa Ukusethwa Kwe-Toolchain Okujwayelekile kwe-Linux ne-macOS
Ukufakwa Isinyathelo Ngesinyathelo Lona umhlahlandlela onemininingwane wokuhamba nawe enqubweni yokufaka.
Ukusetha Indawo Yokuthuthukisa Lezi izinyathelo zokusetha i-ESP-IDF ye-ESP32 yakho. · Isinyathelo 1. Faka Okudingekayo · Isinyathelo 2. Thola i-ESP-IDF · Isinyathelo 3. Setha amathuluzi · Isinyathelo 4. Misa okuguquguqukayo kwemvelo · Isinyathelo 5. Izinyathelo Zokuqala ku-ESP-IDF
Isinyathelo 1. Faka Okudingekayo Ukuze usebenzise i-ESP-IDF ne-ESP32, udinga ukufaka amaphakheji esofthiwe asekelwe ohlelweni lwakho lokusebenza. Lo mhlahlandlela wokusetha uzokusiza ekutholeni yonke into efakwe ku-Linux ne-macOS esekelwe izinhlelo.
Kubasebenzisi be-Linux Ukuze uhlanganise usebenzisa i-ESP-IDF uzodinga ukuthola amaphakheji alandelayo. Umyalo ozosebenza uncike ekutheni yikuphi ukusatshalaliswa kwe-Linux okusebenzisayo:
· Ubuntu neDebian: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· I-CentOS 7 & 8: i-sudo yum -y update && sudo yum faka i-git wget flex bison gperf python3 cmmake ninja-build ccache dfu-util libusbx
I-CentOS 7 isasekelwa kodwa i-CentOS version 8 iyanconywa ukuze uthole ulwazi olungcono lomsebenzisi. · I-Arch: i-sudo pacman -S -idinga i-gcc git yenza i-flex bison gperf python cmake ninja ccache dfu-util libusb
Qaphela: · I-CMake inguqulo 3.16 noma entsha iyadingeka ukuze isetshenziswe ne-ESP-IDF. Qalisa otools/idf_tools.py faka i-cmakepto ufake inguqulo efanelekile uma izinguqulo zakho ze-OS zingenayo. · Uma ungakuboni ukusatshalaliswa kweLinux yakho ohlwini olungenhla sicela uhlole imibhalo yayo ukuze uthole ukuthi yimuphi umyalo ongawusebenzisela ukufaka iphakheji.
Kubasebenzisi be-macOS i-ESP-IDF izosebenzisa inguqulo yePython efakwe ngokuzenzakalelayo ku-macOS. · Faka i-CMake & Ninja build: Uma une-HomeBrew, ungasebenzisa: brew install cmake ninja dfu-util Uma unama-MacPorts, ungasebenzisa: sudo port install cmake ninja dfu-util Uma kungenjalo, bheka amakhasi asekhaya e-CMake ne-Ninja ukuze uthole ukulanda kokufakwa kwe-macOS.
Espressif Systems
35 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
· Kunconywa kakhulu ukufaka i-ccache ukuze kwakhiwe ngokushesha. Uma une-HomeBrew, lokhu kungenziwa ngokusebenzisa i-brew install ccache noma i-sudo port install ccache kuma-MacPorts.
Qaphela: Uma iphutha elifana naleli liboniswa kunoma yisiphi isinyathelo: xcrun: iphutha: indlela kanjiniyela esebenzayo engavumelekile (/Library/Developer/CommandLineTools), ishoda nge-xcrun ku: /Library/Developer/CommandLineTools/usr/bin/xcrun
Ngemuva kwalokho uzodinga ukufaka amathuluzi omugqa womyalo we-XCode ukuze uqhubeke. Ungazifaka lezi ngokusebenzisa i-xcode-select -install.
Abasebenzisi be-Apple M1 Uma usebenzisa inkundla ye-Apple M1 futhi ubona iphutha elifana naleli: ISEXWAYISO: inkomba yenguqulo ye-xtensa-esp32-elf esp-2021r2-patch3-8.4.0 ikhona, kodwa ithuluzi alitholakalanga IPHUTHA: ithuluzi xtensa-esp32-elf alinazo izinguqulo ezifakiwe. Sicela usebenzise okuthi 'install.sh' ukuze uyifake.
noma: zsh: uhlobo lwe-CPU olubi olusebenzisekayo: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Ngemuva kwalokho uzodinga ukufaka i-Apple Rosetta 2 ngokusebenzisa /usr/sbin/softwareupdate -install-rosetta -agree-to-license
Ukufaka i-Python 3 Ngokusekelwe kumanothi okukhululwa e-MacOS Catalina 10.15, ukusetshenziswa kwePython 2.7 akunconyiwe futhi iPython 2.7 ngeke ifakwe ngokuzenzakalelayo ezinguqulweni ezizayo ze-macOS. Bheka ukuthi iyiphi iPython onayo njengamanje: i-python -version
Uma okukhiphayo kufana nePython 2.7.17, umhumushi wakho ozenzakalelayo yiPython 2.7. Uma kunjalo, hlola futhi ukuthi iPython 3 ayifakiwe yini kukhompyutha yakho: python3 -version
Uma umyalo ongenhla ubuyisela iphutha, kusho ukuthi iPython 3 ayifakiwe. Ngezansi i-overview wezinyathelo zokufaka iPython 3.
· Ukufaka nge-HomeBrew kungenziwa ngale ndlela elandelayo: phisa ufake i-python3
· Uma unama-MacPorts, ungagijima: i-sudo port faka i-python38
Isinyathelo sesi-2. Thola i-ESP-IDF Ukuze wakhe izinhlelo zokusebenza ze-ESP32, udinga imitapo yolwazi yesofthiwe ehlinzekwe yi-Espressif endaweni ye-ESP-IDF. Ukuze uthole i-ESP-IDF, zulazulela kunkomba yakho yokufaka bese uhlanganisa indawo yokugcina nge-git clone, ulandela imiyalelo engezansi eqondene nohlelo lwakho lokusebenza. Vula i-Terminal, bese ugijima imiyalo elandelayo:
Espressif Systems
36 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 -recursive https://github.com/espressif/esp-idf.git
I-ESP-IDF izolandwa kokuthi ~/esp/esp-idf. Bheka Izinguqulo ze-ESP-IDF ukuze uthole ulwazi mayelana nokuthi iyiphi inguqulo ye-ESP-IDF ongayisebenzisa esimweni esithile.
Isinyathelo sesi-3. Setha amathuluzi Ngaphandle kwe-ESP-IDF, udinga futhi ukufaka amathuluzi asetshenziswa i-ESP-IDF, njenge-compiler, debugger, Python packages, njll, kumaphrojekthi asekela i-ESP32. cd ~/esp/esp-idf ./install.sh esp32
noma nge-Fish shell cd ~/esp/esp-idf ./install.fish esp32
Imiyalo engenhla faka amathuluzi e-ESP32 kuphela. Uma uhlose ukuthuthukisa amaphrojekthi okuhloswe ngawo ama-chip amaningi kufanele ubhale wonke bese ugijimela i-example: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
noma nge-Fish shell cd ~/esp/esp-idf ./install.fish esp32,esp32s2
Ukuze ufake amathuluzi akho konke okuqondiwe okusekelwayo sicela usebenzise umyalo olandelayo: cd ~/esp/esp-idf ./install.sh konke
noma nge-Fish shell cd ~/esp/esp-idf ./install.fish all
Qaphela: Kubasebenzisi be-macOS, uma iphutha elifana naleli liboniswa nganoma yisiphi isinyathelo:urliphutha elivuliwe [SSL: CERTIFICATE_VERIFY_FAILED] ukuqinisekiswa kwesitifiketi kwehlulekile: ayikwazi ukuthola isitifiketi somkhiphi wendawo (_ssl.c:xxx)
Ungase uqalise Faka Certificates.command kufolda yePython yekhompyutha yakho ukuze ufake izitifiketi. Ukuze uthole imininingwane, bheka Iphutha Lokulanda Ngenkathi Ufaka Amathuluzi ESP-IDF.
Okunye File Okulandwayo Isifaki samathuluzi silanda inani le files enamathiselwe ekukhishweni kwe-GitHub. Uma ukufinyelela ku-GitHub kuhamba kancane khona-ke kungenzeka ukusetha okuguquguqukayo kwendawo ukuze ukhethe iseva yokulanda ye-Espressifns yokulanda kwempahla ye-GitHub.
Qaphela: Lesi silungiselelo silawula kuphela amathuluzi ngamanye alandwe kusuka ekukhishweni kwe-GitHub, akushintshi URLs isetshenziselwa ukufinyelela noma yiziphi izinqolobane ze-Git.
Ukuze ukhethe iseva yokulanda ye-Espressif lapho ufaka amathuluzi, sebenzisa ukulandelana kwemiyalelo elandelayo lapho usebenzisa i-install.sh:
Espressif Systems
37 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
cd ~/esp/esp-idf thekelisa IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Ukwenza ngendlela oyifisayo indlela yokufaka amathuluzi Imibhalo eyethulwe kulesi sinyathelo sokufaka amathuluzi okuhlanganiswa adingwa yi-ESP-IDF ngaphakathi kohla lwemibhalo lwasekhaya lomsebenzisi: $HOME/.espressif ku-Linux. Uma ufisa ukufaka amathuluzi ohlwini lwemibhalo oluhlukile, setha okuguquguqukayo kwemvelo IDF_TOOLS_PATH ngaphambi kokusebenzisa imibhalo yokufaka. Qiniseka ukuthi i-akhawunti yakho yomsebenzisi inezimvume ezanele zokufunda nokubhala le ndlela. Uma ushintsha i-IDF_TOOLS_PATH, qiniseka ukuthi isethelwe kunani elifanayo njalo uma isikripthi sokufaka (faka. bat, install.ps1 noma install.sh) kanye neskripthi sokuthekelisa (export.bat, export.ps1 noma export.sh) kusetshenziswa.
Isinyathelo sesi-4. Setha okuguquguqukayo kwemvelo Amathuluzi afakiwe awakakafakwa ku-path environment variable. Ukwenza amathuluzi asetshenziswe emugqeni womyalo, okunye okuguquguqukayo kwendawo kufanele kusethwe. I-ESP-IDF inikeza esinye iskripthi esenza lokho. Kutheminali lapho uzosebenzisa khona i-ESP-IDF, sebenzisa:
. $HOME/esp/esp-idf/export.sh
noma ngezinhlanzi (zisekelwa kuphela kusukela kunguqulo ye-fish 3.0.0):
. $HOME/esp/esp-idf/export.fish
Qaphela isikhala phakathi kwechashazi eliholayo nendlela! Uma uhlela ukusebenzisa i-esp-idf njalo, ungakha isibizo sokwenza i-export.sh:
1. Kopisha bese unamathisele umyalo olandelayo kumashellns pro wakhofile (.profile, .bashrc, .zprofile, njll.)
isibizo get_idf='. $HOME/esp/esp-idf/export.sh' 2. Vuselela ukulungiselelwa ngokuqalisa kabusha iseshini yetheminali noma ngokusebenzisa umthombo [path to profile],
okwesibample, umthombo ~/.bashrc. Manje usungaqalisa i-get_idf ukuze usethe noma uvuselele indawo ye-esp-idf kunoma iyiphi iseshini yetheminali. Ngobuchwepheshe, ungangeza i-export.sh kuma-shellns pro wakhofile ngqo; Nokho, akunconywa. Ukwenza kanjalo kwenza kusebenze indawo ebonakalayo ye-IDF kuyo yonke isikhathi setheminali (kuhlanganise naleyo lapho i-IDF ingadingeki khona), kwehlula injongo yendawo ebonakalayo futhi okungenzeka kuthinte enye isofthiwe.
Isinyathelo sesi-5. Izinyathelo Zokuqala ku-ESP-IDF Manje njengoba zonke izimfuneko sezihlangatshezwana nazo, isihloko esilandelayo sizokuqondisa ukuthi ungaqala kanjani iphrojekthi yakho yokuqala. Lo mhlahlandlela uzokusiza ezinyathelweni zokuqala usebenzisa i-ESP-IDF. Landela lo mhlahlandlela ukuze uqale iphrojekthi entsha ku-ESP32 futhi wakhe, ukhanyise, futhi ugade okukhipha idivayisi.
Qaphela: Uma ungakayifaki i-ESP-IDF, sicela uye kokuthi Faka bese ulandela imiyalelo ukuze uthole yonke isofthiwe edingekayo ukuze usebenzise lo mhlahlandlela.
Qala Iphrojekthi Manje usulungele ukulungiselela isicelo sakho se-ESP32. Ungaqala ngephrojekthi yokuqalisa/hello_world kusuka ku-exampLes directory in ESP-IDF.
Okubalulekile: Isistimu yokwakha ye-ESP-IDF ayisekeli izikhala ezindleleni eziya ku-ESP-IDF noma kumaphrojekthi.
Kopisha iphrojekthi yokuqalisa/hello_world ku- ~/esp lwemibhalo:
Espressif Systems
38 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
cd ~/esp cp -r $IDF_PATH/examples/get-start/hello_world .
Qaphela: Kukhona uhla lwama-exampamaphrojekthi ku-exampLes directory in ESP-IDF. Ungakopisha noma iyiphi iphrojekthi ngendlela efanayo neyethulwe ngenhla bese uyiqhuba. Kungenzeka futhi ukwakha exampngena endaweni ngaphandle kokuwakopisha kuqala.
Xhuma Idivayisi Yakho Manje xhuma ibhodi lakho le-ESP32 kukhompyutha bese uhlola ukuthi ibhodi libonakala ngaphansi kwayiphi imbobo ye-serial. Izimbobo ze-serial zinamaphethini okuqamba alandelayo:
· I-Linux: iqala nge/dev/tty · macOS: iqala nge/dev/cu. Uma ungaqiniseki ukuthi ulibheka kanjani igama lembobo yomkhiqizo, sicela ubhekisele kokuthi Sungula Uxhumano Lwe-Serial nge-ESP32 ukuze uthole imininingwane egcwele.
Qaphela: Gcina igama lembobo liseduze njengoba uzolidinga ezinyathelweni ezilandelayo.
Lungiselela Iphrojekthi Yakho Zulazula uye kumkhombandlela wakho we-hello_world, setha i-ESP32 njengento oyiqondisayo, bese usebenzisa i-menuconfig yokucushwa kwephrojekthi. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Ngemva kokuvula iphrojekthi entsha, kufanele uqale usethe ithagethi nge-idf.py set-target esp32. Qaphela ukuthi izakhiwo ezikhona kanye nezilungiselelo kuphrojekthi, uma zikhona, zizosulwa futhi ziqaliswe kule nqubo. Ithagethi ingase ilondolozwe kokuguquguquka kwemvelo ukuze weqe lesi sinyathelo nhlobo. Bheka Khetha I-Chip Eqondiwe: i-set-target ukuze uthole ulwazi olwengeziwe. Uma izinyathelo ezedlule zenziwe ngendlela efanele, imenyu elandelayo ivela:
Umfanekiso 17: Ukucushwa kwephrojekthi - Iwindi lasekhaya Usebenzisa le menyu ukusetha okuguquguqukayo okuqondile kwephrojekthi, isb, igama lenethiwekhi ye-Wi-Fi kanye nephasiwedi, isivinini sokucubungula, njll. Ukusetha iphrojekthi nge-menuconfig kungase kweqiwe forohello_worldp, njengoba le ex.ample igijima ne
Espressif Systems
39 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
ukumisa okuzenzakalelayo.
Qaphela: Uma usebenzisa ibhodi le-ESP32-DevKitC ngemojula ye-ESP32-SOLO-1, noma ibhodi le-ESP32-DevKitM-1 elinemojula ye-ESP32-MIN1-1(1U), sicela unike amandla imodi yomongo owodwa (CONFIG_FREERTOS_UNICORE) ku-menuconfig ngaphambi kokuba kukhanye ex.ampLes.
Qaphela: Imibala yemenyu ingase yehluke kutheminali yakho. Ungashintsha ukubukeka ngenketho -style. Sicela usebenzise idf.py menuconfig -help ukuze uthole ulwazi olwengeziwe.
Uma usebenzisa elinye lamabhodi okuthuthukisa asekelwe, ungasheshisa ukuthuthukiswa kwakho ngokusebenzisa Iphakheji Yokusekela Ibhodi. Bona Amathiphu Engeziwe ukuze uthole ulwazi olwengeziwe.
Yakha iphrojekthi Yakha iphrojekthi ngokusebenzisa:
idf.py ukwakha
Lo myalo uzohlanganisa uhlelo lokusebenza nazo zonke izingxenye ze-ESP-IDF, bese ukhiqiza i-bootloader, ithebula lokuhlukanisa, namabhanari wohlelo lokusebenza.
$ idf.py ukwakha Isebenzisa i-cmake kuhla lwemibhalo /indlela/kuya/hello_world/build Isebenzisa “cmake -G Ninja -warn-unitialized /path/to/hello_world”… Xwayisa ngamavelu angakaqaliswanga. - I-Git etholiwe: /usr/bin/git (inguqulo etholakele "2.17.0") - Ukwakha ingxenye ye-aws_iot engenalutho ngenxa yokucushwa - Amagama ezingxenye: ... - Izindlela zengxenye: ...
… (imigqa eyengeziwe yokuphuma kwesistimu yokwakha)
[527/527] Ikhiqiza i-hello_world.bin esptool.py v2.3.1
Ukwakhiwa kwephrojekthi kuqedile. Ukuze ukhanyise, sebenzisa lo myalo: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world. bin ukwakha 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin noma sebenzisa 'idf.py -p PORT flash'
Uma engekho amaphutha, ukwakhiwa kuzoqeda ngokukhiqiza ibhini ye-firmware .bin files.
Flash ku-Device Flash okonambambili osanda kukwakha (bootloader.bin, partition-table.bin kanye ne-hello_world.bin) ebhodini lakho le-ESP32 ngokugijima:
idf.py -p PORT [-b BAUD] flash
Faka esikhundleni se-PORT ngegama lembobo ye-ESP32 boardns yakho. Ungaphinda uguqule izinga le-baud elikhanyayo ngokufaka esikhundleni se-BAUD ngezinga le-baud olidingayo. Izinga le-baud elizenzakalelayo lingu-460800. Ukuze uthole ulwazi olwengeziwe mayelana nezimpikiswano ze-idf.py, bheka idf.py.
Qaphela: Inketho ye-flash yakha ngokuzenzakalelayo futhi ikhanyise iphrojekthi, ngakho-ke ukusebenzisa i-idf.py build akudingekile.
Espressif Systems
40 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Uhlangabezane Nezinkinga Ngenkathi Ukhanyisa? Uma usebenzisa umyalo onikeziwe futhi ubona amaphutha afana ne-AsoFailed to connectp, kungase kube nezizathu ezimbalwa zalokhu. Esinye sezizathu kungase kube izinkinga ezihlangatshezwana nazo i-esptool.py, insiza ebizwa ngohlelo lokwakha ukusetha kabusha i-chip, ukusebenzisana ne-ROM bootloader, kanye ne-flash firmware. Isixazululo esisodwa esilula sokuzama ukusetha kabusha mathupha okuchazwe ngezansi, futhi uma kungasizi ungathola imininingwane eyengeziwe mayelana nezinkinga ezingaba khona Ekuxazululeni izinkinga.
I-esptool.py isetha kabusha i-ESP32 ngokuzenzakalelayo ngokugomela imigqa yokulawula ye-DTR ne-RTS ye-USB kuya ku-serial converter chip, okungukuthi, i-FTDI noma i-CP210x (ukuthola ulwazi olwengeziwe, bheka okuthi Sungula Uxhumano Lwe-serial nge-ESP32). Imigqa yokulawula ye-DTR kanye ne-RTS yona ixhunywe kumaphinikhodi we-GPIO0 kanye ne-CHIP_PU (EN) we-ESP32, ngaleyo ndlela izinguquko kuvolumu.tagAmaleveli e-DTR kanye ne-RTS azoqala i-ESP32 ibe yimodi yokulanda iFirmware. Njengesiboneloample, hlola isikimu sebhodi lokuthuthukisa i-ESP32 DevKitC.
Ngokuvamile, akufanele ube nezinkinga ngamabhodi okuthuthukisa esp-idf asemthethweni. Nokho, i-esptool.py ayikwazi ukusetha kabusha ihadiwe yakho ngokuzenzakalelayo kulezi zimo ezilandelayo:
· I-Hardware yakho ayinawo olayini be-DTR kanye ne-RTS exhunywe ku-GPIO0 kanye ne-CHIP_PU · Imigqa ye-DTR ne-RTS imiswe ngendlela ehlukile · Ayikho nhlobo imigqa yokulawula eyisiriyali enjalo.
Kuya ngohlobo lwehadiwe onayo, kungenzeka futhi ukuthi ubeke ibhodi lakho le-ESP32 ngesandla kumodi Yokulanda I-Firmware (setha kabusha).
· Kumabhodi okuthuthukisa akhiqizwe yi-Espressif, lolu lwazi lungatholakala kumagayidi okuqalisa afanele noma iziqondiso zomsebenzisi. Okwesiboneloample, ukuze usethe kabusha ngokwenza ibhodi lokuthuthukisa i-ESP-IDF, cindezela inkinobho yokuqalisa (GPIO0) bese ucindezela inkinobho ethi EN (CHIP_PU).
· Kwezinye izinhlobo zehadiwe, zama ukudonsa i-GPIO0 phansi.
Ukusebenza Okuvamile Uma ukhanyisa, uzobona ilogi yokuphuma efana nokulandelayo:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/load0booter1 0x10000 hello_world.bin esptool.py v3.0-dev Isimboli se-serial /dev/ttyUSB0 Iyaxhuma…….._ I-Chip yi-ESP32D0WDQ6 (ukubuyekeza 0) Izici: I-WiFi, i-BT, i-Dual Core, i-Coding Scheme Ayikho I-Crystal ingu-40MHz MAC: 24:1b Ukulayisha: 24:1b5a stub… I-stub iyasebenza… Ishintsha izinga le-baud libe ngu-460800 Kushintshiwe. Ilungiselela usayizi wefuleshi… Cindezelwe amabhayithi angu-3072 kuya ku-103… Ibhala kokuthi 0x00008000… (100 %) Ibhale amabhayithi angu-3072 (103 icindezelwe) kokuthi 0x00008000 ngamasekhondi angu-0.0 (ngempumelelo engu-5962.8 kbit/idatha eqinisekisiwe). Icindezelwe ngamabhayithi angu-26096 kuya ku-15408… Ibhala kokuthi 0x00001000… (100 %) Ibhale amabhayithi angu-26096 (15408 ecindezelwe) ngo-0x00001000 ngemizuzwana engu-0.4 (isebenza ngempumelelo engu-546.7 kbit/s) … Cindezelwe ngamabhayithi angu-147104 kuya ku-77364… Ibhala kokuthi 0x00010000… (20 %) Ibhala kokuthi 0x00014000… (40 %) Ibhala kokuthi 0x00018000… (60 %) Ibhala kokuthi 0x0001c0%)
(iqhubeka ekhasini elilandelayo)
Espressif Systems
41 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
(kusuka ekhasini eledlule) Ibhala kokuthi 0x00020000… (100 %) Ibhale 147104 bytes (77364 icindezelwe) kokuthi 0x00010000 imizuzwana engu-1.9 (isebenza kahle ngu-615. 5 kbit/s)… I-hash yedatha iqinisekisiwe.
Iyahamba... Ukusetha kabusha kanzima ngephinikhodi ye-RTS... Kwenziwe
Uma zingekho izinkinga ekupheleni kwenqubo ye-flash, ibhodi lizoqala kabusha futhi liqalise i-theohello_worldpapplication. Uma uthanda ukusebenzisa i-Eclipse noma i-VS Code IDE esikhundleni sokusebenzisa i-idf.py, hlola i-Eclipse Plugin, VSCode Extension.
Gada Okukhiphayo Ukuze uhlole ukuthi i-ohello_worldpis iyasebenza ngempela yini, thayipha i-idf.py -p PORT monitor (Ungakhohlwa ukufaka i-PORT esikhundleni segama lakho lembobo yomkhiqizo). Lo myalo wethula uhlelo lokusebenza lwe-IDF Monitor:
$ idf.py -p qapha Isebenzisa i-idf_monitor kumkhombandlela […]/esp/hello_world/build Isebenzisa “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Yeka: Ctrl+] | Imenyu: Ctrl+T | Usizo: U-Ctrl+T ulandelwa u-Ctrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 …
Ngemva kokuqala kanye namalogi okuxilonga aya phezulu, kufanele ubone okuthi OHello world!ephrintiwe uhlelo lokusebenza.
… Sawubona Mhlaba! Iqala kabusha kumasekhondi angu-10… Lena i-esp32 chip enamacore(ama-CPU) angu-2), i-WiFi/BT/BLE, ukubuyekezwa kwe-silicon 1, 2MB flash yangaphandle Usayizi omncane wenqwaba yamahhala: 298968 bytes Iqala kabusha kumasekhondi angu-9… Iqala kabusha kumasekhondi angu-8… Iqala kabusha kumasekhondi angu-7…
Ukuze uphume kumonitha we-IDF sebenzisa isinqamuleli esithi Ctrl+]. Uma ukuqapha kwe-IDF kwehluleka ngemva nje kokulayisha, noma, uma esikhundleni semilayezo engenhla, ubona udoti ongahleliwe ofana nalokhu okunikezwa ngezansi, ibhodi lakho cishe lisebenzisa ikristalu engu-26 MHz. Imiklamo eminingi yebhodi lokuthuthukisa isebenzisa i-40 MHz, ngakho-ke i-ESP-IDF isebenzisa le mvamisa njengenani elizenzakalelayo.
Uma unenkinga enjalo, yenza okulandelayo:
1. Phuma kumonitha. 2. Buyela emuva ku-menuconfig. 3. Iya ku-Component config > Izilungiselelo Zezingxenyekazi zekhompuyutha > Ukucushwa Okuyinhloko kwe-XTAL > I-Main XTAL
imvamisa, bese ushintsha i-CONFIG_XTAL_FREQ_SEL ibe ngu-26 MHz. 4. Ngemuva kwalokho, yakha futhi ukhanyise uhlelo lokusebenza futhi.
Espressif Systems
42 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Enguqulweni yamanje ye-ESP-IDF, amafrikhwensi e-XTAL ayinhloko asekelwa i-ESP32 ami kanje:
· 26 MHz · 40 MHz
Qaphela: Ungakwazi ukuhlanganisa isakhiwo, ukubaneka kanye nokuqapha kube isinyathelo esisodwa ngokugijima: idf.py -p PORT flash monitor
Bheka futhi: · I-IDF Monitor ukuze uthole izinqamuleli eziwusizo kanye nemininingwane eyengeziwe ngokusebenzisa imonitha ye-IDF. · idf.py ukuze uthole ireferensi egcwele yemiyalelo ye-idf.py nezinketho.
Yilokho konke okudingayo ukuze uqalise nge-ESP32! Manje usukulungele ukuzama enye i-examples, noma uye ngqo ekuthuthukiseni izinhlelo zakho zokusebenza.
Okubalulekile: Ezinye ze-exampi-les ayisekeli i-ESP32 ngoba izingxenyekazi zekhompuyutha ezidingekayo azifakiwe ku-ESP32 ngakho-ke azikwazi ukusekelwa. Uma wakha i-example, sicela uhlole okuthi README file okwethebula Okukhonjiwe Okusekelwe. Uma lokhu kukhona okuhlanganisa nethagethi ye-ESP32, noma ithebula lingekho nhlobo, i-example izosebenza ku-ESP32.
Amathiphu engeziwe
Izinkinga zemvume/dev/ttyUSB0 Ngokusatshalaliswa okuthile kwe-Linux, ungathola okuthi Yehlulekile ukuvula umlayezo wephutha we-port/dev/ttyUSB0 uma ukhanyisa i-ESP32. Lokhu kungaxazululwa ngokungeza umsebenzisi wamanje eqenjini lokudayela.
Ukuhambisana kwePython ESP-IDF isekela iPython 3.7 noma entsha. Kunconywa ukuthi uthuthukise isistimu yakho yokusebenza ibe inguqulo yakamuva eyanelisa le mfuneko. Ezinye izinketho zifaka ukufakwa kwePython emithonjeni noma ukusetshenziswa kohlelo lokuphatha inguqulo yePython njenge-pyenv.
Qala ngePhakheji Yokusekela Ibhodi Ukuze usheshise ukwenza i-prototyping kwamanye amabhodi okuthuthukisa, ungasebenzisa amaPhakheji Okusekelwa Kwebhodi (BSPs), okwenza ukuqaliswa kwebhodi elithile kube lula njengezingcingo zokusebenza ezimbalwa. I-BSP ngokuvamile isekela zonke izingxenye zehadiwe ezinikezwe ebhodini lokuthuthukisa. Ngaphandle kwencazelo ye-pinout nemisebenzi yokuqalisa, imikhumbi ye-BSP enabashayeli bezingxenye zangaphandle njengezinzwa, izibonisi, amakhodekhi alalelwayo njll. Ama-BSP asakazwa nge-IDF Component Manager, ukuze atholakale ku-IDF Component Registry. Herens an exampindlela yokwengeza i-ESP-WROVER-KIT BSP kuphrojekthi yakho: idf.py add-dependency esp_wrover_kit
Exampokuncane kokusetshenziswa kwe-BSP kungatholakala ku-BSP exampifolda encane.
Ithiphu: Ukubuyekeza i-ESP-IDF Kuyanconywa ukuthi ubuyekeze i-ESP-IDF ngezikhathi ezithile, njengoba izinguqulo ezintsha zilungisa iziphazamisi kanye/noma zinikeza izici ezintsha. Sicela uqaphele ukuthi inguqulo ngayinye yokukhishwa kwe-ESP-IDF enkulu nencane inesikhathi sosekelo esihlotshaniswayo, futhi lapho igatsha elilodwa lokukhishwa lisondela ekupheleni kwempilo (EOL), bonke abasebenzisi bakhuthazwa ukuthi bathuthukise amaphrojekthi abo ukuze baye kokukhishwa kwakamuva kwe-ESP-IDF, ukuze bathole okwengeziwe mayelana nezikhathi zosekelo, bheka Izinguqulo ze-ESP-IDF.
Espressif Systems
43 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 1. Qalisa
Indlela elula yokwenza isibuyekezo ukususa ifolda ekhona ye-esp-idf bese uyifanisa futhi, njengokungathi wenza ukufakwa kokuqala okuchazwe esinyathelweni sesi-2. Thola i-ESP-IDF. Esinye isisombululo ukuvuselela kuphela lokho okushintshile. Inqubo yokubuyekeza incike kunguqulo ye-ESP-IDF oyisebenzisayo. Ngemva kokubuyekeza i-ESP-IDF, sebenzisa isikripthi sokufaka futhi, uma kwenzeka inguqulo entsha ye-ESP-IDF idinga izinguqulo ezihlukile zamathuluzi. Bona imiyalelo esinyathelweni sesi-3. Setha amathuluzi. Uma amathuluzi amasha efakiwe, buyekeza indawo usebenzisa iskripthi sokuthekelisa. Bheka imiyalelo eSinyathelweni sesi-4. Setha okuguquguqukayo kwendawo.
Amadokhumenti Ahlobene · Sungula Ukuxhumana Kwe-serial nge-ESP32 · I-Eclipse Plugin · Isandiso se-VSCode · I-IDF Monitor
1.4 Yakha Iphrojekthi Yakho Yokuqala
Uma usunayo i-ESP-IDF efakiwe futhi ungayisebenzisi i-IDE, ungakha iphrojekthi yakho yokuqala usuka kulayini womyalo ulandela Qala Iphrojekthi ku-Windows noma Qala Iphrojekthi ku-Linux ne-macOS.
1.5 Khipha i-ESP-IDF
Uma ufuna ukususa i-ESP-IDF, sicela ulandele Khipha i-ESP-IDF.
Espressif Systems
44 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 2
Ireferensi ye-API
2.1 Izivumelwano ze-API
Lo mbhalo uchaza izivumelwano nokuqagela okuvamile ku-ESP-IDF Application Programming Interfaces (APIs). I-ESP-IDF ihlinzeka ngezinhlobo ezimbalwa zokusebenzelana kwezinhlelo:
· Imisebenzi ye-C, izakhiwo, ama-enum, izincazelo zohlobo nama-preprocessor macro amenyezelwe enhlokweni yomphakathi fileizingxenye ze-ESPIDF. Amakhasi ahlukahlukene ku-API Reference section yomhlahlandlela wokuhlela aqukethe izincazelo zale misebenzi, izakhiwo kanye nezinhlobo.
· Yakha imisebenzi yohlelo, okuguquguqukayo okuchazwe ngaphambilini nezinketho. Lokhu kubhalwe kumhlahlandlela wesistimu yokwakha. · Izinketho ze-Kconfig zingasetshenziswa kukhodi nakuhlelo lokwakha (CMakeLists.txt) files. · Amathuluzi okusingatha kanye nemingcele yawo yomugqa womyalo nakho kuyingxenye ye-ESP-IDF interface. I-ESP-IDF iqukethe izingxenye ezibhalelwe i-ESP-IDF kanye nemitapo yolwazi yezinkampani zangaphandle. Kwezinye izimo, isisonga se-ESP-IDF-specific siyengezwa kulabhulali yezinkampani zangaphandle, sinikeza isixhumi esibonakalayo esilula noma esihlanganiswe kangcono nazo zonke ezinye izinsiza ze-ESP-IDF. Kwezinye izimo, i-API yoqobo yomtapo wolwazi wenkampani yangaphandle yethulwa kubathuthukisi bohlelo lokusebenza. Izigaba ezilandelayo zichaza ezinye zezici ze-ESP-IDF APIs nokusetshenziswa kwazo.
Ukuphathwa kwephutha le-2.1.1
Amakhodi amaningi wephutha we-ESP-IDF API achazwe ngohlobo lwe-esp_err_t. Bheka isigaba Sokuphatha Amaphutha ukuze uthole ulwazi olwengeziwe mayelana nezindlela zokuphatha amaphutha. I-Error Code Reference iqukethe uhlu lwamakhodi ephutha abuyiswe izingxenye ze-ESP-IDF.
2.1.2 Izakhiwo zokuhlela
Okubalulekile: Ukuqaliswa okulungile kwezakhiwo zokumisa kuyingxenye ebalulekile ekwenzeni uhlelo lokusebenza luhambisane nezinguqulo zesikhathi esizayo ze-ESP-IDF.
Iningi lemisebenzi yokuqalisa noma yokumisa ku-ESP-IDF ithatha njengengxabano isikhombi esakhiweni sokumisa. Okwesiboneloample:
45
Isahluko 2. Ireferensi ye-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);
Imisebenzi yokuqalisa ayilokothi igcine isikhombi esakhiweni sokumisa, ngakho-ke kuphephile ukwaba ukwakheka kusitaki.
Uhlelo lokusebenza kufanele luqalise zonke izinkambu zesakhiwo. Okulandelayo akulungile:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Akulungile! I-Fields .arg kanye ne-.name aziqaliswanga */ esp_timer_create(&my_timer_args, &my_timer);
Iningi le-ESP-IDF exampLes sebenzisa iziqalisi eziqokiwe ze-C99 zokuqalisa isakhiwo, njengoba zinikeza indlela emfushane yokusetha isethi engaphansi yezinkambu, futhi ziro-ukuqalisa izinkambu ezisele:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Kulungile, izinkambu .arg kanye negama elithi .name aqalwe nguziro */
};
Ulimi lwe-C++ alusekeli i-syntax yeziqalisi ezimisiwe kuze kube ngu-C++20, nokho umhlanganisi we-GCC ukusekela kancane njengesandiso. Uma usebenzisa i-ESP-IDF APIs kukhodi ye-C++, ungase ucabange ukusebenzisa iphethini elandelayo:
esp_timer_create_args_t my_timer_args = {}; /* Zonke izinkambu aziqalwa uziro */ my_timer_args.callback = &my_timer_callback;
Iziqalisi ezizenzakalelayo
Kwezinye izakhiwo zokumisa, i-ESP-IDF inikeza amamakhro okusetha amanani azenzakalelayo ezinkambu:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* I-HTTPD_DEFAULT_CONFIG inweba ibe isiqalisi esimisiwe.
Manje zonke izinkambu zisethelwe kumanani azenzakalelayo. Noma iyiphi inkambu isengashintshwa: */ config.server_port = 8081; httpd_handle_t iseva; esp_err_t err = httpd_start(&server, &config);
Kunconywa ukusebenzisa ama-macros okuqalisa azenzakalelayo noma nini lapho enikezwe isakhiwo esithile sokumisa.
2.1.3 Ama-API ayimfihlo
Isihloko esithile files ku-ESP-IDF aqukethe ama-API enzelwe ukusetshenziswa kuphela kukhodi yomthombo ye-ESP-IDF, futhi hhayi izinhlelo zokusebenza. Unhlokweni onjalo files ivamise ukuqukatha okuyimfihlo noma esp_okuyimfihlo egameni noma endleleni yabo. Izingxenye ezithile, njenge-hal ziqukethe kuphela ama-API ayimfihlo. Ama-API ayimfihlo angase asuswe noma ashintshwe ngendlela engahambisani phakathi kokukhishwa okuncane noma kwezichibi.
2.1.4 Izingxenye kusibample amaphrojekthi
I-ESP-IDF exampLes iqukethe izinhlobonhlobo zamaphrojekthi abonisa ukusetshenziswa kwe-ESP-IDF APIs. Ukuze kuncishiswe ukuphindaphinda kwekhodi ku-exampkancane, abasizi abambalwa abavamile bachazwa izingxenye zangaphakathi ezisetshenziswa ama-ex amaningiampLes.
Espressif Systems
46 Thumela Impendulo Yedokhumenti
Khipha i-v5.0.9
Isahluko 2. Ireferensi ye-API
Lokhu kuhlanganisa izingxenye ezitholakala
Amadokhumenti / Izinsiza
![]() |
Ibhodi Lokuthuthukiswa Kwe-Espressif Systems ESP32 Dev Kitc [pdf] Umhlahlandlela Womsebenzisi Ibhodi Lokuthuthukiswa Kwe-ESP32 Dev Kitc, ESP32, Ibhodi Lokuthuthukiswa Kwe-Dev Kitc, Ibhodi Lokuthuthukiswa Kwe-Kitc, Ibhodi Lokuthuthukiswa, Ibhodi |