Boto ea Ntlafatso ea ESP32 Dev Kitc

Tlhahisoleseding ya Sehlahiswa

Litlhaloso

  • Sehlahisoa: ESP32
  • Tataiso ea Lenaneo: ESP-IDF
  • Phetolelo ea Phatlalatso: v5.0.9
  • Moetsi: Espressif Systems
  • Letsatsi la Phatlalatso: Motšeanong 16, 2025

Litaelo tsa Tšebeliso ea Sehlahisoa

1. Qala

Pele o qala ka ESP32, itloaetse ho
tse latelang:

1.1 Selelekela

Ithute ka mesebetsi ea mantlha le bokhoni ba
ESP32.

1.2 Seo U se Hlokang

Etsa bonnete ba hore u na le hardware le software e hlokahalang:

  • Hardware: Sheba lenane la lisebelisoa tse hlokahalang
    dikarolo.
  • Software: Kenya software e hlokahalang
    dikarolo.

1.3 Ho kenngwa

Latela mehato ena ho kenya IDE le ho seta
tikoloho:

  • IDE: Kenya IDE e khothaletsoang bakeng sa
    ho kenya lenaneo la ESP32.
  • Ho kenya ka letsoho: Seta ka bouena
    tikoloho ha ho hlokahala.

1.4 Theha Morero oa Hao oa Pele

Theha le ho aha morero oa hau oa pele u sebelisa ESP32.

1.5 Tlosa ESP-IDF

Haeba ho hlokahala, ithute ho tlosa ESP-IDF ho tsoa ho
tsamaiso.

2. Reference API

Sheba litokomane tsa API bakeng sa lintlha tse qaqileng ka
liprothokholo tsa ts'ebeliso, ho sebetsana le liphoso, le litlhophiso
meaho.

Lipotso tse atisang ho botsoa (FAQ)

P: Nka rarolla mathata a tloaelehileng joang ka ESP32?

A: Sheba karolo ea ho rarolla mathata ho tataiso ea mananeo
kapa etela ea moetsi websebaka bakeng sa lisebelisoa tsa tšehetso.

P: Na nka sebelisa ESP-IDF le li-microcontroller tse ling?

A: ESP-IDF e etselitsoe ESP32 ka ho khetheha, empa u ka e fumana
ho lumellana le li-microcontrollers tse ling tsa Espressif.

ESP32
ESP-IDF Programming Guide
Hlahisa v5.0.9 Espressif Systems May 16, 2025

Tafole ea likateng

Tafole ea likateng

i

1 Qalella

3

1.1 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Seo U se Hlokang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

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

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

1.3 Ho kenya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

1.3.2 Ho kenya ka letsoho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Haha Morero oa Hao oa Pele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 Tlosa ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 API Reference

45

2.1 Likopano tsa API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 Ho sebetsana le phoso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Mehaho ea tlhophiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 Li-API tsa poraefete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Likaroloana ho mohlalaample merero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 API Botsitso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Melao-motheo ea Ts'ebeliso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 boema-kepe ba 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 Taolo ea Sebaka sa ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

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

2.2.8 Sephutheloana sa Setifikeiti sa ESP x509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 Seva ea HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 Seva ea HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

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

2.2.12 mDNS Tšebeletso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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

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

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

2.3.1 Bluetooth® Tloaelehileng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.2 Bluetooth® Matla a Tlase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

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

2.3.4 Molaoli le HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

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

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

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

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

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

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

2.5.3 Khoele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

i

