ESP32 Dev Kitc Development Board
ọja Alaye
Awọn pato
- Ọja: ESP32
- Itọsọna siseto: ESP-IDF
- Ẹya Tu: v5.0.9
- olupese: Espressif Systems
- Ọjọ Tu silẹ: Oṣu Karun ọjọ 16, Ọdun 2025
Awọn ilana Lilo ọja
1. Bẹrẹ
Ṣaaju ki o to bẹrẹ pẹlu ESP32, mọ ara rẹ pẹlu awọn
atẹle:
1.1 ifihan
Kọ ẹkọ nipa awọn iṣẹ ṣiṣe ipilẹ ati awọn agbara ti awọn
ESP32.
1.2 Ohun ti o nilo
Rii daju pe o ni ohun elo ati sọfitiwia pataki:
- Hardware: Ṣayẹwo awọn akojọ ti awọn hardware ti a beere
irinše. - Software: Fi software ti o nilo sori ẹrọ
irinše.
1.3 fifi sori ẹrọ
Tẹle awọn igbesẹ wọnyi lati fi IDE sori ẹrọ ati ṣeto eto naa
ayika:
- IDE: Fi IDE niyanju fun
siseto awọn ESP32. - Fifi sori ẹrọ pẹlu ọwọ: Pẹlu ọwọ ṣeto soke awọn
ayika ti o ba nilo.
1.4 Kọ rẹ First Project
Ṣẹda ati kọ iṣẹ akanṣe akọkọ rẹ nipa lilo ESP32.
1.5 Aifi si po ESP-IDF
Ti o ba nilo, kọ ẹkọ bi o ṣe le yọ ESP-IDF kuro lati ọdọ rẹ
eto.
2. API Reference
Tọkasi awọn iwe API fun alaye alaye lori
Ilana ohun elo, mimu aṣiṣe, ati iṣeto ni
awọn ẹya.
Awọn Ibeere Nigbagbogbo (FAQ)
Q: Bawo ni MO ṣe le yanju awọn ọran ti o wọpọ pẹlu ESP32?
A: Tọkasi apakan laasigbotitusita ninu itọsọna siseto
tabi lọsi olupese ká webojula fun support oro.
Q: Ṣe MO le lo ESP-IDF pẹlu awọn oludari microcontroller miiran?
A: ESP-IDF jẹ apẹrẹ pataki fun ESP32, ṣugbọn o le rii
ibamu pẹlu awọn miiran Espressif microcontrollers.
ESP32
ESP-IDF Eto Itọsọna
Tu v5.0.9 Espressif Systems May 16, 2025
Atọka akoonu
Atọka akoonu
i
1 Bẹrẹ
3
1.1 Ọrọ Iṣaaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Ohun ti o nilo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 fifi sori ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Fifi sori Afowoyi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Kọ Ise agbese akọkọ rẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5 Yọ ESP-IDF kuro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 API Itọkasi
45
2.1 API Apejọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.1 Aṣiṣe mimu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Iṣeto ni awọn ẹya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.3 APIs ikọkọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4 Awọn irinše ni example ise agbese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.5 API Iduroṣinṣin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 Awọn Ilana Ohun elo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1 ASIO ibudo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2 ESP-Modbus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 ESP-MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.4 ESP-TLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.5 ESP HTTP Client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.2.6 ESP Agbegbe Iṣakoso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.7 ESP Serial Ẹrú Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2.8 ESP x509 Iwe-ẹri Lapapo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.2.9 HTTP Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2.10 HTTPS Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
2.2.11 ICMP iwoyi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2.2.12 mDNS Iṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.13 Mbed TLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.14 IP Network Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3 Bluetooth API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.1 Bluetooth® wọpọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.2 Bluetooth® Low Agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
2.3.3 Bluetooth® Alailẹgbẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2.3.4 Adarí & HCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
2.3.5 ESP-BLE-MESH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
2.3.6 NimBLE-orisun ogun APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
2.4 Itọkasi Awọn koodu aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
2.5 Nẹtiwọki APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.2 àjọlò. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
2.5.3 Opo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
i
2.5.4 ESP-NETIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP Network Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Ohun elo Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Agbeegbe API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analog to Digital Converter (ADC) Awakọ Ipo Oneshot. . . . . . . . . . . . . . . . . 977 2.6.2 Analog to Digital Converter (ADC) Tesiwaju Ipo Awakọ. . . . . . . . . . . . . . . 986 2.6.3 Analog to Digital Converter (ADC) Awakọ Iṣatunṣe. . . . . . . . . . . . . . . . . . . 993 2.6.4 Igi aago. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital To Analog Converter (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Gbogbo Idi Aago (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Inter-Integrated Circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Inter-IC Ohun (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 LED Iṣakoso (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Mọto Iṣakoso Pulse Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Amunawa Iṣakoso latọna jijin (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD Awọn ibeere fifa soke. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC Oniwakọ ogun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Olutọju ogun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO Kaadi Ẹrú Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Awose (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Titunto Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Ẹrú Awakọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Elementi aabo). . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Sensọ Fọwọkan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Meji-Wire Automotive Interface (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Gbogbo Asynchronous olugba/Agbara (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Iṣeto ni Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Ifaara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Akojọ Iṣeto ni Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Lilo sdkconfig.defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig Awọn ofin kika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Ibamu sẹhin ti Awọn aṣayan Kconfig. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Itọkasi Awọn aṣayan Iṣeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 API Ipese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Ibaraẹnisọrọ Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Ipese isokan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Wi-Fi Ipese. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 API ipamọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fileeto Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 IwUlO iṣelọpọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Ile-ikawe Ibi ipamọ ti kii ṣe iyipada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Partition Generator IwUlO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC Awakọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Fileeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Foju filepaati eto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Wear Leveling API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 API System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 App Aworan kika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Ipele Ipele Ohun elo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Iṣẹ ipe pẹlu akopọ ita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Chip Àtúnyẹwò. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Awọn koodu aṣiṣe ati Awọn iṣẹ oluranlọwọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ọdun 1846
ii
2.10.8 ESP HTTPS OTA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Iṣẹlẹ Loop Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Overview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Awọn ẹya afikun) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Okiti Memory Pipin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Òkiti Memory N ṣatunṣe aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Aago Ipinnu giga (Aago ESP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Awọn API inu ati Aiduro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Inter-prosessor Ipe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Pipin idalọwọduro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Iwowe iwe-ikawe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Oriṣiriṣi APIs System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Lori Awọn imudojuiwọn Afẹfẹ (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Atẹle Iṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Isakoso agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX Awọn ila Atilẹyin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 ID Nọmba Iran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Awọn ipo oorun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC Awọn agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 System Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 API ipin himem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor siseto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Awọn aja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161
3 Itọkasi Hardware
2167
3.1 Chip Series lafiwe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167
3.1.1 Awọn iwe aṣẹ ti o jọmọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170
4 API Awọn itọsọna
2171
4.1 Ohun elo Ipele ikawe wiwa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.1 Ipariview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.2 Awọn ọna ṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.3 Iṣeto ni awọn aṣayan ati awọn ti o gbẹkẹle. . . . . . . . . . . . . . . . . . . . . . . . . . 2172
4.1.4 Bawo ni Lati Lo Yi Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173
4.2 Ṣiṣan Ibẹrẹ Ohun elo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181
4.2.1 Akọkọ stage bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.2 Ikeji stage bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.3 Ibẹrẹ ohun elo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183
4.3 Bluetooth® Alailẹgbẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.3.1 Ipariview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.4 Bluetooth® Low Agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.1 Ipariview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.2 Bẹrẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191
4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240
4.5 Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284
4.5.1 Bootloader ibamu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.2 Ipele Wọle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.3 Factory si ipilẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.4 Bata lati Idanwo famuwia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.5 Yiyi pada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.6 Oluṣọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.7 Bootloader Iwon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.8 Yara bata lati oorun orun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.9 Aṣa bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.6 Kọ System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.1 Ipariview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.2 Lilo awọn Kọ System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289
iii
4.6.3 Eksample Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Project CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 paati CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Iṣeto ni paati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Preprocessor Itumo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Awọn ibeere paati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Awọn apakan Ikọja ti Ise agbese na. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Iṣeto-nikan Awọn ohun elo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 N ṣatunṣe aṣiṣe CMake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Eksample paati CMakeLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Aṣa sdkconfig aiyipada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash ariyanjiyan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Kọ Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Kikọ Awọn ohun elo CMake mimọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Lilo CṢe Awọn iṣẹ akanṣe Ẹni-kẹta pẹlu Awọn Irinṣe. . . . . . . . . . . . . . . . . . . 2306 4.6.18 Lilo Awọn ile-ikawe ti a ti kọ tẹlẹ pẹlu awọn paati. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Lilo ESP-IDF ni Aṣa CMake Projects. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Kọ System API. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Awọn ile Ilọsiwaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Kọ Metadata System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Kọ System Internals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Gbigbe lati ESP-IDF GNU Ṣiṣe System. . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 mojuto Idasonu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Awọn atunto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Fipamọ idalenu mojuto si filasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Print mojuto idalenu to UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 ROM Awọn iṣẹ ni Backtraces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Idasonu awọn oniyipada lori eletan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Nṣiṣẹ espcoredump.py. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Jin orun Ji Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Ofin fun Ji Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Nmu A Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Nkojọpọ koodu Sinu RTC Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Nkojọpọ Data Sinu RTC Iranti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Ṣayẹwo Fun Awọn Stubs Ji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Eksample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Aṣiṣe Mimu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Awọn koodu aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Yiyipada awọn koodu aṣiṣe si awọn ifiranṣẹ aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK Makiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT Makiro. . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR Makiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR Makiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE Makiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE Makiro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 Ṣayẹwo MACROS Eksamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Aṣiṣe mimu awọn ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C ++ Awọn imukuro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Ọrọ Iṣaaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH Awọn imọran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Ṣiṣe Nẹtiwọọki kan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ṣiṣakoso Nẹtiwọọki kan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Data Gbigbe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Iyipada ikanni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv
4.10.8 išẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Awọn akọsilẹ siwaju sii. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Iṣẹlẹ mimu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet, ati IP Awọn iṣẹlẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Awọn iṣẹlẹ Mesh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Bluetooth Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Awọn aṣiṣe buburu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Ipariview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 ijaaya Handler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Iforukọsilẹ Idasonu ati Backtrace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog Timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Guru Meditation Asise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Awọn aṣiṣe Apaniyan miiran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Filasi ìsekóòdù. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Ifaara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 eFuses ti o yẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Filasi ìsekóòdù Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Filaṣi ìsekóòdù iṣeto ni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Awọn ikuna ti o ṣeeṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Ipo fifi ẹnọ kọ nkan Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Data kika ati kikọ ni Filaṣi ti paroko. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Ṣiṣe imudojuiwọn Filaṣi ti paroko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Pa fifi ẹnọ kọ nkan Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Awọn koko pataki Nipa fifi ẹnọ kọ nkan Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Awọn idiwọn ti fifi ẹnọ kọ nkan Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Filasi ìsekóòdù ati Secure Boot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 To ti ni ilọsiwaju Awọn ẹya ara ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Awọn alaye imọ-ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Hardware Abstraction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 faaji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Ipele kekere) Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Hardware Abstraction Layer). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Idilọwọ Ipele giga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Awọn ipele Idilọwọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Awọn akọsilẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG N ṣatunṣe aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Ọrọ Iṣaaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Bawo ni O Ṣiṣẹ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Yiyan JTAG Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Iṣeto ti OpenOCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Tito leto ESP32 Àkọlé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Ifilọlẹ Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 N ṣatunṣe aṣiṣe Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Ilé OpenOCD lati awọn orisun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Italolobo ati Quirks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 jẹmọ Awọn iwe aṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Linker Script generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Ibẹrẹ kiakia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generation Internals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Awọn API atilẹyin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Iṣẹ-ṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 Atilẹyin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip awọn iyipada aṣa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v
4.18.7 Imudara Iṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Iranti Orisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Data Ramu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Ramu ilana) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (koodu ṣiṣẹ lati filasi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data ti o fipamọ sinu filaṣi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC O lọra iranti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC iranti FAST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA Ibeere Agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA Ifipamọ ninu akopọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 Ṣiṣii Ọrọ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Awọn ipo ti akopọ OpenThread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Bi o ṣe le Kọ Ohun elo Titẹ Ṣii silẹ. . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 Olulana Aala OpenThread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Awọn tabili ipin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Awọn tabili ipin ti a ṣe sinu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Ṣiṣẹda Awọn tabili Aṣa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Ti o npese alakomeji ipin Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Awọn sọwedowo Iwọn ipin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Imọlẹ tabili ipin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Irinpa ipin (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Išẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Bi o ṣe le mu Iṣe dara julọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Awọn itọsọna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF odiwọn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Apakan odiwọn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Ni kikun odiwọn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Ko si odiwọn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 data ipilẹṣẹ PHY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API Itọkasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Bata to ni aabo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 abẹlẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Secure Boot Ilana Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Awọn bọtini. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Bootloader Iwon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Bi o ṣe le mu Boot Secure ṣiṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Tun-Flashable Software Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Ṣiṣẹda Secure Boot Ibuwọlu bọtini. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Ibuwọlu Latọna Awọn aworan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Secure Boot Ti o dara ju Àṣà. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Awọn alaye imọ-ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Secure Boot & Flash ìsekóòdù. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Wole App Ijerisi Laisi Hardware Secure Boot. . . . . . . . . . . . . . . . . . 2478 4.24.13 To ti ni ilọsiwaju Awọn ẹya ara ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Secure Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 abẹlẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Secure Boot V2 Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Ibuwọlu Àkọsílẹ kika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Ifipamọ to ni aabo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Imudaniloju Àkọsílẹ Ibuwọlu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Imudaniloju Aworan kan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Bootloader Iwon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse lilo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Bi o ṣe le Mu Boot Secure V2 ṣiṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Awọn ihamọ lẹhin Boot Aabo ti ṣiṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Ti o npese Secure Boot Ibuwọlu Key. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi
4.25.13 Ibuwọlu Latọna Awọn aworan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Secure Boot Ti o dara ju Àṣà. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Awọn alaye imọ-ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Bata to ni aabo & Filaṣi ìsekóòdù. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Ibuwọlu App Ijerisi Laisi Hardware Secure Boot. . . . . . . . . . . . . . . . . . 2484 4.25.18 To ti ni ilọsiwaju Awọn ẹya ara ẹrọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Atilẹyin fun Ramu ita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Ifihan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Iṣeto ni ita Ramu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Awọn ihamọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Ikuna lati pilẹṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Chip Awọn atunwo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Ibi ipamọ agbegbe o tẹle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Loriview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 API Itẹsiwaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Awọn irinṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker Aworan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF eroja Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Awọn irinṣẹ Gbigba lati ayelujara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Idanwo Ẹgbẹ ni ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Awọn ọran Idanwo deede. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Olona-ẹrọ Igbeyewo igba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Olona-ẹgbẹtage Awọn ọran Idanwo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Idanwo Fun Oriṣiriṣi Awọn ibi-afẹde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Building Unit App. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Ṣiṣe awọn Idanwo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 koodu akoko pẹlu Kaṣe Ẹsan Aago. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Egan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Igbeyewo Unit lori Lainos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Awọn idanwo sọfitiwia ifibọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Idanwo IDF Unit lori Lainos Gbalejo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi Awakọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi ẹya Akojọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Bi o ṣe le Kọ Ohun elo Wi-Fi kan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API koodu aṣiṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Paramita Ibẹrẹ. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Awoṣe Eto Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi Iṣẹlẹ Apejuwe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi Ibusọ Gbogbogbo ohn. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP Gbogbogbo ohn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi wíwo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi Ibusọ Nsopọ Oju iṣẹlẹ. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi Ibusọ Nsopọ Nigbati Awọn AP Pupọ Ṣe Ri. . . . . . . . . . . . . 2543 4.31.12 Wi-Fi Atunse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi Beacon Aago. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi iṣeto ni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy SoTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Alailowaya Network Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Redio Resource Wiwọn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Yiyara BSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Ipo fifipamọ agbara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi Gbigbawọle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
4.31.21 Wi-Fi 80211 Packet Firanṣẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer Ipo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi Multiple Eriali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi ikanni Alaye Ipinle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi ikanni Alaye Ipinle atunto. . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Wi-Fi Fragment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS Iforukọsilẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi saarin Lilo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Bi o ṣe le Mu Iṣe Wi-Fi dara si. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Laasigbotitusita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi Aabo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi Awọn ẹya Aabo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Awọn fireemu Isakoso Idaabobo (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Idawọlẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-ti ara ẹni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Imudara ṢiiTM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Ijọpọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Juview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Atilẹyin Iṣagbepọ Iṣalaye fun ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Ilana ibagbepo ati Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Bi o ṣe le Lo Ẹya Ijọpọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Atunse Kọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Ọrọ Iṣaaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Awọn idi fun awọn ile ti kii ṣe atunṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Ṣiṣe awọn agbero ti o le ṣe atunṣe ni ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Bawo ni awọn ile-itumọ ti ṣe aṣeyọri. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Atunse kọ ati ṣatunṣe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Awọn nkan ti o tun ni ipa lori awọn itumọ ti o ṣee ṣe. . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Itọsọna olumulo Ipo Agbara kekere. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578
5 Awọn Itọsọna Iṣilọ
2579
5.1 ESP-IDF 5.x Migration Itọsọna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
5.1.1 Iṣilọ lati 4.4 si 5.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
6 Awọn ile-ikawe ati Awọn ilana
2611
6.1 Awọsanma Frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.1 ESP RainMaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.2 Aws IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.3 Azure IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.4 Google IoT mojuto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.5 Aliyun IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.6 Joylink IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.7 Tencent IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.8 Tencentyun IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.9 Baidu IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2 Espressifns Frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.1 Espressif Audio Development Framework. . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.2 ESP-CSI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.3 Espressif DSP Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.4 ESP-WIFI-MESH Ilana Idagbasoke. . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.5 ESP-WHO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.6 ESP RainMaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.7 ESP-IoT-Ojutu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.8 ESP-ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
viii
6.2.9 ESP-BSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614
7 Itọsọna ilowosi
2615
7.1 Bi o ṣe le ṣe alabapin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.2 Ṣaaju Idasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.3 Fa Ibere Ilana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.4 ofin Apá. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5 Awọn iwe aṣẹ ti o jọmọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.1 Espressif IoT Development Framework ara Itọsọna. . . . . . . . . . . . . . . . . . . . 2616
7.5.2 Fi sori ẹrọ ṣaaju kio fun ESP-IDF Project. . . . . . . . . . . . . . . . . . . . . . . 2623
7.5.3 koodu iwe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624
7.5.4 Ṣiṣẹda Eksamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629
7.5.5 API Documentation Àdàkọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630
7.5.6 Adehun olùkópa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632
7.5.7 Copyright Akọsori Itọsọna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634
7.5.8 Awọn idanwo ESP-IDF pẹlu Itọsọna Pytest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635
8 ESP-IDF Awọn ẹya
2645
8.1 Awọn idasilẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.2 Ẹya wo ni MO Yẹ Bẹrẹ Pẹlu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.3 Ilana ẹya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.4 Awọn akoko atilẹyin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646
8.5 Ṣiṣayẹwo Ẹya lọwọlọwọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647
8.6 Git Bisesenlo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7 Nmu ESP-IDF imudojuiwọn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7.1 Nmu imudojuiwọn si Iduroṣinṣin Tu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.2 Nmudojuiwọn si Ẹya Tu-iṣaaju. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.3 Nmu imudojuiwọn si Ẹka Titunto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.4 Nmu imudojuiwọn si Ẹka Tu silẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650
9 oro
2651
9.1 PlatformIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.1 Ohun ti o jẹ PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.2 fifi sori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.3 Iṣeto ni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.4 Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.5 Project Eksamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.6 Next Igbesẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.2 Awọn ọna asopọ to wulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
10 Awọn aṣẹ lori ara ati awọn iwe-aṣẹ
2653
10.1 Software Awọn aṣẹ lori ara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.1 famuwia irinše. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.2 Iwe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.2 ROM Orisun koodu Awọn aṣẹ lori ara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.3 Xtensa libhal MIT iwe-ašẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.4 TinyBasic Plus MIT iwe-ašẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.5 TJpgDec iwe-ašẹ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
11 Nipa
2657
12 Yipada Laarin Awọn ede
2659
Atọka
2661
Atọka
2661
ix
x
Atọka akoonu
Eyi ni iwe fun Espressif IoT Development Framework (esp-idf). ESP-IDF jẹ ilana idagbasoke osise fun ESP32, ESP32-S ati ESP32-C Series SoCs. Iwe yii ṣe apejuwe lilo ESP-IDF pẹlu ESP32 SoC.
Bẹrẹ
Itọkasi API
API Awọn Itọsọna
Awọn ọna ṣiṣe Espressif
1 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Atọka akoonu
Awọn ọna ṣiṣe Espressif
2 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Abala 1
Bẹrẹ
Iwe yii jẹ ipinnu lati ṣe iranlọwọ fun ọ lati ṣeto agbegbe idagbasoke sọfitiwia fun ohun elo ti o da lori chirún ESP32 nipasẹ Espressif. Lẹhin ti o, a rọrun Mofiample yoo fihan ọ bi o ṣe le lo ESP-IDF (Espressif IoT Development Framework) fun iṣeto akojọ aṣayan, lẹhinna fun kikọ ati famuwia ikosan sori igbimọ ESP32 kan.
Akiyesi: Eyi jẹ iwe fun ẹya iduroṣinṣin v5.0.9 ti ESP-IDF. Awọn ẹya ESP-IDF miiran tun wa.
1.1 ifihan
ESP32 jẹ eto ti o wa lori chirún kan ti o ṣepọ awọn ẹya wọnyi: Wi-Fi (band 2.4 GHz) · Bluetooth · iṣẹ giga meji Xtensa® 32-bit LX6 CPU cores · Ultra Low Power co-processor · Multiple peripherals
Agbara nipasẹ imọ-ẹrọ 40 nm, ESP32 n pese ipilẹ to lagbara, ipilẹ ti o ni idapo pupọ, eyiti o ṣe iranlọwọ lati pade awọn ibeere ilọsiwaju fun lilo agbara daradara, apẹrẹ iwapọ, aabo, iṣẹ giga, ati igbẹkẹle. Espressif n pese ohun elo ipilẹ ati awọn orisun sọfitiwia lati ṣe iranlọwọ fun awọn idagbasoke ohun elo lati mọ awọn imọran wọn nipa lilo ohun elo jara ESP32. Ilana idagbasoke sọfitiwia nipasẹ Espressif jẹ ipinnu fun idagbasoke awọn ohun elo Internetof-Things (IoT) pẹlu Wi-Fi, Bluetooth, iṣakoso agbara ati ọpọlọpọ awọn ẹya eto miiran.
1.2 Ohun ti o nilo
1.2.1 Hardware
· Ohun ESP32 ọkọ. Okun USB – USB A / micro USB B. · Kọmputa nṣiṣẹ Windows, Lainos, tabi macOS.
Akiyesi: Lọwọlọwọ, diẹ ninu awọn igbimọ idagbasoke ti nlo awọn asopọ USB Iru C. Rii daju pe o ni okun to pe lati so igbimọ rẹ pọ!
Ti o ba ni ọkan ninu awọn igbimọ idagbasoke osise ESP32 ti a ṣe akojọ si isalẹ, o le tẹ ọna asopọ lati ni imọ siwaju sii nipa ohun elo naa.
3
Chapter 1. Bẹrẹ
ESP32-DevKitS(-R)
Itọsọna olumulo yii n pese alaye lori ESP32-DevKitS(-R), igbimọ ìmọlẹ orisun ESP32 ti a ṣe nipasẹ Espressif. ESP32-DevKitS (-R) jẹ apapo awọn orukọ igbimọ meji: ESP32-DevKitS ati ESP32-DevKitS-R. S duro fun orisun omi, ati R duro fun WROVER.
ESP32-DevKitS
ESP32-DevKitS-R
Iwe naa ni awọn apakan pataki wọnyi: · Bibẹrẹ: Pese ohun ti o pariview ti ESP32-DevKitS(-R) ati hardware/software setup ilana lati to bẹrẹ. · Itọkasi ohun elo: Pese alaye alaye diẹ sii nipa hardware ESP32-DevKitS(-R) ns. · Awọn iwe aṣẹ ti o jọmọ: Nfun awọn ọna asopọ si awọn iwe ti o jọmọ.
Bibẹrẹ Apa yii ṣe apejuwe bi o ṣe le bẹrẹ pẹlu ESP32-DevKitS(-R). O bẹrẹ pẹlu awọn apakan iforo diẹ nipa ESP32-DevKitS (-R), lẹhinna Abala Bi o ṣe le Filaṣi Igbimọ kan pese awọn ilana lori bi o ṣe le gbe module kan sori ESP32-DevKitS (-R), jẹ ki o ṣetan, ati famuwia filasi sori rẹ.
Pariview ESP32-DevKitS (-R) jẹ igbimọ ikosan Espressifns ti a ṣe apẹrẹ pataki fun ESP32. O le ṣee lo lati filasi ohun ESP32 module lai soldering module to ipese agbara ati ifihan agbara ila. Pẹlu module ti a gbe sori, ESP32-DevKitS (-R) tun le ṣee lo bi igbimọ idagbasoke kekere bii ESP32-DevKitC.
Awọn igbimọ ESP32-DevKitS ati ESP32-DevKitS-R yatọ nikan ni ifilelẹ awọn pinni orisun omi lati baamu awọn modulu ESP32 wọnyi.
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
Fun alaye nipa awọn module loke, jọwọ tọkasi lati ESP32 Series Modules.
Apejuwe ti irinše
Awọn ọna ṣiṣe Espressif
4 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
olusin 1: ESP32-DevKitS - iwaju
Awọn ọna ṣiṣe Espressif
olusin 2: ESP32-DevKitS-R – iwaju 5
Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Key paati Orisun omi Pinni 2.54 mm Female afori
USB-to-UART Afara LDO Micro-USB Asopọmọra/Bọtini Bọtini Ibudo USB Micro EN Bọtini Boot
Agbara Lori LED
Apejuwe Tẹ module ni awọn pinni yoo dada sinu modulens castellated ihò. Awọn akọle obinrin wọnyi ni asopọ si awọn pinni ti module ti a gbe sori igbimọ yii. Fun apejuwe awọn akọsori obinrin, jọwọ tọka si Awọn bulọọki Akọsori. Nikan-ërún USB to UART Afara pese gbigbe awọn ošuwọn ti to 3 Mbps.
5V-to-3.3V kekere-idasonu voltage olutọsọna (LDO).
USB ni wiwo. Ipese agbara fun igbimọ bi daradara bi wiwo ibaraẹnisọrọ laarin kọnputa ati igbimọ.
Bọtini atunto.
Download bọtini. Dimu mọlẹ Boot ati lẹhinna titẹ EN bẹrẹ ipo Gbigbasilẹ famuwia fun igbasilẹ famuwia nipasẹ ibudo ni tẹlentẹle.
Tan-an nigbati USB tabi ipese agbara ti sopọ si igbimọ.
Bi o ṣe le Fi Ọkọ Filaṣi kan Ṣaaju ṣiṣe agbara ESP32-DevKitS(-R rẹ), jọwọ rii daju pe o wa ni ipo ti o dara laisi awọn ami ibajẹ ti o han gbangba.
Ohun elo Hardware · Module ESP32 ti o fẹ · okun USB 2.0 (Standard-A si Micro-B) · Kọmputa nṣiṣẹ Windows, Linux, tabi macOS
Ṣiṣeto Hardware Jọwọ gbe module ti o fẹ sori ESP32-DevKitS(-R) rẹ ni ibamu si awọn igbesẹ wọnyi:
· Rọra fi module re lori ESP32-DevKitS (-R) ọkọ. Rii daju pe awọn ihò castellated lori module rẹ ni ibamu pẹlu awọn pinni orisun omi lori ọkọ.
· Tẹ module rẹ si isalẹ sinu ọkọ titi ti o tẹ. · Ṣayẹwo boya gbogbo awọn pinni orisun omi ti fi sii sinu awọn ihò castellated. Ti diẹ ninu awọn pinni orisun omi ti ko tọ,
gbe wọn sinu castellated ihò pẹlu tweezers.
Eto software
Ọna ti a fẹran Ilana idagbasoke ESP-IDF n pese ọna ayanfẹ ti awọn alakomeji didan si ESP32-DevKitS(-R). Jọwọ tẹsiwaju si Bibẹrẹ, nibiti fifi sori apakan yoo yara ran ọ lọwọ lati ṣeto agbegbe idagbasoke ati lẹhinna filasi ohun elo example lori rẹ ESP32-DevKitS(-R).
Ọna Yiyan Bi yiyan, awọn olumulo Windows le filasi awọn alakomeji nipa lilo Ọpa Gbigbasilẹ Flash. Kan ṣe igbasilẹ rẹ, ṣii sii, ki o tẹle awọn itọnisọna inu folda doc naa.
Akiyesi: 1. Lati filasi alakomeji files, ESP32 yẹ ki o ṣeto si ipo Gbigbasilẹ famuwia. Eyi le ṣee ṣe boya nipasẹ ohun elo filasi laifọwọyi, tabi nipa didimu bọtini Boot mọlẹ ati titẹ bọtini EN. 2. Lẹhin alakomeji ìmọlẹ files, Ọpa Gbigbasilẹ Filaṣi tun bẹrẹ module ESP32 rẹ ati bata ohun elo filasi nipasẹ aiyipada.
Board Mefa Awọn akoonu ati apoti
Awọn ọna ṣiṣe Espressif
6 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Ori 1. Bibẹrẹ aworan 3: Awọn iwọn igbimọ ESP32-DevKitS - pada
Awọn ọna ṣiṣe Espressif
Aworan 4: Awọn iwọn igbimọ ESP32-DevKitS-R - pada 7
Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Awọn ibere soobu Ti o ba paṣẹ awọn s diẹamples, kọọkan ESP32-DevKitS (-R) ba wa ni ẹni kọọkan package ni boya antistatic apo tabi eyikeyi apoti ti o da lori a alatuta. Fun awọn ibere soobu, jọwọ lọ si https://www.espressif.com/en/contact-us/get-samples.
Awọn aṣẹ osunwon Ti o ba paṣẹ ni olopobobo, awọn igbimọ wa ni awọn apoti paali nla. Fun awọn ibere osunwon, jọwọ lọ si https://www.espressif.com/en/contact-us/sales-questions.
Hardware Reference
Àkọsílẹ aworan atọka kan Àkọsílẹ ni isalẹ fihan awọn irinše ti ESP32-DevKitS(-R) ati awọn asopọ wọn.
Aworan 5: ESP32-DevKitS(-R) (tẹ lati tobi)
Awọn aṣayan Ipese Agbara Awọn ọna iyasọtọ mẹta lo wa lati pese agbara si igbimọ: · Micro USB port, ipese agbara aiyipada · 5V ati awọn pinni akọle GND · 3V3 ati awọn pinni akọle GND
O gba ọ niyanju lati lo aṣayan akọkọ: ibudo USB micro.
Awọn ọna ṣiṣe Espressif
.
Aami ifihan agbara
L1 3V3 VDD 3V3
L2 EN CHIP_PU
L3 VP SENSOR_VP
L4 VN SENSOR_VN
L5
GPIO34
L6
GPIO35
L7
GPIO32
L8
GPIO33
tesiwaju lori tókàn iwe
8 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Table 1 tesiwaju lati išaaju iwe
.
Aami ifihan agbara
L9
GPIO25
L10
GPIO26
L11
GPIO27
L12
GPIO14
L13
GPIO12
L14 GND GND
L15
GPIO13
L16 D2 SD_DATA2
L17 D3 SD_DATA3
L18 CMD SD_CMD
L19 5V
Ita 5V
R1 GND GND
R2 23
GPIO23
R3 22
GPIO22
R4 TX U0TXD
R5 RX U0RXD
R6 21
GPIO21
R7 GND GND
R8 19
GPIO19
R9 18
GPIO18
R10 5
GPIO5
R11 17
GPIO17
R12 16
GPIO16
R13 4
GPIO4
R14 0
GPIO0
R15 2
GPIO2
R16 15
GPIO15
R17 D1 SD_DATA1
R18 D0 SD_DATA0
R19 CLK SD_CLK
Awọn bulọọki akọsori Fun aworan ti awọn bulọọki akọsori, jọwọ tọka si Apejuwe Awọn paati.
Awọn iwe aṣẹ ti o jọmọ
· ESP32-DevKitS (-R) Awọn eto eto (PDF) · ESP32 Datasheet (PDF) · ESP32-WROOM-32 Datasheet (PDF) Iwe data (PDF) · ESP32-WROVER-B Datasheet (PDF) · ESP Ọja Yiyan
ESP32-DevKitM-1
Itọsọna olumulo yii yoo ran ọ lọwọ lati bẹrẹ pẹlu ESP32-DevKitM-1 ati pe yoo tun pese alaye ijinle diẹ sii.
ESP32-DevKitM-1 jẹ igbimọ idagbasoke orisun ESP32-MINI-1 (1U) ti a ṣe nipasẹ Espressif. Pupọ julọ awọn pinni I / O ti fọ si awọn akọle pin ni ẹgbẹ mejeeji fun ibaramu irọrun. Awọn olumulo le so awọn agbeegbe pọ pẹlu awọn okun onirin tabi gbe ESP32-DevKitM-1 sori apoti akara.
Awọn ọna ṣiṣe Espressif
9 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
ESP32-DevKitM-1 - iwaju
ESP32-DevKitM-1 - isometric
Iwe naa ni awọn apakan pataki wọnyi: · Bibẹrẹ: Pese ohun ti o pariview ti ESP32-DevKitM-1 ati hardware/software setup ilana lati to bẹrẹ. · Itọkasi ohun elo: Pese alaye alaye diẹ sii nipa ohun elo ESP32-DevKitM-1ns. · Awọn iwe aṣẹ ti o jọmọ: Nfun awọn ọna asopọ si documentaiton ti o ni ibatan.
Bibẹrẹ Apa yii ṣe apejuwe bi o ṣe le bẹrẹ pẹlu ESP32-DevKitM-1. O bẹrẹ pẹlu awọn apakan iforo diẹ nipa ESP32-DevKitM-1, lẹhinna Abala Ibẹrẹ Ohun elo Idagbasoke pese awọn itọnisọna lori bi o ṣe le ṣe iṣeto ohun elo akọkọ ati lẹhinna bii o ṣe le filasi famuwia sori ESP32-DevKitM-1.
Pariview Eyi jẹ igbimọ idagbasoke kekere ati irọrun ti o ni ẹya:
· ESP32-MINI-1, tabi ESP32-MINI-1U module · USB-to-serial programming interface ti o tun pese ipese agbara fun igbimọ · awọn akọle pin · awọn bọtini titari fun atunto ati imuṣiṣẹ ti ipo Gbigbasilẹ famuwia · awọn paati miiran diẹ
Awọn akoonu ati apoti
Awọn ibere soobu Ti o ba paṣẹ awọn s diẹamples, kọọkan ESP32-DevKitM-1 wa ni ẹni kọọkan package ni boya antistatic apo tabi eyikeyi apoti ti o da lori rẹ alagbata.
Fun awọn ibere soobu, jọwọ lọ si https://www.espressif.com/en/contact-us/get-samples.
Awọn aṣẹ osunwon Ti o ba paṣẹ ni olopobobo, awọn igbimọ wa ni awọn apoti paali nla. Fun awọn ibere osunwon, jọwọ lọ si https://www.espressif.com/en/contact-us/sales-questions.
Apejuwe ti irinše Nọmba atẹle ati tabili ni isalẹ ṣe apejuwe awọn paati bọtini, awọn atọkun ati awọn idari ti igbimọ ESP32-DevKitM-1. A ya awọn ọkọ pẹlu ESP32-MINI-1 module bi ohun Mofiample ninu awọn wọnyi ruju.
Awọn ọna ṣiṣe Espressif
10 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
olusin 6: ESP32-DevKitM-1 - iwaju
Key paati On-ọkọ module
5 V to 3.3 V LDO Boot Bọtini
Bọtini Tunto Micro-USB Port
USB-to-UART Bridge 3.3 V Agbara Lori LED
I/O Asopọmọra
Apejuwe
ESP32-MINI-1 module tabi ESP32-MINI-1U module. ESP32-MINI-1 wa pẹlu eriali PCB lori-ọkọ. ESP32-MINI-1U wa pẹlu asopo eriali ita. Awọn meji modulu mejeji ni a 4 MB filasi ni ërún package. Fun awọn alaye, jọwọ wo ESP32-MINI-1 & ESP32-MINI-1U Datasheet.
Olutọsọna agbara ṣe iyipada 5 V si 3.3 V.
Download bọtini. Dimu mọlẹ Boot ati lẹhinna titẹ Tunto bẹrẹ ipo Gbigbasilẹ famuwia fun igbasilẹ famuwia nipasẹ ibudo ni tẹlentẹle.
Bọtini atunto
USB ni wiwo. Ipese agbara fun igbimọ bi daradara bi wiwo ibaraẹnisọrọ laarin kọnputa kan ati chirún ESP32.
Nikan USB-UART Afara ërún pese awọn oṣuwọn gbigbe to 3 Mbps.
Tan-an nigbati okun USB ti sopọ si igbimọ. Fun awọn alaye, jọwọ wo awọn sikematiki ni Awọn iwe aṣẹ ti o jọmọ. Gbogbo awọn pinni GPIO ti o wa (ayafi fun ọkọ akero SPI fun filasi) ti fọ si awọn akọle pin lori ọkọ. Awọn olumulo le ṣe eto chirún ESP32 lati mu awọn iṣẹ lọpọlọpọ ṣiṣẹ.
Bẹrẹ Idagbasoke Ohun elo Ṣaaju ṣiṣe agbara ESP32-DevKitM-1 rẹ, jọwọ rii daju pe o wa ni ipo ti o dara laisi awọn ami ibajẹ ti o han gbangba.
Hardware ti a beere · ESP32-DevKitM-1 · okun USB 2.0 (Standard-A si Micro-B) · Kọmputa nṣiṣẹ Windows, Linux, tabi macOS
Ṣiṣeto sọfitiwia Jọwọ tẹsiwaju si Bibẹrẹ, nibiti fifi sori apakan yoo yara ran ọ lọwọ lati ṣeto agbegbe idagbasoke ati lẹhinna filasi ohun elo example lori rẹ ESP32-DevKitM-1.
Awọn ọna ṣiṣe Espressif
11 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Akiyesi: Awọn igbimọ ESP32-DevKitM-1 ti a ṣe ṣaaju Oṣu kejila ọjọ 2, 2021 ni a fi sori ẹrọ module mojuto ẹyọkan. Lati mọ daju ohun ti module ti o ni, jọwọ ṣayẹwo module siṣamisi alaye ni PCN-2021-021 . Ti igbimọ rẹ ba ni module mojuto kan ti a fi sori ẹrọ, jọwọ mu ipo mojuto ọkan ṣiṣẹ (CONFIG_FREERTOS_UNICORE) ni menuconfig ṣaaju ki o to tan awọn ohun elo rẹ.
Atọka Itọkasi Itọkasi Ohun elo Ohun elo idina kan ni isalẹ fihan awọn paati ESP32-DevKitM-1 ati awọn asopọ wọn.
olusin 7: ESP32-DevKitM-1
Orisun Agbara Yan Awọn ọna iyasọtọ mẹta lo wa lati pese agbara si igbimọ: · Micro USB port, ipese agbara aiyipada · 5V ati awọn pinni akọle GND · 3V3 ati awọn pinni akọle GND
Ikilọ: · Ipese agbara gbọdọ wa ni lilo ọkan ati ọkan ninu awọn aṣayan loke, bibẹẹkọ igbimọ ati/tabi orisun ipese agbara le bajẹ. Ipese agbara nipasẹ ibudo USB micro jẹ iṣeduro.
Awọn apejuwe Pin Tabili ti o wa ni isalẹ n pese Orukọ ati Iṣẹ ti awọn pinni ni ẹgbẹ mejeeji ti igbimọ naa. Fun awọn atunto pin agbeegbe, jọwọ tọka si ESP32 Datasheet.
Rara.
Oruko
Iru
1
GND
P
2
3V3
P
Ilẹ iṣẹ 3.3 V ipese agbara
tesiwaju lori tókàn iwe
Awọn ọna ṣiṣe Espressif
12 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Table 2 tesiwaju lati išaaju iwe
Rara.
Oruko
Iru
Išẹ
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
Tunto; Ga: jeki; Kekere: awọn agbara ni pipa
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
I/O
GPIO32, XTAL_32K_P (itẹwọle oscillator kHz 32.768 kHz),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
I/O
GPIO33, XTAL_32K_N (32.768 kHz oscillator gara)
ADC1_CH5, TOUCH8, RTC_GPIO8
12
IO25
I/O
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
13
IO26
I/O
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
14
IO27
I/O
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
15
IO14
I/O
GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
16
5V
P
5 V ipese agbara
17
IO12
I/O
GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ,
HS2_DATA2, SD_DATA2, Emac_TXD3
18
IO13
I/O
GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,
HS2_DATA3, SD_DATA3, Emac_RX_ER
19
IO15
I/O
GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0,
HS2_CMD, SD_CMD, EMAC_RXD3
20
IO2
I/O
GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,
HS2_DATA0, SD_DATA0
21
IO0
I/O
GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,
Emac_TX_CLK
22
IO4
I/O
GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, Emac_TX_ER
23
IO9
I/O
GPIO9, HS1_DATA2, U1RXD, SD_DATA2
24
IO10
I/O
GPIO10, HS1_DATA3, U1TXD, SD_DATA3
25
IO5
I/O
GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
26
IO18
I/O
GPIO18, HS1_DATA7, VSPICLK
27
IO23
I/O
GPIO23, HS1_STROBE, VSPID
28
IO19
I/O
GPIO19, VSPIQ, U0CTS, EMAC_TXD0
29
IO22
I/O
GPIO22, VSPIWP, U0RTS, EMAC_TXD1
30
IO21
I/O
GPIO21, VSPIHD, EMAC_TX_EN
31
TXD0
I/O
GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
32
RXD0
I/O
GPIO3, U0RXD, CLK_OUT2
Awọn alaye Atunyẹwo Hardware Ko si awọn ẹya iṣaaju ti o wa.
Awọn iwe aṣẹ ti o jọmọ
· ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Sikematiki (PDF) · ESP32-DevKitM-1 PCB akọkọ (PDF) · ESP32-DevKitM-1 iṣeto (DXF) – O le view o pẹlu Autodesk Viewer online · ESP32 Datasheet (PDF) · ESP ọja Selector
Fun awọn iwe apẹrẹ miiran fun igbimọ, jọwọ kan si wa ni sales@espressif.com.
Awọn ọna ṣiṣe Espressif
13 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
1.2.2 Software
Lati bẹrẹ lilo ESP-IDF lori ESP32, fi sọfitiwia wọnyi sori ẹrọ: · Ohun elo irinṣẹ lati ṣajọ koodu fun ESP32 · Awọn irinṣẹ Kọ - CMake ati Ninja lati kọ Ohun elo ni kikun fun ESP32 · ESP-IDF ti o ni pataki API (awọn ile-ikawe software ati koodu orisun) fun ESP32 ati awọn iwe afọwọkọ lati ṣiṣẹ ohun elo irinṣẹ
1.3 fifi sori ẹrọ
Lati fi gbogbo sọfitiwia ti a beere sori ẹrọ, a nfunni diẹ ninu awọn ọna oriṣiriṣi lati dẹrọ iṣẹ yii. Yan lati ọkan ninu awọn aṣayan to wa.
1.3.1 IDE
Akiyesi: A ṣeduro gíga fifi ESP-IDF sori ẹrọ nipasẹ IDE ayanfẹ rẹ.
· Ohun itanna oṣupa · Itẹsiwaju VSCode
1.3.2 Fifi sori Afowoyi
Fun ilana afọwọṣe, jọwọ yan gẹgẹbi ẹrọ ṣiṣe rẹ.
Awọn ọna ṣiṣe Espressif
14 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Iṣeto Didara ti Ọpa Irinṣẹ fun Windows
Ibẹrẹ ESP-IDF nilo diẹ ninu awọn irinṣẹ pataki lati fi sori ẹrọ ki o le kọ famuwia fun awọn eerun atilẹyin. Awọn irinṣẹ pataki pataki pẹlu Python, Git, awọn akopọ-agbelebu, CMake ati awọn irinṣẹ kọ Ninja. Fun Bibẹrẹ yii iwọ yoo lo aṣẹ Tọ, ṣugbọn lẹhin ti o ti fi sii ESP-IDF o le lo itanna Eclipse tabi IDE ayaworan miiran pẹlu atilẹyin CMake dipo. Akiyesi: Awọn idiwọn: – Ọna fifi sori ẹrọ ti ESP-IDF ati Awọn irinṣẹ ESP-IDF ko gbọdọ gun ju awọn ohun kikọ 90 lọ. Awọn ọna fifi sori gigun ju le ja si kikọ ti o kuna. - Ọna fifi sori ẹrọ ti Python tabi ESP-IDF ko gbọdọ ni awọn aaye funfun tabi awọn akọmọ. - Ọna fifi sori ẹrọ ti Python tabi ESP-IDF ko yẹ ki o ni awọn ohun kikọ pataki (nonASCII) ayafi ti ẹrọ iṣẹ ba tunto pẹlu oUnicode UTF-8psupport. Oluṣakoso eto le ṣe atilẹyin nipasẹ Igbimọ Iṣakoso – Yi ọjọ pada, akoko, tabi awọn ọna kika nọmba – taabu Isakoso – Yi agbegbe eto pada – ṣayẹwo aṣayan oBeta: Lo Unicode UTF-8 fun atilẹyin ede agbaye – Ok ati atunbere kọnputa naa.
Insitola Awọn Irinṣẹ ESP-IDF Ọna to rọọrun lati fi sori ẹrọ awọn ibeere pataki ESP-IDFn ni lati ṣe igbasilẹ ọkan ninu Awọn fifi sori ẹrọ Awọn irinṣẹ ESP-IDF.
Windows Installer Download
Kini lilo fun Online ati insitola Online Insitola jẹ kekere pupọ ati gba laaye fifi sori ẹrọ gbogbo awọn idasilẹ ti o wa ti ESP-IDF. Insitola yoo ṣe igbasilẹ awọn igbẹkẹle pataki nikan pẹlu Git Fun Windows lakoko ilana fifi sori ẹrọ. Awọn insitola ti wa ni fipamọ files ni kaṣe liana% userprofile%. espressif
Insitola aisinipo ko nilo asopọ nẹtiwọọki eyikeyi. Insitola naa ni gbogbo awọn igbẹkẹle ti a beere pẹlu Git Fun Windows.
Awọn ẹya ara ẹrọ fifi sori ẹrọ Olupilẹṣẹ n ran awọn paati wọnyi lọ:
Python ti a fi sii · Awọn alakopọ-agbelebu · ṢiiOCD · CMake ati awọn irinṣẹ kọ Ninja · ESP-IDF
Insitola tun ngbanilaaye atunlo ilana ti o wa pẹlu ESP-IDF. Ilana ti a ṣe iṣeduro jẹ % userprofile%Desktopesp-idf nibiti% userprofile% jẹ ilana ile rẹ.
Awọn ọna ṣiṣe Espressif
15 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Ifilọlẹ Ayika ESP-IDF Ni ipari ilana fifi sori ẹrọ o le ṣayẹwo aṣayan Ṣiṣe ESP-IDF PowerShell Ayika tabi Ṣiṣe ESP-IDF Command Prompt (cmd.exe). Olupilẹṣẹ naa yoo ṣe ifilọlẹ agbegbe ESP-IDF ni kiakia ti o yan. Ṣiṣe ESP-IDF PowerShell Ayika:
Aworan 8: Ipari Oluṣeto Iṣeto Awọn irinṣẹ ESP-IDF pẹlu Ṣiṣe ESP-IDF PowerShell Ayika
Ṣiṣe ESP-IDF Command Prompt (cmd.exe):
Lilo Aṣẹ Tọ Fun awọn igbesẹ Bibẹrẹ ti o ku, iwọ yoo lo Aṣẹ Aṣẹ Windows. Insitola Awọn Irinṣẹ ESP-IDF tun ṣẹda ọna abuja kan ninu akojọ Ibẹrẹ lati ṣe ifilọlẹ Aṣẹ ESP-IDF. Ọna abuja yii ṣe ifilọlẹ Command Prompt (cmd.exe) ati ṣiṣe iwe afọwọkọ okeere.bat lati ṣeto awọn oniyipada ayika (PATH, IDF_PATH ati awọn miiran). Ninu itọsọna aṣẹ yii, gbogbo awọn irinṣẹ ti a fi sori ẹrọ wa. Ṣe akiyesi pe ọna abuja yii jẹ pato si itọsọna ESP-IDF ti a yan ninu Insitola Awọn Irinṣẹ ESP-IDF. Ti o ba ni awọn ilana ESP-IDF pupọ lori kọnputa (fun example, lati ṣiṣẹ pẹlu awọn ẹya oriṣiriṣi ti ESP-IDF), o ni awọn aṣayan meji lati lo wọn:
1. Ṣẹda ẹda ti ọna abuja ti a ṣẹda nipasẹ Insitola Awọn irinṣẹ ESP-IDF, ki o yi itọsọna iṣẹ ti ọna abuja tuntun pada si itọsọna ESP-IDF ti o fẹ lati lo.
2. Ni omiiran, ṣiṣe cmd.exe, lẹhinna yipada si itọsọna ESP-IDF ti o fẹ lati lo, ati ṣiṣe okeere.bat. Ṣe akiyesi pe ko dabi aṣayan iṣaaju, ọna yii nilo Python ati Git lati wa ni PATH. Ti o ba gba awọn aṣiṣe ti o ni ibatan si Python tabi Git ko rii, lo aṣayan akọkọ.
Awọn Igbesẹ akọkọ lori ESP-IDF Bayi niwọn igba ti gbogbo awọn ibeere ti pade, koko ti o tẹle yoo ṣe itọsọna fun ọ bi o ṣe le bẹrẹ iṣẹ akanṣe akọkọ rẹ.
Awọn ọna ṣiṣe Espressif
16 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ olusin 9: ESP-IDF PowerShell
Aworan 10: Ipari Oluṣeto Iṣeto Awọn Irinṣẹ ESP-IDF pẹlu Ṣiṣe ESP-IDF Command Prompt (cmd.exe)
Awọn ọna ṣiṣe Espressif
17 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
olusin 11: ESP-IDF Òfin Tọ
Awọn ọna ṣiṣe Espressif
18 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Itọsọna yii yoo ran ọ lọwọ ni awọn igbesẹ akọkọ nipa lilo ESP-IDF. Tẹle itọsọna yii lati bẹrẹ iṣẹ akanṣe tuntun lori ESP32 ati kọ, filasi, ati ṣe atẹle iṣelọpọ ẹrọ. Akiyesi: Ti o ko ba tii fi sii ESP-IDF, jọwọ lọ si Fifi sori ẹrọ ki o tẹle ilana naa lati le gba gbogbo sọfitiwia ti o nilo lati lo itọsọna yii.
Bẹrẹ Ise agbese kan Bayi o ti ṣetan lati mura ohun elo rẹ fun ESP32. O le bẹrẹ pẹlu iṣẹ akanṣe bẹrẹ/hello_world lati examples liana ni ESP-IDF.
Pataki: Eto kikọ ESP-IDF ko ṣe atilẹyin awọn aaye ni awọn ọna si boya ESP-IDF tabi si awọn iṣẹ akanṣe.
Daakọ iṣẹ akanṣe bẹrẹ/hello_world si ~/esp liana: cd %userprofile%esp xcopy /e /i %IDF_PATH% examplesget-startedhello_aye hello_aye
Akiyesi: Nibẹ ni a ibiti o ti example ise agbese ni examples liana ni ESP-IDF. O le daakọ eyikeyi iṣẹ akanṣe ni ọna kanna bi a ti gbekalẹ loke ati ṣiṣe rẹ. O tun ṣee ṣe lati kọ examples ni-ibi lai a daakọ wọn akọkọ.
So Ẹrọ rẹ pọ Bayi so igbimọ ESP32 rẹ pọ si kọnputa ki o ṣayẹwo labẹ iru ibudo ni tẹlentẹle igbimọ naa han. Awọn orukọ ibudo ni tẹlentẹle bẹrẹ pẹlu COM ni Windows. Ti o ko ba ni idaniloju bi o ṣe le ṣayẹwo orukọ ibudo ni tẹlentẹle, jọwọ tọka si Ṣeto Asopọ Serial pẹlu ESP32 fun awọn alaye ni kikun.
Akiyesi: Jeki orukọ ibudo ni ọwọ bi iwọ yoo nilo rẹ ni awọn igbesẹ atẹle.
Ṣe atunto Ise agbese Rẹ Lilö kiri si itọsọna hello_world rẹ, ṣeto ESP32 bi ibi-afẹde, ki o si ṣiṣẹ iṣeto iṣeto iṣẹ akanṣe menuconfig.
Windows cd% olumuloprofile%esphello_world idf.py ṣeto-afojusun esp32 idf.py menuconfig
Lẹhin ṣiṣi iṣẹ akanṣe tuntun, o yẹ ki o kọkọ ṣeto ibi-afẹde pẹlu idf.py set- target esp32. Ṣe akiyesi pe awọn itumọ ti o wa tẹlẹ ati awọn atunto ninu iṣẹ akanṣe, ti eyikeyi, yoo jẹ imukuro ati ipilẹṣẹ ninu ilana yii. Ibi-afẹde le wa ni fipamọ ni oniyipada ayika lati foju igbesẹ yii rara. Wo Yan Chip Àkọlé: ṣeto-afojusun fun alaye ni afikun. Ti o ba ti ṣe awọn igbesẹ ti tẹlẹ bi o ti tọ, akojọ aṣayan atẹle yoo han: O nlo akojọ aṣayan yii lati ṣeto awọn oniyipada kan pato iṣẹ akanṣe, fun apẹẹrẹ, orukọ nẹtiwọọki Wi-Fi ati ọrọ igbaniwọle, iyara ero isise, ati bẹbẹ lọ Ṣiṣeto iṣẹ akanṣe pẹlu menuconfig le jẹ foo fun ohllo_wordp, niwon igba atijọ yii.ample nṣiṣẹ pẹlu aiyipada iṣeto ni.
Akiyesi: Ti o ba lo igbimọ ESP32-DevKitC pẹlu module ESP32-SOLO-1, tabi igbimọ ESP32-DevKitM-1 pẹlu module ESP32-MIN1-1(1U), jọwọ mu ipo mojuto ẹyọkan ṣiṣẹ (CONFIG_FREERTOS_UNICORE) ni menuconfig ṣaaju ki o to tan imọlẹ examples.
Awọn ọna ṣiṣe Espressif
19 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
olusin 12: Iṣeto ni ise agbese - Home window
Akiyesi: Awọn awọ ti akojọ aṣayan le yatọ ni ebute rẹ. O le yi irisi pada pẹlu aṣayan - ara. Jọwọ ṣiṣe idf.py menuconfig –iranlọwọ fun alaye siwaju sii.
Ti o ba nlo ọkan ninu awọn igbimọ idagbasoke atilẹyin, o le mu idagbasoke rẹ pọ si nipa lilo Package Support Board. Wo Awọn imọran afikun fun alaye diẹ sii.
Kọ Ise agbese Kọ iṣẹ akanṣe nipasẹ ṣiṣe:
idf.py kọ
Aṣẹ yii yoo ṣajọ ohun elo naa ati gbogbo awọn paati ESP-IDF, lẹhinna yoo ṣe agbejade bootloader, tabili ipin, ati awọn alakomeji ohun elo.
$ idf.py build Nṣiṣẹ cmake ni liana /pato/to/hello_world/build Ṣiṣe “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… Kilo nipa awọn iye ti ko ni ibẹrẹ. - Ri Git: /usr/bin/git (ẹya ti a rii “2.17.0”) - Ilé paati aws_iot ofo nitori iṣeto ni - Awọn orukọ paati: … — Awọn ọna paati: …
(awọn laini diẹ sii ti iṣelọpọ eto kikọ)
[527/527] Ti o npese hello_world.bin esptool.py v2.3.1
Ise agbese Kọ pari. Lati filasi, ṣiṣẹ aṣẹ yii: .././ bin kọ 0x1000 kọ / bootloader / bootloader.bin 0x8000 kọ / partition_table / partition-table.bin tabi ṣiṣe 'idf.py -p PORT flash'
Ti ko ba si awọn aṣiṣe, kikọ yoo pari nipa ti ipilẹṣẹ famuwia alakomeji .bin files.
Awọn ọna ṣiṣe Espressif
20 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Filaṣi sori ẹrọ Filaṣi awọn alakomeji ti o ṣẹṣẹ kọ (bootloader.bin, partition-table.bin ati hello_world.bin) sori igbimọ ESP32 rẹ nipa ṣiṣe: idf.py -p PORT [-b BAUD] filasi.
Ropo PORT pẹlu rẹ ESP32 boardns ni tẹlentẹle ibudo orukọ. O tun le yi oṣuwọn baud flasher pada nipa rirọpo BAUD pẹlu oṣuwọn baud ti o nilo. Iwọn baud aiyipada jẹ 460800. Fun alaye diẹ sii lori awọn ariyanjiyan idf.py, wo idf.py.
Akiyesi: Filaṣi aṣayan laifọwọyi kọ ati tan imọlẹ ise agbese, nitorina ṣiṣe idf.py kọ ko ṣe pataki.
Awọn ọran ti o dojuko Lakoko ti o nmọlẹ bi? Ti o ba ṣiṣẹ aṣẹ ti a fun ati rii awọn aṣiṣe iru asoTi kuna lati sopọ, awọn idi pupọ le wa fun eyi. Ọkan ninu awọn idi le jẹ awọn ọran ti o ba pade nipasẹ esptool.py, ohun elo ti a pe nipasẹ eto kikọ lati tun chirún tunto, ṣe ajọṣepọ pẹlu bootloader ROM, ati famuwia filasi. Ojutu ti o rọrun lati gbiyanju jẹ atunto afọwọṣe ti a ṣalaye ni isalẹ, ati pe ti ko ba ṣe iranlọwọ o le wa awọn alaye diẹ sii nipa awọn ọran ti o ṣeeṣe ni Laasigbotitusita.
esptool.py tunto ESP32 laifọwọyi nipa sisọ DTR ati awọn laini iṣakoso RTS ti USB si chirún oluyipada ni tẹlentẹle, ie, FTDI tabi CP210x (fun alaye diẹ sii, wo Fi idi Asopọ Serial pẹlu ESP32). Awọn laini iṣakoso DTR ati RTS wa ni ọna asopọ si GPIO0 ati awọn pinni CHIP_PU (EN) ti ESP32, nitorinaa yipada ninu vol.tage awọn ipele ti DTR ati RTS yoo bata ESP32 sinu ipo Gbigbasilẹ famuwia. Bi example, ṣayẹwo awọn sikematiki fun ESP32 DevKitC idagbasoke ọkọ.
Ni gbogbogbo, o yẹ ki o ko ni awọn iṣoro pẹlu awọn igbimọ idagbasoke esp-idf osise. Sibẹsibẹ, esptool.py ko ni anfani lati tun hardware rẹ ṣe laifọwọyi ni awọn iṣẹlẹ wọnyi:
Ohun elo ẹrọ rẹ ko ni awọn laini DTR ati RTS ti o sopọ mọ GPIO0 ati CHIP_PU · Awọn laini DTR ati RTS ni a tunto ni oriṣiriṣi · Ko si iru awọn laini iṣakoso ni tẹlentẹle rara rara.
Ti o da lori iru ohun elo ti o ni, o tun le ṣee ṣe lati fi ọwọ ESP32 igbimọ rẹ sinu ipo Gbigbasilẹ famuwia (tunto).
Fun awọn igbimọ idagbasoke ti a ṣe nipasẹ Espressif, alaye yii ni a le rii ninu awọn itọsọna bibẹrẹ tabi awọn itọsọna olumulo. Fun example, lati tun ohun ESP-IDF idagbasoke ọkọ, o si mu mọlẹ awọn Boot bọtini (GPIO0) ki o si tẹ awọn EN bọtini (CHIP_PU).
Fun awọn iru ohun elo miiran, gbiyanju fifa GPIO0 si isalẹ.
Isẹ deede Nigbati o ba n tan imọlẹ, iwọ yoo wo akọọlẹ iṣẹjade ti o jọra si atẹle naa:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 0x8000 partition_table.0x-partition_table/partition bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Nsopọ ……._ Chip jẹ ESP32D0WDQ6 (atunyẹwo 0) Awọn ẹya: WiFi, BT, Meji Core, Ifaminsi Ero Kò Crystal: 40MHz 24:0a:c4:05:b9:14 Ikojọpọ stub… Ṣiṣe stub… Stub nṣiṣẹ… Yiyipada oṣuwọn baud si 460800 Yipada.
(tesiwaju ni oju-iwe ti o tẹle)
Awọn ọna ṣiṣe Espressif
21 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
(tesiwaju lati oju-iwe ti tẹlẹ) Ṣiṣeto iwọn filasi… Fisinuirindigbindigbin 3072 awọn baiti si 103… Kikọ ni 0x00008000… (100%) Kọ 3072 awọn baiti (fisinuirindigbindigbin103) ni 0x00008000 ni iṣẹju-aaya 0.00000000.0.82 data ti o munadoko) Fisinuirindigbindigbin 26096 awọn baiti si 15408… Kikọ ni 0x00001000… (100%) Kọ 26096 awọn baiti (15408 fisinuirindigbindigbin) ni 0x00001000 ni 0.4 aaya (munadoko 546.7 kbit/s data)ified… Hash ti data. Fisinuirindigbindigbin 147104 awọn baiti si 77364… Kikọ ni 0x00010000… (20%) Kikọ ni 0x00014000… (40%) Kikọ ni 0x00018000… (60%) Kikọ ni 0x0001c0.0… 0x00020000… (100%) Kọ 147104 awọn baiti (77364 fisinuirindigbindigbin) ni 0x00010000 ni iṣẹju 1.9 (munadoko 615. 5 kbit/s)… Hash ti data jẹri.
Nlọ… Atunto lile nipasẹ PIN RTS… Ti ṣee
Ti ko ba si awọn ọran ni ipari ilana filasi, igbimọ naa yoo tun bẹrẹ ati bẹrẹ theohello_worldpapplication. Ti o ba fẹ lati lo Eclipse tabi IDE koodu VS dipo ṣiṣiṣẹ idf.py, ṣayẹwo Eclipse Plugin, VSCode Extension.
Bojuto Abajade Lati ṣayẹwo boya ohllo_worldpis n ṣiṣẹ nitootọ, tẹ atẹle idf.py -p PORT (Maṣe gbagbe lati rọpo PORT pẹlu orukọ ibudo ni tẹlentẹle rẹ).
Aṣẹ yii ṣe ifilọlẹ ohun elo IDF Monitor:
$ idf.py -p Atẹle Ṣiṣe idf_monitor ninu itọsọna […]/esp/hello_world/kọ Ṣiṣe ṣiṣe “Python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… - idf_monitor on 115200 —– Jade: Konturolu +] | Akojọ: Ctrl+T | Iranlọwọ: Ctrl+T atẹle nipa Ctrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET), bata: 0x13 (SPI_FAST_FLASH_BOOT) ati Oṣu Kẹjọ Ọjọ 8 Ọdun 2016 00:22:57 …
Lẹhin ibẹrẹ ati awọn akọọlẹ iwadii yi lọ soke, o yẹ ki o wo oHello aye! ti a tẹjade nipasẹ ohun elo naa.
… Mo ki O Ile Aiye! Titun bẹrẹ ni iṣẹju-aaya 10… Eyi jẹ chirún esp32 pẹlu 2 CPU mojuto (s), WiFi/BT/BLE, atunyẹwo silikoni 1, filasi ita ita 2MB Iwọn òkiti ọfẹ ti o kere julọ: 298968 awọn baiti Tun bẹrẹ ni awọn aaya 9… Tun bẹrẹ ni iṣẹju-aaya 8… Tun bẹrẹ ni iṣẹju-aaya 7…
Lati jade kuro ni atẹle IDF lo ọna abuja Ctrl+].
Awọn ọna ṣiṣe Espressif
22 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Ti atẹle IDF ba kuna laipẹ lẹhin ikojọpọ, tabi, ti o ba jẹ pe dipo awọn ifiranṣẹ ti o wa loke, o rii idoti laileto ti o jọra si ohun ti a fun ni isalẹ, o ṣee ṣe pe igbimọ rẹ ni lilo 26 MHz gara. Pupọ awọn apẹrẹ igbimọ idagbasoke lo 40 MHz, nitorinaa ESP-IDF lo igbohunsafẹfẹ yii bi iye aiyipada.
Ti o ba ni iru kan isoro, ṣe awọn wọnyi: 1. Jade awọn atẹle. 2. Lọ pada si menuconfig. 3. Lọ si atunto paati> Eto Hardware> Iṣeto XTAL akọkọ> igbohunsafẹfẹ XTAL akọkọ, lẹhinna yipada CONFIG_XTAL_FREQ_SEL si 26 MHz. 4. Lẹhin eyi, kọ ati filasi ohun elo lẹẹkansi.
Ninu ẹya lọwọlọwọ ti ESP-IDF, awọn igbohunsafẹfẹ XTAL akọkọ ni atilẹyin nipasẹ ESP32 jẹ atẹle yii:
· 26 MHz · 40 MHz
Akiyesi: O le darapọ ile, ikosan ati ibojuwo sinu igbesẹ kan nipa ṣiṣe: idf.py -p PORT flash monitor
Wo tun: · Atẹle IDF fun awọn ọna abuja ọwọ ati awọn alaye diẹ sii lori lilo atẹle IDF. · idf.py fun itọkasi kikun ti awọn pipaṣẹ idf.py ati awọn aṣayan.
Iyẹn ni gbogbo ohun ti o nilo lati bẹrẹ pẹlu ESP32! Bayi o ti ṣetan lati gbiyanju diẹ ninu awọn miiran Mofiamples, tabi lọ taara si idagbasoke awọn ohun elo tirẹ.
Pataki: Diẹ ninu examples ko ṣe atilẹyin ESP32 nitori hardware ti a beere ko si ninu ESP32 nitorina ko le ṣe atilẹyin. Ti o ba kọ ohun Mofiample, jọwọ ṣayẹwo README file fun Atilẹyin Awọn afojusun tabili. Ti eyi ba wa pẹlu ibi-afẹde ESP32, tabi tabili ko si rara, example yoo ṣiṣẹ lori ESP32.
Afikun Italolobo
Awọn ọran igbanilaaye / dev/ttyUSB0 Pẹlu diẹ ninu awọn pinpin Lainos, o le gba Ikuna lati ṣii ibudo / dev/ttyUSB0 ifiranṣẹ aṣiṣe nigbati o ba tan imọlẹ ESP32. Eyi le ṣee yanju nipa fifi olumulo lọwọlọwọ kun si ẹgbẹ ibanisọrọ naa.
Ibamu Python ESP-IDF ṣe atilẹyin Python 3.7 tabi tuntun. A ṣe iṣeduro lati ṣe igbesoke ẹrọ iṣẹ rẹ si ẹya aipẹ ti o ni itẹlọrun ibeere yii. Awọn aṣayan miiran pẹlu fifi sori ẹrọ Python lati awọn orisun tabi lilo eto iṣakoso ẹya Python gẹgẹbi pyenv.
Bẹrẹ pẹlu Apoti Atilẹyin Igbimọ Lati yara ṣiṣe adaṣe lori diẹ ninu awọn igbimọ idagbasoke, o le lo Awọn idii Atilẹyin Board (BSPs), eyiti o jẹ ki ibẹrẹ ti igbimọ kan rọrun bi awọn ipe iṣẹ diẹ.
Awọn ọna ṣiṣe Espressif
23 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
BSP kan ṣe atilẹyin fun gbogbo awọn paati ohun elo ti a pese lori igbimọ idagbasoke. Yato si itumọ pinout ati awọn iṣẹ ibẹrẹ, awọn ọkọ oju omi BSP kan pẹlu awọn awakọ fun awọn paati ita gẹgẹbi awọn sensọ, awọn ifihan, awọn kodẹki ohun bbl Awọn BSP ti pin nipasẹ Oluṣakoso paati IDF, nitorinaa wọn le rii ni IDF Component Registry. Herens ohun Mofiampbi o ṣe le ṣafikun ESP-WROVER-KIT BSP si iṣẹ akanṣe rẹ: idf.py add-dependency esp_wrover_kit
Diẹ examples ti lilo BSP ni a le rii ni BSP examples folda.
Awọn iwe aṣẹ ti o jọmọ Fun awọn olumulo ti o ni ilọsiwaju ti o fẹ lati ṣe akanṣe ilana fifi sori ẹrọ: · Nmu awọn irinṣẹ ESP-IDF ṣiṣẹ lori Windows · Ṣeto Asopọ Serial pẹlu ESP32 · Ohun itanna oṣupa · Ifaagun VSCode · Atẹle IDF
Ṣiṣe imudojuiwọn awọn irinṣẹ ESP-IDF lori Windows
Fi awọn irinṣẹ ESP-IDF sori ẹrọ ni lilo iwe afọwọkọ kan Lati Ipese Aṣẹ Windows, yipada si itọsọna nibiti ESPiDF ti fi sii. Lẹhinna ṣiṣe:
fi sori ẹrọ.adan
Fun Powershell, yipada si itọsọna nibiti ESP-IDF ti fi sii. Lẹhinna ṣiṣe:
fi sori ẹrọ.ps1
Eyi yoo ṣe igbasilẹ ati fi awọn irinṣẹ pataki lati lo ESP-IDF sori ẹrọ. Ti ẹya kan pato ti ọpa ba ti fi sori ẹrọ tẹlẹ, ko si igbese ti yoo ṣe. Awọn irinṣẹ ti wa ni igbasilẹ ati fi sori ẹrọ sinu itọsọna kan pato lakoko ilana Insitola Awọn irinṣẹ ESP-IDF. Nipa aiyipada, eyi ni C: Username.espressif.
Ṣafikun awọn irinṣẹ ESP-IDF si PATH ni lilo iwe afọwọkọ okeere ESP-IDF insitola ṣẹda ọna abuja akojọ aṣayan Bẹrẹ fun OESP-IDF Command Promptp. Ọna abuja yii ṣii ferese Aṣẹ Tọ kan nibiti gbogbo awọn irinṣẹ ti wa tẹlẹ
wa. Ni awọn igba miiran, o le fẹ lati ṣiṣẹ pẹlu ESP-IDF ni window Command Prompt eyiti ko bẹrẹ lilo ọna abuja yẹn. Ti eyi ba jẹ ọran, tẹle awọn itọnisọna ni isalẹ lati ṣafikun awọn irinṣẹ ESP-IDF si PATH. Ninu itọsọna aṣẹ nibiti o nilo lati lo ESP-IDF, yipada si itọsọna nibiti ESP-IDF ti fi sii, lẹhinna ṣiṣẹ okeere.bat:
cd% olumuloprofile%espesp-idf okeere.bat
Ni omiiran ninu Powershell nibiti o nilo lati lo ESP-IDF, yipada si itọsọna nibiti ESP-IDF ti fi sii, lẹhinna ṣiṣẹ okeere.ps1:
cd ~/esp/esp-idf okeere.ps1
Nigbati eyi ba ti ṣe, awọn irinṣẹ yoo wa ni kiakia aṣẹ yii.
Ṣeto Asopọ Serial pẹlu ESP32 Abala yii n pese itọnisọna bi o ṣe le ṣe agbekalẹ asopọ ni tẹlentẹle laarin ESP32 ati PC.
Awọn ọna ṣiṣe Espressif
24 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
So ESP32 pọ mọ PC So igbimọ ESP32 pọ mọ PC nipa lilo okun USB. Ti awakọ ẹrọ ko ba fi sori ẹrọ laifọwọyi, ṣe idanimọ USB si chirún oluyipada ni tẹlentẹle lori igbimọ ESP32 rẹ (tabi dongle oluyipada ita), wa awakọ ni intanẹẹti ki o fi wọn sii. Ni isalẹ ni atokọ ti USB si awọn eerun oluyipada ni tẹlentẹle ti a fi sori pupọ julọ awọn igbimọ ESP32 ti a ṣe nipasẹ Espressif papọ pẹlu awọn ọna asopọ si awọn awakọ:
· CP210x: CP210x USB to UART Bridge VCP Awakọ · FTDI: FTDI foju COM Port Awakọ Jọwọ ṣayẹwo awọn ọkọ itọsọna olumulo fun USB kan pato si ni tẹlentẹle oluyipada ërún lo. Awọn awakọ loke jẹ nipataki fun itọkasi. Labẹ awọn ipo deede, awọn awakọ yẹ ki o dipọ pẹlu ẹrọ ṣiṣe ati fi sori ẹrọ laifọwọyi lori sisopọ igbimọ si PC.
Ṣayẹwo ibudo lori Windows Ṣayẹwo atokọ ti awọn ebute oko oju omi COM ti a damọ ni Oluṣakoso Ẹrọ Windows. Ge asopọ ESP32 ki o so pọ mọ pada, lati mọ daju iru ibudo ti o padanu lati atokọ ati lẹhinna tun fihan lẹẹkansi. Awọn nọmba ti o wa ni isalẹ fihan ibudo ni tẹlentẹle fun ESP32 DevKitC ati ESP32 WROVER KIT
Aworan 13: USB si Afara UART ti ESP32-DevKitC ni Oluṣakoso Ẹrọ Windows
Ṣayẹwo ibudo lori Lainos ati MacOS Lati ṣayẹwo orukọ ẹrọ fun ibudo ni tẹlentẹle ti igbimọ ESP32 rẹ (tabi dongle oluyipada ita), ṣiṣe aṣẹ yii ni igba meji, ni akọkọ pẹlu ọkọ / dongle unplugged, lẹhinna pẹlu edidi. Ibudo ti o han akoko keji ni ọkan ti o nilo: Linux
ls /dev/tty*
macOS
Awọn ọna ṣiṣe Espressif
25 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
olusin 14: Meji USB Serial Ports of ESP-WROVER-KIT ni Windows Device Manager
Awọn ọna ṣiṣe Espressif
26 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
ls /dev/cu.* Akiyesi: awọn olumulo macOS: ti o ko ba rii ibudo ni tẹlentẹle lẹhinna ṣayẹwo o ti fi sori ẹrọ USB/awọn awakọ ni tẹlentẹle. Wo Abala So ESP32 pọ mọ PC fun awọn ọna asopọ si awakọ. Fun MacOS High Sierra (10.13), o tun le ni lati gba awọn awakọ laaye ni gbangba lati fifuye. Ṣii Awọn ayanfẹ Eto -> Aabo & Asiri -> Gbogbogbo ati ṣayẹwo boya ifiranṣẹ kan wa ti o han nibi nipa oSystem Software lati ọdọ olupilẹṣẹ lp nibiti orukọ olupilẹṣẹ jẹ Silicon Labs tabi FTDI.
Ṣafikun olumulo si ibaraẹnisọrọ lori Lainos Olumulo ti o wọle lọwọlọwọ yẹ ki o ti ka ati kọ iraye si ibudo ni tẹlentẹle lori USB. Lori ọpọlọpọ awọn pinpin Lainos, eyi ni a ṣe nipa fifi olumulo kun si ẹgbẹ ibaraẹnisọrọ pẹlu aṣẹ atẹle:
sudo usermod -a -G dialout $ USER
lori Arch Linux eyi ni a ṣe nipasẹ fifi olumulo kun si ẹgbẹ uucp pẹlu aṣẹ atẹle:
sudo usermod -a -G uucp $ USER
Rii daju pe o tun buwolu wọle lati jẹ ki kika ati kọ awọn igbanilaaye fun ibudo ni tẹlentẹle.
Daju asopọ ni tẹlentẹle Bayi rii daju pe asopọ ni tẹlentẹle n ṣiṣẹ. O le ṣe eyi nipa lilo eto ebute ni tẹlentẹle nipa ṣiṣe ayẹwo ti o ba gba abajade eyikeyi lori ebute lẹhin atunto ESP32. Oṣuwọn baud console aiyipada lori ESP32 jẹ 115200.
Windows ati Lainos Ni yi example a yoo lo PuTTY SSH Client ti o wa fun Windows mejeeji ati Lainos. O le lo awọn eto ni tẹlentẹle miiran ati ṣeto awọn paramita ibaraẹnisọrọ bii isalẹ. Ṣiṣe ebute oko ati ṣeto mọ ni tẹlentẹle ibudo. Oṣuwọn Baud = 115200 (ti o ba nilo, yi eyi pada si aiyipada baud oṣuwọn ti ërún ni lilo), data bits = 8, stop bits = 1, and pararity = N. Ni isalẹ wa example awọn sikirinisoti ti ṣeto ibudo ati iru awọn aye gbigbe (ni kukuru ti a ṣe apejuwe bi 115200-8-1-N) lori Windows ati Lainos. Ranti a yan pato kanna ni tẹlentẹle ibudo ti o ti mọ ni awọn igbesẹ ti loke. Lẹhinna ṣii ibudo ni tẹlentẹle ni ebute ati ṣayẹwo, ti o ba rii eyikeyi akọọlẹ ti a tẹjade nipasẹ ESP32. Awọn akoonu log yoo dale lori ohun elo ti a kojọpọ si ESP32, wo Example Ijade.
Akiyesi: Pa ebute ni tẹlentẹle lẹhin ijẹrisi pe ibaraẹnisọrọ n ṣiṣẹ. Ti o ba jẹ ki igba ebute naa ṣii, ibudo ni tẹlentẹle yoo wa ni iraye si fun ikojọpọ famuwia nigbamii.
MacOS Lati yago fun wahala ti fifi sori ẹrọ eto ebute ni tẹlentẹle, macOS nfunni ni aṣẹ iboju. Gẹgẹbi a ti jiroro ni Ṣayẹwo ibudo lori Lainos ati macOS, ṣiṣe:
ls /dev/cu.* · O yẹ ki o wo iru iṣẹjade:
/dev/cu.Bluetooth-Ti nwọle-Port /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· Awọn wu yoo si yato da lori iru ati awọn nọmba ti lọọgan ti a ti sopọ si rẹ PC. Lẹhinna mu orukọ ẹrọ ti igbimọ rẹ ki o ṣiṣẹ (ti o ba nilo, yi o115200 pada si iwọn baud aiyipada ti ërún ni lilo):
screen /dev/cu.device_name 115200 Rọpo ẹrọ_name pẹlu orukọ ri nṣiṣẹ ls /dev/cu.*.
Awọn ọna ṣiṣe Espressif
27 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Aworan 15: Ṣiṣeto Ibaraẹnisọrọ Serial ni Putty lori Windows
Awọn ọna ṣiṣe Espressif
28 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Aworan 16: Ṣiṣeto Ibaraẹnisọrọ Serial ni PuTTY lori Lainos
Awọn ọna ṣiṣe Espressif
29 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
· Ohun ti o wa ni nwa fun diẹ ninu awọn log han nipa iboju. Awọn akoonu log yoo dale lori ohun elo ti a kojọpọ si ESP32, wo Example Ijade. Lati jade ni igba iboju tẹ Ctrl-A + .
Akiyesi: Maṣe gbagbe lati jade kuro ni igba iboju lẹhin ijẹrisi pe ibaraẹnisọrọ n ṣiṣẹ. Ti o ba kuna lati ṣe ati pe o kan pa window ebute naa, ibudo ni tẹlentẹle yoo wa ni iraye si fun ikojọpọ famuwia nigbamii.
Example Ijade An example log ti han ni isalẹ. Tun awọn ọkọ ti o ko ba ri ohunkohun. ets Jun 8 2016 00:22:57
rst: 0x5 (DEEPSLEEP_RESET), bata: 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) bata: akojo aago 18:48:10
…
Ti o ba le rii iṣelọpọ iwe kika, o tumọ si asopọ ni tẹlentẹle n ṣiṣẹ ati pe o ti ṣetan lati tẹsiwaju pẹlu fifi sori ẹrọ ati nikẹhin gbejade ohun elo si ESP32.
Akiyesi: Fun diẹ ninu awọn atunto wiwọ ibudo ni tẹlentẹle, tẹlentẹle RTS & awọn pinni DTR nilo lati jẹ alaabo ninu eto ebute ṣaaju ki ESP32 yoo bata ati gbejade iṣelọpọ ni tẹlentẹle. Eyi da lori ohun elo funrararẹ, ọpọlọpọ awọn igbimọ idagbasoke (pẹlu gbogbo awọn igbimọ Espressif) ko ni ọran yii. Ọrọ naa wa ti RTS & DTR ba ti firanṣẹ taara si awọn pinni EN & GPIO0. Wo iwe esptool fun awọn alaye diẹ sii.
Ti o ba wa nibi lati Igbesẹ 5. Awọn Igbesẹ akọkọ lori ESP-IDF nigba fifi s / w fun idagbasoke ESP32, lẹhinna o le tẹsiwaju pẹlu Igbesẹ 5. Awọn Igbesẹ akọkọ lori ESP-IDF.
Atẹle IDF Atẹle IDF jẹ nipataki eto ebute ni tẹlentẹle eyiti o tan data ni tẹlentẹle si ati lati ibudo ni tẹlentẹle awọn ẹrọ afojusun. O tun pese diẹ ninu awọn ẹya-ara IDF kan. Atẹle IDF le ṣe ifilọlẹ lati inu iṣẹ akanṣe IDF kan nipa ṣiṣe atẹle idf.py.
Awọn ọna abuja Keyboard Fun ibaraenisepo irọrun pẹlu Atẹle IDF, lo awọn ọna abuja keyboard ti a fun ni tabili.
Awọn ọna ṣiṣe Espressif
30 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Ọna abuja Keyboard Ctrl+] Ctrl+T
Ctrl+T
Konturolu+] · Konturolu+P
Ctrl+R
Ctrl+F
Ctrl+A (tabi A)
Ctrl+Y
Konturolu + L
Ctrl+I (tabi I)
Ctrl+H (tabi H)
Konturolu + X (tabi X)
Konturolu + C
Iṣe
Apejuwe
Jade kuro ni eto bọtini abayo Akojọ aṣyn Firanṣẹ ohun kikọ silẹ funrararẹ si latọna jijin
Fi ohun kikọ silẹ funrarẹ si isakoṣo latọna jijin
Tun ibi-afẹde pada sinu bootloader lati da duro app nipasẹ laini RTS
Tun ọkọ ibi-afẹde tunto nipasẹ RTS
Kọ ati filasi ise agbese
Kọ ati filasi ohun elo nikan
Duro/ bẹrẹ titẹ titẹ iwe jade loju iboju
Duro/ bẹrẹ iṣẹjade log ti a fipamọ si file
Duro / bẹrẹ igbaamps
titẹ sita
Ṣe afihan gbogbo awọn ọna abuja keyboard
Tẹ ati tẹle nipasẹ ọkan ninu awọn bọtini ti a fun ni isalẹ.
Tun ibi-afẹde naa pada, sinu bootloader nipasẹ laini RTS (ti o ba sopọ), ki igbimọ naa ko ṣiṣẹ ohunkohun. Wulo nigbati o nilo lati duro fun ẹrọ miiran lati bẹrẹ. Ṣe atunto igbimọ ibi-afẹde ati tun bẹrẹ ohun elo nipasẹ laini RTS (ti o ba sopọ).
Duro idf_monitor lati mu ibi-afẹde filasi iṣẹ akanṣe, lẹhinna bẹrẹ idf_monitor. Eyikeyi orisun ti o yipada files ti wa ni recompiled ati ki o si tun-flashed. Ifojusi-filaṣi ti paroko ti wa ni ṣiṣe ti idf_monitor ba bẹrẹ pẹlu ariyanjiyan -E. Duro idf_monitor lati mu ibi-afẹde-flash app ṣiṣẹ, lẹhinna bẹrẹ idf_monitor. Iru si ibi-afẹde filasi, ṣugbọn ohun elo akọkọ nikan ni a kọ ati tun-flash. Àfojúsùn encrypted-app-flash jẹ ṣiṣe ti idf_monitor ti bẹrẹ pẹlu ariyanjiyan -E. Daakọ gbogbo data ni tẹlentẹle ti nwọle lakoko ti o ti mu ṣiṣẹ. Gba laaye lati yara da duro ati ṣayẹwo iṣẹjade log lai kuro ni atẹle naa. O ṣẹda a file ni ise agbese liana ati awọn ti o wu ti kọ si wipe file titi eyi yoo fi jẹ alaabo pẹlu ọna abuja keyboard kanna (tabi IDF Monitor exits). Atẹle IDF le tẹ sita igba kanamp ni ibere ti kọọkan ila. Awọn igbaamp ọna kika le yipada nipasẹ -timestamp-kika pipaṣẹ ila ariyanjiyan.
Jade kuro ni eto
Idilọwọ ohun elo nṣiṣẹ
Daduro IDF Atẹle ati ṣiṣe aṣiṣe iṣẹ akanṣe GDB lati ṣatunṣe ohun elo ni akoko asiko. Eyi nilo :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME aṣayan lati muu ṣiṣẹ.
Awọn bọtini eyikeyi ti a tẹ, yatọ si Ctrl-] ati Konturolu-T, yoo firanṣẹ nipasẹ ibudo ni tẹlentẹle.
IDF-kan pato awọn ẹya ara ẹrọ
Iyipada Adirẹsi Aifọwọyi Nigbakugba ti ESP-IDF ba jade adirẹsi koodu hexadecimal kan ti fọọmu 0x4_______, Atẹle IDF nlo addr2line_ lati wa ipo naa ni koodu orisun ati rii orukọ iṣẹ naa.
Ti ohun elo ESP-IDF kan ba kọlu ati ijaaya, idalenu iforukọsilẹ ati ifẹhinti jẹ iṣelọpọ, bii atẹle naa:
Awọn ọna ṣiṣe Espressif
31 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Aṣiṣe Iṣaro Guru ti iru StoreProhibited waye lori mojuto 0. Iyatọ jẹ
aiṣedeede.
Iforukọsilẹ silẹ:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7dd0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 AWURE:
0x0000001d
EXCVADDR: 0x00000000 LBEG: 0x4000c46c Awin: 0x4000c477 LCOUNT:
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
Atẹle IDF ṣafikun awọn alaye diẹ sii si idalẹnu naa:
Aṣiṣe Iṣaro Guru ti iru StoreProhibited waye lori mojuto 0. Iyatọ jẹ
aiṣedeede.
Iforukọsilẹ silẹ:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
0x400f360d: ṣe_nkankan_lati_jamba ni /ile/gus/esp/32/idf/examples/bẹrẹ-bẹrẹ/
hello_world/akọkọ/./hello_world_main.c:57
(ilana nipasẹ) inner_dont_crash ni /home/gus/esp/32/idf/examples/bibẹrẹ/hello_
aye/akọkọ/./hello_world_main.c:52
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7dd0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 AWURE:
0x0000001d
EXCVADDR: 0x00000000 LBEG: 0x4000c46c Awin: 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/gba-bẹrẹ/ hello_world/main/./hello_world_main.c:57 (ilana nipasẹ) inner_dont_crash ni /home/gus/esp/32/idf/examples/gba-bẹrẹ/hello_ aye/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash ni /home/gus/esp/32/idf/examples/gba-bẹrẹ/hello_ aye/main/./hello_world_main.c:47 0x400dbf5e: maṣe_crash ni /home/gus/esp/32/idf/examples/gba-bẹrẹ/hello_world/ akọkọ/./hello_world_main.c:42 0x400dbf82: app_main ni /home/gus/esp/32/idf/examples/gba-bẹrẹ/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task ni /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254
Lati pinnu adirẹsi kọọkan, IDF Monitor nṣiṣẹ aṣẹ atẹle ni abẹlẹ: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS
Akiyesi: Ṣeto oniyipada ayika ESP_MONITOR_DECODE si 0 tabi pe idf_monitor.py pẹlu laini aṣẹ kan pato
Awọn ọna ṣiṣe Espressif
32 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
aṣayan: idf_monitor.py –disable-address-decoding lati mu iyipada adirẹsi.
Atunto ibi-afẹde lori Asopọ Nipa aiyipada, Atẹle IDF yoo tun ibi-afẹde naa pada nigbati o ba sopọ si rẹ. Atunto ti ërún ibi-afẹde ni a ṣe ni lilo awọn laini tẹlentẹle DTR ati RTS. Lati yago fun Atẹle IDF lati tunto ibi-afẹde laifọwọyi lori asopọ, pe Atẹle IDF pẹlu aṣayan –no-tunto (fun apẹẹrẹ, idf_monitor.py –no-reset).
Akiyesi: Aṣayan –no-tunto kan ihuwasi kanna paapaa nigba ti o ba so IDF Atẹle pọ si ibudo kan (fun apẹẹrẹ, idf.py monitor –no-reset-p [PORT]).
Ifilọlẹ GDB pẹlu GDBStub GDBStub jẹ ẹya ti n ṣatunṣe aṣiṣe asiko asiko ti o wulo ti o ṣiṣẹ lori ibi-afẹde ati sopọ si agbalejo lori ibudo ni tẹlentẹle lati gba awọn aṣẹ n ṣatunṣe aṣiṣe. GDBStub ṣe atilẹyin awọn aṣẹ gẹgẹbi iranti kika ati awọn oniyipada, ṣe ayẹwo awọn fireemu akopọ ipe ati bẹbẹ lọ. Botilẹjẹpe GDBStub kere si wapọ ju J.TAG n ṣatunṣe aṣiṣe, ko nilo eyikeyi ohun elo pataki (bii JTAG to USB Afara) bi ibaraẹnisọrọ ti wa ni ṣe šee igbọkanle lori ni tẹlentẹle ibudo. A le tunto ibi-afẹde kan lati ṣiṣẹ GDBStub ni abẹlẹ nipa tito CONFIG_ESP_SYSTEM_PANIC si GDBStub ni asiko asiko. GDBStub yoo ṣiṣẹ ni abẹlẹ titi ti ifiranšẹ Ctrl + C yoo fi ranṣẹ lori ibudo ni tẹlentẹle ati ki o fa ki GDBStub fọ (ie, da ipaniyan ti) eto naa duro, nitorinaa ngbanilaaye GDBStub lati mu awọn aṣẹ n ṣatunṣe aṣiṣe ṣiṣẹ. Pẹlupẹlu, olutọju ijaaya le tunto lati ṣiṣẹ GDBStub lori jamba kan nipa tito CONFIG_ESP_SYSTEM_PANIC si GDBStub lori ijaaya. Nigbati jamba kan ba waye, GDBStub yoo jade apẹrẹ okun pataki kan lori ibudo ni tẹlentẹle lati fihan pe o nṣiṣẹ. Ni awọn ọran mejeeji (ie, fifiranṣẹ Ctrl + C ifiranṣẹ, tabi gbigba apẹrẹ okun pataki), Atẹle IDF yoo ṣe ifilọlẹ GDB laifọwọyi lati gba olumulo laaye lati firanṣẹ awọn aṣẹ n ṣatunṣe aṣiṣe. Lẹhin awọn ijade GDB, ibi-afẹde naa jẹ atunto nipasẹ laini tẹlentẹle RTS. Ti ila yii ko ba sopọ, awọn olumulo le tun ibi-afẹde wọn tunto (nipa titẹ bọtini atunto awọn igbimọ).
Akiyesi: Ni abẹlẹ, Atẹle IDF nṣiṣẹ aṣẹ atẹle lati ṣe ifilọlẹ GDB:
xtensa-esp32-elf-gdb -ex “ṣeto serial baud BAUD” -ex “port remote PORT” -ex interrupt interrupt build/PROJECT.elf:idf_target:`Hello NAME chip`
Atẹle IDF Sisẹ jade ni a le pe bi idf.py monitor –print-filter=”xyz”, nibiti –print-filter jẹ paramita fun sisẹ jade. Awọn aiyipada iye jẹ ẹya sofo okun, eyi ti o tumo si wipe ohun gbogbo ti wa ni tejede.
Awọn ihamọ lori kini lati tẹ sita le jẹ pato bi lẹsẹsẹtag>: awọn nkan ibi titag> ni tag okun ati jẹ ohun kikọ lati ṣeto {N, E, W, I, D, V, *} ti o tọka si ipele kan fun gedu.
Fun example, PRINT_FILTER=”tag1:W” baamu ati tẹ jade nikan awọn abajade ti a kọ pẹlu ESP_LOGW(“tag1”, …) tabi ni ipele isọsi isalẹ, ie ESP_LOGE(“tag1 ″,…). Ko pato a tabi lilo * awọn aseku si ipele Verbose.
Akiyesi: Lo iwọle akọkọ lati mu ṣiṣẹ ni akojọpọ awọn abajade ti o ko nilo nipasẹ ile-ikawe gedu. Asẹjade ti njade pẹlu atẹle IDF jẹ ojutu keji eyiti o le wulo fun ṣiṣatunṣe awọn aṣayan sisẹ laisi iṣakojọpọ ohun elo naa.
Ohun elo rẹ tags ko gbọdọ ni awọn alafo, awọn ami akiyesi *, tabi awọn ile-iṣọ: lati wa ni ibamu pẹlu ẹya sisẹ iṣẹjade.
Ti laini ikẹhin ti iṣelọpọ ninu ohun elo rẹ ko ba ni atẹle nipasẹ ipadabọ gbigbe, sisẹ iṣẹjade le ni idamu, ie, atẹle naa bẹrẹ lati tẹ laini naa ati nigbamii rii pe ila ko yẹ ki o ti kọ. Eyi jẹ ọran ti a mọ ati pe o le yago fun nipa fifi ipadabọ gbigbe nigbagbogbo kun (paapaa nigbati ko ba si abajade ti o tẹle lẹsẹkẹsẹ lẹhinna).
Awọn ọna ṣiṣe Espressif
33 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
ExampAwọn ofin Sisẹ:
· * le ṣee lo lati baramu eyikeyi tags. Sibẹsibẹ, okun PRINT_FILTER=”*:I tag1:E" pẹlu n ṣakiyesi si tag1 tẹjade awọn aṣiṣe nikan, nitori ofin fun tag1 ni ayo ti o ga julọ lori ofin fun * .
· Ofin aiyipada (sofo) jẹ deede si *: V nitori ibaamu gbogbo tag ni ipele Verbose tabi isalẹ tumọ si ibamu ohun gbogbo.
· "*: N" npa kii ṣe awọn abajade nikan lati awọn iṣẹ iwọle, ṣugbọn tun awọn atẹjade ti a ṣe nipasẹ printf, bbl Lati yago fun eyi, lo *: E tabi ipele ti o ga julọ.
· Awọn ofintag1:V", "tag1:v”, “tag1:",tag1:*", ati"tag1" jẹ deede. · Ilana "tag1:W tag1:E" jẹ deede si "tag1: E” nitori eyikeyi abajade iṣẹlẹ ti kanna tag
orukọ ìkọlélórí ti tẹlẹ. · Ilanatag1: emi tag2:W” awọn atẹjade nikan tag1 ni ipele verbosity Alaye tabi isalẹ ati tag2 ni Ikilo
verbosity ipele tabi kekere. · Ilanatag1: emi tag2:W tag3: N" jẹ pataki deede si ti tẹlẹ nitori tag3:N pato
pe tag3 ko yẹ ki o wa ni titẹ. · tag3:N ninu ofintag1: emi tag2:W tag3: N *: V” jẹ itumọ diẹ sii nitori laisi tag3:N awon
tagAwọn ifiranṣẹ 3 le ti tẹjade; awọn aṣiṣe fun tag1 ati tag2 yoo wa ni titẹ ni pato (tabi isalẹ) ipele ọrọ-ọrọ ati ohun gbogbo miiran yoo jẹ titẹ nipasẹ aiyipada.
A Diẹ eka sisẹ Example A ti gba snippet log atẹle laisi awọn aṣayan sisẹ eyikeyi:
fifuye: 0x40078000,len:13564 titẹsi 0x40078d4c E (31) esp_image: aworan ni 0x30000 ni o ni invalid idan baiti W (31) esp_image: aworan ni 0x30000 ni invalid SPI mode 255 E (39) Factory app (568) bata cpu_start: Pro Sipiyu soke. Mo (569) heap_init: Ibẹrẹ. Ramu wa fun ìmúdàgba ipin: Mo (603) cpu_start: Pro cpu ibere olumulo koodu D (309) light_driver: [light_init, 74]: ipo: 1, mode: 2 D (318) vfs: esp_vfs_register_fd_range jẹ aseyori fun ibiti <54; 64) ati VFS ID 1 I (328) wifi: wifi awakọ iṣẹ: 3ffdbf84, prio:23, akopọ:4096, mojuto=0
Ijade ti o ya fun awọn aṣayan sisẹ PRINT_FILTER=”wifi esp_image:E light_driver:I” ni a fun ni isalẹ:
E (31) esp_image: aworan ni 0x30000 ni baiti idan invalid I (328) wifi: wifi awakọ iṣẹ: 3ffdbf84, prio:23, akopọ:4096, core=0
Awọn aṣayan "PRINT_FILTER="iwakọ_ina:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V"fifihan igbejade atẹle yii:
fifuye: 0x40078000, Len: 13564 titẹsi 0x40078d4c I (569) heap_init: Ibẹrẹ. Ramu wa fun ipin agbara: D (309) light_driver: [light_init, 74]: ipo: 1, ipo: 2
Awọn ọran ti a mọ pẹlu Atẹle IDF
Awọn oran ti a ṣe akiyesi lori Windows
· Awọn bọtini itọka, bakanna bi awọn bọtini miiran, ko ṣiṣẹ ni GDB nitori awọn idiwọn Console Windows. Nigbakugba, nigbati oidf.pypexits, o le da duro fun iṣẹju 30 ṣaaju ki Atẹle IDF tun bẹrẹ. Nigbati ogdbpis ba ṣiṣẹ, o le da duro fun igba diẹ ṣaaju ki o to bẹrẹ ibaraẹnisọrọ pẹlu GDBStub.
Awọn ọna ṣiṣe Espressif
34 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Abala 1. Bẹrẹ Eto Ohun elo Irinṣẹ Standard fun Lainos ati macOS
Igbesẹ fifi sori ẹrọ nipasẹ Igbesẹ Eyi jẹ ọna opopona alaye lati rin ọ nipasẹ ilana fifi sori ẹrọ.
Ṣiṣeto Ayika Idagbasoke Awọn wọnyi ni awọn igbesẹ fun iṣeto ESP-IDF fun ESP32 rẹ. · Igbese 1. Fi sori ẹrọ Prerequisites · Igbese 2. Gba ESP-IDF · Igbese 3. Ṣeto soke awọn irinṣẹ · Igbese 4. Ṣeto soke awọn ayika oniyipada · Igbese 5. First Igbesẹ lori ESP-IDF
Igbese 1. Fi sori ẹrọ Prerequisites Ni ibere lati lo ESP-IDF pẹlu awọn ESP32, o nilo lati fi sori ẹrọ diẹ ninu awọn software jo da lori rẹ Awọn ọna System. Itọsọna iṣeto yii yoo ṣe iranlọwọ fun ọ lori gbigba ohun gbogbo ti a fi sori ẹrọ lori Linux ati awọn eto orisun macOS.
Fun Awọn olumulo Lainos Lati ṣajọ nipa lilo ESP-IDF iwọ yoo nilo lati gba awọn idii wọnyi. Aṣẹ lati ṣiṣẹ da lori iru pinpin Linux ti o nlo:
Ubuntu ati 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 imudojuiwọn && sudo yum fi sori ẹrọ git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 tun jẹ atilẹyin ṣugbọn ẹya CentOS 8 jẹ iṣeduro fun iriri olumulo to dara julọ. Arch: sudo pacman -S – need gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Akiyesi: · CMake version 3.16 tabi titun ni a nilo fun lilo pẹlu ESP-IDF. Ṣiṣe awọn otools/idf_tools.py fi sori ẹrọ cmakepto fi ẹya ti o yẹ sori ẹrọ ti awọn ẹya OS rẹ ko ba ni ọkan. · Ti o ko ba ri pinpin Linux rẹ ninu atokọ ti o wa loke lẹhinna jọwọ ṣayẹwo awọn iwe aṣẹ rẹ lati wa iru aṣẹ lati lo fun fifi sori package.
Fun awọn olumulo macOS ESP-IDF yoo lo ẹya Python ti a fi sori ẹrọ nipasẹ aiyipada lori macOS. · Fi sori ẹrọ CMake & Ninja Kọ: Ti o ba ni HomeBrew, o le ṣiṣe: brew install cmake ninja dfu-util Ti o ba ni MacPorts, o le ṣiṣe: sudo port install cmake ninja dfu-util Bibẹẹkọ, kan si awọn oju-iwe ile CMake ati Ninja fun awọn igbasilẹ fifi sori ẹrọ macOS.
Awọn ọna ṣiṣe Espressif
35 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
· O ti wa ni strongly niyanju lati tun fi ccache fun yiyara Kọ. Ti o ba ni HomeBrew, eyi le ṣee ṣe nipasẹ fifi sori ẹrọ ccache tabi ibudo sudo fi ccache sori MacPorts.
Akiyesi: Ti asise bi eleyi ba han lakoko igbesẹ eyikeyi: xcrun: aṣiṣe: ọna oluṣe idagbasoke ti ko tọ (/Library/Developer/CommandLineTools), sonu xcrun ni: /Library/Developer/CommandLineTools/usr/bin/xcrun
Lẹhinna iwọ yoo nilo lati fi awọn irinṣẹ laini aṣẹ XCode sori ẹrọ lati tẹsiwaju. O le fi awọn wọnyi sori ẹrọ nipa ṣiṣiṣẹ xcode-yan –fi sori ẹrọ.
Awọn olumulo Apple M1 Ti o ba lo iru ẹrọ Apple M1 ati rii aṣiṣe bii eyi: IKILO: itọsọna fun ọpa xtensa-esp32-elf version esp-2021r2-patch3-8.4.0 wa, ṣugbọn a ko rii ọpa ni aṣiṣe: irinṣẹ xtensa-esp32-elf ko ni awọn ẹya ti a fi sii. Jọwọ ṣiṣẹ 'install.sh' lati fi sii.
tabi: zsh: buburu Sipiyu iru ni executable: ~/.espressif/irinṣẹ/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Lẹhinna iwọ yoo nilo lati fi Apple Rosetta 2 sori ẹrọ nipasẹ ṣiṣe / usr/sbin/softwareupdate –install-rosetta –agree-to-license
Fifi Python 3 da lori awọn akọsilẹ itusilẹ macOS Catalina 10.15, lilo Python 2.7 ko ṣe iṣeduro ati Python 2.7 kii yoo pẹlu aiyipada ni awọn ẹya iwaju ti macOS. Ṣayẹwo kini Python ti o ni lọwọlọwọ: Python –version
Ti abajade ba dabi Python 2.7.17, onitumọ aiyipada rẹ jẹ Python 2.7. Ti o ba jẹ bẹ, tun ṣayẹwo boya Python 3 ko ti fi sii tẹlẹ lori kọnputa rẹ: Python3 –version
Ti aṣẹ ti o wa loke ba pada aṣiṣe kan, o tumọ si Python 3 ko fi sii. Ni isalẹ jẹ ẹya pariview Awọn igbesẹ lati fi Python 3 sori ẹrọ.
Fifi sori ẹrọ pẹlu HomeBrew le ṣee ṣe bi atẹle: fi sori ẹrọ python3 pọnti
· Ti o ba ni MacPorts, o le ṣiṣẹ: sudo port fi sori ẹrọ python38
Igbesẹ 2. Gba ESP-IDF Lati kọ awọn ohun elo fun ESP32, o nilo awọn ile-ikawe sọfitiwia ti a pese nipasẹ Espressif ni ibi ipamọ ESP-IDF. Lati gba ESP-IDF, lilö kiri si ilana fifi sori ẹrọ rẹ ki o ṣe ẹda ibi ipamọ pẹlu git clone, ni atẹle awọn itọnisọna ni isalẹ pato si ẹrọ iṣẹ rẹ. Ṣii Terminal, ati ṣiṣe awọn aṣẹ wọnyi:
Awọn ọna ṣiṣe Espressif
36 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –recursive https://github.com/espressif/esp-idf.git
ESP-IDF yoo ṣe igbasilẹ si ~/esp/esp-idf. Kan si awọn ẹya ESP-IDF fun alaye nipa iru ẹya ESP-IDF lati lo ni ipo ti a fun.
Igbesẹ 3. Ṣeto awọn irinṣẹ Yato si ESP-IDF, o tun nilo lati fi sori ẹrọ awọn irinṣẹ ti ESP-IDF lo, gẹgẹbi olupilẹṣẹ, debugger, Python packages, ati bẹbẹ lọ, fun awọn iṣẹ akanṣe atilẹyin ESP32. cd ~/esp/esp-idf ./install.sh esp32
tabi pẹlu Eja ikarahun cd ~/esp/esp-idf ./install.fish esp32
Awọn aṣẹ ti o wa loke fi awọn irinṣẹ sori ẹrọ fun ESP32 nikan. Ti o ba pinnu lati ṣe agbekalẹ awọn iṣẹ akanṣe fun awọn ibi-afẹde ërún diẹ sii lẹhinna o yẹ ki o ṣe atokọ gbogbo wọn ki o ṣiṣẹ fun iṣaajuample: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
tabi pẹlu ikarahun Eja cd ~/esp/esp-idf ./install.fish esp32,esp32s2
Lati fi awọn irinṣẹ sori ẹrọ fun gbogbo awọn ibi-afẹde ti o ni atilẹyin jọwọ ṣiṣẹ aṣẹ wọnyi: cd ~/esp/esp-idf ./install.sh all
tabi pẹlu Eja ikarahun cd ~/esp/esp-idf ./install.fish gbogbo
Akiyesi: Fun awọn olumulo macOS, ti aṣiṣe bii eyi ba han lakoko igbesẹ eyikeyi:urlaṣiṣe ṣiṣi [SSL: CERTIFICATE_VERIFY_FAILED] ijẹrisi ijẹrisi kuna: ko le gba ijẹrisi olufun agbegbe (_ssl.c:xxx)
O le ṣiṣe Fi Certificates.command sori folda Python ti kọnputa rẹ lati fi awọn iwe-ẹri sii. Fun awọn alaye, wo Aṣiṣe Gbigba lati ayelujara Lakoko Nfi Awọn irinṣẹ ESP-IDF sori ẹrọ.
Yiyan File Awọn igbasilẹ Awọn fifi sori ẹrọ irinṣẹ ṣe igbasilẹ nọmba kan ti files so si GitHub Awọn idasilẹ. Ti iwọle GitHub ba lọra lẹhinna o ṣee ṣe lati ṣeto oniyipada ayika lati fẹ olupin igbasilẹ Espressifns fun awọn igbasilẹ dukia GitHub.
Akiyesi: Eto yii n ṣakoso awọn irinṣẹ kọọkan ti o ṣe igbasilẹ lati awọn idasilẹ GitHub, ko yi iyipada naa pada URLs ti a lo lati wọle si awọn ibi ipamọ Git eyikeyi.
Lati fẹ olupin igbasilẹ Espressif nigbati o ba nfi awọn irinṣẹ sori ẹrọ, lo ilana atẹle ti awọn aṣẹ nigbati o nṣiṣẹ install.sh:
Awọn ọna ṣiṣe Espressif
37 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
cd ~/esp/esp-idf okeere IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Ṣiṣe awọn ọna fifi sori ẹrọ awọn irinṣẹ Awọn iwe afọwọkọ ti a ṣe ni igbesẹ yii fi awọn irinṣẹ akopọ ti o nilo nipasẹ ESP-IDF inu itọsọna ile olumulo: $HOME/.espressif lori Lainos. Ti o ba fẹ lati fi sori ẹrọ awọn irinṣẹ sinu itọsọna oriṣiriṣi, ṣeto iyipada ayika IDF_TOOLS_PATH ṣaaju ṣiṣe awọn iwe afọwọkọ fifi sori ẹrọ. Rii daju pe akọọlẹ olumulo rẹ ni awọn igbanilaaye to lati ka ati kọ ọna yii. Ti o ba yipada IDF_TOOLS_PATH, rii daju pe o ṣeto si iye kanna ni gbogbo igba ti fi sori ẹrọ iwe afọwọkọ (fi sori ẹrọ. bat, install.ps1 tabi install.sh) ati iwe afọwọkọ Export (export.bat,export.ps1 tabi okeere.sh) ti ṣiṣẹ.
Igbesẹ 4. Ṣeto awọn oniyipada ayika Awọn irinṣẹ ti a fi sii ko tii fi kun si iyipada ayika PATH. Lati jẹ ki awọn irinṣẹ ṣee lo lati laini aṣẹ, diẹ ninu awọn oniyipada ayika gbọdọ ṣeto. ESP-IDF pese iwe afọwọkọ miiran ti o ṣe iyẹn. Ninu ebute ibi ti iwọ yoo lo ESP-IDF, ṣiṣe:
. $HOME/esp/esp-idf/export.sh
tabi fun ẹja (atilẹyin nikan lati ẹya ẹja 3.0.0):
. $HOME/esp/esp-idf/export.fish
Ṣe akiyesi aaye laarin aami asiwaju ati ọna! Ti o ba gbero lati lo esp-idf nigbagbogbo, o le ṣẹda inagijẹ fun pipaṣẹ okeere.sh:
1. Daakọ ati lẹẹmọ aṣẹ wọnyi si shellns pro rẹfile (.profile, .bashrc, .zprofile, ati be be lo)
inagijẹ get_idf='. $HOME/esp/esp-idf/export.sh' 2. Tun atunto naa ṣiṣẹ nipa titun igba akoko ebute naa bẹrẹ tabi nipa ṣiṣiṣẹ orisun [ọna si profile],
fun example, orisun ~/.bashrc. Bayi o le ṣiṣe get_idf lati ṣeto tabi sọ agbegbe esp-idf ni igba ebute eyikeyi. Ni imọ-ẹrọ, o le ṣafikun okeere.sh si pro shellns rẹfile taara; sibẹsibẹ, o ti wa ni ko niyanju. Ṣiṣe bẹ mu agbegbe foju IDF ṣiṣẹ ni gbogbo igba ebute (pẹlu awọn nibiti a ko nilo IDF), ṣẹgun idi ti agbegbe foju ati pe o le ni ipa sọfitiwia miiran.
Igbese 5. First Igbesẹ lori ESP-IDF Bayi niwon gbogbo awọn ibeere ti wa ni pade, nigbamii ti koko yoo dari o lori bi o si bẹrẹ rẹ akọkọ ise agbese. Itọsọna yii yoo ran ọ lọwọ ni awọn igbesẹ akọkọ nipa lilo ESP-IDF. Tẹle itọsọna yii lati bẹrẹ iṣẹ akanṣe tuntun lori ESP32 ati kọ, filasi, ati ṣe atẹle iṣelọpọ ẹrọ.
Akiyesi: Ti o ko ba tii fi sii ESP-IDF, jọwọ lọ si Fifi sori ẹrọ ki o tẹle ilana naa lati le gba gbogbo sọfitiwia ti o nilo lati lo itọsọna yii.
Bẹrẹ Ise agbese kan Bayi o ti ṣetan lati mura ohun elo rẹ fun ESP32. O le bẹrẹ pẹlu iṣẹ akanṣe bẹrẹ/hello_world lati examples liana ni ESP-IDF.
Pataki: Eto kikọ ESP-IDF ko ṣe atilẹyin awọn aaye ni awọn ọna si boya ESP-IDF tabi si awọn iṣẹ akanṣe.
Daakọ iṣẹ akanṣe bẹrẹ / hello_world si ~/esp liana:
Awọn ọna ṣiṣe Espressif
38 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
cd ~/esp cp -r $IDF_PATH/fun apẹẹrẹamples/bibẹrẹ/hello_aye.
Akiyesi: Nibẹ ni a ibiti o ti example ise agbese ni examples liana ni ESP-IDF. O le daakọ eyikeyi iṣẹ akanṣe ni ọna kanna bi a ti gbekalẹ loke ati ṣiṣe rẹ. O tun ṣee ṣe lati kọ examples ni-ibi lai a daakọ wọn akọkọ.
So Ẹrọ rẹ pọ Bayi so igbimọ ESP32 rẹ pọ si kọnputa ki o ṣayẹwo labẹ iru ibudo ni tẹlentẹle igbimọ naa han. Awọn ebute oko oju omi ni tẹlentẹle ni awọn ilana isọkọ wọnyi:
Lainos: bẹrẹ pẹlu /dev/tty · macOS: bẹrẹ pẹlu /dev/cu. Ti o ko ba ni idaniloju bi o ṣe le ṣayẹwo orukọ ibudo ni tẹlentẹle, jọwọ tọka si Ṣeto Asopọ Serial pẹlu ESP32 fun awọn alaye ni kikun.
Akiyesi: Jeki orukọ ibudo ni ọwọ bi iwọ yoo nilo rẹ ni awọn igbesẹ atẹle.
Ṣe atunto Ise agbese Rẹ Lilö kiri si itọsọna hello_world rẹ, ṣeto ESP32 bi ibi-afẹde, ki o si ṣiṣẹ iṣeto iṣeto iṣẹ akanṣe menuconfig. cd ~/esp/hello_world idf.py ṣeto-afojusun esp32 idf.py menuconfig
Lẹhin ṣiṣi iṣẹ akanṣe tuntun, o yẹ ki o kọkọ ṣeto ibi-afẹde pẹlu idf.py set- target esp32. Ṣe akiyesi pe awọn ipilẹ ti o wa tẹlẹ ati awọn atunto ninu iṣẹ akanṣe, ti eyikeyi, yoo jẹ imukuro ati ipilẹṣẹ ninu ilana yii. Ibi-afẹde le wa ni fipamọ ni oniyipada ayika lati foju igbesẹ yii rara. Wo Yan Chip Àkọlé: ṣeto-afojusun fun alaye ni afikun. Ti awọn igbesẹ ti tẹlẹ ba ti ṣe deede, akojọ aṣayan atẹle yoo han:
Aworan 17: Iṣeto iṣẹ akanṣe – Ferese ile O n lo akojọ aṣayan yii lati ṣeto awọn oniyipada iṣẹ akanṣe, fun apẹẹrẹ, orukọ nẹtiwọọki Wi-Fi ati ọrọ igbaniwọle, iyara ero isise, ati bẹbẹ lọ Ṣiṣeto iṣẹ akanṣe pẹlu menuconfig le jẹ foo forohello_worldp, niwọn igba atijọ yii.ample nṣiṣẹ pẹlu
Awọn ọna ṣiṣe Espressif
39 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
aiyipada iṣeto ni.
Akiyesi: Ti o ba lo igbimọ ESP32-DevKitC pẹlu module ESP32-SOLO-1, tabi igbimọ ESP32-DevKitM-1 pẹlu module ESP32-MIN1-1(1U), jọwọ mu ipo mojuto ẹyọkan ṣiṣẹ (CONFIG_FREERTOS_UNICORE) ni menuconfig ṣaaju ki o to tan imọlẹ examples.
Akiyesi: Awọn awọ ti akojọ aṣayan le yatọ ni ebute rẹ. O le yi irisi pada pẹlu aṣayan - ara. Jọwọ ṣiṣe idf.py menuconfig –iranlọwọ fun alaye siwaju sii.
Ti o ba nlo ọkan ninu awọn igbimọ idagbasoke atilẹyin, o le mu idagbasoke rẹ pọ si nipa lilo Package Support Board. Wo Awọn imọran afikun fun alaye diẹ sii.
Kọ Ise agbese Kọ iṣẹ akanṣe nipasẹ ṣiṣe:
idf.py kọ
Aṣẹ yii yoo ṣajọ ohun elo naa ati gbogbo awọn paati ESP-IDF, lẹhinna yoo ṣe agbejade bootloader, tabili ipin, ati awọn alakomeji ohun elo.
$ idf.py build Nṣiṣẹ cmake ni liana /pato/to/hello_world/build Ṣiṣe “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… Kilo nipa awọn iye ti ko ni ibẹrẹ. - Ri Git: /usr/bin/git (ẹya ti a rii “2.17.0”) - Ilé paati aws_iot ofo nitori iṣeto ni - Awọn orukọ paati: … — Awọn ọna paati: …
(awọn laini diẹ sii ti iṣelọpọ eto kikọ)
[527/527] Ti o npese hello_world.bin esptool.py v2.3.1
Ise agbese Kọ pari. Lati filasi, ṣiṣẹ aṣẹ yii: .././ bin kọ 0x1000 kọ / bootloader / bootloader.bin 0x8000 kọ / partition_table / partition-table.bin tabi ṣiṣe 'idf.py -p PORT flash'
Ti ko ba si awọn aṣiṣe, kikọ yoo pari nipa ti ipilẹṣẹ famuwia alakomeji .bin files.
Filaṣi sori ẹrọ Filaṣi awọn alakomeji ti o ṣẹṣẹ kọ (bootloader.bin, partition-table.bin ati hello_world.bin) sori igbimọ ESP32 rẹ nipa ṣiṣe:
idf.py -p PORT [-b BAUD] filasi
Ropo PORT pẹlu rẹ ESP32 boardns ni tẹlentẹle ibudo orukọ. O tun le yi oṣuwọn baud flasher pada nipa rirọpo BAUD pẹlu oṣuwọn baud ti o nilo. Iwọn baud aiyipada jẹ 460800. Fun alaye diẹ sii lori awọn ariyanjiyan idf.py, wo idf.py.
Akiyesi: Filaṣi aṣayan laifọwọyi kọ ati tan imọlẹ ise agbese, nitorina ṣiṣe idf.py kọ ko ṣe pataki.
Awọn ọna ṣiṣe Espressif
40 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Awọn ọran ti o dojuko Lakoko ti o nmọlẹ bi? Ti o ba ṣiṣẹ aṣẹ ti a fun ati rii awọn aṣiṣe iru asoTi kuna lati sopọ, awọn idi pupọ le wa fun eyi. Ọkan ninu awọn idi le jẹ awọn ọran ti o ba pade nipasẹ esptool.py, ohun elo ti a pe nipasẹ eto kikọ lati tun chirún tunto, ṣe ajọṣepọ pẹlu bootloader ROM, ati famuwia filasi. Ojutu ti o rọrun lati gbiyanju jẹ atunto afọwọṣe ti a ṣalaye ni isalẹ, ati pe ti ko ba ṣe iranlọwọ o le wa awọn alaye diẹ sii nipa awọn ọran ti o ṣeeṣe ni Laasigbotitusita.
esptool.py tunto ESP32 laifọwọyi nipa sisọ DTR ati awọn laini iṣakoso RTS ti USB si chirún oluyipada ni tẹlentẹle, ie, FTDI tabi CP210x (fun alaye diẹ sii, wo Fi idi Asopọ Serial pẹlu ESP32). Awọn laini iṣakoso DTR ati RTS wa ni ọna asopọ si GPIO0 ati awọn pinni CHIP_PU (EN) ti ESP32, nitorinaa yipada ninu vol.tage awọn ipele ti DTR ati RTS yoo bata ESP32 sinu ipo Gbigbasilẹ famuwia. Bi example, ṣayẹwo awọn sikematiki fun ESP32 DevKitC idagbasoke ọkọ.
Ni gbogbogbo, o yẹ ki o ko ni awọn iṣoro pẹlu awọn igbimọ idagbasoke esp-idf osise. Sibẹsibẹ, esptool.py ko ni anfani lati tun hardware rẹ ṣe laifọwọyi ni awọn iṣẹlẹ wọnyi:
Ohun elo ẹrọ rẹ ko ni awọn laini DTR ati RTS ti o sopọ mọ GPIO0 ati CHIP_PU · Awọn laini DTR ati RTS ni a tunto ni oriṣiriṣi · Ko si iru awọn laini iṣakoso ni tẹlentẹle rara rara.
Ti o da lori iru ohun elo ti o ni, o tun le ṣee ṣe lati fi ọwọ ESP32 igbimọ rẹ sinu ipo Gbigbasilẹ famuwia (tunto).
Fun awọn igbimọ idagbasoke ti a ṣe nipasẹ Espressif, alaye yii ni a le rii ninu awọn itọsọna bibẹrẹ tabi awọn itọsọna olumulo. Fun example, lati tun ohun ESP-IDF idagbasoke ọkọ, o si mu mọlẹ awọn Boot bọtini (GPIO0) ki o si tẹ awọn EN bọtini (CHIP_PU).
Fun awọn iru ohun elo miiran, gbiyanju fifa GPIO0 si isalẹ.
Isẹ deede Nigbati o ba n tan imọlẹ, iwọ yoo wo akọọlẹ iṣẹjade ti o jọra si atẹle naa:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 0x1000 partition_table.0x-partition_table/partition bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Nsopọ ……._ Chip jẹ ESP32D0WDQ6 (atunyẹwo 0) Awọn ẹya: WiFi, BT, Meji Core, Ifaminsi Ero Kò Crystal: 40MHz 24:0a:c4:05:b9:14 Ikojọpọ stub… Ṣiṣe stub… Stub nṣiṣẹ… Yiyipada oṣuwọn baud si 460800 Yipada. Tito leto filasi iwọn… Fisinuirindigbindigbin 3072 baiti si 103… Kikọ ni 0x00008000… (100%) Kọ 3072 baiti (103 fisinuirindigbindigbin) ni 0x00008000 ni 0.0 aaya (munadoko 5962.8 kbit/sified) Fisinuirindigbindigbin 26096 awọn baiti si 15408… Kikọ ni 0x00001000… (100%) Kọ 26096 awọn baiti (15408 fisinuirindigbindigbin) ni 0x00001000 ni 0.4 aaya (munadoko 546.7 kbit/s data)ified… Hash ti data. Fisinuirindigbindigbin 147104 awọn baiti si 77364… Kikọ ni 0x00010000… (20%) Kikọ ni 0x00014000… (40%) Kikọ ni 0x00018000… (60%) Kikọ ni 000x0001c80…
(tesiwaju ni oju-iwe ti o tẹle)
Awọn ọna ṣiṣe Espressif
41 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
(tesiwaju lati oju-iwe ti tẹlẹ) Kikọ ni 0x00020000… (100%) Kọ 147104 awọn baiti (77364 fisinuirindigbindigbin) ni 0x00010000 ni iṣẹju-aaya 1.9 (munadoko 615. 5 kbit/s)… Hash ti data jẹri.
Nlọ… Atunto lile nipasẹ PIN RTS… Ti ṣee
Ti ko ba si awọn ọran ni ipari ilana filasi, igbimọ naa yoo tun bẹrẹ ati bẹrẹ theohello_worldpapplication. Ti o ba fẹ lati lo Eclipse tabi IDE koodu VS dipo ṣiṣiṣẹ idf.py, ṣayẹwo Eclipse Plugin, VSCode Extension.
Bojuto Abajade Lati ṣayẹwo boya ohllo_worldpis n ṣiṣẹ nitootọ, tẹ atẹle idf.py -p PORT (Maṣe gbagbe lati rọpo PORT pẹlu orukọ ibudo ni tẹlentẹle rẹ). Aṣẹ yii ṣe ifilọlẹ ohun elo IDF Monitor:
$ idf.py -p Atẹle Ṣiṣe idf_monitor ninu itọsọna […]/esp/hello_world/kọ Ṣiṣe ṣiṣe “Python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… - idf_monitor on 115200 —– Jade: Konturolu +] | Akojọ: Ctrl+T | Iranlọwọ: Ctrl+T atẹle nipa Ctrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET), bata: 0x13 (SPI_FAST_FLASH_BOOT) ati Oṣu Kẹjọ Ọjọ 8 Ọdun 2016 00:22:57 …
Lẹhin ibẹrẹ ati awọn akọọlẹ iwadii yi lọ soke, o yẹ ki o wo oHello aye! ti a tẹjade nipasẹ ohun elo naa.
… Mo ki O Ile Aiye! Titun bẹrẹ ni iṣẹju-aaya 10… Eyi jẹ chirún esp32 pẹlu 2 CPU mojuto (s), WiFi/BT/BLE, atunyẹwo silikoni 1, filasi ita ita 2MB Iwọn òkiti ọfẹ ti o kere julọ: 298968 awọn baiti Tun bẹrẹ ni awọn aaya 9… Tun bẹrẹ ni iṣẹju-aaya 8… Tun bẹrẹ ni iṣẹju-aaya 7…
Lati jade kuro ni atẹle IDF lo ọna abuja Ctrl+]. Ti atẹle IDF ba kuna laipẹ lẹhin ikojọpọ, tabi, ti o ba jẹ pe dipo awọn ifiranṣẹ ti o wa loke, o rii idoti laileto ti o jọra si ohun ti a fun ni isalẹ, o ṣee ṣe pe igbimọ rẹ ni lilo 26 MHz gara. Pupọ awọn apẹrẹ igbimọ idagbasoke lo 40 MHz, nitorinaa ESP-IDF lo igbohunsafẹfẹ yii bi iye aiyipada.
Ti o ba ni iru iṣoro bẹ, ṣe awọn atẹle:
1. Jade awọn atẹle. 2. Lọ pada si menuconfig. 3. Lọ si atunto paati> Eto Hardware> Iṣeto XTAL akọkọ> XTAL akọkọ
igbohunsafẹfẹ, lẹhinna yipada CONFIG_XTAL_FREQ_SEL si 26 MHz. 4. Lẹhin eyi, kọ ati filasi ohun elo lẹẹkansi.
Awọn ọna ṣiṣe Espressif
42 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Ninu ẹya lọwọlọwọ ti ESP-IDF, awọn igbohunsafẹfẹ XTAL akọkọ ni atilẹyin nipasẹ ESP32 jẹ atẹle yii:
· 26 MHz · 40 MHz
Akiyesi: O le darapọ ile, ikosan ati ibojuwo sinu igbesẹ kan nipa ṣiṣe: idf.py -p PORT flash monitor
Wo tun: · Atẹle IDF fun awọn ọna abuja ọwọ ati awọn alaye diẹ sii lori lilo atẹle IDF. · idf.py fun itọkasi kikun ti awọn pipaṣẹ idf.py ati awọn aṣayan.
Iyẹn ni gbogbo ohun ti o nilo lati bẹrẹ pẹlu ESP32! Bayi o ti ṣetan lati gbiyanju diẹ ninu awọn miiran Mofiamples, tabi lọ taara si idagbasoke awọn ohun elo tirẹ.
Pataki: Diẹ ninu examples ko ṣe atilẹyin ESP32 nitori hardware ti a beere ko si ninu ESP32 nitorina ko le ṣe atilẹyin. Ti o ba kọ ohun Mofiample, jọwọ ṣayẹwo README file fun Atilẹyin Awọn afojusun tabili. Ti eyi ba wa pẹlu ibi-afẹde ESP32, tabi tabili ko si rara, example yoo ṣiṣẹ lori ESP32.
Afikun Italolobo
Awọn ọran igbanilaaye / dev/ttyUSB0 Pẹlu diẹ ninu awọn pinpin Lainos, o le gba Ikuna lati ṣii ibudo / dev/ttyUSB0 ifiranṣẹ aṣiṣe nigbati o ba tan imọlẹ ESP32. Eyi le ṣee yanju nipa fifi olumulo lọwọlọwọ kun si ẹgbẹ ibanisọrọ naa.
Ibamu Python ESP-IDF ṣe atilẹyin Python 3.7 tabi tuntun. A ṣe iṣeduro lati ṣe igbesoke ẹrọ iṣẹ rẹ si ẹya aipẹ ti o ni itẹlọrun ibeere yii. Awọn aṣayan miiran pẹlu fifi sori ẹrọ Python lati awọn orisun tabi lilo eto iṣakoso ẹya Python gẹgẹbi pyenv.
Bẹrẹ pẹlu Apoti Atilẹyin Igbimọ Lati yara ṣiṣe adaṣe lori diẹ ninu awọn igbimọ idagbasoke, o le lo Awọn idii Atilẹyin Board (BSPs), eyiti o jẹ ki ibẹrẹ ti igbimọ kan rọrun bi awọn ipe iṣẹ diẹ. BSP kan ṣe atilẹyin fun gbogbo awọn paati ohun elo ti a pese lori igbimọ idagbasoke. Yato si itumọ pinout ati awọn iṣẹ ibẹrẹ, awọn ọkọ oju omi BSP kan pẹlu awọn awakọ fun awọn paati ita gẹgẹbi awọn sensọ, awọn ifihan, awọn kodẹki ohun bbl Awọn BSP ti pin nipasẹ Oluṣakoso paati IDF, nitorinaa wọn le rii ni IDF Component Registry. Herens ohun Mofiampbi o ṣe le ṣafikun ESP-WROVER-KIT BSP si iṣẹ akanṣe rẹ: idf.py add-dependency esp_wrover_kit
Diẹ examples ti lilo BSP ni a le rii ni BSP examples folda.
Imọran: Ṣiṣe imudojuiwọn ESP-IDF O ṣe iṣeduro lati ṣe imudojuiwọn ESP-IDF lati igba de igba, bi awọn ẹya tuntun ṣe n ṣatunṣe awọn idun ati/tabi pese awọn ẹya tuntun. Jọwọ ṣe akiyesi pe ẹya ESP-IDF pataki ati ẹya itusilẹ kekere ni akoko atilẹyin ti o somọ, ati nigbati ẹka itusilẹ kan ba n sunmọ opin igbesi aye (EOL), gbogbo awọn olumulo ni iyanju lati ṣe igbesoke awọn iṣẹ akanṣe wọn si awọn idasilẹ ESP-IDF aipẹ diẹ sii, lati wa diẹ sii nipa awọn akoko atilẹyin, wo Awọn ẹya ESP-IDF.
Awọn ọna ṣiṣe Espressif
43 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 1. Bẹrẹ
Ọna ti o rọrun julọ lati ṣe imudojuiwọn ni lati paarẹ folda esp-idf ti o wa tẹlẹ ki o tun ṣe ẹda oniye lẹẹkansii, bi ẹnipe ṣiṣe fifi sori ẹrọ akọkọ ti a ṣalaye ni Igbesẹ 2. Gba ESP-IDF. Ojutu miiran ni lati ṣe imudojuiwọn ohun ti o yipada nikan. Ilana imudojuiwọn da lori ẹya ESP-IDF ti o nlo. Lẹhin imudojuiwọn ESP-IDF, ṣiṣẹ iwe afọwọkọ Fi sori ẹrọ lẹẹkansi, ti o ba jẹ pe ẹya ESP-IDF tuntun nilo awọn ẹya oriṣiriṣi ti awọn irinṣẹ. Wo awọn ilana ni Igbesẹ 3. Ṣeto awọn irinṣẹ. Ni kete ti awọn irinṣẹ tuntun ti fi sori ẹrọ, mu agbegbe dojuiwọn nipa lilo iwe afọwọkọ Export. Wo awọn itọnisọna ni Igbesẹ 4. Ṣeto awọn oniyipada ayika.
Awọn iwe aṣẹ ti o jọmọ · Ṣe agbekalẹ Asopọ Serial pẹlu ESP32 · Ohun itanna oṣupa · Itẹsiwaju VSCode · Atẹle IDF
1.4 Kọ rẹ First Project
Ti o ba ti fi ESP-IDF sori ẹrọ ati pe ko lo IDE, o le kọ iṣẹ akanṣe akọkọ rẹ lati laini aṣẹ ni atẹle Ibẹrẹ Ise agbese kan lori Windows tabi Bẹrẹ Ise agbese kan lori Lainos ati MacOS.
1.5 Aifi si po ESP-IDF
Ti o ba fẹ yọ ESP-IDF kuro, jọwọ tẹle Aifi sii ESP-IDF.
Awọn ọna ṣiṣe Espressif
44 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Abala 2
Itọkasi API
2.1 API Apejọ
Iwe yii ṣapejuwe awọn apejọ ati awọn arosinu ti o wọpọ si Awọn atọkun siseto Ohun elo ESP-IDF (APIs). ESP-IDF pese ọpọlọpọ iru awọn atọkun siseto:
· Awọn iṣẹ C, awọn ẹya, awọn nọmba, iru awọn asọye ati awọn macros preprocessor ti a sọ ni akọsori gbangba files ti ESPDF irinše. Awọn oju-iwe oriṣiriṣi ni apakan Itọkasi API ti itọsọna siseto ni awọn apejuwe ti awọn iṣẹ wọnyi, awọn ẹya ati awọn iru.
Kọ awọn iṣẹ eto, awọn oniyipada ti a ti pinnu tẹlẹ ati awọn aṣayan. Awọn wọnyi ti wa ni akọsilẹ ninu awọn Kọ eto itọsọna. Awọn aṣayan Kconfig le ṣee lo ni koodu ati ninu eto kikọ (CmakeLists.txt) files. · Awọn irinṣẹ ogun ati awọn aye laini aṣẹ wọn tun jẹ apakan ti wiwo ESP-IDF. ESP-IDF ni awọn paati ti a kọ pataki fun ESP-IDF ati awọn ile-ikawe ẹni-kẹta. Ni awọn igba miiran, ohun elo ESP-IDF-pato ti wa ni afikun si ile-ikawe ẹni-kẹta, n pese wiwo ti o rọrun tabi dara julọ ti a ṣepọ pẹlu iyoku awọn ohun elo ESP-IDF. Ni awọn ọran miiran, API atilẹba ti ile-ikawe ẹni-kẹta ni a gbekalẹ si awọn olupilẹṣẹ ohun elo. Awọn apakan atẹle ṣe alaye diẹ ninu awọn aaye ti ESP-IDF API ati lilo wọn.
2.1.1 Ṣiṣe aṣiṣe
Pupọ julọ ESP-IDF APIs pada awọn koodu aṣiṣe asọye pẹlu iru esp_err_t. Wo apakan Mimudani aṣiṣe fun alaye diẹ ẹ sii nipa awọn isunmọ mimu aṣiṣe. Itọkasi koodu aṣiṣe ni atokọ ti awọn koodu aṣiṣe ti o da pada nipasẹ awọn paati ESP-IDF.
2.1.2 iṣeto ni awọn ẹya
Pàtàkì: Bibẹrẹ ti o tọ ti awọn ẹya atunto jẹ apakan pataki ni ṣiṣe ohun elo ni ibamu pẹlu awọn ẹya iwaju ti ESP-IDF.
Pupọ julọ ipilẹṣẹ tabi awọn iṣẹ atunto ni ESP-IDF gba bi ariyanjiyan itọka si eto atunto kan. Fun example:
45
Chapter 2. API Reference
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = "my_timer"
}; esp_timer_handle_t my_timer; esp_err_t err = esp_timer_create (& my_timer_args, & my_timer);
Awọn iṣẹ ibẹrẹ ko tọju itọka si eto atunto, nitorinaa o jẹ ailewu lati pin eto lori akopọ.
Ohun elo naa gbọdọ bẹrẹ gbogbo awọn aaye ti eto naa. Awọn atẹle jẹ aṣiṣe:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = & my_timer_callback; /* Ko tọ! Awọn aaye .arg ati .orukọ ko ni ipilẹṣẹ */ esp_timer_create (& my_timer_args, & my_timer);
Julọ ESP-IDF examples lo C99 ti a yan awọn ipilẹṣẹ ipilẹṣẹ fun ipilẹṣẹ igbekalẹ, niwọn bi wọn ṣe pese ọna ṣoki ti ṣeto ipin awọn aaye, ati ibẹrẹ-odo awọn aaye to ku:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Ti o tọ, awọn aaye .arg ati .orukọ jẹ odo-ibẹrẹ */
};
Ede C ++ ko ṣe atilẹyin sintasi awọn ipilẹṣẹ ibẹrẹ ti a pinnu titi di C ++20, sibẹsibẹ alakojo GCC ṣe atilẹyin ni apakan bi itẹsiwaju. Nigbati o ba nlo awọn API ESP-IDF ni koodu C++, o le ronu nipa lilo ilana atẹle:
esp_timer_create_args_t my_timer_args = {}; /* Gbogbo awọn aaye ti wa ni odo-initialized */ my_timer_args.callback = & my_timer_callback;
Awọn olupilẹṣẹ aiyipada
Fun diẹ ninu awọn ẹya atunto, ESP-IDF n pese macros fun tito awọn iye aiyipada ti awọn aaye:
httpd_config_t atunto = HTTPD_DEFAULT_CONFIG (); /* HTTPD_DEFAULT_CONFIG gbooro si ibẹrẹ ti o yan.
Bayi gbogbo awọn aaye ti ṣeto si awọn iye aiyipada. Eyikeyi aaye le tun ti wa ni títúnṣe: */ config.server_port = 8081; olupin httpd_handle_t; esp_err_t err = httpd_start (& olupin, & konfigi);
A ṣe iṣeduro lati lo awọn macros ipilẹṣẹ ipilẹṣẹ aiyipada nigbakugba ti wọn ba pese fun eto iṣeto ni pato.
2.1.3 ikọkọ APIs
Akọsori kan files ninu ESP-IDF ni awọn API ti a pinnu lati ṣee lo nikan ni koodu orisun ESP-ID, kii ṣe nipasẹ awọn ohun elo. Iru akọsori files nigbagbogbo ni ikọkọ tabi esp_private ninu orukọ tabi ọna wọn. Awọn paati kan, gẹgẹbi hal nikan ni awọn API ikọkọ ninu. Awọn API aladani le yọkuro tabi yipada ni ọna aibaramu laarin awọn idasilẹ kekere tabi alemo.
2.1.4 Awọn irinše ni example ise agbese
ESP-IDF examples ni ọpọlọpọ awọn iṣẹ akanṣe ti n ṣe afihan lilo awọn API ESP-IDF. Ni ibere lati din kooduopo ni examples, kan diẹ wọpọ awọn oluranlọwọ ti wa ni telẹ inu irinše ti o ti wa ni lilo nipa ọpọ Mofiamples.
Awọn ọna ṣiṣe Espressif
46 Fi Esi iwe aṣẹ silẹ
Tu v5.0.9
Chapter 2. API Reference
Eyi pẹlu irinše be
Awọn iwe aṣẹ / Awọn orisun
![]() |
Espressif Systems ESP32 Dev Kitc Development Board [pdf] Itọsọna olumulo ESP32 Dev Kitc Igbimọ Idagbasoke, ESP32, Igbimọ Idagbasoke Dev Kitc, Igbimọ Idagbasoke Kitc, Igbimọ Idagbasoke, Igbimọ |