2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP Network Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Lera la Kopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Peripherals API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analog to Digital Converter (ADC) Oneshot Mode Driver . . . . . . . . . . . . . . . . . 977 2.6.2 Analog to Digital Converter (ADC) Continuous Mode Driver . . . . . . . . . . . . . . . 986 2.6.3 Mokhanni oa Tekanyo ea Analoji ho ea ho Dijithale (ADC) . . . . . . . . . . . . . . . . . . . 993 2.6.4 Sefate sa Tshupanako . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital To Analog Converter (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Kakaretso Nako ea Morero (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Inter-Integrated Circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Molumo oa Inter-IC (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Taolo ea LED (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Motor Control Pulse Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Remote Control Transceiver (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 Litlhoko tsa ho hula SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 Mokhanni oa Makhoba oa Karete ea SDIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulation (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Master Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Mokhanni oa Makhoba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Secure Element) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Touch Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Sebopeho sa Likoloi sa Mehala e Mebeli (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Universal Asynchronous Receiver/Transmitter (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Tlhophiso ea Morero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Lenaneo la Tlhophiso ea Morero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Ho sebelisa sdkconfig.defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Melao ea ho Fometa ea Kconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Ho lumellana ka Morao ha Kconfig Options . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Tlhophiso ya Dikgetho tsa Tlhophiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Provisioning API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Puisano ea Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Tokisetso e Kopanetsoeng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Tokisetso ea Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Storage API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileTs'ehetso ea tsamaiso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Tšebeliso ea Tlhahiso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Laeborari ea polokelo e sa fetoheng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Partition Generator Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC Mokhanni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filetsamaiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Virtual filekarolo ea tsamaiso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Wear Leveling API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Sebopeho sa Sets'oants'o sa App. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Ts'ebetso ea Boemo ba Kopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Mosebetsi oa mohala o nang le stack ea kantle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Chip Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 Mookameli oa eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Likhoutu tsa Phoso le Mesebetsi ea Thuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Event Loop Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Overview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Likarolo tsa Tlatsetso) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Kabo ea Mehopolo ea Khopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Tlhōlisano ea Memori e Khopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Nako e Phahameng ea Qeto e Phahameng (ESP Timer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Li-API tsa ka hare le tse sa tsitsang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Inter-Processor Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Kabo ea tšitiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Laeborari ea ho rema lifate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Mescellaneous System APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Over The Air Updates (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Tekolo ya Tshebetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Tsamaiso ea Matla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX Tšehetso ea Likhoele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Moloko oa Nomoro e Ratoang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Mekhoa ea ho Robala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Bokhoni ba SoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Nako ea Tsamaiso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 The himem allocation API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Bahlokomeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Hardware Reference

2167

3.1 Chip Series Papiso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Litokomane Tse Amanang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

Litataiso tse 4 tsa API

2171

4.1 Laeborari ea ho Lata Boemo ba Likopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Ho fetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Mekhoa ea Ts'ebetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Likhetho tsa Tlhophiso le Litšetleho . . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 Mokhoa oa ho Sebelisa Laeborari Ena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Phallo ea ho Qala Kopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Khtagle bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 Ea bobeli stagle bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Ho qala kopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

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

4.3.1 Ho fetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® Matla a Tlase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Ho fetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Qala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

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

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

4.5.1 Ho lumellana ha Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Sebaka sa Loko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Ho seta fektheri bocha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Boot ho tsoa ho Firmware ea Teko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

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

4.5.6 Molebeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.7 Bootloader Boholo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Boot e potlakileng ho tloha Borokong bo Tebileng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Bootloader ea tloaelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Haha Sistimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Ho fetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 Ho Sebelisa Mokhoa oa ho Haha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 Example Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Project CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Karolo ea CMakeLists Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Tlhophiso ea Karolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Litlhaloso tsa Preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Litlhoko tsa Karolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Likarolo tse Felletseng tsa Morero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Likarolo tsa Tlhophiso Feela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Ho lokisa liphoso CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Example Karolo ea CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Mekhoa e tloaelehileng ea sdkconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Likhang tse phatsimang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Ho aha Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Ho Ngola C e Hloekileng Etsa Likarolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Ho Sebelisa Merero ea Mokha oa Boraro oa CEtsa ka Likarolo. . . . . . . . . . . . . . . . . . . 2306 4.6.18 Ho Sebelisa Lilaebrari Tse Tsoang Pele Tse Nang le Likaroloana . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Ho Sebelisa ESP-IDF ho Merero e Tloaelehileng ea CMake . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Keketseho Mehaho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Haha Metadata ea Tsamaiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Haha Tsamaiso ea ka Hare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Ho falla ho tloha ho ESP-IDF GNU Etsa Sistimi . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Motheo oa ho Lahlela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Litlhophiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Boloka thotobolo ea mantlha ho benya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Print core dump to UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Mesebetsi ea ROM ka Melato e ka morao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Ho lahla mefuta e fapaneng ho latela tlhoko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Ho matha espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Boroko bo Tebileng bo Tsosa Likhopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Melao bakeng sa Li-Stubs tsa Tsoha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Ho Phethahatsa Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Ho Kena Khoutu Ka Har'a Memori ea RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Ho Kena Boitsebiso ka Memoring ea RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Check For Wake Stubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Ho sebetsana le Phoso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Hofetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Likhoutu tsa liphoso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Ho fetolela likhoutu tsa liphoso ho melaetsa ea liphoso . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT macro . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 SHEBA MACROS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Liphoso tsa ho sebetsana le mekhoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ Mekhelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 Maikutlo a ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Ho Aha Marang-rang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ho Laola Marang-rang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Phetiso ea Boitsebiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Ho Fetoha Lekana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Tshebetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Lintlha Tse Ling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Tshwaro ya Ketsahalo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet, le Liketsahalo tsa IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Mesh Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Liketsahalo tsa Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Liphoso Tse Bolaeang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Panic Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Ngodisa Thotobolo le Moralo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Liphoso tsa ho Thuisa ka Guru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Liphoso Tse Ling Tse Bolaeang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Phatlalatso ea Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Li-eFuse tse Amanang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Ts'ebetso ea Flash Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Tlhophiso ea Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Ho hloleha ho ka Etsahalang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 Boemo ba Phatlalatso ea Flash ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Lintlha tsa ho Bala le ho Ngola ka Flash e Encrypted . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Ho nchafatsa Flash e Encrypted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Ho Koala Mongolo oa Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Lintlha tsa Bohlokoa Mabapi le Phatlalatso ea Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Meeli ea Phatlalatso ea Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash Encryption le Sireletsehile Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Likarolo tse Tsoetseng Pele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Lintlha tsa Tekheniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Phatlalatso ea Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Boqapi ba Meaho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Boemo bo Tlase) Lera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Hardware Abstraction Layer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Litšitiso tsa Boemo bo Phahameng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Maemo a Khaotsang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Lintlha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Ho lokisa liphoso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 E Sebetsa Joang? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Ho khetha JTAG Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Ho hlophisoa ha OpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Ho lokisa Sepheo sa ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Ho qala Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Ho lokisa liphoso Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Ho aha OpenOCD ho tsoa Mehloling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Malebela le Litšitiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Moloko oa Script oa Linker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Qala ka Potlako . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generation Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Li-API tse tšehelitsoeng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP Mosebetsi oa FreeRTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 Tšehetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip tloaelo liphetoho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Ntlafatso ea Ts'ebetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Mefuta ea Mehopolo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Data RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (RAM ea litaelo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (khoutu e phethiloe ho tsoa ho flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data e bolokiloeng ka flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Memori e butle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC FAST memori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Tlhokahalo ea Bokhoni ba DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA Buffer ka har'a stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Mekhoa ea OpenThread stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Mokhoa oa ho Ngola OpenThread Kopo . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 Tsela ea OpenThread Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Litafole tsa karohano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Hofetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Litafole tsa karohano tse hahiloeng ka har'a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Ho Etsa Litafole Tse Tloaelehileng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Ho Hlahisa Tafole ea Karohano ea Binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Partition size Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Ho bentsha tafole ya karohano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Sesebediswa sa Karohano (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Tshebetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Mokhoa oa ho Ntlafatsa Ts'ebetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Batataisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF e lekanyang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Tekanyetso e itseng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Tekanyetso e felletseng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Ha ho tekano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 Lintlha tsa ho qala tsa PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Secure Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Ts'ebetso e Sireletsehileng ea Bootsoa e Felletseview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Linotlolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Bootloader Boholo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Mokhoa oa ho bulela Sireletseha Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Re-Flashable Software Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Ho Hlahisa Secure Boot Saena Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Ho Saena ka Hole ha Litšoantšo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Mekhoa e Molemo ka ho Fetisisa ea Bootsoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Lintlha tsa Setegeniki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Secure Boot & Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Netefatso ya App e Saennweng Ntle le Hardware Secure Boot . . . . . . . . . . . . . . . . . . 2478 4.24.13 Likarolo tse Tsoetseng Pele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Sireletsa Boot V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Semelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Ts'ebetso e sireletsehileng ea Boot V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Sebopeho sa Thibelo ea Tshaeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Secure Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Netefatsa Thibelo ya Tshaeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Ho netefatsa Setšoantšo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Bootloader Boholo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 tshebediso ya eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Mokhoa oa ho bulela Sireletseha Boot V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Lithibelo ka mor'a hore Secure Boot e khonehe. . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Ho Hlahisa Senotlolo sa ho Saena se Sirelehileng sa Boot. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Ho Saena ka Hole ha Litšoantšo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Mekhoa e Molemo ka ho Fetisisa ea Bootsoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Lintlha tsa Theknoloji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Secure Boot & Flash Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Netefatso ya App e Saennweng Ntle le Hardware Secure Boot . . . . . . . . . . . . . . . . . . 2484 4.25.18 Likarolo tse Tsoetseng Pele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Tšehetso ea RAM ea Kantle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Ho Hlophisa RAM ea Kantle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Lithibelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Ho hloleha ho qala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Chip Revisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Thread Local Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Hofetaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Tekanyetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Lisebelisoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 Setšoantšo sa IDF Docker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 Mookameli oa Karolo ea IDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Lisebelisoa tse ka Khoasollang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Teko ea Yuniti ho ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Maemo a Tloaelehileng a Teko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Maemo a Teko a lisebelisoa tse ngata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stage Linyeoe tsa Liteko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Liteko Bakeng sa Maikemisetso a Fapaneng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Building Unit Test App. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Ho matha Liteko tsa Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Khoutu ya Nako le Cache Compensed Timer . . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Basomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Unit Testing ho Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Liteko tse Kenyellelitsoeng tsa Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Liteko tsa Unit tsa IDF ho Linux Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Mokhanni oa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 Lethathamo la Lintho tsa ESP32 tsa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Mokhoa oa ho Ngola Sesebelisoa sa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API Khouto ya Phoso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Parameter Ho qala . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 Mohlala oa Lenaneo la ESP32 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Tlhaloso ea Ketsahalo ea Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 Boemo bo Akaretsang ba Seteishene sa Wi-Fi sa ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP General Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Boemo ba ho Hokela Seteishene sa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Seteishene sa Wi-Fi se Hokelang Ha ho Fumaneha Li-AP tse ngata . . . . . . . . . . . . . 2543 4.31.12 Hokela hape Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi Beacon Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 Tlhophiso ea Wi-Fi ea ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Wireless Network Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Tekanyo ea Mohloli oa Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Phetoho e potlakileng ea BSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Mokhoa oa ho boloka matla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 Pakete ea Romela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Li-Antenna tse ngata tsa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Boitsebiso ba Naha ba Channel ea Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi Channel State Information Configure . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Sekhechana sa Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 Mongoli oa WPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Tšebeliso ea Wi-Fi Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Mokhoa oa ho Ntlafatsa Ts'ebetso ea Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Tharollo ya mathata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Tšireletso ea Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Likarolo tsa Tšireletso ea Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Liforeimi tsa Tsamaiso tse Sirelelitsoeng (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Motho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Ntlafatso ea OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Coexistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Maemo a Tšehetsoeng a Tšebelisano 'moho bakeng sa ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Mokhoa oa ho Kopana le Leano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Mokhoa oa ho Sebelisa Karolo ea Coexistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Reproducible Buhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Selelekela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Mabaka a meaho e sa khoneng ho ikahela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Ho nolofaletsa meaho e ka hlahisoang hape ho ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Likaho tse ka ikatisang li fihlelleha joang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Mehaho e ka hlahisoang hape le ho e lokisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Lintlha tse ntseng li ama meaho ea ho ikatisa . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Mokhoa o Monyenyane oa Matla Tataiso ea Mosebelisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 Litataiso tsa ho falla

2579

5.1 ESP-IDF 5.x Tataiso ea ho falla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 Ho falla ho tloha ho 4.4 ho ea ho 5.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 Lilaeborari le Merero

2611

6.1 Mekhahlelo ea Leru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

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

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

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

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

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

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

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

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

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

6.2 Mekhahlelo ea Espressifns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Moralo oa ntlafatso ea molumo oa Espressif. . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2.3 Laeborari ea Espressif DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 Moralo oa Ntlafatso oa ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . 2613

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

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

6.2.7 ESP-IoT-Tharollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

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

viii

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

7 Menehelo Tataiso

2615

7.1 Mokhoa oa ho Nehelana ka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Pele o kenya letsoho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Mokhoa oa ho hula Kopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Karolo ea Molao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Litokomane Tse Amanang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

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

7.5.2 Kenya Hook ea boitlamo esale pele bakeng sa Morero oa ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Khoutu ea Litokomane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Ho theha Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

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

7.5.6 Tumellano ea Mofani . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

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

7.5.8 Liteko tsa ESP-IDF ka Tataiso ea Pytest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 Liphetolelo tsa ESP-IDF

2645

8.1 Litokollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Ke Lokela ho Qala ka Phetolelo Efe? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Phetolelo Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Linako tsa Tšehetso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Ho hlahloba Phetolelo ea Hona Joale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

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

8.7 Ho nchafatsa ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Ho Nchafatsoa ho Tokollo e Tsitsitseng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Ho Nchafatsa ho Phetolelo e Tsoang Pele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Ho Nchafatsoa ho Lekala la Master. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Ho Nchafatsoa ho Lekala la Tokollo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Lisebelisoa

2651

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

9.1.1 PlatformIO ke eng? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Ho kenya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Tlhophiso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Lithuto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Morero Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Mehato e Latelang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Lihokelo tse Molemo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Litokelo le Lilaesense

2653

10.1 Litokelo tsa litokelo tsa software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Likarolo tsa Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Litokomane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 ROM Source Code Litokelo tsa litokelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

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

10.4 TinyBasic Plus MIT License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

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

11 Mabapi le

2657

12 Fetoha Pakeng Tsa Lipuo

2659

Index

2661

Index

2661

ix

x

Tafole ea likateng
Ena ke litokomane tsa Espressif IoT Development Framework (esp-idf). ESP-IDF ke moralo oa molao oa nts'etsopele oa ESP32, ESP32-S le ESP32-C Series SoCs. Tokomane ena e hlalosa ho sebelisoa ESP-IDF le ESP32 SoC.

Qala

Reference API

Litataiso tsa API

Sistimi ea Espressif

1 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Tafole ea likateng

Sistimi ea Espressif

2 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1
Qala
Tokomane ena e reretsoe ho u thusa ho theha tikoloho ea nts'etsopele ea software bakeng sa hardware e thehiloeng ho chip ea ESP32 ka Espressif. Ka mor'a moo, e bonolo exampLe tla u bontša mokhoa oa ho sebelisa ESP-IDF (Espressif IoT Development Framework) bakeng sa tlhophiso ea menyetla, ebe bakeng sa ho aha le ho benya firmware botong ea ESP32.
Tlhokomeliso: Ena ke litokomane tsa mofuta o tsitsitseng oa v5.0.9 oa ESP-IDF. Liphetolelo tse ling tsa ESP-IDF le tsona lia fumaneha.
1.1 Selelekela
ESP32 ke sistimi e chip e kopanyang likarolo tse latelang: · Wi-Fi (2.4 GHz sehlopha) · Bluetooth · Dual high performance Xtensa® 32-bit LX6 CPU cores · Ultra Low Power co-processor · Multiple peripherals
E tsamaisoa ke theknoloji ea 40 nm, ESP32 e fana ka sethala se matla, se kopantsoeng haholo, se thusang ho finyella litlhoko tse tsoelang pele tsa tšebeliso e nepahetseng ea matla, moralo o kopanetsoeng, ts'ireletso, ts'ebetso e phahameng le ho tšepahala. Espressif e fana ka lisebelisoa tsa mantlha tsa lisebelisoa le lisebelisoa tsa software ho thusa baetsi ba lits'ebetso ho hlokomela mehopolo ea bona ba sebelisa lisebelisoa tsa letoto la ESP32. Moralo oa nts'etsopele ea software ke Espressif o etselitsoe nts'etsopele ea lits'ebetso tsa Internetof-Things (IoT) tse nang le Wi-Fi, Bluetooth, taolo ea matla le likarolo tse ling tse 'maloa tsa sistimi.
1.2 Seo U se Hlokang
1.2.1 Hardware
· Boto ea ESP32. · Thapo ya USB – USB A / micro USB B. · Khomphuta e tsamaisang Windows, Linux, kapa macOS.
Tlhokomeliso: Hajoale, tse ling tsa liboto tsa nts'etsopele li sebelisa likhokahano tsa USB Type C. Etsa bonnete ba hore u na le thapo e nepahetseng ho hokela boto ea hau!
Haeba u na le e 'ngoe ea liboto tsa nts'etsopele tsa ESP32 tse thathamisitsoeng ka tlase, u ka tobetsa sehokelo ho ithuta haholoanyane ka lisebelisoa tsa Hardware.
3

Khaolo ea 1. Qala
ESP32-DevKitS(-R)
Tataiso ena ea mosebedisi e fana ka tlhahisoleseding ho ESP32-DevKitS(-R), e leng ESP32-based flashing board e hlahisoang ke Espressif. ESP32-DevKitS(-R) ke motsoako oa mabitso a mabeli a boto: ESP32-DevKitS le ESP32-DevKitS-R. S e emetse liliba, 'me R e emetse WROVER.

ESP32-DevKitS

ESP32-DevKitS-R

Tokomane e na le likarolo tse latelang tse kholo: · Ho Qala: E fana ka nako ea ho qetelaview ea ESP32-DevKitS(-R) le litaelo tsa ho seta ha hardware/software ho qala. · Hardware Reference: E fana ka lintlha tse felletseng mabapi le lisebelisoa tsa ESP32-DevKitS(-R)ns. · Litokomane Tse Amanang: E ​​fana ka likhokahano tsa litokomane tse amanang.

Ho Qala Karolo ena e hlalosa mokhoa oa ho qala ka ESP32-DevKitS(-R). E qala ka likarolo tse 'maloa tsa selelekela mabapi le ESP32-DevKitS(-R), ebe Karolo ea Mokhoa oa ho Flash a Board e fana ka litaelo tsa ho kenya module ho ESP32-DevKitS(-R), e lokise, 'me u be le flash firmware ho eona.

Fetileview ESP32-DevKitS(-R) ke Espressifns boto e benyang e etselitsoeng ESP32 ka ho khetheha. E ka sebelisoa ho khantša mojule oa ESP32 ntle le ho kopanya mojule ho phepelo ea motlakase le mehala ea matšoao. Ka module e kentsoeng, ESP32-DevKitS(-R) e ka boela ea sebelisoa e le boto ea ntlafatso e nyenyane joaloka ESP32-DevKitC.
Liboto tsa ESP32-DevKitS le ESP32-DevKitS-R li fapana feela ka peakanyo ea lithakhisa tsa selemo hore li lekane mejule ea ESP32 e latelang.
· 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
Ho fumana leseli mabapi le li-module tse kaholimo, ka kopo sheba ho ESP32 Series Modules.

Tlhaloso ea Likarolo

Sistimi ea Espressif

4 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 1: ESP32-DevKitS - ka pele

Sistimi ea Espressif

Setšoantšo sa 2: ESP32-DevKitS-R - pele 5
Romela Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Key Component Spring Pins 2.54 mm Lihlooho tsa Basali
USB-to-UART Bridge LDO Micro-USB Connector/Micro USB Port EN Button Boot Button
Matla ho LED

Tlhaloso Tobetsa mojule ho. Lithakhisa li tla kena ka har'a likoti tse entsoeng ka li-module. Lihlooho tsena tsa basali li hokahane le lithakhisa tsa mojule tse kentsoeng botong ena. Bakeng sa tlhaloso ea lihlooho tsa basali, ka kopo sheba Header Blocks. USB-chip e le 'ngoe ho ea borokhong ba UART e fana ka litefiso tsa phetisetso ho fihla ho 3 Mbps.
5V-to-3.3V matla a tlase a theohatage regulator (LDO).
Sehokelo sa USB. Phepelo ea motlakase bakeng sa boto hammoho le sebopeho sa puisano pakeng tsa komporo le boto.
Seta botjha konopo.
Konopo ea ho jarolla. Ho tšoara Boot ebe o tobetsa EN ho qala mokhoa oa ho jarolla Firmware bakeng sa ho jarolla firmware ka boema-kepe ba serial.
E bulela ha USB kapa phepelo ea motlakase e hoketsoe botong.

U ka Khantša Boto Joang Pele u matlafatsa ESP32-DevKitS(-R), ka kopo etsa bonnete ba hore e maemong a matle ha ho na matšoao a hlakileng a tšenyo.
Lisebelisoa tse Hlokehang · Mojule oa ESP32 oa khetho ea hau · thapo ea USB 2.0 (Standard-A ho isa ho Micro-B) · Khomphuta e sebelisang Windows, Linux, kapa macOS
Ka kopo kenya mochini oa khetho ea hau ho ESP32-DevKitS(-R) ea hau ho latela mehato e latelang:
· Beha mojule oa hau ka bonolo botong ea ESP32-DevKitS(-R). Etsa bonnete ba hore masoba a nang le li-castelated mojuleng oa hau a tsamaisana le lithakhisa tsa selemo botong.
· Tobetsa mojule oa hau tlase ka har'a boto ho fihlela o tobetsa. · Hlahloba hore na lithakhisa tsohle tsa selemo li kentsoe ka mekoting e nang le li-castelated. Haeba ho na le lithakhisa tsa selemo tse sa lumellaneng hantle,
li behe ka mekoting e nang le li-tweezers.
Setup ea Software
Mokhoa o Ratoang Moralo oa ntlafatso oa ESP-IDF o fana ka mokhoa o ratoang oa ho benya li-binaries ho ESP32-DevKitS(-R). Ka kopo tsoela pele ho Qala, moo Section Installation e tla u thusa ka potlako ho theha tikoloho ea nts'etsopele ebe u khantša app exampkena ho ESP32-DevKitS(-R) ea hau.
Mokhoa o Mong Joalo ka mokhoa o mong, basebelisi ba Windows ba ka khantša li-binaries ba sebelisa Flash Download Tool. E khoasolle feela, e notlolle, 'me u latele litaelo tse ka har'a foldara ea doc.
Ela hloko: 1. Ho benya binary files, ESP32 e lokela ho hlophisoa ho Firmware Download mode. Sena se ka etsoa ka sesebelisoa sa flash ka bohona, kapa ka ho tobetsa konopo ea Boot ebe o tlanya konopo ea EN. 2. Ka mor'a ho benya binary files, Flash Download Tool e qala hape mojule oa hau oa ESP32 ebe e bulela sesebelisoa se bentšitsoeng ka ho sa feleng.

Boto Dimensions Contents and Packaging

Sistimi ea Espressif

6 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala Setšoantšo sa 3: ESP32-DevKitS litekanyo tsa boto - morao

Sistimi ea Espressif

Setšoantšo sa 4: ESP32-DevKitS-R litekanyo tsa boto - morao 7
Romela Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Litaelo tsa mabenkele Haeba u odara tse seng kae sampLes, ESP32-DevKitS(-R) ka 'ngoe e tla ka sephutheloana sa motho ka mong ka mokotleng oa antistatic kapa sephutheloana sefe kapa sefe ho latela morekisi. Bakeng sa liodara tsa mabenkele, ka kopo etela https://www.espressif.com/en/contact-us/get-samples.
Liodara tsa Wholesale Haeba u odara ka bongata, liboto li tla ka mabokose a maholo a khateboto. Bakeng sa liodara tse ngata, ka kopo e ea ho https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Block Diagram Setšoantšo sa block se ka tlase se bontša likarolo tsa ESP32-DevKitS(-R) le likhokahano tsa tsona.

Setšoantšo sa 5: ESP32-DevKitS(-R) (tobetsa ho holisa)
Likhetho tsa Phepelo ea Motlakase Ho na le mekhoa e meraro e ikhethileng ea ho fana ka matla ho boto: · Micro USB port, phepelo ea kamehla ea motlakase · 5V le GND header pins · 3V3 le GND head pins
Ho eletsoa ho sebelisa khetho ea pele: boema-kepe ba micro USB.

Sistimi ea Espressif

.

Label Signal

L1 3V3 VDD 3V3

L2 EN CHIP_PU

L3 VP SENSOR_VP

L4 VN SENSOR_VN

L5 34

GPIO34

L6 35

GPIO35

L7 32

GPIO32

L8 33

GPIO33

e tsoela pele leqepheng le latelang

8 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Lethathamo la 1 le tsoetse pele leqepheng le fetileng

.

Label Signal

L9 25

GPIO25

L10 26

GPIO26

L11 27

GPIO27

L12 14

GPIO14

L13 12

GPIO12

L14 GND GND

L15 13

GPIO13

L16 D2 SD_DATA2

L17 D3 SD_DATA3

L18 CMD SD_CMD

L19 5V

5V ea kantle

R1 GND GND

R2 23

GPIO23

R3 22

GPIO22

R4 TX U0TXD

R5 RX U0RXD

R6 21

GPIO21

R7 GND GND

R8 19

GPIO19

R9 18

GPIO18

R10 5

GPIO5

R11 17

GPIO17

R12 16

GPIO16

R13 4

GPIO4

R14 0

GPIO0

R15 2

GPIO2

R16 15

GPIO15

R17 D1 SD_DATA1

R18 D0 SD_DATA0

R19 CLK SD_CLK

Li-blocks tsa Header Bakeng sa setšoantšo sa li-block tsa lihlooho, ka kopo sheba Tlhaloso ea Likarolo.

Litokomane Tse Amanang
· 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 · PDFsheet ·2PDF-W Datasheet (2PDF) Lethathamo la ESP32-WROVER-B (PDF) · Mokhethi oa Sehlahisoa sa ESP

ESP32-DevKitM-1

Tataiso ena ea basebelisi e tla u thusa ho qala ka ESP32-DevKitM-1 hape e tla fana ka leseli le tebileng.
ESP32-DevKitM-1 ke boto ea ntlafatso ea ESP32-MINI-1 (1U) e hlahisoang ke Espressif. Bongata ba lithakhisa tsa I/O li robiloe ho lihlooho tsa phini mahlakoreng ka bobeli hore li hokahane habonolo. Basebelisi ba ka hokela li-peripherals ka lithapo tsa jumper kapa ba beha ESP32-DevKitM-1 leboteng la bohobe.

Sistimi ea Espressif

9 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

ESP32-DevKitM-1 - ka pele

ESP32-DevKitM-1 - isometric

Tokomane e na le likarolo tse latelang tse kholo: · Ho qala: E fana ka nako ea ho qetelaview ea ESP32-DevKitM-1 le litaelo tsa ho seta ha hardware/software ho qala. · Referense ea Hardware: E fana ka lintlha tse felletseng mabapi le lisebelisoa tsa ESP32-DevKitM-1ns. · Litokomane Tse Amanang: E ​​fana ka likhokahano tsa litokomane tse amanang.

Ho Qala Karolo ena e hlalosa mokhoa oa ho qala ka ESP32-DevKitM-1. E qala ka likarolo tse 'maloa tsa selelekela mabapi le ESP32-DevKitM-1, ebe Karolo ea Qalo ea Ntlafatso ea Kopo e fana ka litaelo tsa hore na u ka etsa tlhophiso ea mantlha ea hardware joang le mokhoa oa ho khantša firmware ho ESP32-DevKitM-1.

Fetileview Ena ke boto e nyane le e bonolo ea ntlafatso e nang le likarolo:
· ESP32-MINI-1, kapa ESP32-MINI-1U module · USB-to-serial programming interface e fanang ka phepelo ea motlakase bakeng sa boto · lihlooho tsa pin · li-pushbuttons bakeng sa ho seta bocha le ho kenya tšebetsong mokhoa oa ho jarolla Firmware · likarolo tse ling tse seng kae.

Litaba le Package

Litaelo tsa mabenkele Haeba u odara tse seng kae sampLes, ESP32-DevKitM-1 ka 'ngoe e tla ka sephutheloana sa motho ka mong ka mokotleng oa antistatic kapa sephutheloana sefe kapa sefe ho latela morekisi oa hau.
Bakeng sa liodara tsa mabenkele, ka kopo etela https://www.espressif.com/en/contact-us/get-samples.

Liodara tsa Wholesale Haeba u odara ka bongata, liboto li tla ka mabokose a maholo a khateboto. Bakeng sa liodara tse ngata, ka kopo e ea ho https://www.espressif.com/en/contact-us/sales-questions.

Tlhaloso ea Likarolo Palo e latelang le tafole e ka tlase e hlalosa likarolo tsa bohlokoa, li-interfaces le taolo ea boto ea ESP32-DevKitM-1. Re nka boto ka module ea ESP32-MINI-1 joalo ka example likarolong tse latelang.

Sistimi ea Espressif

10 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 6: ESP32-DevKitM-1 - ka pele

Karolo ea Bohlokoa Mojuleng oa boto
5 V ho 3.3 V LDO Boot Button
Seta Botjha Boema-kepe ba Micro-USB
USB-to-UART Bridge 3.3 V Matla ho LED
Mohokahanyi oa I/O

Tlhaloso
ESP32-MINI-1 module kapa ESP32-MINI-1U module. ESP32-MINI-1 e tla le antenna ea PCB e ka har'a board. ESP32-MINI-1U e tla le sehokelo sa antenna sa kantle. Li-module tse peli ka bobeli li na le khanya ea 4 MB ka har'a sephutheloana sa chip. Bakeng sa lintlha tse ling, ka kopo sheba leqephe la lintlha tsa ESP32-MINI-1 & ESP32-MINI-1U.
Motlakase oa matla o fetola 5 V ho 3.3 V.
Konopo ea ho jarolla. Ho ts'oara Boot ebe o tobetsa Reset ho qala mokhoa oa ho jarolla Firmware bakeng sa ho jarolla firmware ka boema-kepe ba serial.
Seta Botjha Konopo
Sehokelo sa USB. Phepelo ea motlakase bakeng sa boto hammoho le khokahano ea puisano lipakeng tsa komporo le chip ea ESP32.
Chip e le 'ngoe ea borokho ea USB-UART e fana ka litefiso tsa phetisetso ho fihla ho 3 Mbps.
E bulela ha USB e hokahane le boto. Bakeng sa lintlha, ka kopo sheba meralo ho Litokomane tse Amanang. Lithakhisa tsohle tse teng tsa GPIO (ntle le bese ea SPI bakeng sa flash) li robehile ho lihlooho tsa phini botong. Basebelisi ba ka hlophisa chip ea ESP32 ho nolofalletsa mesebetsi e mengata.

Qala Ntšetso-pele ea Kopo Pele u matlafatsa ESP32-DevKitM-1 ea hau, ka kopo etsa bonnete ba hore e boemong bo botle ntle le matšoao a hlakileng a tšenyo.
E Hlokehang Hardware · ESP32-DevKitM-1 · thapo ya USB 2.0 (Standard-A ho isa ho Micro-B) · Khomphuta e tsamaisang Windows, Linux, kapa macOS
Software Setup Ka kopo tsoela pele ho Qala, moo Section Installation e tla u thusa ka potlako ho theha tikoloho ea nts'etsopele ebe e khantša ex application.ampKena ho ESP32-DevKitM-1 ea hau.

Sistimi ea Espressif

11 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Tlhokomeliso: Liboto tsa ESP32-DevKitM-1 tse entsoeng pele ho la 2 Tšitoe 2021 li na le module e le 'ngoe ea mantlha e kentsoeng. Ho netefatsa hore na o na le mojule ofe, ka kopo sheba lintlha tsa ho tšoaea module ho PCN-2021-021. Haeba boto ea hau e na le mochini o le mong oa mantlha o kentsoeng, ka kopo lumella single core mode (CONFIG_FREERTOS_UNICORE) ho menuconfig pele u khantša lits'ebetso tsa hau.
Hardware Reference Block Diagram Setšoantšo sa boloko se ka tlase se bontša likarolo tsa ESP32-DevKitM-1 le likhokahano tsa tsona.

Setšoantšo sa 7: ESP32-DevKitM-1
Mohloli oa Matla Ho na le mekhoa e meraro e ikhethileng ea ho fana ka matla ho boto: · Micro USB port, phepelo ea kamehla ea motlakase · 5V le GND header pins · 3V3 le GND header pins.
Tlhokomeliso: · Phepelo ea motlakase e tlameha ho fanoa ho sebelisoa e le 'ngoe feela ea likhetho tse kaholimo, ho seng joalo boto le/kapa mohloli oa phepelo ea motlakase li ka senyeha. · Ho khothalletsoa ho fana ka matla ka boema-kepe ba micro USB.

Litlhaloso tsa Pin Tafole e ka tlase e fana ka Lebitso le Mosebetsi oa liphini mahlakoreng ka bobeli a boto. Bakeng sa tlhophiso ea li-peripheral pin, ka kopo sheba ho ESP32 Datasheet.

Che.

Lebitso

Mofuta

1

GND

P

2

3V3

P

Mosebetsi Ground 3.3 V phepelo ea motlakase

e tsoela pele leqepheng le latelang

Sistimi ea Espressif

12 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Lethathamo la 2 le tsoetse pele leqepheng le fetileng

Che.

Lebitso

Mofuta

Mosebetsi

3

I36

I

GPIO36, ADC1_CH0, RTC_GPIO0

4

I37

I

GPIO37, ADC1_CH1, RTC_GPIO1

5

I38

I

GPIO38, ADC1_CH2, RTC_GPIO2

6

I39

I

GPIO39, ADC1_CH3, RTC_GPIO3

7

RST

I

Seta bocha; Holimo: nolofalletsa; Tlase: matla a tima

8

I34

I

GPIO34, ADC1_CH6, RTC_GPIO4

9

I35

I

GPIO35, ADC1_CH7, RTC_GPIO5

10

IO32

I/O

GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

I/O

GPIO33, XTAL_32K_N (32.768 kHz tlhahiso ea kristale ea oscillator),

ADC1_CH5, TOUCH8, RTC_GPIO8

12

IO25

I/O

GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0

13

IO26

I/O

GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

14

IO27

I/O

GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV

15

IO14

I/O

GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MMS, HSPICLK,

HS2_CLK, SD_CLK, EMAC_TXD2

16

5V

P

5 V phepelo ea motlakase

17

IO12

I/O

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

HS2_DATA2, SD_DATA2, EMAC_TXD3

18

IO13

I/O

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

HS2_DATA3, SD_DATA3, EMAC_RX_ER

19

IO15

I/O

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

HS2_CMD, SD_CMD, EMAC_RXD3

20

IO2

I/O

GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,

HS2_DATA0, SD_DATA0

21

IO0

I/O

GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,

EMAC_TX_CLK

22

IO4

I/O

GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,

HS2_DATA1, SD_DATA1, EMAC_TX_ER

23

IO9

I/O

GPIO9, HS1_DATA2, U1RXD, SD_DATA2

24

IO10

I/O

GPIO10, HS1_DATA3, U1TXD, SD_DATA3

25

IO5

I/O

GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK

26

IO18

I/O

GPIO18, HS1_DATA7, VSPICLK

27

IO23

I/O

GPIO23, HS1_STROBE, VSPID

28

IO19

I/O

GPIO19, VSPIQ, U0CTS, EMAC_TXD0

29

IO22

I/O

GPIO22, VSPIWP, U0RTS, EMAC_TXD1

30

IO21

I/O

GPIO21, VSPIHD, EMAC_TX_EN

31

EA-0

I/O

GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2

32

EA-RXD0

I/O

GPIO3, U0RXD, CLK_OUT2

Lintlha tsa ntlafatso ea Hardware Ha ho liphetolelo tse fetileng tse fumanehang.
Litokomane Tse Amanang
· ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Schematics (PDF) · ESP32-DevKitM-1 PCB sebopeho (PDF) · ESP32-DevKitM-1 sebopeho (DXF) – O ka khona view eona ka Autodesk Viewer online · ESP32 Datasheet (PDF) · ESP Product Selector
Bakeng sa litokomane tse ling tsa moralo oa boto, ka kopo ikopanye le rona ho sales@espressif.com.

Sistimi ea Espressif

13 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
1.2.2 Software
Ho qala ho sebelisa ESP-IDF ho ESP32, kenya software e latelang: · Toolchain ho bokella khoutu bakeng sa ESP32 · Haha lisebelisoa - CMake le Ninja ho aha Kopo e felletseng bakeng sa ESP32 · ESP-IDF eo ha e le hantle e nang le API (lilaebrari tsa software le khoutu ea mohloli) bakeng sa ESP32 le mangolo a ho sebelisa Toolchain.

1.3 Ho kenngwa
Ho kenya software eohle e hlokahalang, re fana ka mekhoa e fapaneng ea ho tsamaisa mosebetsi ona. Khetha ho e 'ngoe ea likhetho tse fumanehang.
1.3.1 IDE

Tlhokomeliso: Re khothaletsa haholo ho kenya ESP-IDF ka IDE eo u e ratang haholo.
· Eclipse plugin · VSCode Extension

1.3.2 Ho kenya ka letsoho
Bakeng sa ts'ebetso ea matsoho, ka kopo khetha ho latela sistimi ea hau ea ts'ebetso.

Sistimi ea Espressif

14 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Tlhophiso e Tloaelehileng ea Toolchain bakeng sa Windows
Selelekela ESP-IDF e hloka lisebelisoa tse ling tse hlokahalang hore li kenngoe e le hore u ka aha firmware bakeng sa li-chips tse tšehetsoeng. Lisebelisoa tse hlokahalang li kenyelletsa Python, Git, li-cross-compilers, CMake le lisebelisoa tsa kaho tsa Ninja. Bakeng sa ho Qala sena re ne re tla sebelisa Command Prompt, empa ka mor'a hore ESP-IDF e kenngoe u ka sebelisa Eclipse Plugin kapa IDE e 'ngoe ea litšoantšo e nang le tšehetso ea CMake ho e-na le hoo. Tlhokomeliso: Meeli: - Tsela ea ho kenya ESP-IDF le ESP-IDF Tools ha ea lokela ho ba telele ho feta litlhaku tse 90. Litsela tse telele haholo tsa ho kenya li ka etsa hore mohaho o hlolehe. - Tsela ea ho kenya Python kapa ESP-IDF ha ea lokela ho ba le libaka tse tšoeu kapa masaka. - Tsela ea ho kenya Python kapa ESP-IDF ha ea lokela ho ba le litlhaku tse khethehileng (nonASCII) ntle le haeba mokhoa oa ho sebetsa o hlophisitsoe ka oUnicode UTF-8psupport. Motsamaisi oa Sistimi a ka thusa ts'ehetso ka Paneli ea Taolo - Fetola letsatsi, nako, kapa lifomate tsa linomoro - Taba ea Tsamaiso - Fetola sebaka sa sistimi - sheba khetho oBeta: Sebelisa Unicode UTF-8 bakeng sa tšehetso ea puo ea lefats'e - Ok 'me u qalise komporo bocha.
ESP-IDF Tools Installer Tsela e bonolo ka ho fetisisa ea ho kenya litlhoko tsa ESP-IDFns ke ho khoasolla e 'ngoe ea ESP-IDF Tools Installer.

Khoasolla Windows Installer
Ke mofuta ofe oa ts'ebeliso ea Marang-rang le Offline Installer Online Installer e nyane haholo mme e lumella ho kengoa litokollo tsohle tse fumanehang tsa ESP-IDF. Sesebelisoa se tla khoasolla litšepiso tse hlokahalang feela ho kenyelletsa Git For Windows nakong ea ts'ebetso ea ho kenya. Mabenkele a kenyang a jarollotsoe files bukeng ea cache %userprofile%. espressif
Offline Installer ha e hloke khokahano ea marang-rang. Sesebelisoa se na le litšepiso tsohle tse hlokahalang ho kenyelletsa Git For Windows.
Likarolo tsa ts'ebetso Setsi sa ho kenya se sebelisa likarolo tse latelang:
· Embedded Python · Cross-compilers · OpenOCD · CMake and Ninja build tools · ESP-IDF
Sesebelisoa se boetse se lumella ho sebelisa bukana e teng hape ka ESP-IDF. Lenane le khothaletsoang ke %userprofile%Desktopesp-idf moo %userprofile% ke buka ea hau ea lehae.

Sistimi ea Espressif

15 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Ho Tseba Tikoloho ea ESP-IDF Qetellong ea ts'ebetso ea ho kenya o ka hlahloba khetho Matha Tikoloho ea PowerShell ea ESP-IDF kapa Matha ESP-IDF Command Prompt (cmd.exe). Sesebelisoa se tla hlahisa tikoloho ea ESP-IDF ka potlako e khethiloeng. Matha Tikoloho ea PowerShell ea ESP-IDF:

Setšoantšo sa 8: Ho Tlatsa ESP-IDF Tools Setup Wizard with Run ESP-IDF PowerShell Environment
Matha ESP-IDF Command Prompt (cmd.exe):
U sebelisa Command Prompt Bakeng sa mehato e setseng ea ho Qala, re ne re tla sebelisa Windows Command Prompt. ESP-IDF Tools Installer e boetse e etsa tsela e khutšoanyane ho Start menu ho qala ESP-IDF Command Prompt. Kgaoletso ena e hlahisa Command Prompt (cmd.exe) mme e tsamaisa export.bat script ho theha mefuta-futa ya tikoloho (PATH, IDF_PATH le tse ding). Ka har'a molaetsa ona oa taelo, lisebelisoa tsohle tse kentsoeng li fumaneha. Hlokomela hore tsela e khaoletsang ena e tobane le bukana ea ESP-IDF e khethiloeng ho ESP-IDF Tools Installer. Haeba u na le li-directory tse ngata tsa ESP-IDF khomphuteng ea hau (mohlalaample, ho sebetsa le mefuta e fapaneng ea ESP-IDF), o na le likhetho tse peli tsa ho li sebelisa:
1. Etsa kopi ea tsela e khaoletsang e entsoeng ke ESP-IDF Tools Installer, 'me u fetole bukana ea ho sebetsa ea tsela e khuts'oane e ncha bukeng ea ESP-IDF eo u lakatsang ho e sebelisa.
2. Ntle le moo, tsamaisa cmd.exe, ebe u fetohela bukeng ea ESP-IDF eo u lakatsang ho e sebelisa, 'me u tsamaise export.bat. Hlokomela hore ho fapana le khetho e fetileng, tsela ena e hloka hore Python le Git li be teng PATH. Haeba u fumana liphoso tse amanang le Python kapa Git ha e fumanehe, sebelisa khetho ea pele.
Mehato ea Pele ho ESP-IDF Joale kaha litlhoko tsohle li fihletsoe, sehlooho se latelang se tla u tataisa mabapi le mokhoa oa ho qala projeke ea hau ea pele.

Sistimi ea Espressif

16 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala Setšoantšo sa 9: ESP-IDF PowerShell

Setšoantšo sa 10: Ho Tlatsa ESP-IDF Tools Setup Wizard ka Run ESP-IDF Command Prompt (cmd.exe)

Sistimi ea Espressif

17 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 11: ESP-IDF Command Prompt

Sistimi ea Espressif

18 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Tataiso ena e tla u thusa mehatong ea pele u sebelisa ESP-IDF. Latela tataiso ena ho qala morero o mocha ho ESP32 le ho haha, ho benya, le ho beha leihlo tlhahiso ea sesebelisoa. Tlhokomeliso: Haeba ha u e-so kenye ESP-IDF, ka kopo, e-ea ho Installation 'me u latele taelo e le hore u fumane lisebelisoa tsohle tse hlokahalang ho sebelisa tataiso ena.

Qala Morero Joale u se u loketse ho lokisa kopo ea hau bakeng sa ESP32. O ka qala ka morero oa ho qala/hello_world ho tsoa ho exampLes directory ho ESP-IDF.
Bohlokoa: Sistimi ea kaho ea ESP-IDF ha e tšehetse libaka litseleng tsa ESP-IDF kapa mererong.
Kopitsa morero oa ho qala/hello_world ho ~/esp directory: cd %userprofile% esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world hello_world
Tlhokomeliso: Ho na le mefuta e mengata ea example merero ho exampLes directory ho ESP-IDF. O ka kopitsa morero ofe kapa ofe ka tsela e ts'oanang le e hlahisitsoeng ka holimo mme oa e tsamaisa. Hape hoa khoneha ho haha ​​​​examples in-place ntle le ho li kopitsa pele.

Hokela Sesebediswa sa Hao Hona joale hokela boto ea hau ea ESP32 khomphuteng 'me u hlahlobe hore na boto e bonahala tlas'a boema-kepe bofe. Mabitso a li-port a qala ka COM ho Windows. Haeba o sa tsebe hantle hore na o ka sheba lebitso la serial port joang, ka kopo sheba ho Establish Serial Connection le ESP32 bakeng sa lintlha tse felletseng.
Tlhokomeliso: Boloka lebitso la boema-kepe le le haufi kaha u tla le hloka mehatong e latelang.

Hlophisa Morero oa Hao Tsamaisa bukeng ea hau ea hello_world, beha ESP32 joalo ka sepheo, 'me u tsamaise menuconfig ea tlhophiso ea projeke.
Windows cd% userprofile%esphello_world idf.py set-target esp32 idf.py menuconfig
Kamora ho bula projeke e ncha, o lokela ho qala ka ho beha sepheo ka idf.py set-target esp32. Hlokomela hore meaho le litlhophiso tse teng morerong, haeba li teng, li tla hlakoloa le ho qalisoa ts'ebetsong ena. Sepheo se ka bolokeha ho feto-fetoha ha tikoloho ho tlola mohato ona ho hang. Sheba Khetha Chip ea Target: set-target bakeng sa boitsebiso bo eketsehileng. Haeba mehato e fetileng e entsoe ka nepo, lethathamo le latelang le hlaha: U sebelisa lethathamo lena ho theha mefuta e fapaneng ea morero, mohlala, lebitso la netweke ea Wi-Fi le password, lebelo la processor, joalo-joalo. Ho theha projeke ka menuconfig ho kanna ha tloloa bakeng sa ohello_wordp,ample e sebetsa ka tlhophiso ea kamehla.
Tlhokomeliso: Haeba u sebelisa boto ea ESP32-DevKitC ka mojule oa ESP32-SOLO-1, kapa boto ea ESP32-DevKitM-1 e nang le module ea ESP32-MIN1-1(1U), ka kopo lumella single core mode (CONFIG_FREERTOS_UNICORE) ho menuconfig pele o benya ex.amples.

Sistimi ea Espressif

19 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 12: Tlhophiso ea morero - Fensetere ea lapeng
Tlhokomeliso: Mebala ea menu e ka fapana ho terminal ea hau. U ka fetola ponahalo ka khetho -style. Ka kopo, tsamaisa idf.py menuconfig -help bakeng sa lintlha tse ling.
Haeba u sebelisa e 'ngoe ea liboto tsa nts'etsopele tse tšehetsoeng, u ka potlakisa nts'etsopele ea hau ka ho sebelisa Package ea Boto. Sheba Malebela a Tlatsetso bakeng sa lintlha tse ling.
Theha Morero Haha morero ka ho tsamaisa:
idf.py haha
Taelo ena e tla bokella kopo le likarolo tsohle tsa ESP-IDF, ebe e tla hlahisa bootloader, tafole ea karohano, le li-binaries tsa kopo.
$ idf.py build Running cmake in directory /path/to/hello_world/build Phethahatso ea "cmake -G Ninja -temoso-e sa tsejoeng /path/to/hello_world"… Lemosa ka boleng bo sa tsejoeng. - E fumanoe Git: /usr/bin/git (e fumanoe mofuta "2.17.0") - Ho aha karolo e se nang letho ea aws_iot ka lebaka la tlhophiso - Mabitso a likarolo: ... - Litsela tsa likarolo: ...
… (mehala e meng ea tlhahiso ea sistimi ea kaho)
[527/527] Ho hlahisa hello_world.bin esptool.py v2.3.1
Kaho ea projeke e felile. Ho benya, tsamaisa taelo ena: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio -flash_size detect -flash_freq 40m 0x10000 build/hello_world. bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin kapa tsamaisa 'idf.py -p PORT flash'
Haeba ho se na liphoso, mohaho o tla qetella ka ho hlahisa firmware binary .bin files.

Sistimi ea Espressif

20 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Hlahla ka har'a Sesebelisoa Etsa li-binaries tseo u sa tsoa li haha ​​(bootloader.bin, partition-table.bin le hello_world.bin) botong ea hau ea ESP32 ka ho matha: idf.py -p PORT [-b BAUD] flash
Tlosa PORT ka lebitso la hau la boema-kepe la ESP32 boardns. U ka boela ua fetola sekhahla sa baud ea flasher ka ho nkela BAUD sebaka ka sekhahla seo u se hlokang. Sekhahla sa kamehla sa baud ke 460800. Ho fumana lintlha tse ling mabapi le likhang tsa idf.py, sheba idf.py.
Tlhokomeliso: Khetho ea flash e iketsetsa le ho khantša morero, kahoo ho sebetsa idf.py build ha ho hlokahale.

U Kopane le Mathata ha U ntse U Khanya? Haeba o tsamaisa taelo e fanoeng mme o bona liphoso tse kang AsoFailed to connectp, ho ka ba le mabaka a 'maloa a sena. E 'ngoe ea mabaka e ka' na ea e-ba mathata a tobaneng le esptool.py, sesebelisoa se bitsoang ke mohaho oa mohaho ho tsosolosa chip, ho sebelisana le bootloader ea ROM, le firmware ea flash. Tharollo e le 'ngoe e bonolo ea ho leka ke ho seta bocha ka letsoho ho hlalositsoe ka tlase, 'me haeba ho sa u thuse u ka fumana lintlha tse ling mabapi le mathata a ka bang teng ho Tharollo ea mathata.
esptool.py e seta ESP32 bocha ka ho tiisa melapo ea taolo ea DTR le RTS ea USB ho serial converter chip, ke hore, FTDI kapa CP210x (bakeng sa tlhaiso-leseling e batsi, bona Establish Serial Connection with ESP32). Methapo ea taolo ea DTR le RTS le eona e hokahane le GPIO0 le CHIP_PU (EN) ea ESP32, kahoo e fetoha ho vol.tagLitekanyetso tsa DTR le RTS li tla bulela ESP32 mokhoeng oa ho jarolla Firmware. Joalo ka mohlalaample, hlahloba moralo oa boto ea ntlafatso ea ESP32 DevKitC.
Ka kakaretso, ha ua lokela ho ba le mathata ka liboto tsa ntlafatso tsa esp-idf. Leha ho le joalo, esptool.py ha e khone ho seta lisebelisoa tsa hau ka bo eona maemong a latelang:
· Thepa ea hau ha e na DTR le methapo ea RTS e hokahantsoeng ho GPIO0 le CHIP_PU · Methapo ea DTR le RTS e entsoe ka tsela e fapaneng · Ha ho mela e joalo ea serial control ho hang.
Ho ipapisitse le mofuta oa hardware eo u nang le eona, ho ka khonahala hape ho beha boto ea hau ea ESP32 ka mokhoa oa ho jarolla Firmware (seta bocha).
· Bakeng sa liboto tsa nts'etsopele tse hlahisoang ke Espressif, tlhahisoleseling ena e ka fumanoa ho litataiso tse fapaneng tsa ho qala kapa litataiso tsa basebelisi. Bakeng sa mohlalaample, ho seta boto ea ntlafatso ea ESP-IDF ka bowena, tšoara konopo ea Boot (GPIO0) ebe o tobetsa konopo ea EN (CHIP_PU).
· Bakeng sa mefuta e meng ea lisebelisoa, leka ho hulela GPIO0 fatše.

Ts'ebetso e Tloaelehileng Ha o benya, o tla bona lethathamo la lihlahisoa tse tšoanang le tse latelang:
… esptool.py -chip esp32 -p /dev/ttyUSB0 -b 460800 -before=default_reset -after=hard_reset write_flash -flash_mode dio -flash_freq 40m -flash_size 2MB 0x8000 partition_table/load0booterx0bootertable.0 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Connecting…….._ Chip is ESP32D0WDQ6 (tlhahlobo ea 0) Likarolo: WiFi, BT, Dual Core, Coding Scheme None Crystal is 40MHz MAC: 24:0b4 Upload: 24:0b4a upload stub… Stub running… Fetola sekhahla sa baud ho 460800 Fetohile.
(e tsoela pele leqepheng le latelang)

Sistimi ea Espressif

21 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
(e tsoa leqepheng le fetileng) E lokisa boholo ba flash… E hatisitsoe ka 3072 byte ho ea ho 103… E ngola ho 0x00008000… (100 %) E ngotse 3072 byte (103 e petelitsoe) ka 0x00008000 ka metsotsoana e 0.0 (e sebetsang E hatisitsoe ka 26096 byte ho isa 15408… E ngotse ho 0x00001000… (100 %) E ngotse 26096 byte (15408 e hatisitsoeng) ka 0x00001000 ka metsotsoana e 0.4 (e sebetsang ka 546.7 kbit/s) … E hatisitsoe 147104 bytes ho ea ho 77364… E ngola ho 0x00010000… (20 %) E ngola ho 0x00014000… (40 %) E ngola ho 0x00018000… (60 %) E ngola ho 0x0001c0 ho 0x0001c0 0x00020000… (100 %) O ngotse 147104 bytes (77364 e hatelitsoe) ho 0x00010000 ka metsotsoana e 1.9 (e sebetsang 615. 5 kbit/s)… Hash ea data e netefalitsoe.
E ya tsamaya… Ho seta botjha ka thata ka phini ya RTS… E felile
Haeba ho se na mathata qetellong ea ts'ebetso ea flash, boto e tla qala hape ebe e qala theohello_worldpapplication. Haeba u rata ho sebelisa Eclipse kapa VS Code IDE sebakeng sa ho sebelisa idf.py, sheba Eclipse Plugin, VSCode Extension.
Lekola Output Ho hlahloba hore na ohello_worldpis ehlile e sebetsa, thaepa idf.py -p PORT monitor (Se ke oa lebala ho nkela PORT sebaka ka lebitso la hau la serial port).
Taelo ena e qala ts'ebeliso ea IDF Monitor:
$ idf.py -p monitor Ho sebetsa idf_monitor bukeng […]/esp/hello_world/build Ho etsa “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Tloha: Ctrl+] | Menu: Ctrl+T | Thuso: Ctrl+T e latelwang ke 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 ...
Kamora ho qala le ho ea holimo, u lokela ho bona oHello world!e hatisitsoe ke ts'ebeliso.
… Lefatše Lumela! E qala hape ka mor'a metsotsoana e 10… Ena ke chip ea esp32 e nang le 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB kantle ho flash Bonyane Bonyane ba li-byte tse 298968 E qala hape ka mor'a metsotsoana e 9… E qala hape ka mor'a metsotsoana e 8… E qala hape ka mor'a metsotsoana e 7...
Ho tsoa ho leihlo la IDF sebelisa sekhechana sa Ctrl+].

Sistimi ea Espressif

22 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Haeba leihlo la IDF le hlōleha nakoana ka mor'a ho kenya, kapa, haeba sebakeng sa melaetsa e ka holimo, u bona lithōle tse sa tloaelehang tse tšoanang le tse fanoeng ka tlase, boto ea hau e ka 'na ea sebelisa kristale ea 26 MHz. Meralo e mengata ea boto ea nts'etsopele e sebelisa 40 MHz, kahoo ESP-IDF e sebelisa maqhubu ana joalo ka boleng ba kamehla.

Haeba u na le bothata bo joalo, etsa tse latelang: 1. Tsoa ka har'a mochine. 2. Khutlela ho menuconfig. 3. Eya ho Component config > Hardware Settings > Main XTAL Config > Main XTAL frequency, ebe o fetola CONFIG_XTAL_FREQ_SEL ho 26 MHz. 4. Ka mor'a moo, haha ​​le ho khantša kopo hape.
Mofuta oa hajoale oa ESP-IDF, maqhubu a mantlha a XTAL a tšehetsoeng ke ESP32 a tjena:
· 26 MHz · 40 MHz
Tlhokomeliso: O ka kopanya moaho, ho benya le ho beha leihlo mohatong o le mong ka ho matha: idf.py -p PORT flash monitor
Sheba hape: · IDF Monitor bakeng sa likhutšoane tse bonolo le lintlha tse ling mabapi le ho sebelisa mochini oa IDF. · idf.py bakeng sa tšupiso e felletseng ea litaelo le likhetho tsa idf.py.
Ke sohle seo u se hlokang ho qala ka ESP32! Joale u se u loketse ho leka e 'ngoe ea khaleamples, kapa e ea ka kotloloho ho nts'etsapele lits'ebetso tsa hau.
Bohlokoa: Ba bang ba exampLes ha e tšehetse ESP32 hobane hardware e hlokahalang ha e ea kenyeletsoa ho ESP32 kahoo e ke ke ea tšehetsoa. Haeba ho aha example, ka kopo sheba README file bakeng sa Tafole ea Liphehelo Tse Tšehetsoeng. Haeba sena se le teng ho kenyelletsa sepheo sa ESP32, kapa tafole e le sieo ho hang, example tla sebetsa ho ESP32.
Malebela a Tlatsetso
Litaba tsa tumello /dev/ttyUSB0 Ka liphaello tse ling tsa Linux, u ka fumana E hlotsoe ho bula molaetsa oa phoso oa port /dev/ttyUSB0 ha o bonesa ESP32. Sena se ka rarolloa ka ho kenyelletsa mosebelisi oa hajoale ho sehlopha sa dialout.
Tšebelisano ea Python ESP-IDF e tšehetsa Python 3.7 kapa e ncha. Ho khothaletsoa ho ntlafatsa sistimi ea hau ho mofuta oa morao-rao o khotsofatsang tlhoko ena. Likhetho tse ling li kenyelletsa ho kenya Python ho tsoa mehloling kapa ts'ebeliso ea sistimi ea taolo ea mofuta oa Python joalo ka pyenv.
Qala ka Sephutheloana sa Ts'ehetso ea Boto Ho potlakisa prototyping ho liboto tse ling tsa nts'etsopele, u ka sebelisa liphutheloana tsa Boto ea Ts'ehetso (BSPs), e etsang hore ho qalisoa ha boto e itseng ho be bonolo joalo ka mehala e fokolang ea ts'ebetso.

Sistimi ea Espressif

23 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

BSP hangata e ts'ehetsa likarolo tsohle tsa Hardware tse fanoeng botong ea nts'etsopele. Ntle le tlhaloso ea pinout le mesebetsi ea ho qala, likepe tsa BSP tse nang le bakhanni bakeng sa likarolo tse ka ntle tse kang li-sensor, lipontšo, li-codec tsa molumo joalo-joalo. Li-BSP li ajoa ka IDF Component Manager, kahoo li ka fumanoa ho IDF Component Registry. Herens e exampTsela ea ho kenya ESP-WROVER-KIT BSP morerong oa hau: idf.py add-dependency esp_wrover_kit
More examptse ling tsa tšebeliso ea BSP li ka fumanoa ho BSP exampfoldareng.
Litokomane Tse Amanang Bakeng sa basebelisi ba tsoetseng pele ba batlang ho etsa mokhoa oa ho instola ka mokhoa o ikhethileng: · Ho nchafatsa lisebelisoa tsa ESP-IDF ho Windows · Theha Serial Connection le ESP32 · Eclipse Plugin · VSCode Extension · IDF Monitor
Ho ntlafatsa lisebelisoa tsa ESP-IDF ho Windows
Kenya lisebelisoa tsa ESP-IDF u sebelisa sengoloa Ho tsoa ho Windows Command Prompt, fetohela bukeng eo ESPIDF e kentsoeng ho eona. Ebe u matha:
kenya.bat
Bakeng sa Powershell, fetohela ho directory moo ESP-IDF e kentsoeng teng. Ebe u matha:
kenya.ps1
Sena se tla khoasolla le ho kenya lisebelisoa tse hlokahalang ho sebelisa ESP-IDF. Haeba mofuta o itseng oa sesebelisoa o se o kentsoe, ha ho na mehato e tla nkuoa. Lisebelisoa li kopitsoa ebe li kenngoa bukeng e boletsoeng nakong ea ts'ebetso ea ESP-IDF Tools Installer. Ka kamehla, sena ke C:Userusername.espressif.
Eketsa lisebelisoa tsa ESP-IDF ho PATH u sebelisa sengoloa sa ho romela thepa ea ESP-IDF se kentseng se etsa tsela e khaoletsang ea ho qala menu bakeng sa oESP-IDF Command Promptp. Tsela e khutšoanyane ena e bula fensetere ea Command Prompt moo lisebelisoa tsohle li seng li ntse li le teng
fumaneha. Maemong a mang, u ka 'na ua batla ho sebetsa le ESP-IDF ka fensetere ea Command Prompt e sa kang ea qala ho sebelisa tsela e khutšoanyane. Haeba ho le joalo, latela litaelo tse ka tlase ho kenya lisebelisoa tsa ESP-IDF ho PATH. Ka potlako ea litaelo moo o hlokang ho sebelisa ESP-IDF, fetohela bukeng eo ESP-IDF e kentsoeng ho eona, ebe o kenya export.bat:
cd% userprofile%espesp-idf export.bat
Ntle le moo, ho Powershell moo o hlokang ho sebelisa ESP-IDF, fetohela bukeng eo ESP-IDF e kentsoeng ho eona, ebe u sebelisa export.ps1:
cd ~/esp/esp-idf export.ps1
Ha sena se phethiloe, lisebelisoa li tla fumaneha ka potlako ena ea litaelo.
Theha Serial Connection le ESP32 Karolo ena e fana ka tataiso ea mokhoa oa ho theha khokahano ea serial pakeng tsa ESP32 le PC.

Sistimi ea Espressif

24 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Hokela ESP32 ho PC Hokela boto ea ESP32 ho PC u sebelisa thapo ea USB. Haeba mokhanni oa sesebelisoa a sa instole ka bohona, tsebahatsa USB to serial converter chip botong ea hau ea ESP32 (kapa converter dongle ea kantle), batla bakhanni marang-rang ebe u ba kenya. Ka tlase lethathamo la USB to serial converter chips e kentsoeng boholo ba liboto tsa ESP32 tse hlahisoang ke Espressif hammoho le lihokelo tsa bakhanni:
· CP210x: CP210x USB ho UART Bridge VCP Drivers · FTDI: FTDI Virtual COM Port Drivers Ka kopo, hlahloba boto tataiso ea mosebedisi bakeng sa USB e khethehileng ho serial converter chip e sebelisitsoeng. Likhanni tse ka holimo ke tsa litšupiso. Tlas'a maemo a tloaelehileng, bakhanni ba lokela ho bokelloa ka sistimi e sebetsang ebe ba kenngoa ka bo eona ha ba hokela boto ho PC.
Sheba boema-kepe ho Windows Sheba lenane la likou tsa COM tse khethiloeng ho Windows Device Manager. Hakolla ESP32 'me u e kopanye hape, ho netefatsa hore na ke boema-kepe bofe bo nyamelang lethathamong ebe o bonts'a morao hape. Lipalo tse ka tlase li bonts'a serial port ea ESP32 DevKitC le ESP32 WROVER KIT

Setšoantšo sa 13: USB ho ea ho UART borokho ba ESP32-DevKitC ho Windows Device Manager.

Sheba boema-kepe ho Linux le macOS Ho hlahloba lebitso la sesebelisoa bakeng sa kou ea serial ea boto ea hau ea ESP32 (kapa converter dongle ea kantle), tsamaisa taelo ena ka makhetlo a mabeli, pele ka boto / dongle e sa kengoa, ebe e hokahantsoe. Boema-kepe bo hlahang lekhetlo la bobeli ke bona boo u bo hlokang: Linux
ls /dev/tty*
macOS

Sistimi ea Espressif

25 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 14: Li-Ports tse peli tsa USB tsa ESP-WROVER-KIT ho Windows Device Manager

Sistimi ea Espressif

26 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

ls /dev/cu.* Tlhokomeliso: basebelisi ba macOS: haeba u sa bone boema-kepe ba serial, sheba hore na u na le li-driver tsa USB/serial tse kentsoeng. Sheba Karolo ea Hokela ESP32 ho PC bakeng sa likhokahano tsa bakhanni. Bakeng sa macOS High Sierra (10.13), o kanna oa tlameha ho lumella bakhanni ka mokhoa o hlakileng ho kenya. Bula Likhetho tsa Sistimi -> Ts'ireletso le Lekunutu -> Ka kakaretso 'me u hlahlobe hore na ho na le molaetsa o bontšitsoeng mona mabapi le oSystem Software ho tsoa ho mohlahlami moo lebitso la moqapi e leng Silicon Labs kapa FTDI.

Ho kenya mosebelisi ho dialaut ho Linux Mosebedisi ya keneng hajoale o ne a lokela hore ebe o ile a bala le ho ngola phihlello ya serial port ka USB. Likabelong tse ngata tsa Linux, sena se etsoa ka ho kenyelletsa mosebelisi ho sehlopha sa dialout ka taelo e latelang:
sudo usermod -a -G dialout $USER
ho Arch Linux sena se etsoa ka ho kenyelletsa mosebelisi ho sehlopha sa uucp ka taelo e latelang:
sudo usermod -a -G uuc $USER
Etsa bonnete ba hore u kena hape ho lumella litumello tsa ho bala le ho ngola bakeng sa serial port.
Netefatsa khokahano ea serial Joale netefatsa hore khokahano ea serial ea sebetsa. U ka etsa sena ka ho sebelisa lenaneo la serial terminal ka ho hlahloba hore na u fumana tlhahiso efe kapa efe ho terminal ka mor'a ho seta ESP32 bocha. Sekhahla sa "default console baud rate" ho ESP32 ke 115200.
Windows le Linux Ka mohlala onaampre tla sebelisa PuTTY SSH Client e fumanehang bakeng sa Windows le Linux. U ka sebelisa mananeo a mang a serial mme u sete liparamente tsa puisano joalo ka tlase. Matha terminal 'me u hlophise serial port e khethiloeng. Sekhahla sa Baud = 115200 (haeba ho hlokahala, fetola sena ho sekhahla sa baud sa kamehla sa chip e sebelisoang), li-data bits = 8, li-stop bits = 1, le parity = N. Ka tlase ke example li-screenshots tsa ho beha boema-kepe le liparamente tse joalo tsa phetiso (ka bokhuts'oane tse hlalosoang e le 115200-8-1-N) ho Windows le Linux. Hopola ho khetha serial port eo u e khethileng ka mehato e kaholimo. Ebe u bula serial port ho terminal 'me u hlahlobe, haeba u bona log e hatisitsoeng ke ESP32. Litaba tsa log li tla ipapisa le ts'ebeliso e kentsoeng ho ESP32, sheba Example Output.
Tlhokomeliso: Koala terminal ea serial ka mor'a ho netefatsa hore puisano ea sebetsa. Haeba u boloka seshene ea terminal e bulehile, "serial port" e ke ke ea fumaneha bakeng sa ho kenya firmware hamorao.

macOS Ho u pholosa mathateng a ho kenya lenaneo la serial terminal, macOS e fana ka taelo ea skrine. · Joalo ka ha ho tšohloa ho Check port ho Linux le macOS, tsamaisa:

ls /dev/cu.* · U lokela ho bona tlhahiso e tšoanang:

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

/dev/cu.SLAB_

· Sephetho se tla fapana ho latela mofuta le palo ea liboto tse hokahantsoeng ho PC ea hau. Ebe u khetha lebitso la sesebelisoa sa boto ea hau 'me u tsamaise (ha ho hlokahala, fetola o115200ho ea ho sekhahla sa "baud" sa chip e sebelisoang):

skrine /dev/cu.device_name 115200 Tlosa device_name ka lebitso le fumanoeng le sebetsa ls /dev/cu.*.

Sistimi ea Espressif

27 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 15: Ho beha puisano ea Serial ho PuTTY ho Windows

Sistimi ea Espressif

28 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Setšoantšo sa 16: Ho beha PutTY ho PuTTY ho Linux

Sistimi ea Espressif

29 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
· Seo u se batlang ke ba bang ba log e bontšoa ke skrine. Litaba tsa log li tla ipapisa le ts'ebeliso e kentsoeng ho ESP32, sheba Example Output. Ho tsoa skrineng, thaepa Ctrl-A + .
Tlhokomeliso: Se ke oa lebala ho tsoa skrineng kamora ho netefatsa hore puisano e ea sebetsa. Haeba u hloleha ho e etsa, 'me u koale fensetere ea "terminal", "serial port" e ke ke ea fumaneha bakeng sa ho kenya firmware hamorao.
Example Output An example log e bontšitsoe ka tlase. Seta boto hape haeba u sa bone letho. 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: bokella nako 18:48:10

Haeba u ka bona tlhahiso ea log e balehang, ho bolela hore khokahano ea serial ea sebetsa 'me u se u loketse ho tsoela pele ka ho kenya le ho kenya kopo ho ESP32.
Tlhokomeliso: Bakeng sa litlhophiso tse ling tsa serial port wiring, serial RTS & DTR pins li hloka ho koaloa lenaneong la theminal pele ESP32 e qala le ho hlahisa tlhahiso ea serial. Sena se itšetlehile ka hardware ka boeona, mapolanka a mangata a nts'etsopele (ho kenyeletsoa mapolanka ohle a Espressif) ha a na taba ena. Taba e teng haeba RTS & DTR li hokeletsoe ka kotloloho ho likhoele tsa EN & GPIO0. Sheba litokomane tsa esptool bakeng sa lintlha tse ling.
Haeba u fihlile mona ho tloha Mohato oa 5. Mehato ea Pele ho ESP-IDF ha u kenya s/w bakeng sa nts'etsopele ea ESP32, joale u ka tsoela pele ka Mohato oa 5. Mehato ea Pele ho ESP-IDF.
IDF Monitor IDF Monitor haholo-holo ke lenaneo la serial terminal le fetisang lintlha tsa serial ho ea le ho tsoa ho li-serial port tsa lisebelisoa. E boetse e fana ka likarolo tse ling tse khethehileng tsa IDF. IDF Monitor e ka qalisoa ho tsoa morerong oa IDF ka ho sebelisa sebali sa idf.py.
Likhaoletso tsa Keyboard Bakeng sa ho sebelisana habonolo le IDF Monitor, sebelisa likhaoletso tsa keyboard tse fanoeng tafoleng.

Sistimi ea Espressif

30 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Sekhaoletsa sa Keyboard Ctrl+] Ctrl+T
Ctrl+T
Ctrl+] · Ctrl+P
Ctrl+R
Ctrl+F
Ctrl+A (kapa A)
Ctrl+Y
Ctrl+L
Ctrl+I (kapa ke)
Ctrl+H (kapa H)
Ctrl+X (kapa X)
Ctrl+C

Ketso

Tlhaloso

Tsoa ho lenaneo Konopo ea ho baleha Romela tlhaku ea menu ka boeona ho remoutu
Romela tlhaku ka boyona ho remoutu
Seta sepheo bocha ho bootloader ho emisa sesebelisoa ka mohala oa RTS
Seta bocha boto ea sepheo ka RTS
Theha le ho khantša morero

Theha le ho khantša app feela

Emisa / qala hape khatiso ea li-log skrineng

Emisa/qala hape tlhahiso ea log e bolokiloeng ho file

Nako ea ho emisa/ho qala hapeamps

khatiso

Hlahisa likhaoletso tsohle tsa keyboard

Tobetsa 'me u e latele ka e 'ngoe ea linotlolo tse fanoeng ka tlase.
E khutlisetsa sepheo, ho bootloader ka mohala oa RTS (haeba o hokahane), e le hore boto e se ke ea sebetsa letho. E thusa ha o hloka ho emela sesebelisoa se seng ho qala. E seta boto e shebiloeng bocha ebe e qala sesebelisoa hape ka mohala oa RTS (haeba o hokahane).
E khefutsa idf_monitor ho tsamaisa morero oa flash flash, ebe e qala hape idf_monitor. Mohloli ofe kapa ofe o fetotsoeng files li bokelloa hape ebe li khantša hape. Target encrypted-flash e sebetsa haeba idf_monitor e qalile ka khang -E. E emisa idf_monitor ho tsamaisa sepheo sa app-flash, ebe e qala hape idf_monitor. E ts'oana le sepheo sa flash, empa ke sesebelisoa sa mantlha feela se hahiloeng le ho khantša hape. Target encrypted-app-flash e sebetsa haeba idf_monitor e qalile ka khang -E. E lahla lintlha tsohle tse kenang tsa serial ha e ntse e sebetsa. E lumella ho khefutsa kapele le ho lekola tlhahiso ea log ntle le ho tlohela mochini. E theha a file bukeng ea morero mme tlhahiso e ngotsoe ho seo file ho fihlela sena se koetsoe ka tsela e khaoletsang ea keyboard (kapa ho tsoa IDF Monitor). IDF Monitor e ka hatisa nakoamp qalong ea mola ka mong. Linakoamp sebopeho se ka fetoloa ka nako ea nakoamp-fomete khang ea mola oa taelo.

Tsoa lenaneong

Khaotsa ts'ebeliso e sebetsang

E emisa IDF Monitor 'me e tsamaise debugger ea projeke ea GDB ho lokisa ts'ebeliso ka nako ea ts'ebetso. Sena se hloka hore :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME khetho e khonehe.

Likonopo life kapa life tse hatisitsoeng, ntle le Ctrl-] le Ctrl-T, li tla romelloa ka "port" ea serial.

Likarolo tse ikhethileng tsa IDF

Ho Decoding Adresse ea Othomathike Nako le nako ha ESP-IDF e hlahisa aterese ea khoutu ea hexadecimal ea foromo 0x4_____, IDF Monitor e sebelisa addr2line_ ho sheba sebaka ka har'a khoutu ea mohloli le ho fumana lebitso la tšebetso.
Haeba sesebelisoa sa ESP-IDF se ka senyeha 'me se tšohile, ho tla hlahisoa thotobolo ea rejisetere, joalo ka tse latelang:

Sistimi ea Espressif

31 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

Guru Meditation Phoso ea mofuta StoreProhibited etsahetse ka core 0. Mokhelo e ne e

sa tshoaroa.

Ngodisa thotobolo:

PC

: 0x400f360d PS

0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

A2

: 0x3ffb136c A3

0x00000005 A4

0x00000000 A5

:

0x00000000

A6

0x00000000 A7

0x00000080 A8

0x00000000 A9

:

0x3ffb7dd0

A10

0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

0x00000047 A15

Tlhaloso: 0x0000000f SAR

: 0x00000019 LEBAKA:

0x0000001d

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

0x00000000

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

IDF Monitor e eketsa lintlha tse ling ho lahlela:

Guru Meditation Phoso ea mofuta StoreProhibited etsahetse ka core 0. Mokhelo e ne e

sa tshoaroa.

Ngodisa thotobolo:

PC

: 0x400f360d PS

0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: etsa_something_to_crash ho /home/gus/esp/32/idf/exampqala/qala/

hello_world/main/./hello_world_main.c:57

(e kentsoe ke) inner_dont_crash ho /home/gus/esp/32/idf/exampqala/ho qala/hello_

world/main/./hello_world_main.c:52

A2

: 0x3ffb136c A3

0x00000005 A4

0x00000000 A5

:

0x00000000

A6

0x00000000 A7

0x00000080 A8

0x00000000 A9

:

0x3ffb7dd0

A10

0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

0x00000047 A15

Tlhaloso: 0x0000000f SAR

: 0x00000019 LEBAKA:

0x0000001d

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

0x00000000

Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (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 ho /home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main ho /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task ho /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254

Ho hlaola aterese ka 'ngoe, IDF Monitor e tsamaisa taelo e latelang ka morao: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Tlhokomeliso: Beha phapang ea tikoloho ESP_MONITOR_DECODE ho 0 kapa letsetsa idf_monitor.py ka mohala o itseng oa taelo.

Sistimi ea Espressif

32 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
kgetho: idf_monitor.py -disable-address-decoding ho tima ho etsa decoding.
Reset Reset ho Khokahano Ka mokhoa o ikhethileng, IDF Monitor e tla seta sepheo bocha ha e hokela ho eona. Ho hlophisoa bocha ha chip e reretsoeng ho etsoa ho sebelisoa mela ea serial ea DTR le RTS. Ho thibela IDF Monitor hore e se ke ea iketsetsa sepheo botjha khokahanong, letsetsa IDF Monitor ka khetho ea -no-reset (mohlala, idf_monitor.py -no-reset).
Tlhokomeliso: Khetho ea -no-reset e sebetsa ka mokhoa o ts'oanang le ha o hokela IDF Monitor boema-kepeng bo itseng (mohlala, idf.py monitor -no-reset -p [PORT]).
Ho thakhola GDB ka GDBStub GDBStub ke ts'ebetso e sebetsang ea ho lokisa bothata nakong ea ho sebetsa e tsamaeang ho sepheo ebe e hokela moamoheli holim'a boema-kepe ba serial ho amohela litaelo tsa ho lokisa liphoso. GDBStub e tshehetsa ditaelo tse kang ho bala memori le mefuta e fapaneng, ho hlahloba diforeimi tsa call stack jj. Leha GDBStub e sa feto-fetohe ho feta J.TAG debugging, ha e hloke lisebelisoa tse khethehileng (tse kang JTAG ho borokho ba USB) ha puisano e etsoa ka botlalo holim'a boema-kepe ba serial. Sepheo se ka hlophisoa hore se tsamaise GDBStub ka morao ka ho seta CONFIG_ESP_SYSTEM_PANIC ho GDBStub nakong ea tšebetso. GDBStub e tla sebetsa ka morao ho fihlela molaetsa oa Ctrl + C o romelloa holim'a sekepe sa serial 'me o etsa hore GDBStub e robehe (ke hore, emisa ts'ebetsong ea) lenaneo, kahoo e lumella GDBStub ho sebetsana le litaelo tsa debugging. Ho feta moo, sesebelisoa sa ho tšoha se ka hlophisoa hore se tsamaise GDBStub ha ho soahlamana ka ho beha CONFIG_ESP_SYSTEM_PANIC ho GDBStub ka ho tšoha. Ha kotsi e etsahala, GDBStub e tla hlahisa mohlala o khethehileng oa likhoele holim'a sekepe sa serial ho bontša hore e ntse e sebetsa. Maemong ana ka bobeli (ke hore, ho romella molaetsa oa Ctrl+C, kapa ho amohela mohlala o khethehileng oa likhoele), IDF Monitor e tla qala GDB ka bo eona e le ho lumella mosebelisi ho romela litaelo tsa ho lokisa liphoso. Kamora hore GDB e tsoe, sepheo se hlophisoa bocha ka mohala oa serial oa RTS. Haeba mohala ona o sa hokahane, basebelisi ba ka hlophisa sepheo sa bona bocha (ka ho tobetsa konopo ea "Reset" ea boardns).
Tlhokomeliso: Ka morao, IDF Monitor e tsamaisa taelo e latelang ho qala GDB:
xtensa-esp32-elf-gdb -ex "set serial baud BAUD" -ex "target remote PORT" -ex interrupt build/PROJECT.elf :idf_target:`Hello NAME chip`

Output Filtering IDF monitoring can be invoked as idf.py monitor -print-filter=”xyz”, moo –print-filter e leng paramethara bakeng sa ho sefa tlhahiso. Boleng ba kamehla ke khoele e se nang letho, e bolelang hore ntho e 'ngoe le e' ngoe e hatisitsoe.
Lithibelo ho seo u lokelang ho se hatisa li ka hlalosoa e le letoto latag>: lintho mootag> ke eona tag khoele le ke tlhaku e tsoang ho sete {N, E, W, I, D, V, *} e buang ka boemo ba ho rema lifate.
Bakeng sa mohlalaample, PRINT_FILTER=”tag1:W" e bapisa le ho hatisa feela liphetho tse ngotsoeng ka ESP_LOGW(“tag1”, …) kapa boemong bo tlase ba leetsi, ke hore, ESP_LOGE(“tag1″,…). Ha e hlalose a kapa ho sebelisa * defaults ho boemo ba Verbose.
Tlhokomeliso: Sebelisa ho rema lifate ho thibela ho bokella liphetho tseo u sa li hlokeng ka laeborari ea ho rema lifate. Ho sefa liphetho ka mochini oa IDF ke tharollo ea bobeli e ka thusang ho lokisa likhetho ntle le ho khutlisa kopo hape.
Sesebelisoa sa hau tags ha ea tlameha ho ba le libaka, linaleli *, kapa li-colon : ho tsamaisana le tšobotsi ea ho sefa.
Haeba mola oa ho qetela oa tlhahiso ho sesebelisoa sa hau o sa lateloe ke koloi e khutlisang, sefa se ka ferekanngoang, ke hore, sehlahlobi se qala ho hatisa mohala ebe hamorao se fumana hore mohala o ne o sa tlameha ho ngoloa. Ena ke taba e tsebahalang 'me e ka qojoa ka ho lula u eketsa tlaleho ea koloi (haholo-holo ha ho se na tlhahiso e latelang hang ka mor'a moo).

Sistimi ea Espressif

33 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
ExampMelao ea ho Filtering:
· * e ka sebelisoa ho bapisa leha e le efe tags. Leha ho le joalo, khoele PRINT_FILTER=”*:I tag1:E” mabapi le tag1 e hatisa liphoso feela, hobane molao oa tag1 e na le bohlokoa bo phahameng ho feta molao oa *.
· Molao oa kamehla (o se nang letho) o lekana le *:V hobane e tsamaisana le e 'ngoe le e 'ngoe tag boemong ba Verbose kapa tlase ho bolela ho nyalana le tsohle.
· “*:N” ha e hatelle feela litholoana tse tsoang mesebetsing ea ho rema lifate, empa hape le likhatiso tse entsoeng ke printf, joalo-joalo Ho qoba sena, sebelisa *:E kapa boemo bo phahameng ba lentsoe.
· Melao "tag1:V”, “tag1:v”, “tag1:”, “tag1:*”, le “tag1” lia lekana. · Molao “tag1:W tag1:E” e lekana le “tag1:E” ka lebaka la ketsahalo efe kapa efe e tšoanang tag
lebitso le hlakola e fetileng. · Molao”tag1:ke tag2:W" e hatisa feela tag1 boemong ba Info verbosity kapa tlase le tag2 ho Temoso
boemo ba leetsi kapa tlase. · Molao”tag1:ke tag2:W tag3:N” ha e le hantle e lekana le e fetileng hobane tag3:N e bolela
hore tag3 ha ea lokela ho hatisoa. · tag3: N molaong "tag1:ke tag2:W tag3:N *:V” e na le moelelo ho feta hobane ntle le tag3:Nke
tagMelaetsa e 3 e ka be e hatisitsoe; liphoso tsa tag1 le tag2 e tla hatisoa ka mokhoa o boletsoeng (kapa o tlase) oa lentsoe mme tse ling kaofela li tla hatisoa ka mokhoa o ikhethileng.
Sesefa se Fetang Haholoanyane ExampLe Snippet e latelang ea log e fumanoe ntle le likhetho tsa ho sefa:
load:0x40078000,len:13564 keno 0x40078d4c E (31) esp_image: setšoantšo ho 0x30000 se na le magic byte e fosahetseng W (31) esp_image: setšoantšo ho 0x30000 se na le SPI mode e sa sebetseng 255 E (568 Factor app not 39) cpu_start: Pro cpu up. I (569) heap_init: Ho qala. RAM e fumaneha bakeng sa kabo ea matla: I (603) cpu_start: Pro cpu qala khoutu ea mosebelisi D (309) light_driver: [light_init, 74]: boemo: 1, mode: 2 D (318) vfs: esp_vfs_register_fd_range e atlehile bakeng sa mefuta e mengata ea <54; 64) le VFS ID 1 I (328) wifi: mosebetsi oa mokhanni oa wifi: 3ffdbf84, prio:23, stack:4096, core=0
Sephetho se hapiloeng bakeng sa likhetho tsa ho sefa PRINT_FILTER=”wifi esp_image:E light_driver:I” e fanoe ka tlase:
E (31) esp_image: setšoantšo se ho 0x30000 se na le magic byte I (328) wifi e fosahetseng: mosebetsi oa mokhanni oa wifi: 3ffdbf84, prio:23, stack:4096, core=0
Likhetho tsa "PRINT_FILTER="light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V" li bonts'a tlhahiso e latelang:
mojaro:0x40078000,len:13564 ho kena 0x40078d4c I (569) heap_init: Ho qala. RAM e teng bakeng sa kabo e matla: D (309) light_driver: [light_init, 74]:status: 1, mode: 2
Mathata a Tsejoang ka IDF Monitor
Litaba tse bonoang ho Windows
· Linotlolo tsa metsu, hammoho le linotlolo tse ling, ha li sebetse ho GDB ka lebaka la meeli ea Windows Console. · Ka linako tse ling, ha oidf.pypexits, e ka ema ho fihlela metsotsoana e 30 pele IDF Monitor e qala hape. · Ha ogdbpis e sebetsa, e ka ema nakoana pele e qala ho buisana le GDBStub.

Sistimi ea Espressif

34 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala Setupo se Tloaelehileng sa Toolchain bakeng sa Linux le macOS

Ho kenya Mohato ka Mohato Ena ke 'mapa o hlakileng oa ho u tsamaisa nakong ea ho kenya.
Ho theha Tikoloho ea Ntlafatso Ena ke mehato ea ho theha ESP-IDF bakeng sa ESP32 ea hau. · Mohato oa 1. Kenya Litlhoko tse hlokahalang · Mohato oa 2. Fumana ESP-IDF · Mohato oa 3. Hlophisa lisebelisoa · Mohato oa 4. Hlophisa maemo a tikoloho · Mohato oa 5. Mehato ea Pele ho ESP-IDF
Mohato oa 1. Kenya Lintho Tse Hlokahalang Hore u sebelise ESP-IDF le ESP32, u lokela ho kenya lisebelisoa tse ling tsa software ho latela Sistimi ea Ts'ebetso ea hau. Tataiso ena ea ho seta e tla u thusa ho kenya ntho e ngoe le e ngoe ho Linux le lits'ebetsong tse thehiloeng ho macOS.
Bakeng sa Basebelisi ba Linux Ho bokella o sebelisa ESP-IDF o tla hloka ho fumana liphutheloana tse latelang. Taelo ea ho tsamaisa e itšetlehile ka hore na u sebelisa kabo efe ea Linux:
· Ubuntu le Debian: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 & 8: sudo yum -y update && sudo yum kenya git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 e ntse e tšehetsoa empa mofuta oa CentOS 8 o khothaletsoa bakeng sa boiphihlelo bo betere ba mosebelisi. · Arch: sudo pacman -S -e hlokehang gcc git etsa flex bison gperf python cmake ninja ccache dfu-util libusb
Ela hloko: · CMake version 3.16 kapa e ncha ea hlokahala bakeng sa ho sebelisoa le ESP-IDF. Matha otools/idf_tools.py kenya cmakepto kenya mofuta o loketseng haeba liphetolelo tsa hau tsa OS ha li na eona. · Haeba ha u bone phepelo ea Linux ea hau lenaneng le kaholimo, ka kopo sheba litokomane tsa eona ho fumana hore na u sebelise taelo efe bakeng sa ho kenya sephutheloana.
Bakeng sa Basebelisi ba macOS ESP-IDF e tla sebelisa mofuta oa Python o kentsoeng ka ho sa feleng ho macOS. · Kenya CMake & Ninja build: Haeba u na le HomeBrew, u ka matha: brew install cmake ninja dfu-util Haeba u na le MacPorts, u ka matha: sudo port install cmake ninja dfu-util Ho seng joalo, sheba maqephe a lehae a CMake le Ninja bakeng sa downloads ea ho kenya macOS.

Sistimi ea Espressif

35 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
· E ka matla kgothaletswa ho boela kenya ccache bakeng sa ho haha ​​ka potlako. Haeba u na le HomeBrew, sena se ka etsoa ka brew install ccache kapa sudo port install ccache ho MacPorts.
Tlhokomeliso: Haeba phoso e kang ena e bontšoa nakong ea mohato ofe kapa ofe: xcrun: phoso: tsela e sa sebetseng ea moqapi (/Library/Developer/CommandLineTools), e sieo xcrun ho: /Library/Developer/CommandLineTools/usr/bin/xcrun
Joale o tla hloka ho kenya lisebelisoa tsa line ea taelo ea XCode ho tsoela pele. U ka li kenya ka ho sebelisa xcode-select -install.
Apple M1 Users Haeba u sebelisa sethala sa Apple M1 'me u bona phoso e kang ena: TLHOKOMELISO: directory for tool xtensa-esp32-elf version esp-2021r2-patch3-8.4.0 e teng, empa sesebelisoa ha sea fumanoa ERROR: tool xtensa-esp32-elf ha e na liphetolelo tse kentsoeng. Ka kopo, matha 'install.sh' ho e kenya.
kapa: zsh: mofuta o mobe oa CPU o ka phethisoang: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Joale o tla hloka ho kenya Apple Rosetta 2 ka ho matha /usr/sbin/softwareupdate -install-rosetta -agree-to-license.
Ho kenya Python 3 Ho ipapisitsoe le lintlha tsa tokollo tsa macOS Catalina 10.15, ts'ebeliso ea Python 2.7 ha e khothalletsoe mme Python 2.7 e ke ke ea kenyelletsoa ka ho sa feleng liphetolelong tse tlang tsa macOS. Sheba hore na Python eo u nang le eona hona joale ke efe: python -version
Haeba tlhahiso e tšoana le Python 2.7.17, mofetoleli oa hau oa kamehla ke Python 2.7. Haeba ho joalo, sheba hape hore na Python 3 ha e so kentsoe khomphuteng ea hau: python3 -version
Haeba taelo e ka holimo e khutlisa phoso, ho bolela hore Python 3 ha e ea kenngoa. Ka tlase ke ho fetaview ea mehato ea ho kenya Python 3.
· Ho kenya le HomeBrew ho ka etsoa ka tsela e latelang: brew install python3
· Haeba u na le MacPorts, u ka matha: sudo port install python38
Mohato oa 2. Fumana ESP-IDF Ho aha lits'ebetso tsa ESP32, u hloka lilaebrari tsa software tse fanoeng ke Espressif sebakeng sa polokelo ea ESP-IDF. Ho fumana ESP-IDF, e-ea bukeng ea hau ea ho kenya 'me u kopanye sebaka sa polokelo ka git clone, u latele litaelo tse ka tlase tse tobileng ho sistimi ea hau ea ts'ebetso. Bula Terminal, 'me u tsamaise litaelo tse latelang:

Sistimi ea Espressif

36 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 -recursive https://github.com/espressif/esp-idf.git
ESP-IDF e tla khoasolloa ho ~/esp/esp-idf. Sheba Liphetolelo tsa ESP-IDF bakeng sa tlhahisoleseding mabapi le hore na ke mofuta ofe oa ESP-IDF o ka sebelisoang boemong bo itseng.
Mohato oa 3. Beha lisebelisoa Ka thōko ho ESP-IDF, u boetse u hloka ho kenya lisebelisoa tse sebelisoang ke ESP-IDF, tse kang compiler, debugger, Python packages, joalo-joalo, bakeng sa merero e tšehetsang ESP32. cd ~/esp/esp-idf ./install.sh esp32
kapa ka Fish shell cd ~/esp/esp-idf ./install.fish esp32
Litaelo tse ka holimo kenya lisebelisoa tsa ESP32 feela. Haeba u ikemiselitse ho nts'etsapele merero ea li-chip tse ngata, u lokela ho li thathamisa kaofela 'me u tsamaise mohlalaample: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
kapa ka Fish shell cd ~/esp/esp-idf ./install.fish esp32,esp32s2
Bakeng sa ho kenya lisebelisoa bakeng sa lipehelo tsohle tse tšehetsoeng ka kopo, tsamaisa taelo e latelang: cd ~/esp/esp-idf ./install.sh kaofela
kapa ka Fish shell cd ~/esp/esp-idf ./install.fish kaofela
Tlhokomeliso: Bakeng sa basebelisi ba macOS, haeba phoso e kang ena e bontšoa mohatong ofe kapa ofe:urlphoso e bulehileng [SSL: CERTIFICATE_VERIFY_FAILED] netefatso ea setifikeiti e hlōlehile: ha e khone ho fumana setifikeiti sa mofani oa lehae (_ssl.c:xxx)
U ka tsamaisa Install Certificates.command ka har'a foldara ea Python ea komporo ea hau ho kenya litifikeiti. Ho fumana lintlha, bona Phoso ea ho Khoasolla Ha U ntse U Kenya Lisebelisoa tsa ESP-IDF.

E 'ngoe File Downloads Sesebelisoa sa lisebelisoa se khoasolla palo ea files e khomaretsoe ho GitHub Releases. Haeba ho fihlella GitHub ho lieha, hoa khonahala ho beha mofuta o fapaneng oa tikoloho ho khetha seva sa download sa Espressifns bakeng sa downloads ea thepa ea GitHub.

Tlhokomeliso: Tlhophiso ena e laola feela lisebelisoa tsa motho ka mong tse jarollotsoeng ho tsoa ho litokollo tsa GitHub, ha e fetole URLs e sebelisetsoa ho fihlella polokelo efe kapa efe ea Git.

Ho khetha seva sa download sa Espressif ha u kenya lisebelisoa, sebelisa tatellano e latelang ea litaelo ha u sebelisa install.sh:

Sistimi ea Espressif

37 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

cd ~/esp/esp-idf export IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Ho iketsetsa mokhoa oa ho kenya lisebelisoa Mengolo e hlahisitsoeng mohatong ona oa ho kenya lisebelisoa tsa ho bokella tse hlokoang ke ESP-IDF ka har'a bukana ea lehae la mosebelisi: $HOME/.espressif on Linux. Haeba u lakatsa ho kenya lisebelisoa bukeng e fapaneng, beha maemo a fapaneng a tikoloho IDF_TOOLS_PATH pele u sebelisa mangolo a ho kenya. Etsa bonnete ba hore ak'haonte ea hau ea mosebelisi e na le tumello e lekaneng ea ho bala le ho ngola tsela ena. Haeba u fetola IDF_TOOLS_PATH, etsa bonnete ba hore e behiloe ho boleng bo lekanang nako le nako ha ho etsoa Instala script (install. bat, install.ps1 or install.sh) le Export script (export.bat, export.ps1 kapa export.sh) e etsoa.
Mohato oa 4. Hlophisa mefuta-futa ea tikoloho Lisebelisoa tse kentsoeng ha li e-s'o ekeletsoe ho phapano ea tikoloho ea PATH. Ho etsa hore lisebelisoa li sebelisoe ho tsoa moleng oa taelo, mefuta e meng ea tikoloho e tlameha ho hlophisoa. ESP-IDF e fana ka mongolo o mong o etsang joalo. Ho terminal moo o tla sebelisa ESP-IDF, matha:
. $HOME/esp/esp-idf/export.sh
kapa bakeng sa litlhapi (e tšehetsoa feela ho tloha tlhapi ea 3.0.0):
. $HOME/esp/esp-idf/export.fish
Ela hloko sebaka se pakeng tsa letheba le etellang pele le tsela! Haeba u rera ho sebelisa esp-idf khafetsa, u ka theha alias bakeng sa ho etsa export.sh:
1. Kopitsa le ho manamisa taelo e latelang ho shellns pro ea haufile (.profile, .bashrc, .zprofile, joalo-joalo)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Nchafatsa tlhophiso ka ho qala seshene ea terminal kapa ka ho sebelisa mohloli [path to profile],
bakeng sa mohlalaample, mohloli ~/.bashrc. Joale o ka matha get_idf ho theha kapa ho nchafatsa tikoloho ea esp-idf nakong efe kapa efe ea terminal. Ka botsebi, o ka eketsa export.sh ho shellns pro ea haufile ka ho toba; leha ho le joalo, ha e khothalletsoe. Ho etsa joalo ho kenya tšebetsong tikoloho ea IDF sebakeng se seng le se seng sa terminal (ho kenyeletsoa le moo IDF e sa hlokeng), ho senya sepheo sa tikoloho mme mohlomong ho ama software e 'ngoe.
Mohato oa 5. Mehato ea Pele ho ESP-IDF Joale kaha litlhoko tsohle li fihletsoe, sehlooho se latelang se tla u tataisa hore na u ka qala morero oa hau oa pele joang. Tataiso ena e tla u thusa mehatong ea pele u sebelisa ESP-IDF. Latela tataiso ena ho qala morero o mocha ho ESP32 le ho haha, ho benya, le ho beha leihlo tlhahiso ea sesebelisoa.
Tlhokomeliso: Haeba ha u e-so kenye ESP-IDF, ka kopo, e-ea ho Installation 'me u latele taelo e le hore u fumane lisebelisoa tsohle tse hlokahalang ho sebelisa tataiso ena.

Qala Morero Joale u se u loketse ho lokisa kopo ea hau bakeng sa ESP32. O ka qala ka morero oa ho qala/hello_world ho tsoa ho exampLes directory ho ESP-IDF.

Bohlokoa: Sistimi ea kaho ea ESP-IDF ha e tšehetse libaka litseleng tsa ESP-IDF kapa mererong.

Kopitsa morero oa ho qala/hello_world ho ~/esp directory:

Sistimi ea Espressif

38 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
cd ~/esp cp -r $IDF_PATH/examples/get-start/hello_world .
Tlhokomeliso: Ho na le mefuta e mengata ea example merero ho exampLes directory ho ESP-IDF. O ka kopitsa morero ofe kapa ofe ka tsela e ts'oanang le e hlahisitsoeng ka holimo mme oa e tsamaisa. Hape hoa khoneha ho haha ​​​​examples in-place ntle le ho li kopitsa pele.
Hokela Sesebediswa sa Hao Hona joale hokela boto ea hau ea ESP32 khomphuteng 'me u hlahlobe hore na boto e bonahala tlas'a boema-kepe bofe. Li-serial ports li na le mekhoa e latelang ea mabitso:
· Linux: ho qala ka /dev/tty · macOS: ho qala ka /dev/cu. Haeba o sa tsebe hantle hore na o ka sheba lebitso la serial port joang, ka kopo sheba ho Establish Serial Connection le ESP32 bakeng sa lintlha tse felletseng.
Tlhokomeliso: Boloka lebitso la boema-kepe le le haufi kaha u tla le hloka mehatong e latelang.
Hlophisa Morero oa Hao Tsamaisa bukeng ea hau ea hello_world, beha ESP32 joalo ka sepheo, 'me u tsamaise menuconfig ea tlhophiso ea projeke. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Kamora ho bula projeke e ncha, o lokela ho qala ka ho beha sepheo ka idf.py set-target esp32. Hlokomela hore meaho le litlhophiso tse teng morerong, haeba li teng, li tla hlakoloa le ho qalisoa ts'ebetsong ena. Sepheo se ka bolokeha ho feto-fetoha ha tikoloho ho tlola mohato ona ho hang. Sheba Khetha Chip ea Target: set-target bakeng sa boitsebiso bo eketsehileng. Haeba mehato e fetileng e entsoe ka nepo, menu e latelang e tla hlaha:

Setšoantšo sa 17: Tlhophiso ea morero - Fensetere ea lapeng U sebelisa lenane lena ho theha mefuta-futa ea morero, mohlala, lebitso la marang-rang a Wi-Fi le password, lebelo la processor, joalo-joalo. Ho theha morero ka menuconfig ho ka 'na ha tlōloa forohello_worldp, kaha ex.ample matha le

Sistimi ea Espressif

39 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
tlhophiso ya kamehla.
Tlhokomeliso: Haeba u sebelisa boto ea ESP32-DevKitC ka mojule oa ESP32-SOLO-1, kapa boto ea ESP32-DevKitM-1 e nang le module ea ESP32-MIN1-1(1U), ka kopo lumella single core mode (CONFIG_FREERTOS_UNICORE) ho menuconfig pele o benya ex.amples.
Tlhokomeliso: Mebala ea menu e ka fapana ho terminal ea hau. U ka fetola ponahalo ka khetho -style. Ka kopo, tsamaisa idf.py menuconfig -help bakeng sa lintlha tse ling.
Haeba u sebelisa e 'ngoe ea liboto tsa nts'etsopele tse tšehetsoeng, u ka potlakisa nts'etsopele ea hau ka ho sebelisa Package ea Boto. Sheba Malebela a Tlatsetso bakeng sa lintlha tse ling.
Theha Morero Haha morero ka ho tsamaisa:
idf.py haha
Taelo ena e tla bokella kopo le likarolo tsohle tsa ESP-IDF, ebe e tla hlahisa bootloader, tafole ea karohano, le li-binaries tsa kopo.
$ idf.py build Running cmake in directory /path/to/hello_world/build Phethahatso ea "cmake -G Ninja -temoso-e sa tsejoeng /path/to/hello_world"… Lemosa ka boleng bo sa tsejoeng. - E fumanoe Git: /usr/bin/git (e fumanoe mofuta "2.17.0") - Ho aha karolo e se nang letho ea aws_iot ka lebaka la tlhophiso - Mabitso a likarolo: ... - Litsela tsa likarolo: ...
… (mehala e meng ea tlhahiso ea sistimi ea kaho)
[527/527] Ho hlahisa hello_world.bin esptool.py v2.3.1
Kaho ea projeke e felile. Ho benya, tsamaisa taelo ena: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio -flash_size detect -flash_freq 40m 0x10000 build/hello_world. bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin kapa tsamaisa 'idf.py -p PORT flash'
Haeba ho se na liphoso, mohaho o tla qetella ka ho hlahisa firmware binary .bin files.
Hlahisa ho Sesebediswa Kenya li-binaries tseo u sa tsoa li haha ​​(bootloader.bin, partition-table.bin le hello_world.bin) botong ea hau ea ESP32 ka ho matha:
idf.py -p PORT [-b BAUD] flash
Tlosa PORT ka lebitso la hau la boema-kepe la ESP32 boardns. U ka boela ua fetola sekhahla sa baud ea flasher ka ho nkela BAUD sebaka ka sekhahla seo u se hlokang. Sekhahla sa kamehla sa baud ke 460800. Ho fumana lintlha tse ling mabapi le likhang tsa idf.py, sheba idf.py.
Tlhokomeliso: Khetho ea flash e iketsetsa le ho khantša morero, kahoo ho sebetsa idf.py build ha ho hlokahale.

Sistimi ea Espressif

40 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala

U Kopane le Mathata ha U ntse U Khanya? Haeba o tsamaisa taelo e fanoeng mme o bona liphoso tse kang AsoFailed to connectp, ho ka ba le mabaka a 'maloa a sena. E 'ngoe ea mabaka e ka' na ea e-ba mathata a tobaneng le esptool.py, sesebelisoa se bitsoang ke mohaho oa mohaho ho tsosolosa chip, ho sebelisana le bootloader ea ROM, le firmware ea flash. Tharollo e le 'ngoe e bonolo ea ho leka ke ho seta bocha ka letsoho ho hlalositsoe ka tlase, 'me haeba ho sa u thuse u ka fumana lintlha tse ling mabapi le mathata a ka bang teng ho Tharollo ea mathata.
esptool.py e seta ESP32 bocha ka ho tiisa melapo ea taolo ea DTR le RTS ea USB ho serial converter chip, ke hore, FTDI kapa CP210x (bakeng sa tlhaiso-leseling e batsi, bona Establish Serial Connection with ESP32). Methapo ea taolo ea DTR le RTS le eona e hokahane le GPIO0 le CHIP_PU (EN) ea ESP32, kahoo e fetoha ho vol.tagLitekanyetso tsa DTR le RTS li tla bulela ESP32 mokhoeng oa ho jarolla Firmware. Joalo ka mohlalaample, hlahloba moralo oa boto ea ntlafatso ea ESP32 DevKitC.
Ka kakaretso, ha ua lokela ho ba le mathata ka liboto tsa ntlafatso tsa esp-idf. Leha ho le joalo, esptool.py ha e khone ho seta lisebelisoa tsa hau ka bo eona maemong a latelang:
· Thepa ea hau ha e na DTR le methapo ea RTS e hokahantsoeng ho GPIO0 le CHIP_PU · Methapo ea DTR le RTS e entsoe ka tsela e fapaneng · Ha ho mela e joalo ea serial control ho hang.
Ho ipapisitse le mofuta oa hardware eo u nang le eona, ho ka khonahala hape ho beha boto ea hau ea ESP32 ka mokhoa oa ho jarolla Firmware (seta bocha).
· Bakeng sa liboto tsa nts'etsopele tse hlahisoang ke Espressif, tlhahisoleseling ena e ka fumanoa ho litataiso tse fapaneng tsa ho qala kapa litataiso tsa basebelisi. Bakeng sa mohlalaample, ho seta boto ea ntlafatso ea ESP-IDF ka bowena, tšoara konopo ea Boot (GPIO0) ebe o tobetsa konopo ea EN (CHIP_PU).
· Bakeng sa mefuta e meng ea lisebelisoa, leka ho hulela GPIO0 fatše.

Ts'ebetso e Tloaelehileng Ha o benya, o tla bona lethathamo la lihlahisoa tse tšoanang le tse latelang:
… esptool.py -chip esp32 -p /dev/ttyUSB0 -b 460800 -before=default_reset -after=hard_reset write_flash -flash_mode dio -flash_freq 40m -flash_size 2MB 0x8000 partition_table/load0booterx0bootertable.0 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Connecting…….._ Chip is ESP32D0WDQ6 (tlhahlobo ea 0) Likarolo: WiFi, BT, Dual Core, Coding Scheme None Crystal is 40MHz MAC: 24:0b4 Upload: 1000:0b05a upload stub… Stub running… Fetola sekhahla sa baud ho 460800 Fetohile. E lokisa boholo ba flash… E petelitsoe 3072 byte ho isa ho 103… E ngola ho 0x00008000… (100 %) E ngotse 3072 byte (103 e petelitsoe) ho 0x00008000 ka metsotsoana e 0.0 (e sebetsang 5962.8 kbit/s) e netefalitsoeng… E hatisitsoe ka 26096 byte ho isa 15408… E ngotse ho 0x00001000… (100 %) E ngotse 26096 byte (15408 e hatisitsoeng) ka 0x00001000 ka metsotsoana e 0.4 (e sebetsang ka 546.7 kbit/s) … E hatisitsoe ka 147104 byte ho ea ho 77364… E ngola ho 0x00010000… (20 %) E ngola ho 9x00014000… (40 %) E ngola ho 14x00018000… (60 %) E ngola ho 000x0001c80 %) (
(e tsoela pele leqepheng le latelang)

Sistimi ea Espressif

41 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
(e tsoa leqepheng le fetileng) E ngola ho 0x00020000… (100 %) O ngotse 147104 byte (77364 e hatelitsoe) ho 0x00010000 ka metsotsoana e 1.9 (e sebetsa hantle 615. 5 kbit/s)… Hash ea data e netefalitsoe.
E ya tsamaya… Ho seta botjha ka thata ka phini ya RTS… E felile
Haeba ho se na mathata qetellong ea ts'ebetso ea flash, boto e tla qala hape ebe e qala theohello_worldpapplication. Haeba u rata ho sebelisa Eclipse kapa VS Code IDE sebakeng sa ho sebelisa idf.py, sheba Eclipse Plugin, VSCode Extension.
Lekola Output Ho hlahloba hore na ohello_worldpis ehlile e sebetsa, thaepa idf.py -p PORT monitor (Se ke oa lebala ho nkela PORT sebaka ka lebitso la hau la serial port). Taelo ena e qala ts'ebeliso ea IDF Monitor:
$ idf.py -p monitor Ho sebetsa idf_monitor bukeng […]/esp/hello_world/build Ho etsa “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Tloha: Ctrl+] | Menu: Ctrl+T | Thuso: Ctrl+T e latelwang ke 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 ...
Kamora ho qala le ho ea holimo, u lokela ho bona oHello world!e hatisitsoe ke ts'ebeliso.
… Lefatše Lumela! E qala hape ka mor'a metsotsoana e 10… Ena ke chip ea esp32 e nang le 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB kantle ho flash Bonyane Bonyane ba li-byte tse 298968 E qala hape ka mor'a metsotsoana e 9… E qala hape ka mor'a metsotsoana e 8… E qala hape ka mor'a metsotsoana e 7...
Ho tsoa leihlo la IDF sebelisa sekhechana sa Ctrl+]. Haeba leihlo la IDF le hlōleha nakoana ka mor'a ho kenya, kapa, haeba sebakeng sa melaetsa e ka holimo, u bona lithōle tse sa tloaelehang tse tšoanang le tse fanoeng ka tlase, boto ea hau e ka 'na ea sebelisa kristale ea 26 MHz. Meralo e mengata ea boto ea nts'etsopele e sebelisa 40 MHz, kahoo ESP-IDF e sebelisa maqhubu ana joalo ka boleng ba kamehla.

Haeba u na le bothata bo joalo, etsa se latelang:
1. Tsoa leihlo. 2. Khutlela ho menuconfig. 3. Eya ho Component config > Hardware Settings > Main XTAL Config > Main XTAL
khafetsa, ebe u fetola CONFIG_XTAL_FREQ_SEL ho 26 MHz. 4. Ka mor'a moo, haha ​​le ho khantša kopo hape.

Sistimi ea Espressif

42 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Mofuta oa hajoale oa ESP-IDF, maqhubu a mantlha a XTAL a tšehetsoeng ke ESP32 a tjena:
· 26 MHz · 40 MHz
Tlhokomeliso: O ka kopanya moaho, ho benya le ho beha leihlo mohatong o le mong ka ho matha: idf.py -p PORT flash monitor
Sheba hape: · IDF Monitor bakeng sa likhutšoane tse bonolo le lintlha tse ling mabapi le ho sebelisa mochini oa IDF. · idf.py bakeng sa tšupiso e felletseng ea litaelo le likhetho tsa idf.py.
Ke sohle seo u se hlokang ho qala ka ESP32! Joale u se u loketse ho leka e 'ngoe ea khaleamples, kapa e ea ka kotloloho ho nts'etsapele lits'ebetso tsa hau.
Bohlokoa: Ba bang ba exampLes ha e tšehetse ESP32 hobane hardware e hlokahalang ha e ea kenyeletsoa ho ESP32 kahoo e ke ke ea tšehetsoa. Haeba ho aha example, ka kopo sheba README file bakeng sa Tafole ea Liphehelo Tse Tšehetsoeng. Haeba sena se le teng ho kenyelletsa sepheo sa ESP32, kapa tafole e le sieo ho hang, example tla sebetsa ho ESP32.
Malebela a Tlatsetso
Litaba tsa tumello /dev/ttyUSB0 Ka liphaello tse ling tsa Linux, u ka fumana E hlotsoe ho bula molaetsa oa phoso oa port /dev/ttyUSB0 ha o bonesa ESP32. Sena se ka rarolloa ka ho kenyelletsa mosebelisi oa hajoale ho sehlopha sa dialout.
Tšebelisano ea Python ESP-IDF e tšehetsa Python 3.7 kapa e ncha. Ho khothaletsoa ho ntlafatsa sistimi ea hau ho mofuta oa morao-rao o khotsofatsang tlhoko ena. Likhetho tse ling li kenyelletsa ho kenya Python ho tsoa mehloling kapa ts'ebeliso ea sistimi ea taolo ea mofuta oa Python joalo ka pyenv.
Qala ka Sephutheloana sa Ts'ehetso ea Boto Ho potlakisa prototyping ho liboto tse ling tsa nts'etsopele, u ka sebelisa liphutheloana tsa Boto ea Ts'ehetso (BSPs), e etsang hore ho qalisoa ha boto e itseng ho be bonolo joalo ka mehala e fokolang ea ts'ebetso. BSP hangata e ts'ehetsa likarolo tsohle tsa Hardware tse fanoeng botong ea nts'etsopele. Ntle le tlhaloso ea pinout le mesebetsi ea ho qala, likepe tsa BSP tse nang le bakhanni bakeng sa likarolo tse ka ntle tse kang li-sensor, lipontšo, li-codec tsa molumo joalo-joalo. Li-BSP li ajoa ka IDF Component Manager, kahoo li ka fumanoa ho IDF Component Registry. Herens e exampTsela ea ho kenya ESP-WROVER-KIT BSP morerong oa hau: idf.py add-dependency esp_wrover_kit
More examptse ling tsa tšebeliso ea BSP li ka fumanoa ho BSP exampfoldareng.
Keletso: Ho nchafatsa ESP-IDF Ho khothaletsoa ho nchafatsa ESP-IDF nako le nako, kaha liphetolelo tse ncha li lokisa liphoso le/kapa li fana ka likarolo tse ncha. Ka kopo hlokomela hore phetolelo e 'ngoe le e' ngoe ea ESP-IDF e kholo le e nyenyane ea tokollo e na le nako ea tšehetso e amanang le eona, 'me ha lekala le le leng la tokollo le atamela qetellong ea bophelo (EOL), basebelisi bohle ba khothalletsoa ho ntlafatsa merero ea bona ho ea ho litokollo tsa morao-rao tsa ESP-IDF, ho fumana ho eketsehileng ka linako tsa tšehetso, bona ESP-IDF Liphetolelo.

Sistimi ea Espressif

43 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 1. Qala
Tsela e bonolo ka ho fetisisa ea ho etsa ntjhafatso ke ho hlakola foldara e teng ea esp-idf ebe o e kopanya hape, joalo ka ha eka o etsa kemiso ea pele e hlalositsoeng Mohatong oa 2. Fumana ESP-IDF. Tharollo e 'ngoe ke ho ntlafatsa feela se fetohileng. Mokhoa oa ho ntlafatsa o ipapisitse le mofuta oa ESP-IDF oo u o sebelisang. Ka mor'a hore u ntlafatse ESP-IDF, kenya sengoloa hape, haeba mofuta o mocha oa ESP-IDF o hloka mefuta e fapaneng ea lisebelisoa. Sheba litaelo ho Mohato oa 3. Hlophisa lisebelisoa. Hang ha lisebelisoa tse ncha li kentsoe, ntlafatsa tikoloho u sebelisa mongolo oa Export. Sheba litaelo ho Mohato oa 4. Hlophisa maemo a tikoloho.
Litokomane tse Amanang · Theha khokahano ea Serial le ESP32 · Eclipse plugin · VSCode Extension · IDF Monitor
1.4 Theha Morero oa Hao oa Pele
Haeba u se u ntse u e-na le ESP-IDF e kentsoeng 'me u sa sebelise IDE, u ka haha ​​​​projeke ea hau ea pele ho tloha molaong oa taelo ho latela Qala morero ho Windows kapa Qala morero ho Linux le macOS.
1.5 Tlosa ESP-IDF
Haeba u batla ho tlosa ESP-IDF, ka kopo latela Uninstall ESP-IDF.

Sistimi ea Espressif

44 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 2
Reference API
2.1 Likopano tsa API
Tokomane ena e hlalosa litumellano le maikutlo a tloaelehileng ho ESP-IDF Application Programming Interfaces (APIs). ESP-IDF e fana ka mefuta e mengata ea lihokelo tsa mananeo:
· C mesebetsi, meaho, li-ennum, litlhaloso tsa mofuta le li-macro tsa preprocessor tse phatlalalitsoeng lihloohong tsa sechaba files ea likarolo tsa ESPDF. Maqephe a fapaneng a karolong ea Reference API ea tataiso ea mananeo a na le litlhaloso tsa mesebetsi, meaho le mefuta ena.
· Theha mesebetsi ea sistimi, mefuta e boletsoeng esale pele le likhetho. Tsena li ngotsoe ho tataiso ea tsamaiso ea mohaho. · Likhetho tsa Kconfig li ka sebelisoa ka khoutu le ho sistimi ea kaho (CMakeLists.txt) files. · Lisebelisoa tsa moamoheli le li-parameter tsa mola oa taelo le tsona ke karolo ea sebopeho sa ESP-IDF. ESP-IDF e na le likarolo tse ngotsoeng ka ho khetheha bakeng sa ESP-IDF hammoho le lilaebrari tsa mekhatlo ea boraro. Maemong a mang, sephutheloana se ikhethileng sa ESP-IDF se eketsoa laebraring ea mokha oa boraro, se fana ka sebopeho se bonolo kapa se kopantsoeng hamolemo le lisebelisoa tse ling tsa ESP-IDF. Maemong a mang, API ea mantlha ea laeborari ea mokha oa boraro e hlahisoa ho baetsi ba lisebelisoa. Likarolo tse latelang li hlalosa tse ling tsa likarolo tsa ESP-IDF APIs le ts'ebeliso ea tsona.
Phoso ha e sebetsana
Likhoutu tse ngata tsa ESP-IDF API li khutlisa liphoso tse hlalositsoeng ka mofuta oa esp_err_t. Sheba karolo ea Ho sebetsana le Liphoso bakeng sa lintlha tse ling mabapi le mekhoa ea ho sebetsana le liphoso. Error Code Reference e na le lethathamo la likhoutu tsa liphoso tse khutlisitsoeng ke likarolo tsa ESP-IDF.
2.1.2 Libopeho tsa tlhophiso
Bohlokoa: Ho qala ka nepo ha meaho ea tlhophiso ke karolo ea bohlokoa ho etseng hore sesebelisoa se tsamaisane le mefuta e tlang ea ESP-IDF.
Boholo ba mesebetsi ea ho qala kapa ea tlhophiso ho ESP-IDF e nka e le khang sesupa sa sebopeho sa tlhophiso. Bakeng sa mohlalaampLe:
45

Khaolo ea 2. Reference 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);
Mesebetsi ea ho qala ha e boloke pointer ho sebopeho sa tlhophiso, ka hona ho bolokehile ho abela sebopeho ho stack.
Kopo e tlameha ho qala likarolo tsohle tsa sebopeho. Se latelang se fosahetse:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* E fosahetse! Libaka .arg le .name ha lia qalisoa */ esp_timer_create(&my_timer_args, &my_timer);
Boholo ba ESP-IDF exampre sebelise li-initials tse khethiloeng tsa C99 bakeng sa ho qala sebopeho, kaha li fana ka mokhoa o khuts'oane oa ho beha likaroloana tsa masimo, le ho qala masimo a setseng:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Nepahetseng, masimo .arg le .name a qadile ka noto */
};
Puo ea C++ ha e tšehetse syntax ea ba qalang ho fihlela C++20, leha ho le joalo moqapi oa GCC o e tšehetsa ka mokhoa o itseng e le katoloso. Ha u sebelisa ESP-IDF APIs ho C++ khoutu, u ka nahana ka ho sebelisa mokhoa o latelang:
esp_timer_create_args_t my_timer_args = {}; /* Likarolo tsohle li kentsoe ka zero */ my_timer_args.callback = &my_timer_callback;

Li-initilator tsa kamehla
Bakeng sa meaho e meng ea tlhophiso, ESP-IDF e fana ka li-macros bakeng sa ho beha maemo a kamehla a masimo:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG e hola ho ba se qalang se khethiloeng.
Hona joale likarolo tsohle li behiloe ho litekanyetso tsa kamehla. Sebaka leha e le sefe se ntse se ka fetoloa: */ config.server_port = 8081; httpd_handle_t seva; esp_err_t err = httpd_start(&server, &config);
Ho khothaletsoa ho sebelisa li-macros tsa mantlha tsa mantlha neng kapa neng ha li fanoa bakeng sa sebopeho se itseng sa tlhophiso.

2.1.3 Li-API tsa poraefete
Hlooho e itseng files ho ESP-IDF e na le li-API tse reretsoeng ho sebelisoa feela ho khoutu ea mohloli oa ESP-IDF, eseng lits'ebetsong. Hlooho e joalo files hangata e na le poraefete kapa esp_private lebitsong la bona kapa tseleng. Likarolo tse ling, joalo ka hal li na le li-API tsa lekunutu feela. Li-API tsa poraefete li ka tlosoa kapa tsa fetoloa ka tsela e sa lumellaneng lipakeng tsa likhatiso tse nyane kapa tsa patch.

2.1.4 Likaroloana ho mohlalaample merero
ESP-IDF mohlalaampLes e na le merero e fapaneng e bonts'ang ts'ebeliso ea ESP-IDF APIs. E le ho fokotsa ho pheta-pheta khoutu ho exampLes, bathusi ba 'maloa ba tloaelehileng ba hlalosoa ka hare ho likarolo tse sebelisoang ke multiple examples.

Sistimi ea Espressif

46 Fana ka Maikutlo a Tokomane

Hlahisa v5.0.9

Khaolo ea 2. Reference API
Sena se kenyelletsa likarolo tse fumanehang

Litokomane / Lisebelisoa

Espressif Systems ESP32 Dev Kitc Development Board [pdf] Bukana ea Mosebelisi
ESP32 Dev Kitc Development Board, ESP32, Dev Kitc Development Board, Kitc Development Board, Development Board, Board

Litšupiso

Tlohela maikutlo

Aterese ea hau ea lengolo-tsoibila e ke ke ea phatlalatsoa. Libaka tse hlokahalang li tšoailoe *