Papan Pangembangan ESP32 Dev Kitc
Informasi produk
Spesifikasi
- Produk: ESP32
- Panduan Pemrograman: ESP-IDF
- Versi release: v5.0.9
- Produsen: Sistem Espressif
- Tanggal Rilis: 16 Mei 2025
Pandhuan Panggunaan Produk
1. Miwiti
Sadurunge miwiti karo ESP32, familiarize dhewe karo
ing ngisor iki:
1.1 Pambuka
Sinau babagan fungsi lan kemampuan dhasar
ESP32.
1.2 Apa Sampeyan Perlu
Priksa manawa sampeyan duwe hardware lan piranti lunak sing dibutuhake:
- Hardware: Priksa dhaptar hardware sing dibutuhake
komponen. - Piranti lunak: Instal piranti lunak sing dibutuhake
komponen.
1.3 Instalasi
Tindakake langkah iki kanggo nginstal IDE lan nyetel
lingkungan:
- IDE: Instal IDE dianjurake kanggo
pemrograman ESP32. - Instalasi Manual: Nggawe kanthi manual
lingkungan yen perlu.
1.4 Mbangun Proyek Pisanan Panjenengan
Gawe lan gawe proyek dhisikan nggunakake ESP32.
1.5 Busak instal ESP-IDF
Yen perlu, sinau carane instal ESP-IDF saka
sistem.
2. Referensi API
Deleng dokumentasi API kanggo informasi rinci babagan
protokol aplikasi, penanganan kesalahan, lan konfigurasi
struktur.
Pitakonan sing Sering Ditakoni (FAQ)
P: Kepiye carane ngatasi masalah umum karo ESP32?
A: Waca bagean ngatasi masalah ing pandhuan program
utawa ngunjungi pabrikan websitus kanggo sumber support.
P: Apa aku bisa nggunakake ESP-IDF karo mikrokontroler liyane?
A: ESP-IDF dirancang khusus kanggo ESP32, nanging sampeyan bisa nemokake
kompatibilitas karo mikrokontroler Espressif liyane.
ESP32
Panduan Pemrograman ESP-IDF
Rilis v5.0.9 Sistem Espressif 16 Mei 2025
Daftar isi
Daftar isi
i
1 Miwiti
3
1.1 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Apa Sampeyan Perlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Piranti Lunak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Instalasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Instalasi Manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Mbangun Proyek Pisanan Sampeyan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5 Busak instal ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 Referensi API
45
2.1 Konvensi API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.1 Penanganan kesalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Struktur konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.3 API Pribadi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4 Komponen ing example proyek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.5 Stabilitas API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 Protokol Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1 port ASIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 ESP-MQTT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.4 ESP-TLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.5 Klien HTTP ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.2.6 Kontrol Lokal ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.7 ESP Serial Budak Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2.8 Paket Sertifikat ESP x509. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.2.9 Server HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2.10 Server HTTPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
2.2.11 ICMP Echo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2.2.12 Layanan mDNS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.13 Mbed TLS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.14 Lapisan Jaringan IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3 API Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.1 Bluetooth® Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.2 Bluetooth® Kurang Energi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
2.3.3 Bluetooth® Klasik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2.3.4 Pengontrol & HCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
2.3.5 ESP-BLE-MESH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
2.3.6 API host basis NimBLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
2.4 Referensi Kode Kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
2.5 API Jaringan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.2 Ethernet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
2.5.3 Utas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
i
2.5.4 ESP-NETIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 Lapisan Jaringan IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Lapisan Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Peripherals API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analog to Digital Converter (ADC) Driver Mode Oneshot. . . . . . . . . . . . . . . . . 977 2.6.2 Analog to Digital Converter (ADC) Supir Mode Kontinu. . . . . . . . . . . . . . . 986 2.6.3 Analog to Digital Converter (ADC) Driver Kalibrasi. . . . . . . . . . . . . . . . . . . 993 2.6.4 Wit Jam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital To Analog Converter (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Timer Tujuan Umum (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Inter-Integrated Circuit (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Inter-IC Swara (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Kontrol LED (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Kontrol Motor Pulse Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Remote Control Transceiver (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD Pull-up Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC Host Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Host Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO Card Budak Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulation (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Master Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Budak Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Elemen Aman) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Sensor Tutul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Antarmuka Otomotif Two-Wire (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Universal Asynchronous Receiver/Transmitter (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Konfigurasi Proyek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Pambuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Menu Konfigurasi Proyek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Nggunakake sdkconfig.defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Aturan Format Kconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kompatibilitas Mundur saka Pilihan Kconfig. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Referensi Pilihan Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Provisioning API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Komunikasi Protokol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Penyediaan Manunggal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Penyediaan Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Storage API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileDhukungan sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Utilitas Manufaktur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Non-molah malih Storage Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 Utilitas Generator Partisi NVS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD / SDIO / MMC Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filesistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Virtual filekomponen sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Wear Leveling API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 Sistem API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Format Gambar Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Aplikasi Level Tracing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Fungsi telpon karo tumpukan njaba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Revisi Chip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Konsol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Kode Kasalahan lan Fungsi Helper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii
2.10.8 ESP HTTPS OTA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Pustaka Loop Acara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Swaraview). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Fitur Tambahan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Alokasi Memori Heap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Heap Memory Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Timer Resolusi Dhuwur (ESP Timer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 API Internal lan Ora Stabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Telpon Antar Prosesor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Alokasi interupsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Logging perpustakaan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 API Sistem Miscellaneous. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 liwat The Air Updates (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Monitor Kinerja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Manajemen Daya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 Dhukungan Utas POSIX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Generasi Nomer Acak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Mode Turu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Kapabilitas SoC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Sistem Wektu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 API alokasi himem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Pengawas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161
3 Referensi Hardware
2167
3.1 Chip Series Comparison. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167
3.1.1 Dokumen sing gegandhengan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170
4 Pandhuan API
2171
4.1 Pustaka Tracing Level Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.1 Luwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.2 Mode Operasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.3 Pilihan Konfigurasi lan Dependensi. . . . . . . . . . . . . . . . . . . . . . . . . . 2172
4.1.4 Cara Nggunakake Pustaka Iki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173
4.2 Alur Pambuka Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181
4.2.1 Kapisan staglan bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.2 Kapindho staglan bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.3 Aplikasi wiwitan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183
4.3 Bluetooth® Klasik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.3.1 Luwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.4 Bluetooth® Kurang Energi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.1 Luwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.2 Miwiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191
4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240
4.5 Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284
4.5.1 Kompatibilitas bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.2 Tingkat Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.3 Reset pabrik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.4 Boot saka Test Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.5 Rollback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.6 Pengawas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.7 Ukuran Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.8 Boot cepet saka Deep Sleep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.9 Bootloader khusus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.6 Mbangun Sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.1 Luwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.2 Nggunakake Sistem Mbangun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289
iii
4.6.3 Kelample Proyek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Project CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Komponen CMakeLists Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Konfigurasi Komponen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Definisi Preprocessor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Syarat Komponen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Bagean Overriding Proyek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Komponen Mung Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Debugging CMake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Example Component CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Custom sdkconfig standar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Bantahan lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Nggawe Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Nulis Komponen CMake Murni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Nggunakake Proyek CMake Pihak Katelu karo Komponen . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Nggunakake Pustaka Prebuilt karo Komponen. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Nggunakake ESP-IDF ing Custom CMake Projects. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Incremental Builds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Mbangun Metadata Sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Mbangun Sistem Internal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Migrasi saka ESP-IDF GNU Make System . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Inti Dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Simpen dump inti kanggo lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Nyetak inti dump menyang UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Fungsi ROM ing Backtraces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Dumping variabel ing dikarepake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Mlaku escoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Stub Tangi Turu Jero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Aturan kanggo Wake Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Implementasi Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Ngunggah Kode menyang Memori RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Ngunggah Data menyang Memori RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Priksa Rintisan Wake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Penanganan Kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Kode kesalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Ngonversi kode kesalahan menyang pesen kesalahan. . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK makro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_TANPA_ABORT makro. . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR makro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR makro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE makro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 Mriksa MACROS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Pola nangani kesalahan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ Pangecualian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 Konsep ESP-WIFI-MESH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Mbangun Jaringan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ngatur Jaringan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Pangiriman Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Ngalih Saluran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv
4.10.8 Kinerja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Cathetan Salajengipun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Penanganan Acara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet, lan Acara IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Acara bolong. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Acara Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Kasalahan Fatal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Panic Handler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Register Dump lan Backtrace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog Timeout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Kasalahan Semedi Guru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Kasalahan Fatal Liyane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Pambuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 eFuses sing relevan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Proses Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Konfigurasi Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Kemungkinan Gagal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 Status Enkripsi Lampu kilat ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Maca lan Nulis Data ing Lampu kilat terenkripsi. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Nganyari Lampu kilat sing dienkripsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Mateni Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Titik Penting Babagan Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Watesan Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Enkripsi Lampu kilat lan Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Fitur Lanjut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Rincian Teknis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Abstraksi Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Arsitektur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Tingkat Kurang) Lapisan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Lapisan Abstraksi Perangkat Keras) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Interupsi Tingkat Dhuwur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Tataran Interupsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Cathetan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Cara Kerjane? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Milih JTAG Adaptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Persiyapan OpenOCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Konfigurasi Target ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Bukak Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Debugging Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Mbangun OpenOCD saka Sumber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Tips lan Quirks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10. Dokumen sing gegandhengan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Generasi Skrip Linker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Wiwitan Cepet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generasi Internals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 API sing didhukung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Tugas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 Dhukungan IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip modifikasi khusus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v
4.18.7 Optimization kinerja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Jinis Memori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Data RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Instruction RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (kode dieksekusi saka lampu kilat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data disimpen ing lampu kilat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Memori alon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC memori FAST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Persyaratan Mampu DMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA Buffer ing tumpukan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Mode tumpukan OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Cara Nulis Aplikasi OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 Router Border OpenThread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Tabel Partisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Tabel Partisi Dibangun ing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Nggawe Tabel Custom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Ngasilake Tabel Partisi Biner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Pemeriksa Ukuran Partisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Kelip-kelip meja partisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Piranti Partisi (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Kinerja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Cara Ngoptimalake Kinerja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Panuntun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 Kalibrasi RF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Kalibrasi sebagean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Kalibrasi lengkap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Ora ana kalibrasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 Data inisialisasi PHY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 Referensi API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Boot Aman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Latar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Proses Boot Aman Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Tombol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Ukuran Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Cara Ngaktifake Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Bootloader Piranti Lunak sing Bisa Surup maneh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Ngasilake Kunci Signing Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Tandha Tangan saka Gambar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Praktik Paling Apik Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Rincian Teknis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Boot Aman & Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Verifikasi Aplikasi sing Ditandatangani Tanpa Boot Aman Hardware. . . . . . . . . . . . . . . . . . 2478 4.24.13 Fitur Lanjut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Boot Aman V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Latar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Proses Boot Aman V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Format Blok Teken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Padding Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Verifikasi Blok Teken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Verifikasi Gambar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Ukuran Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 panggunaan eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Carane Ngaktifake Aman Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Watesan sawise Boot Aman diaktifake . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Ngasilake Boot Aman Key Signing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi
4.25.13 Remote Signing Gambar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Praktik Paling Apik Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Rincian Teknis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Boot Aman & Enkripsi Lampu kilat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Verifikasi Aplikasi sing Ditandatangani Tanpa Boot Aman Hardware. . . . . . . . . . . . . . . . . . 2484 4.25.18 Fitur Lanjut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Dhukungan kanggo RAM njaba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Konfigurasi RAM njaba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Watesan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Gagal miwiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Chip Revisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Panyimpenan Lokal Utas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Standar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Piranti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 Gambar IDF Docker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 Manajer Komponen IDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Piranti sing bisa diundhuh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Unit Testing ing ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Kasus Tes Normal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Kasus Test Multi-piranti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stage Kasus Tes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Tes Kanggo Sasaran Beda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 App Test Unit Bangunan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Tes Unit mlaku. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Kode Wektu karo Cache Compensated Timer . . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Ngece. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Unit Testing ing Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Tes Piranti Lunak Semat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Tes Unit IDF ing Host Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 Dhaptar Fitur Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Cara Nulis Aplikasi Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API Kode kesalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Parameter Initialization. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 Model Pemrograman Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi Katrangan Acara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 Skenario Umum Stasiun Wi-Fi ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP Skenario Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 Skenario Nyambungake Stasiun Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Stasiun Wi-Fi Nyambung Nalika Akeh AP Ditemokake . . . . . . . . . . . . . 2543 4.31.12 Sambungake maneh Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi Beacon Wektu entek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Konfigurasi Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Manajemen Jaringan Nirkabel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Pangukuran Sumber Daya Radio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Transisi BSS Cepet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Mode Ngirit Daya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi Throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
4.31.21 Wi-Fi 80211 Kirim Paket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Mode Sniffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi Multiple Antena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Informasi Negara Saluran Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi Channel Informasi Negara Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . 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 Fragmen Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS Ndhaptar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi Buffer Dianggo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Cara Ngapikake Kinerja Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Ngatasi masalah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Keamanan Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Fitur Keamanan Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Pigura Manajemen dilindhungi (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Pribadi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Coexistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Swaraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Skenario Coexistence Didhukung kanggo ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Mekanisme lan Kebijakan Coexistence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Cara Nggunakake Fitur Coexistence. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Bangun Reproducible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Alasan kanggo mbangun non-reproducible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Ngaktifake mbangun reproducible ing ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Carane nggawe reproducible digayuh. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Bangun lan debugging sing bisa direproduksi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Faktor-faktor sing isih mengaruhi bangunan sing bisa direproduksi. . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Pandhuan Pangguna Mode Daya Sedheng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578
5 Pandhuan Migrasi
2579
5.1 ESP-IDF 5.x Pandhuan Migrasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
5.1.1 Migrasi saka 4.4 kanggo 5.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
6 Pustaka lan Kerangka
2611
6.1 Kerangka Awan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.1 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.2 AWS IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.3 Azure IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.4 Inti Google IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Kerangka Espressifns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.1 Kerangka Pengembangan Audio Espressif. . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.2 ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.3 Pustaka Espressif DSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.4 Kerangka Pengembangan ESP-WIFI-MESH. . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.6 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.7 ESP-IoT-Solusi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.8 ESP-Protokol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
vii
6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614
7 Pandhuan Kontribusi
2615
7.1 Carane Kontribusi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.2 Sadurunge Kontribusi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.3 Proses Panyuwunan Narik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.4 Bagean Hukum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5 Dokumen sing gegandhengan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.1 Espressif IoT Development Framework Guide Gaya. . . . . . . . . . . . . . . . . . . . 2616
7.5.2 Instal pre-commit Hook kanggo Proyek ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . 2623
7.5.3 Kode Dokumentasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624
7.5.4 Nggawe Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629
7.5.5 Cithakan Dokumentasi API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630
7.5.6 Persetujuan Kontributor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632
7.5.7 Pandhuan Header Hak Cipta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634
7.5.8 Tes ESP-IDF karo Pandhuan Pytest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635
8 ESP-IDF Versi
2645
8.1 Rilis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.2 Versi endi sing kudu diwiwiti? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.3 Skema Versi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.4 Periode Dhukungan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646
8.5 Priksa Versi Saiki. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647
8.6 Alur Kerja Git. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7 Nganyari ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7.1 Nganyari menyang Rilis Stabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.2 Nganyari menyang Versi Pra-Rilis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.3 Nganyari menyang Cabang Master. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.4 Nganyari menyang Cabang Rilis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650
9 Sumber Daya
2651
9.1 PlatformIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.1 Apa PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.2 Instalasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.3 Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.4 Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.5 Proyek Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.6 Langkah Sabanjure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.2 Pranala Migunani. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
10 Hak Cipta lan Lisensi
2653
10.1 Hak Cipta Piranti Lunak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.1 Komponen Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.2 Dokumentasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.2 Kode Sumber ROM Hak Cipta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.3 Lisensi Xtensa libhal MIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.4 Lisensi TinyBasic Plus MIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
10.5 Lisensi TJpgDec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
11 Babagan
2657
12 Ngalih Antarane Basa
2659
Indeks
2661
Indeks
2661
ix
x
Daftar isi
Iki minangka dokumentasi kanggo Espressif IoT Development Framework (esp-idf). ESP-IDF minangka kerangka pangembangan resmi kanggo SoC Seri ESP32, ESP32-S lan ESP32-C. Dokumen iki nerangake nggunakake ESP-IDF karo ESP32 SoC.
Miwiti
Referensi API
API Guides
Sistem Espressif
1 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Daftar isi
Sistem Espressif
2 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1
Miwiti
Dokumen iki dimaksudaké kanggo mbantu nyiyapake lingkungan pangembangan piranti lunak kanggo hardware adhedhasar chip ESP32 dening Espressif. Sawise iku, mantan prasajaample bakal nuduhake sampeyan carane nggunakake ESP-IDF (Espressif IoT Development Framework) kanggo konfigurasi menu, banjur kanggo mbangun lan sumunar perangkat kukuh menyang Papan ESP32.
Cathetan: Iki minangka dokumentasi kanggo versi stabil v5.0.9 saka ESP-IDF. Versi ESP-IDF liyane uga kasedhiya.
1.1 Pambuka
ESP32 minangka sistem ing chip sing nggabungake fitur-fitur ing ngisor iki: · Wi-Fi (band 2.4 GHz) · Bluetooth · Dual kinerja dhuwur Xtensa® 32-bit LX6 inti CPU · Ultra Low Power co-processor · Multiple peripheral
Didhukung dening teknologi 40 nm, ESP32 nyedhiyakake platform sing kuat lan terintegrasi, sing mbantu nyukupi panjaluk sing terus-terusan kanggo panggunaan daya sing efisien, desain kompak, keamanan, kinerja dhuwur, lan linuwih. Espressif nyedhiyakake sumber daya hardware lan piranti lunak dhasar kanggo mbantu para pangembang aplikasi ngerteni gagasane nggunakake hardware seri ESP32. Kerangka pangembangan piranti lunak dening Espressif ditujokake kanggo pangembangan aplikasi Internetof-Things (IoT) kanthi Wi-Fi, Bluetooth, manajemen daya lan sawetara fitur sistem liyane.
1.2 Apa Sampeyan Perlu
1.2.1 Hardware
· Papan ESP32. · Kabel USB – USB A / micro USB B. · Komputer sing nganggo Windows, Linux, utawa macOS.
Cathetan: Saiki, sawetara papan pangembangan nggunakake konektor USB Type C. Priksa manawa sampeyan duwe kabel sing bener kanggo nyambungake papan sampeyan!
Yen sampeyan duwe salah sawijining papan pangembangan resmi ESP32 sing kapacak ing ngisor iki, sampeyan bisa ngeklik link kanggo mangerteni sing luwih lengkap babagan hardware.
3
Bab 1. Miwiti
ESP32-DevKitS(-R)
Pandhuan pangguna iki nyedhiyakake informasi babagan ESP32-DevKitS(-R), papan sumunar adhedhasar ESP32 sing diprodhuksi dening Espressif. ESP32-DevKitS(-R) iku kombinasi saka rong jeneng Papan: ESP32-DevKitS lan ESP32-DevKitS-R. S tegese springs, lan R tegese WROVER.
ESP32-DevKitS
ESP32-DevKitS-R
Dokumen kasusun saka bagean utama ing ngisor iki: · Miwiti: Nyedhiyani liwatview saka ESP32-DevKitS (-R) lan hardware / instruksi persiyapan lunak kanggo miwiti. · Referensi Hardware: Nyedhiyani informasi sing luwih rinci babagan hardware ESP32-DevKitS(-R)ns. · Dokumen sing gegandhengan: Menehi pranala menyang dokumentasi sing gegandhengan.
Miwiti Bagian iki nerangake carane miwiti ESP32-DevKitS(-R). Diwiwiti karo sawetara bagean pambuka babagan ESP32-DevKitS(-R), banjur Bagean Cara Flash Papan menehi instruksi babagan carane masang modul menyang ESP32-DevKitS(-R), nyiapake, lan flash firmware menyang.
Swaraview ESP32-DevKitS(-R) iku Papan sumunar Espressifns dirancang khusus kanggo ESP32. Bisa digunakake kanggo kerlip modul ESP32 tanpa soldering modul menyang sumber daya lan garis sinyal. Kanthi modul sing dipasang, ESP32-DevKitS (-R) uga bisa digunakake minangka papan pangembangan mini kaya ESP32-DevKitC.
Papan ESP32-DevKitS lan ESP32-DevKitS-R mung beda-beda ing tata letak pin spring supaya pas karo modul ESP32 ing ngisor iki.
· 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
Kanggo informasi babagan modul ing ndhuwur, waca Modul Seri ESP32.
Katrangan saka Komponen
Sistem Espressif
4 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Gambar 1: ESP32-DevKitS - ngarep
Sistem Espressif
Gambar 2: ESP32-DevKitS-R – ngarep 5
Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Kunci Spring Pins 2.54 mm Female Header
USB-to-UART Bridge LDO Micro-USB Konektor/Micro USB Port EN Tombol Tombol Boot
Daya LED
Description Klik modul ing. Pins bakal pas menyang modulns castellated bolongan. Header wadon iki disambungake menyang pin modul sing dipasang ing papan iki. Kanggo katrangan babagan header wanita, waca Blok Header. USB chip tunggal menyang jembatan UART nyedhiyakake tarif transfer nganti 3 Mbps.
5V-kanggo-3.3V low-dropout voltagregulator (LDO).
antarmuka USB. Sumber daya kanggo papan uga antarmuka komunikasi antarane komputer lan papan.
Tombol reset.
Tombol download. Tahan Boot banjur pencet EN miwiti mode Download Firmware kanggo ngundhuh perangkat kukuh liwat port serial.
Diuripake nalika USB utawa sumber daya disambungake menyang Papan.
Cara Flash Papan Sadurunge nyiyapake ESP32-DevKitS(-R), priksa manawa iku ing kondisi apik tanpa pratandha cetha saka karusakan.
Perangkat Keras sing dibutuhake · Modul ESP32 pilihan sampeyan · Kabel USB 2.0 (Standar-A nganti Micro-B) · Komputer sing nganggo Windows, Linux, utawa macOS
Persiyapan Perangkat Keras Mangga pasang modul sing dipilih ing ESP32-DevKitS(-R) miturut langkah-langkah ing ngisor iki:
· Lebokake modul sampeyan ing papan ESP32-DevKitS(-R). Priksa manawa bolongan castellated ing modul sampeyan didadekake siji karo pin spring ing Papan.
· Pencet modul sampeyan mudhun ing papan nganti klik. · Priksa manawa kabeh pin spring dilebokake ing bolongan castellated. Yen ana sawetara pin spring sing salah,
sijine menyang bolongan castellated karo tweezers.
Persiyapan Piranti Lunak
Metode Preferred Framework pangembangan ESP-IDF nyedhiyakake cara sing luwih disenengi kanggo sumunar binari menyang ESP32-DevKitS(-R). Mangga nerusake menyang Miwiti, ing ngendi Instalasi Bagean bakal mbantu sampeyan nyiyapake lingkungan pangembangan banjur kerlip aplikasi example menyang ESP32-DevKitS(-R).
Cara Alternatif Minangka alternatif, pangguna Windows bisa flash binari nggunakake Flash Download Tool. Cukup download, unzip, lan tindakake pandhuan ing folder doc.
Cathetan: 1. Kanggo kerlip binar files, ESP32 kudu disetel menyang mode Download Firmware. Iki bisa ditindakake kanthi otomatis nganggo alat lampu kilat, utawa kanthi nahan tombol Boot lan nutul tombol EN. 2. Sawise sumunar binar files, Flash Download Tool miwiti maneh modul ESP32 lan boot aplikasi flashed minangka standar.
Ukuran Papan Isi lan Kemasan
Sistem Espressif
6 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti Gambar 3: Dimensi papan ESP32-DevKitS – mburi
Sistem Espressif
Fig. 4: dimensi Papan ESP32-DevKitS-R - mburi 7
Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Pesenan eceran Yen sampeyan pesen sawetara samples, saben ESP32-DevKitS (-R) rawuh ing paket individu ing salah siji tas antistatic utawa packaging gumantung ing pengecer. Kanggo pesen eceran, bukak https://www.espressif.com/en/contact-us/get-samples.
Pesenan Grosir Yen sampeyan pesen ing akeh, Papan teka ing kothak karton gedhe. Kanggo pesenan grosir, bukak https://www.espressif.com/en/contact-us/sales-questions.
Referensi Hardware
Diagram Blok Diagram blok ing ngisor iki nuduhake komponen ESP32-DevKitS(-R) lan sambungane.
Fig. 5: ESP32-DevKitS(-R) (klik kanggo nggedhekake)
Pilihan Pasokan Daya Ana telung cara eksklusif kanggo nyedhiyakake daya menyang papan: · Port USB mikro, sumber daya standar · Pin header 5V lan GND · Pin header 3V3 lan GND
Disaranake nggunakake pilihan pisanan: port micro USB.
Sistem Espressif
.
Sinyal Label
L1 3V3 VDD 3V3
L2 EN CHIP_PU
L3 VP SENSOR_VP
L4 VN SENSOR_VN
L5 34
GPIO34
L6 35
GPIO35
L7 32
GPIO32
L8 33
GPIO33
terus ing kaca sabanjuré
8 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Tabel 1 terus saka kaca sadurunge
.
Sinyal Label
L9 25
GPIO25
L10 26
GPIO26
L11 27
GPIO27
L12 14
GPIO14
L13 12
GPIO12
L14 GND GND
L15 13
GPIO13
L16 D2 SD_DATA2
L17 D3 SD_DATA3
L18 CMD SD_CMD
L19 5V
5V njaba
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
Blok Header Kanggo gambar blok header, deleng Katrangan Komponen.
Dokumen sing gegandhengan
· Skema ESP32-DevKitS(-R) (PDF) · Lembar Data ESP32 (PDF) · Lembar Data ESP32-WROOM-32 (PDF) · Lembar Data ESP32-WROOM-32D & ESP32-WROOM-32U (PDF) · Lembar Data ESP32-SOLO-2-F (PDF) · ESP32-WROVER-B Datasheet (PDF) · ESP Product Selector
ESP32-DevKitM-1
Pandhuan pangguna iki bakal mbantu sampeyan miwiti nganggo ESP32-DevKitM-1 lan uga bakal menehi informasi sing luwih jero.
ESP32-DevKitM-1 minangka papan pangembangan ESP32-MINI-1 (1U) sing diprodhuksi dening Espressif. Umume pin I / O dipecah menyang header pin ing loro-lorone supaya gampang antarmuka. Pangguna bisa nyambungake periferal nganggo kabel jumper utawa masang ESP32-DevKitM-1 ing papan roti.
Sistem Espressif
9 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
ESP32-DevKitM-1 - ngarep
ESP32-DevKitM-1 - isometrik
Dokumen kasusun saka bagean utama ing ngisor iki: · Miwiti: Nyedhiyani liwatview saka ESP32-DevKitM-1 lan hardware / instruksi persiyapan lunak kanggo miwiti. · Referensi hardware: Nyedhiyani informasi sing luwih rinci babagan hardware ESP32-DevKitM-1ns. · Related Documents: Menehi pranala menyang documentaiton related.
Miwiti Bagian iki nerangake carane miwiti ESP32-DevKitM-1. Diwiwiti karo sawetara bagean pambuko babagan ESP32-DevKitM-1, banjur bagean Mulai Pangembangan Aplikasi menehi instruksi babagan carane nggawe persiyapan hardware dhisikan banjur carane kerlip perangkat kukuh menyang ESP32-DevKitM-1.
Swaraview Iki minangka papan pangembangan cilik lan trep sing nduweni fitur:
· Modul ESP32-MINI-1, utawa ESP32-MINI-1U · Antarmuka pemrograman USB-to-serial sing uga nyedhiyakake sumber daya kanggo papan · header pin · tombol push kanggo ngreset lan ngaktifake mode Download Firmware · sawetara komponen liyane
Isi lan Packaging
Pesenan eceran Yen sampeyan pesen sawetara samples, saben ESP32-DevKitM-1 rawuh ing paket individu ing salah siji tas antistatic utawa packaging gumantung ing toko Panjenengan.
Kanggo pesen eceran, bukak https://www.espressif.com/en/contact-us/get-samples.
Pesenan Grosir Yen sampeyan pesen ing akeh, Papan teka ing kothak karton gedhe. Kanggo pesenan grosir, bukak https://www.espressif.com/en/contact-us/sales-questions.
Katrangan Komponen Gambar ing ngisor iki lan tabel ing ngisor iki njlèntrèhaké komponen tombol, antarmuka lan kontrol Papan ESP32-DevKitM-1. We njupuk Papan karo modul ESP32-MINI-1 minangka Example ing bagean ngisor iki.
Sistem Espressif
10 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Fig.. 6: ESP32-DevKitM-1 - ngarep
Modul On-board Komponen Kunci
5 V kanggo 3.3 V LDO Boot Button
Tombol Reset Port Micro-USB
USB-kanggo-UART Bridge 3.3 V Power On LED
Konektor I/O
Katrangan
modul ESP32-MINI-1 utawa modul ESP32-MINI-1U. ESP32-MINI-1 dilengkapi antena PCB on-board. ESP32-MINI-1U dilengkapi konektor antena eksternal. Loro modul kasebut duwe lampu kilat 4 MB ing paket chip. Kanggo rincian, deleng Lembar Data ESP32-MINI-1 & ESP32-MINI-1U.
Regulator daya ngowahi 5 V dadi 3.3 V.
Tombol download. Nahan Boot banjur pencet Reset miwiti mode Download Firmware kanggo ngundhuh perangkat kukuh liwat port serial.
Tombol Reset
antarmuka USB. Sumber daya kanggo papan uga antarmuka komunikasi antarane komputer lan chip ESP32.
Chip jembatan USB-UART tunggal nyedhiyakake tarif transfer nganti 3 Mbps.
Diuripake nalika USB disambungake menyang Papan. Kanggo rincian, deleng skema ing Dokumen sing Gegandhengan. Kabeh pin GPIO kasedhiya (kajaba SPI bis kanggo lampu kilat) wis bejat metu menyang header pin ing Papan. Pangguna bisa program chip ESP32 kanggo ngaktifake macem-macem fungsi.
Miwiti Pangembangan Aplikasi Sadurunge nyiyapake ESP32-DevKitM-1, priksa manawa ana ing kahanan sing apik lan ora ana tandha-tandha karusakan.
Perangkat Keras sing dibutuhake · ESP32-DevKitM-1 · Kabel USB 2.0 (Standar-A nganti Micro-B) · Komputer sing nganggo Windows, Linux, utawa macOS
Persiyapan Perangkat Lunak Mangga nerusake menyang Miwiti, ing ngendi Instalasi Bagean bakal mbantu sampeyan nyiyapake lingkungan pangembangan kanthi cepet lan banjur kerlip eks aplikasi.ample menyang ESP32-DevKitM-1.
Sistem Espressif
11 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Manungsa waé: Papan ESP32-DevKitM-1 sing diprodhuksi sadurunge 2 Desember 2021 duwe modul inti tunggal sing diinstal. Kanggo verifikasi modul apa sing sampeyan duwe, priksa informasi tandha modul ing PCN-2021-021. Yen papan sampeyan duwe modul inti siji sing diinstal, aktifake mode inti tunggal (CONFIG_FREERTOS_UNICORE) ing menuconfig sadurunge sumunar aplikasi sampeyan.
Diagram Blok Referensi Hardware Diagram blok ing ngisor iki nuduhake komponen ESP32-DevKitM-1 lan sambungane.
Gambar 7: ESP32-DevKitM-1
Pilih Sumber Daya Ana telung cara sing saling eksklusif kanggo nyedhiyakake daya menyang papan: · Port USB mikro, sumber daya standar · Pin header 5V lan GND · Pin header 3V3 lan GND
Pènget: · Sumber daya kudu disedhiyakake kanthi nggunakake siji lan mung siji opsi ing ndhuwur, yen ora, papan lan/utawa sumber daya bisa rusak. · Disaranake sumber daya nganggo port USB mikro.
Katrangan Pin Tabel ing ngisor iki nyedhiyakake Jeneng lan Fungsi pin ing loro-lorone papan. Kanggo konfigurasi pin periferal, waca ESP32 Datasheet.
Ora.
jeneng
Jinis
1
GND
P
2
3V3
P
Fungsi Ground 3.3 V power supply
terus ing kaca sabanjuré
Sistem Espressif
12 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Tabel 2 terus saka kaca sadurunge
Ora.
jeneng
Jinis
Fungsi
3
I36
I
GPIO36, ADC1_CH0, RTC_GPIO0
4
I37
I
GPIO37, ADC1_CH1, RTC_GPIO1
5
I38
I
GPIO38, ADC1_CH2, RTC_GPIO2
6
I39
I
GPIO39, ADC1_CH3, RTC_GPIO3
7
RST
I
Reset; Dhuwur: ngaktifake; Kurang: daya mati
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
Aku/O
GPIO32, XTAL_32K_P (input osilator kristal 32.768 kHz),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
Aku/O
GPIO33, XTAL_32K_N (output osilator kristal 32.768 kHz),
ADC1_CH5, TOUCH8, RTC_GPIO8
12
IO25
Aku/O
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
13
IO26
Aku/O
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
14
IO27
Aku/O
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
15
IO14
Aku/O
GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EMAC_TXD2
16
5V
P
5 V sumber daya
17
IO12
Aku/O
GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ,
HS2_DATA2, SD_DATA2, EMAC_TXD3
18
IO13
Aku/O
GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,
HS2_DATA3, SD_DATA3, EMAC_RX_ER
19
IO15
Aku/O
GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0,
HS2_CMD, SD_CMD, EMAC_RXD3
20
IO2
Aku/O
GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,
HS2_DATA0, SD_DATA0
21
IO0
Aku/O
GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,
EMAC_TX_CLK
22
IO4
Aku/O
GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, EMAC_TX_ER
23
IO9
Aku/O
GPIO9, HS1_DATA2, U1RXD, SD_DATA2
24
IO10
Aku/O
GPIO10, HS1_DATA3, U1TXD, SD_DATA3
25
IO5
Aku/O
GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK
26
IO18
Aku/O
GPIO18, HS1_DATA7, VSPICLK
27
IO23
Aku/O
GPIO23, HS1_STROBE, VSPID
28
IO19
Aku/O
GPIO19, VSPIQ, U0CTS, EMAC_TXD0
29
IO22
Aku/O
GPIO22, VSPIWP, U0RTS, EMAC_TXD1
30
IO21
Aku/O
GPIO21, VSPIHD, EMAC_TX_EN
31
TXD0
Aku/O
GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
32
RXD0
Aku/O
GPIO3, U0RXD, CLK_OUT2
Rincian Revisi Hardware Ora ana versi sadurunge kasedhiya.
Dokumen sing gegandhengan
· ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Skema (PDF) · ESP32-DevKitM-1 PCB (PDF) · ESP32-DevKitM-1 layout (DXF) – Sampeyan bisa view iku karo Autodesk Viewonline · ESP32 Datasheet (PDF) · ESP Product Selector
Kanggo dokumentasi desain liyane kanggo Papan, hubungi kita ing sales@espressif.com.
Sistem Espressif
13 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Piranti Lunak 1.2.2
Kanggo miwiti nggunakake ESP-IDF ing ESP32, instal piranti lunak ing ngisor iki: · Toolchain kanggo ngumpulake kode kanggo ESP32 · Mbangun alat – CMake lan Ninja kanggo mbangun Aplikasi lengkap kanggo ESP32 · ESP-IDF sing ateges ngemot API (perpustakaan piranti lunak lan kode sumber) kanggo ESP32 lan skrip kanggo operate Toolchain.
1.3 Instalasi
Kanggo nginstal kabeh piranti lunak sing dibutuhake, kita nawakake sawetara cara kanggo nggampangake tugas iki. Pilih saka salah siji opsi sing kasedhiya.
1.3.1 IDE
Cathetan: Disaranake nginstal ESP-IDF liwat IDE favorit.
· Plugin Eclipse · Ekstensi VSCode
1.3.2 Instalasi Manual
Kanggo prosedur manual, pilih miturut sistem operasi sampeyan.
Sistem Espressif
14 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Setup standar Toolchain kanggo Windows
Pambuka ESP-IDF mbutuhake sawetara piranti prasyarat kanggo diinstal supaya sampeyan bisa mbangun perangkat kukuh kanggo Kripik didhukung. Piranti prasyarat kalebu Python, Git, cross-compilers, CMake lan alat mbangun Ninja. Kanggo Miwiti iki, sampeyan bakal nggunakake Command Prompt, nanging sawise ESP-IDF diinstal, sampeyan bisa nggunakake Eclipse Plugin utawa IDE grafis liyane kanthi dhukungan CMake. Cathetan: Watesan: – Path instalasi ESP-IDF lan ESP-IDF Tools kudu ora luwih saka 90 karakter. Jalur instalasi sing dawa banget bisa nyebabake gagal mbangun. - Path instalasi Python utawa ESP-IDF kudu ora ngemot spasi putih utawa kurung. - Path instalasi Python utawa ESP-IDF ngirim ora ngemot karakter khusus (nonASCII) kajaba sistem operasi wis diatur karo oUnicode UTF-8psupport. Administrator Sistem bisa ngaktifake dhukungan liwat Panel Kontrol - Ganti format tanggal, wektu, utawa nomer - Tab Administratif - Ganti lokal sistem - priksa pilihan oBeta: Gunakake Unicode UTF-8 kanggo dhukungan basa ing saindenging jagadp - Ok lan urip maneh komputer.
ESP-IDF Tools Installer Cara paling gampang kanggo nginstal prasyarat ESP-IDFns yaiku ngundhuh salah siji saka ESP-IDF Tools Installers.
Unduh Windows Installer
Apa gunane kanggo Instalasi Online Instalasi Online lan Offline cilik banget lan ngidini instalasi kabeh rilis ESP-IDF sing kasedhiya. Pemasang mung bakal ndownload dependensi sing dibutuhake kalebu Git For Windows sajrone proses instalasi. Toko installer sing diundhuh files ing direktori cache% userprofile%. espressif
Offline Installer ora mbutuhake sambungan jaringan. Pemasang ngemot kabeh dependensi sing dibutuhake kalebu Git Kanggo Windows.
Komponen instalasi Pamasang masang komponen ing ngisor iki:
· Python semat · Cross-compilers · OpenOCD · Alat mbangun CMake lan Ninja · ESP-IDF
Pemasang uga ngidini nggunakake maneh direktori sing ana karo ESP-IDF. Direktori sing disaranake yaiku %userprofile%Desktopesp-idf ngendi %userprofile% iku direktori ngarep sampeyan.
Sistem Espressif
15 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Bukak Lingkungan ESP-IDF Ing pungkasan proses instalasi sampeyan bisa mriksa pilihan Run ESP-IDF PowerShell Environment utawa Run ESP-IDF Command Prompt (cmd.exe). Pemasang bakal miwiti lingkungan ESP-IDF ing pituduh sing dipilih. Jalanake Lingkungan PowerShell ESP-IDF:
Gambar 8: Ngrampungake Wisaya Persiyapan Alat ESP-IDF karo Run ESP-IDF PowerShell Environment
Jalanake Command Prompt ESP-IDF (cmd.exe):
Nggunakake Command Prompt Kanggo langkah-langkah Miwiti sing isih ana, sampeyan bakal nggunakake Windows Command Prompt. ESP-IDF Tools Installer uga nggawe trabasan ing menu Start kanggo miwiti ESP-IDF Command Prompt. Trabasan iki mbukak Command Prompt (cmd.exe) lan mbukak script export.bat kanggo nyetel variabel lingkungan (PATH, IDF_PATH lan liya-liyane). Ing command prompt iki, kabeh alat sing diinstal kasedhiya. Elinga yen trabasan iki khusus kanggo direktori ESP-IDF sing dipilih ing ESP-IDF Tools Installer. Yen sampeyan duwe sawetara direktori ESP-IDF ing komputer (kanggo exampkanggo nggarap macem-macem versi ESP-IDF), sampeyan duwe rong pilihan kanggo nggunakake:
1. Gawe salinan trabasan sing digawe dening ESP-IDF Tools Installer, lan ganti direktori kerja trabasan anyar menyang direktori ESP-IDF sing pengin digunakake.
2. Utawa, mbukak cmd.exe, banjur ganti menyang direktori ESP-IDF sing pengin digunakake, lan mbukak export.bat. Elinga yen ora kaya opsi sadurunge, cara iki mbutuhake Python lan Git kanggo ana ing PATH. Yen sampeyan entuk kesalahan sing ana gandhengane karo Python utawa Git sing ora ditemokake, gunakake pilihan pisanan.
Langkah-langkah pisanan ing ESP-IDF Saiki amarga kabeh syarat wis rampung, topik sabanjure bakal nuntun sampeyan babagan carane miwiti proyek pisanan sampeyan.
Sistem Espressif
16 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti Gambar 9: ESP-IDF PowerShell
Fig. 10: Ngrampungake ESP-IDF Tools Setup Wizard kanthi Run ESP-IDF Command Prompt (cmd.exe)
Sistem Espressif
17 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Gambar 11: Command Prompt ESP-IDF
Sistem Espressif
18 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Pandhuan iki bakal mbantu sampeyan ing langkah pisanan nggunakake ESP-IDF. Tindakake pandhuan iki kanggo miwiti proyek anyar ing ESP32 lan mbangun, lampu kilat, lan ngawasi output piranti. Cathetan: Yen sampeyan durung nginstal ESP-IDF, bukak Instalasi lan tindakake pandhuan kanggo entuk kabeh piranti lunak sing dibutuhake kanggo nggunakake pandhuan iki.
Miwiti Proyek Saiki sampeyan wis siyap nyiyapake aplikasi kanggo ESP32. Sampeyan bisa miwiti karo getstarted/hello_world project saka exampdirektori les ing ESP-IDF.
Penting: Sistem mbangun ESP-IDF ora ndhukung spasi ing dalan menyang ESP-IDF utawa proyek.
Salin proyek get-started/hello_world menyang direktori ~/esp: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world hello_world
Cathetan: Ana sawetara example proyèk ing Exampdirektori les ing ESP-IDF. Sampeyan bisa nyalin proyek apa wae kanthi cara sing padha kaya sing dituduhake ing ndhuwur lan mbukak. Sampeyan uga bisa kanggo mbangun examples ing panggonan tanpa nyalin dhisik.
Sambungake Piranti Saiki sambungake papan ESP32 menyang komputer lan priksa ing port serial ing papan kasebut katon. Jeneng port serial diwiwiti karo COM ing Windows. Yen sampeyan ora yakin carane mriksa jeneng port serial, waca Nggawe Sambungan Serial karo ESP32 kanggo rincian lengkap.
Cathetan: Tansah jeneng port kanthi gampang amarga sampeyan butuh ing langkah sabanjure.
Konfigurasi Proyek Sampeyan Navigasi menyang direktori hello_world, setel ESP32 minangka target, lan mbukak menuconfig sarana konfigurasi proyek.
Windows cd %userprofile%esphello_world idf.py nyetel-target esp32 idf.py menuconfig
Sawise mbukak proyek anyar, sampeyan kudu nyetel target kanthi idf.py set-target esp32. Elinga yen mbangun lan konfigurasi sing ana ing proyek kasebut, yen ana, bakal dibusak lan diinisialisasi ing proses iki. Target bisa disimpen ing variabel lingkungan kanggo ngliwati langkah iki. Waca Pilih Target Chip: set-target kanggo informasi tambahan. Yen langkah-langkah sadurunge wis rampung kanthi bener, menu ing ngisor iki katon: Sampeyan nggunakake menu iki kanggo nyiyapake variabel tartamtu project, contone, jeneng jaringan Wi-Fi lan sandhi, kacepetan prosesor, etc. Nyiyapake project karo menuconfig bisa dilewati kanggo ohello_wordp, wiwit ex ikiample mlaku karo konfigurasi gawan.
Manungsa waé: Yen sampeyan nggunakake papan ESP32-DevKitC karo modul ESP32-SOLO-1, utawa papan ESP32-DevKitM-1 karo modul ESP32-MIN1-1(1U), aktifake mode inti siji (CONFIG_FREERTOS_UNICORE) ing menuconfig sadurunge sumunar examples.
Sistem Espressif
19 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Gambar 12: Konfigurasi proyek - Jendhela ngarep
Cathetan: Werna menu bisa beda-beda ing terminal sampeyan. Sampeyan bisa ngganti tampilan kanthi pilihan -gaya. Bukak idf.py menuconfig –help kanggo informasi luwih lengkap.
Yen sampeyan nggunakake salah sawijining papan pangembangan sing didhukung, sampeyan bisa nyepetake pangembangan kanthi nggunakake Paket Dhukungan Papan. Waca Tips Tambahan kanggo informasi luwih lengkap.
Mbangun Proyek Mbangun proyek kanthi mlaku:
idf.py mbangun
Printah iki bakal ngumpulake aplikasi lan kabeh komponen ESP-IDF, banjur bakal ngasilake bootloader, tabel partisi, lan binari aplikasi.
$ idf.py mbangun Running cmake ing direktori /path/to/hello_world/build Nglakokake "cmake -G Ninja –warn-uninitialized /path/to/hello_world"... Warning about uninitialized values. — Ditemokake Git: /usr/bin/git (versi ditemokake “2.17.0”) — Mbangun komponen aws_iot kosong amarga konfigurasi — Jeneng komponen: … — Jalur komponen: …
... (larik liyane saka output sistem mbangun)
[527/527] Ngasilake hello_world.bin esptool.py v2.3.1
Pembangunan proyek rampung. Kanggo lampu kilat, jalanake printah iki: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world. bin mbangun 0x1000 mbangun / bootloader / bootloader.bin 0x8000 mbangun / partition_table / partition-table.bin utawa mbukak 'idf.py -p PORT flash'
Yen ora ana kesalahan, mbangun bakal rampung kanthi ngasilake firmware binar .bin files.
Sistem Espressif
20 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Lampu kilat menyang Piranti Flash binari sing lagi wae digawe (bootloader.bin, partition-table.bin lan hello_world.bin) menyang papan ESP32 kanthi mbukak: idf.py -p PORT [-b BAUD] lampu kilat
Ganti PORT karo ESP32 boardns jeneng port serial. Sampeyan uga bisa ngganti tingkat baud flasher kanthi ngganti BAUD karo tingkat baud sing dibutuhake. Baud rate standar yaiku 460800. Kanggo informasi luwih lengkap babagan argumen idf.py, deleng idf.py.
Cathetan: Opsi lampu kilat kanthi otomatis mbangun lan nyorot proyek kasebut, mula ora perlu mbukak idf.py build.
Nemokake Masalah Nalika Flashing? Yen sampeyan mbukak printah sing diwenehake lan ndeleng kesalahan kaya Gagal nyambungake, bisa uga ana sawetara sebab. Salah sawijining alasan bisa uga masalah sing ditemoni dening esptool.py, sarana sing diarani sistem mbangun kanggo ngreset chip, sesambungan karo bootloader ROM, lan perangkat kukuh lampu kilat. Siji solusi prasaja kanggo nyoba yaiku ngreset manual sing diterangake ing ngisor iki, lan yen ora mbantu sampeyan bisa nemokake rincian liyane babagan masalah sing bisa ditindakake ing Ngatasi Masalah.
esptool.py ngreset ESP32 kanthi otomatis kanthi netepake garis kontrol DTR lan RTS saka USB menyang chip konverter serial, IE, FTDI utawa CP210x (kanggo informasi luwih lengkap, ndeleng Netepake Sambungan Serial karo ESP32). Garis kontrol DTR lan RTS disambungake menyang pin GPIO0 lan CHIP_PU (EN) saka ESP32, saéngga owah-owahan ing voltagTingkat DTR lan RTS bakal boot ESP32 menyang mode Download Firmware. Minangka mantanample, mriksa skema kanggo Papan pangembangan ESP32 DevKitC.
Umumé, sampeyan ora duwe masalah karo papan pangembangan esp-idf resmi. Nanging, esptool.py ora bisa ngreset hardware kanthi otomatis ing kasus ing ngisor iki:
· Perangkat keras sampeyan ora duwe garis DTR lan RTS sing disambungake menyang GPIO0 lan CHIP_PU · Garis DTR lan RTS dikonfigurasi kanthi beda · Ora ana garis kontrol serial kaya ngono.
Gumantung saka jinis hardware sing sampeyan duwe, bisa uga kanthi manual sijine papan ESP32 menyang mode Download Firmware (reset).
· Kanggo papan pangembangan sing diprodhuksi dening Espressif, informasi iki bisa ditemokake ing pandhuan wiwitan utawa pandhuan pangguna. Kanggo example, kanggo ngreset papan pangembangan ESP-IDF kanthi manual, terus tombol Boot (GPIO0) banjur pencet tombol EN (CHIP_PU).
· Kanggo jinis hardware liyane, coba tarik GPIO0 mudhun.
Operasi Normal Nalika sumunar, sampeyan bakal weruh log output kaya ing ngisor iki:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partisi-1/bootload0bin. 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Nyambung…….._ Chip yaiku ESP32D0WDQ6 (revisi 0) Fitur: WiFi, BT, Dual Core, Skema Coding Ora ana Kristal yaiku 40MHz MAC: 24:0a tubb:c9:04… mlaku… Ngganti baud rate kanggo 460800 Diganti.
(terus ing kaca sabanjure)
Sistem Espressif
21 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
(terus saka kaca sadurunge) Ngonfigurasi ukuran lampu kilat… Dikompresi 3072 bita dadi 103… Nulis ing 0x00008000… (100 %) Nulis 3072 bita (103 dikompres) ing 0x00008000 ing 0.0 detik (efektif 5962 ksh/s) data (efektif 5962 ksh/s) Dikompres 26096 bita dadi 15408… Nulis ing 0x00001000… (100 %) Nulis 26096 bait (15408 dikompres) ing 0x00001000 ing 0.4 detik (efektif 546.7 kbit/dt)… Dikompres 147104 bait dadi 77364… Nulis ing 0x00010000… (20 %) Nulis ing 0x00014000… (40 %) Nulis ing 0x00018000… (60 %) Nulis ing 0x0001c000% Writing ing 0x0001c000 0x00020000… (100 %) Nulis 147104 bait (77364 dikompres) ing 0x00010000 ing 1.9 detik (efektif 615. 5 kbit/s)… Hash data diverifikasi.
Ninggalake… Hard reset liwat RTS pin… Rampung
Yen ora ana masalah ing pungkasan proses lampu kilat, papan bakal urip maneh lan miwiti theohello_worldpapplication. Yen sampeyan pengin nggunakake Eclipse utawa VS Code IDE tinimbang mbukak idf.py, priksa Eclipse Plugin, VSCode Extension.
Ngawasi Output Kanggo mriksa yen ohello_worldpis pancen mlaku, ketik idf.py -p PORT monitor (Aja lali ngganti PORT karo jeneng port serial).
Printah iki mbukak aplikasi IDF Monitor:
$ idf.py -p monitor Mlaku idf_monitor ing direktori […]/esp/hello_world/build Nglakokake “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Metu: Ctrl+] | Menu: Ctrl+T | Bantuan: Ctrl+T diikuti Ctrl+H –et Jun 8 2016 00:22:57
pisanan: 0x1 (POWERON_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT) lan 8 Jun 2016 00:22:57 …
Sawise log wiwitan lan diagnostik gulung munggah, sampeyan bakal weruh oHello world!pprinted metu dening aplikasi.
… Hello donya! Wiwiti maneh ing 10 detik… Iki chip esp32 kanthi 2 inti CPU, WiFi/BT/BLE, revisi silikon 1, lampu kilat eksternal 2MB Ukuran tumpukan gratis minimal: 298968 bita Wiwiti maneh ing 9 detik… Wiwiti maneh ing 8 detik… Wiwiti maneh ing 7 detik…
Kanggo metu saka monitor IDF gunakake trabasan Ctrl+].
Sistem Espressif
22 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Yen monitor IDF gagal sakcepete sawise upload, utawa, yen tinimbang pesen ing ndhuwur, sampeyan ndeleng sampah acak padha ing ngisor iki, Papan sampeyan kamungkinan nggunakake kristal 26 MHz. Umume desain papan pangembangan nggunakake 40 MHz, mula ESP-IDF nggunakake frekuensi iki minangka nilai standar.
Yen sampeyan duwe masalah kaya mengkono, tindakake ing ngisor iki: 1. Metu saka monitor. 2. Bali menyang menuconfig. 3. Menyang Component config > Hardware Settings > Main XTAL Config > Main XTAL frekuensi, banjur ganti CONFIG_XTAL_FREQ_SEL dadi 26 MHz. 4. Sawise iku, mbangun lan kerlip aplikasi maneh.
Ing versi ESP-IDF saiki, frekuensi XTAL utama sing didhukung dening ESP32 yaiku:
· 26 MHz · 40 MHz
Cathetan: Sampeyan bisa nggabungake bangunan, sumunar lan ngawasi dadi siji langkah kanthi mlaku: idf.py -p PORT flash monitor
Deleng uga: · IDF Monitor kanggo trabasan praktis lan rincian liyane babagan nggunakake monitor IDF. · idf.py kanggo referensi lengkap perintah lan pilihan idf.py.
Iku kabeh sing perlu kanggo miwiti karo ESP32! Saiki sampeyan siyap nyoba sawetara mantan liyaneamples, utawa langsung menyang ngembangaken aplikasi dhewe.
Penting: Sawetara mantanamples ora ndhukung ESP32 amarga hardware dibutuhake ora klebu ing ESP32 supaya ora bisa didhukung. Yen mbangun mantanample, mangga dipriksa README file kanggo tabel Target Didhukung. Yen iki saiki kalebu ESP32 target, utawa tabel ora ana ing kabeh, Example bakal bisa ing ESP32.
Tips tambahan
Masalah ijin / dev / ttyUSB0 Kanthi sawetara distribusi Linux, sampeyan bisa entuk pesen kesalahan Gagal mbukak port / dev / ttyUSB0 nalika sumunar ESP32. Iki bisa ditanggulangi kanthi nambahake pangguna saiki menyang grup dialog.
kompatibilitas Python ESP-IDF ndhukung Python 3.7 utawa anyar. Disaranake kanggo nganyarke sistem operasi menyang versi paling anyar sing nyukupi syarat iki. Pilihan liyane kalebu instalasi Python saka sumber utawa nggunakake sistem manajemen versi Python kayata pyenv.
Mulai karo Papan Dhukungan Paket Kanggo nyepetake prototyping ing sawetara Papan pembangunan, sampeyan bisa nggunakake Papan Dhukungan Packages (BSPs), kang ndadekake initialization saka Papan tartamtu gampang minangka sawetara telpon fungsi.
Sistem Espressif
23 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
BSP biasane ndhukung kabeh komponen hardware sing kasedhiya ing papan pangembangan. Kajaba saka definisi pinout lan fungsi initialization, BSP ngirim driver kanggo komponen eksternal kayata sensor, tampilan, codec audio, lsp. BSP disebarake liwat Manajer Komponen IDF, saengga bisa ditemokake ing Registry Komponen IDF. Iki mantanampbabagan carane nambah ESP-WROVER-KIT BSP menyang proyek sampeyan: idf.py add-dependency esp_wrover_kit
More mantanampkurang panggunaan BSP bisa ditemokake ing BSP exampfolder kasebut.
Dokumen sing gegandhengan Kanggo pangguna sing luwih maju sing pengin ngatur proses instalasi: · Nganyari alat ESP-IDF ing Windows · Nggawe Sambungan Serial karo ESP32 · Eclipse Plugin · Ekstensi VSCode · Monitor IDF
Nganyari alat ESP-IDF ing Windows
Instal alat ESP-IDF nggunakake skrip Saka Command Prompt Windows, ganti menyang direktori ing ngendi ESPIDF diinstal. Banjur mbukak:
nginstal.bat
Kanggo Powershell, ganti menyang direktori ing ngendi ESP-IDF diinstal. Banjur mbukak:
nginstal.ps1
Iki bakal ndownload lan nginstal alat sing dibutuhake kanggo nggunakake ESP-IDF. Yen versi alat tartamtu wis diinstal, ora ana tindakan sing bakal ditindakake. Piranti kasebut diundhuh lan diinstal menyang direktori sing ditemtokake sajrone proses ESP-IDF Tools Installer. Kanthi gawan, iki C:Usersusername.espressif.
Nambah alat ESP-IDF menyang PATH nggunakake skrip ekspor ESP-IDF tools installer nggawe trabasan menu Start kanggo oESP-IDF Command Promptp. Trabasan iki mbukak jendhela Command Prompt ing ngendi kabeh alat wis ana
kasedhiya. Ing sawetara kasus, sampeyan bisa uga pengin nggarap ESP-IDF ing jendhela Command Prompt sing durung diwiwiti nggunakake trabasan kasebut. Yen ngono, tindakake pandhuan ing ngisor iki kanggo nambah alat ESP-IDF menyang PATH. Ing command prompt ngendi sampeyan kudu nggunakake ESP-IDF, ngganti menyang direktori ngendi ESP-IDF diinstal, banjur nglakokaké export.bat:
cd %userprofile%espesp-idf export.bat
Utawa ing Powershell ngendi sampeyan kudu nggunakake ESP-IDF, ngganti menyang direktori ngendi ESP-IDF diinstal, banjur nglakokaké export.ps1:
cd ~/esp/esp-idf export.ps1
Yen wis rampung, alat kasebut bakal kasedhiya ing command prompt iki.
Nggawe Sambungan Serial karo ESP32 Bagian iki menehi panuntun dhumateng carane nggawe sambungan serial antarane ESP32 lan PC.
Sistem Espressif
24 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Sambungake ESP32 menyang PC Sambungake papan ESP32 menyang PC nggunakake kabel USB. Yen driver piranti ora diinstal kanthi otomatis, ngenali USB kanggo chip converter serial ing Papan ESP32 (utawa dongle converter external), goleki driver ing internet lan nginstal. Ing ngisor iki dhaptar chip konverter USB menyang serial sing dipasang ing sebagian besar papan ESP32 sing diprodhuksi dening Espressif bebarengan karo tautan menyang driver:
· CP210x: CP210x USB kanggo UART Bridge VCP Drivers · FTDI: FTDI Virtual COM Port Driver Mangga dipriksa pandhuan pangguna Papan kanggo USB tartamtu kanggo chip converter serial digunakake. Pembalap ing ndhuwur utamane kanggo referensi. Ing kahanan normal, pembalap kudu digabungake karo sistem operasi lan kanthi otomatis diinstal nalika nyambungake papan menyang PC.
Priksa port ing Windows Priksa dhaptar port COM sing diidentifikasi ing Windows Device Manager. Pedhot ESP32 lan sambungake maneh, kanggo verifikasi port sing ilang saka dhaptar banjur ditampilake maneh. Tokoh ing ngisor iki nuduhake port serial kanggo ESP32 DevKitC lan ESP32 WROVER KIT
Fig. 13: USB menyang jembatan UART saka ESP32-DevKitC ing Windows Device Manager
Priksa port ing Linux lan macOS Kanggo mriksa jeneng piranti kanggo port serial papan ESP32 sampeyan (utawa dongle konverter eksternal), jalanake printah iki kaping pindho, pisanan kanthi papan / dongle dicopot, banjur kanthi dipasang. Port sing katon kaping pindho yaiku sing sampeyan butuhake: Linux
ls /dev/tty*
macOS
Sistem Espressif
25 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Fig. 14: Rong Port Serial USB saka ESP-WROVER-KIT ing Windows Device Manager
Sistem Espressif
26 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
ls /dev/cu.* Cathetan: pangguna macOS: yen sampeyan ora weruh port serial, priksa manawa sampeyan wis nginstal driver USB/serial. Waca Bagean Sambungake ESP32 menyang PC kanggo link menyang driver. Kanggo macOS High Sierra (10.13), sampeyan uga kudu kanthi tegas ngidini driver mbukak. Bukak Preferensi Sistem -> Keamanan & Privasi -> Umum lan priksa manawa ana pesen sing ditampilake ing kene babagan Piranti Lunak oSystem saka pangembang ing ngendi jeneng pangembang yaiku Silicon Labs utawa FTDI.
Nambahake pangguna menyang dialog ing Linux Pangguna sing saiki mlebu kudu maca lan nulis ngakses port serial liwat USB. Ing umume distribusi Linux, iki ditindakake kanthi nambahake pangguna menyang grup dialog kanthi prentah ing ngisor iki:
sudo usermod -a -G dialog $USER
ing Arch Linux iki rampung kanthi nambahake pangguna menyang grup uucp kanthi printah ing ngisor iki:
sudo usermod -a -G uucp $USER
Priksa manawa sampeyan mlebu maneh kanggo ngaktifake ijin maca lan nulis kanggo port serial.
Verifikasi sambungan serial Saiki verifikasi yen sambungan serial wis operasional. Sampeyan bisa nindakake iki nggunakake program terminal serial kanthi mriksa yen sampeyan entuk output ing terminal sawise ngreset ESP32. Tingkat baud konsol standar ing ESP32 yaiku 115200.
Windows lan Linux Ing ex ikiample kita bakal nggunakake Klien PuTTY SSH sing kasedhiya kanggo Windows lan Linux. Sampeyan bisa nggunakake program serial liyane lan nyetel paramèter komunikasi kaya ing ngisor iki. Mbukak terminal lan nyetel port serial sing diidentifikasi. Baud rate = 115200 (yen perlu, ngganti iki kanggo standar baud rate saka chip digunakake), data bit = 8, mandeg bit = 1, lan paritas = N. Ing ngisor iki example gambar saka setelan port lan paramèter transmisi kuwi (ing cendhak diterangake minangka 115200-8-1-N) ing Windows lan Linux. Elinga milih persis port serial sing padha wis dikenali ing langkah ndhuwur. Banjur mbukak port serial ing terminal lan mriksa, yen sampeyan ndeleng log dicithak dening ESP32. Isi log bakal gumantung ing aplikasi dimuat kanggo ESP32, ndeleng Examplan Output.
Cathetan: Nutup terminal serial sawise verifikasi yen komunikasi bisa digunakake. Yen sampeyan tetep mbukak sesi terminal, port serial ora bisa diakses kanggo ngunggah perangkat kukuh mengko.
macOS Kanggo nyisihake masalah nginstal program terminal serial, macOS nawakake printah layar. · Kaya sing dibahas ing port Priksa ing Linux lan macOS, jalanake:
ls /dev/cu.* · Sampeyan kudu ndeleng output sing padha:
/dev/cu.Bluetooth-Incoming-Port /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· Output bakal beda-beda gumantung saka jinis lan jumlah papan sing disambungake menyang PC. Banjur pilih jeneng piranti ing papan sampeyan lan bukak (yen perlu, ganti o115200 menyang tingkat baud standar chip sing digunakake):
layar /dev/cu.device_name 115200 Ganti device_name karo jeneng ketemu mlaku ls /dev/cu.*.
Sistem Espressif
27 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Fig. 15: Setelan Komunikasi Serial ing PuTTY ing Windows
Sistem Espressif
28 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Gambar 16: Setelan Komunikasi Serial ing PuTTY ing Linux
Sistem Espressif
29 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
· Apa sing sampeyan goleki yaiku sawetara log sing ditampilake ing layar. Isi log bakal gumantung ing aplikasi dimuat kanggo ESP32, ndeleng Examplan Output. Kanggo metu saka sesi layar ketik Ctrl-A + .
Cathetan: Aja lali metu saka sesi layar sawise verifikasi manawa komunikasi bisa digunakake. Yen sampeyan gagal nindakake lan mung nutup jendhela terminal, port serial ora bisa diakses kanggo ngunggah perangkat kukuh mengko.
Example Output Lan example log kapacak ing ngisor iki. Reset papan yen sampeyan ora weruh apa-apa. lan 8 Jun 2016 00:22:57
pisanan: 0x5 (DEEPSLEEP_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT) lan 8 Jun 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) boot: wektu kompilasi 18:48:10
…
Yen sampeyan bisa ndeleng output log sing bisa diwaca, tegese sambungan serial bisa digunakake lan sampeyan siyap nerusake instalasi lan pungkasane ngunggah aplikasi menyang ESP32.
Cathetan: Kanggo sawetara konfigurasi kabel port serial, pin RTS & DTR serial kudu dipateni ing program terminal sadurunge ESP32 bakal boot lan ngasilake output serial. Iki gumantung ing hardware dhewe, paling Papan pembangunan (kalebu kabeh Papan Espressif) ora masalah iki. Masalah kasebut ana yen RTS & DTR disambungake langsung menyang pin EN & GPIO0. Deleng dokumentasi esptool kanggo rincian liyane.
Yen teka kene saka Langkah 5. Langkah pisanan ing ESP-IDF nalika nginstal s / w kanggo pembangunan ESP32, sampeyan bisa nerusake karo Langkah 5. Langkah pisanan ing ESP-IDF.
IDF Monitor IDF Monitor utamane program terminal serial sing ngirim data serial menyang lan saka port serial piranti target. Uga nyedhiyakake sawetara fitur khusus IDF. IDF Monitor bisa diluncurake saka proyek IDF kanthi mbukak monitor idf.py.
Trabasan Keyboard Kanggo interaksi gampang karo IDF Monitor, gunakake trabasan keyboard sing diwenehake ing tabel.
Sistem Espressif
30 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Trabasan Keyboard Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (utawa A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (utawa I)
· Ctrl+H (utawa H)
· Ctrl+X (utawa X)
Ctrl+C
Tumindak
Katrangan
Metu saka program Menu tombol uwal Kirimi karakter menu dhewe kanggo remot
Kirimi karakter metu dhewe menyang remot
Reset target menyang bootloader kanggo ngaso app liwat baris RTS
Reset papan target liwat RTS
Mbangun lan kerlip proyek
Mbangun lan kerlip app mung
Mungkasi / nerusake printing output log ing layar
Stop / nerusake output log disimpen kanggo file
Stop / nerusake wektuamps
nyetak
Tampilake kabeh trabasan keyboard
Pencet lan tindakake kanthi salah siji tombol sing diwenehi ing ngisor iki.
Reset target, menyang bootloader liwat baris RTS (yen disambungake), supaya Papan nganggo apa-apa. Migunani nalika sampeyan kudu ngenteni piranti liya kanggo miwiti. Ngreset papan target lan miwiti maneh aplikasi liwat baris RTS (yen disambungake).
Ngaso idf_monitor kanggo mbukak target lampu kilat proyek, banjur nerusake idf_monitor. Sembarang sumber diganti files sing recompiled lan banjur maneh flashed. Lampu kilat sing dienkripsi target ditindakake yen idf_monitor diwiwiti kanthi argumen -E. Ngaso idf_monitor kanggo mbukak target app-flash, banjur nerusake idf_monitor. Padha karo target lampu kilat, nanging mung aplikasi utama sing dibangun lan diluncurake maneh. Target encrypted-app-flash ditindakake yen idf_monitor diwiwiti kanthi argumen -E. Mbuwang kabeh data serial sing mlebu nalika diaktifake. Ngidini kanthi cepet ngaso lan mriksa output log tanpa metu saka monitor. Nggawe a file ing direktori project lan output ditulis kanggo sing file nganti iki dipatèni karo trabasan keyboard padha (utawa IDF Monitor metu). IDF Monitor bisa nyithak wektuamp ing wiwitan saben baris. Wektu palingamp format bisa diganti dening -timestamp-Format baris printah argumen.
Metu saka program
Ngganggu aplikasi sing mlaku
Ngaso IDF Monitor lan mbukak debugger proyek GDB kanggo debug aplikasi nalika runtime. Iki mbutuhake: ref: CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME pilihan kanggo diaktifake.
Sembarang tombol sing ditekan, kajaba Ctrl-] lan Ctrl-T, bakal dikirim liwat port serial.
Fitur khusus IDF
Dekoding Alamat Otomatis Nalika ESP-IDF ngasilake alamat kode heksadesimal saka wangun 0x4_______, IDF Monitor nggunakake addr2line_ kanggo nggoleki lokasi ing kode sumber lan nemokake jeneng fungsi.
Yen aplikasi ESP-IDF kacilakan lan gupuh, mbucal registrasi lan backtrace digawe, kayata ing ngisor iki:
Sistem Espressif
31 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Guru Meditation Error saka jinis StoreProhibited dumadi ing inti 0. Pangecualian ana
ora ditangani.
Ndhaptar dump:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7d0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 ASURANSI:
0x0000001d
EXCVADDR: 0x00000000 LBEG : 0x4000c46c PINJAMAN : 0x4000c477 LCOUNT :
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
IDF Monitor nambah rincian liyane menyang dump:
Guru Meditation Error saka jinis StoreProhibited dumadi ing inti 0. Pangecualian ana
ora ditangani.
Ndhaptar dump:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
0x400f360d: do_something_to_crash ing /home/gus/esp/32/idf/examples / miwiti /
hello_world/utama/./hello_world_main.c:57
(ditulis dening) inner_dont_crash ing /home/gus/esp/32/idf/examples / miwiti / hello_
donya/utama/./hello_world_main.c:52
A2
: 0x3ffb136c A3
: 0x00000005 A4
: 0x00000000 A5
:
0x00000000
A6
: 0x00000000 A7
: 0x00000080 A8
: 0x00000000 A9
:
0x3ffb7d0
A10
: 0x00000003 A11
: 0x00060f23 A12
: 0x00060f20 A13
:
0x3ffba6d0
A14
: 0x00000047 A15
: 0x0000000f SAR
: 0x00000019 ASURANSI:
0x0000001d
EXCVADDR: 0x00000000 LBEG : 0x4000c46c PINJAMAN : 0x4000c477 LCOUNT :
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (ditulis dening) inner_dont_crash ing /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash at /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: dont_crash ing /home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main ing /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task ing /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254
Kanggo decode saben alamat, IDF Monitor nganggo printah ing ngisor iki ing latar mburi: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS
Cathetan: Setel variabel lingkungan ESP_MONITOR_DECODE dadi 0 utawa nelpon idf_monitor.py nganggo baris perintah tartamtu
Sistem Espressif
32 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
pilihan: idf_monitor.py –disable-address-decoding kanggo mateni dekoding alamat.
Reset Target ing Sambungan Kanthi gawan, IDF Monitor bakal ngreset target nalika nyambungake. Reset chip target ditindakake kanthi nggunakake garis serial DTR lan RTS. Kanggo nyegah IDF Monitor kanthi otomatis ngreset target nalika sambungan, nelpon IDF Monitor kanthi pilihan –no-reset (contone, idf_monitor.py –no-reset).
Cathetan: Opsi –no-reset ditrapake prilaku sing padha sanajan nyambungake IDF Monitor menyang port tartamtu (contone, idf.py monitor –no-reset -p [PORT]).
Bukak GDB karo GDBStub GDBStub minangka fitur debugging runtime migunani sing mlaku ing target lan nyambung menyang host liwat port serial kanggo nampa printah debugging. GDBStub ndhukung printah kayata memori maca lan variabel, mriksa pigura tumpukan telpon etc. Senajan GDBStub kurang Versatile tinimbang JTAG debugging, ora mbutuhake hardware khusus (kayata JTAG kanggo USB bridge) minangka komunikasi rampung liwat port serial. Target bisa dikonfigurasi kanggo mbukak GDBStub ing latar mburi kanthi nyetel CONFIG_ESP_SYSTEM_PANIC menyang GDBStub nalika runtime. GDBStub bakal mbukak ing latar mburi nganti pesen Ctrl + C dikirim liwat port serial lan nimbulaké GDBStub break (IE, mungkasi eksekusi) program, saéngga ngidini GDBStub kanggo nangani printah debugging. Salajengipun, handler gupuh bisa diatur kanggo mbukak GDBStub ing kacilakan dening nyetel CONFIG_ESP_SYSTEM_PANIC kanggo GDBStub ing gupuh. Nalika kacilakan occurs, GDBStub bakal output pola senar khusus liwat port serial kanggo nunjukaké sing lagi mlaku. Ing loro kasus kasebut (yaiku, ngirim pesen Ctrl+C, utawa nampa pola string khusus), IDF Monitor bakal kanthi otomatis mbukak GDB supaya pangguna bisa ngirim perintah debugging. Sawise GDB metu, target direset liwat baris serial RTS. Yen baris iki ora disambungake, pangguna bisa ngreset target (kanthi mencet tombol Reset boardns).
Cathetan: Ing latar mburi, IDF Monitor nganggo printah ing ngisor iki kanggo miwiti GDB:
xtensa-esp32-elf-gdb -ex "set serial baud BAUD" -ex "target remote PORT" -ex interrupt build/PROJECT.elf :idf_target:`Hello NAME chip`
Nyaring Output Monitor IDF bisa diarani minangka idf.py monitor –print-filter=”xyz”, ngendi –print-filter minangka parameter kanggo nyaring output. Nilai standar minangka string kosong, tegese kabeh wis dicithak.
Watesan apa sing bakal dicithak bisa ditemtokake minangka seritag>: item ngenditag> yaiku tag senar lan minangka karakter saka set {N, E, W, I, D, V, *} sing nuduhake level kanggo logging.
Kanggo exampiki, PRINT_FILTER=”tag1:W" cocog lan mung nyithak output sing ditulis nganggo ESP_LOGW("tag1", ...) utawa ing tingkat verbositas ngisor, yaiku ESP_LOGE("tag1″,…). Ora nemtokake a utawa nggunakake * standar kanggo tingkat Verbose.
Cathetan: Gunakake logging utama kanggo mateni nalika kompilasi output sing ora dibutuhake liwat perpustakaan logging. Nyaring output nganggo monitor IDF minangka solusi sekunder sing bisa migunani kanggo nyetel pilihan nyaring tanpa ngumpulake maneh aplikasi kasebut.
Aplikasi sampeyan tags kudu ora ngemot spasi, tanda bintang *, utawa titik titik : supaya kompatibel karo fitur nyaring output.
Yen baris pungkasan output ing app sampeyan ora ngiring dening carriage bali, nyaring output bisa dadi bingung, IE, monitor wiwit print baris lan mengko ketemu metu sing baris ngirim ora ditulis. Iki masalah dikenal lan bisa nyingkiri dening tansah nambah carriage bali (utamané nalika ora output nderek sanalika sawise).
Sistem Espressif
33 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
ExampAturan Filtering:
· * bisa digunakake kanggo cocog sembarang tags. Nanging, string PRINT_FILTER =”*:I tag1: E" babagan tag1 prints kasalahan mung, amarga aturan kanggo tag1 duwe prioritas sing luwih dhuwur tinimbang aturan kanggo *.
· Aturan standar (kosong) padha karo *: V amarga cocog saben tag ing tingkat Verbose utawa ngisor tegese cocog kabeh.
· "*: N" ora mung nyuda output saka fungsi logging, nanging uga prints sing digawe dening printf, etc. Kanggo ngindhari iki, gunakake *: E utawa tingkat verbosity sing luwih dhuwur.
· Aturan “tag1:V"tag1:v"tag1:", "tag1:*", lantag1" padha karo. · Aturan "tag1: W tag1:E" padha karo "tag1: E" amarga ana kedadeyan sing padha tag
jeneng nimpa siji sadurunge. · Aturan “tag1: aku tag2:W" mung dicithak tag1 ing tingkat Info verbosity utawa ngisor lan tag2 ing Warning
tingkat verbosity utawa ngisor. · Aturan “tag1: aku tag2: W tag3:N” ateges padha karo sadurunge amarga tag3: N nemtokaken
sing tag3 ora kena dicithak. · tag3: N ing aturan "tag1: aku tag2: W tag3:N *:V” luwih teges amarga tanpa tag3:n ing
tag3 pesen bisa dicithak; kesalahan kanggo tag1 lan tag2 bakal dicithak ing tingkat verbosity sing ditemtokake (utawa luwih murah) lan kabeh liyane bakal dicithak kanthi standar.
Filtering Luwih Komplek Example Snippet log ing ngisor iki dipikolehi tanpa pilihan panyaring:
beban: 0x40078000, len: 13564 entri 0x40078d4c E (31) esp_image: gambar ing 0x30000 duwe byte sihir sing ora bener W (31) esp_image: gambar ing 0x30000 duwe mode SPI sing ora valid 255 E (39) ora bisa boot partisi (568) cpu_start: Pro cpu munggah. Aku (569) heap_init: Initializing. RAM kasedhiya kanggo alokasi dinamis: Aku (603) cpu_start: Pro cpu miwiti kode pangguna D (309) light_driver: [light_init, 74]: status: 1, mode: 2 D (318) vfs: esp_vfs_register_fd_range sukses kanggo sawetara <54; 64) lan VFS ID 1 I (328) wifi: tugas driver wifi: 3ffdbf84, sadurunge: 23, tumpukan: 4096, inti = 0
Output sing dijupuk kanggo opsi nyaring PRINT_FILTER=”wifi esp_image:E light_driver:I” diwenehi ing ngisor iki:
E (31) esp_image: gambar ing 0x30000 duwe bait ajaib I (328) wifi: tugas driver wifi: 3ffdbf84, prio: 23, tumpukan: 4096, inti = 0
Opsi "PRINT_FILTER ="light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V" nuduhake output ing ngisor iki:
mbukak: 0x40078000, len: 13564 entri 0x40078d4c I (569) heap_init: Initializing. RAM kasedhiya kanggo alokasi dinamis: D (309) light_driver: [light_init, 74]: status: 1, mode: 2
Masalah sing dikenal karo IDF Monitor
Masalah sing diamati ing Windows
· Tombol panah, uga sawetara tombol liyane, ora bisa digunakake ing GDB amarga watesan Windows Console. · Kadhangkala, nalika oidf.pypexit, bisa mandheg nganti 30 detik sadurunge IDF Monitor diterusake. · Nalika ogdbpis mbukak, bisa uga mandheg sedhela sadurunge wiwit sesambungan karo GDBStub.
Sistem Espressif
34 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti Persiyapan Toolchain Standar kanggo Linux lan macOS
Langkah-langkah Instalasi Iki minangka peta dalan sing rinci kanggo mlaku liwat proses instalasi.
Nggawe Lingkungan Pangembangan Iki minangka langkah-langkah kanggo nyetel ESP-IDF kanggo ESP32 sampeyan. · Langkah 1. Instal Prasyarat · Langkah 2. Entuk ESP-IDF · Langkah 3. Nyiyapake alat · Langkah 4. Nyiyapake variabel lingkungan · Langkah 5. Langkah pisanan ing ESP-IDF
Langkah 1. Instal Prasyarat Kanggo nggunakake ESP-IDF karo ESP32, sampeyan kudu nginstal sawetara paket lunak adhedhasar Sistem Operasi. Pandhuan persiyapan iki bakal mbantu sampeyan nginstal kabeh ing sistem adhedhasar Linux lan macOS.
Kanggo Pangguna Linux Kanggo ngumpulake nggunakake ESP-IDF sampeyan kudu njaluk paket ing ngisor iki. Printah kanggo mbukak gumantung saka distribusi Linux sing sampeyan gunakake:
· Ubuntu lan 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 nganyari && sudo yum nginstal git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 isih didhukung nanging CentOS versi 8 dianjurake kanggo pengalaman pangguna sing luwih apik. · Arch: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Cathetan: · CMake versi 3.16 utawa luwih anyar dibutuhake kanggo nggunakake ESP-IDF. Jalanake otools/idf_tools.py instal cmakepto instal versi sing cocok yen versi OS sampeyan ora duwe. · Yen sampeyan ora ndeleng distribusi Linux sampeyan ing dhaptar ing ndhuwur, priksa dokumentasi kanggo ngerteni perintah sing digunakake kanggo instalasi paket.
Kanggo pangguna macOS ESP-IDF bakal nggunakake versi Python sing diinstal kanthi standar ing macOS. · Instal CMake & Ninja build: Yen sampeyan duwe HomeBrew, sampeyan bisa mbukak: brew install cmake ninja dfu-util Yen sampeyan duwe MacPorts, sampeyan bisa mbukak: sudo port install cmake ninja dfu-util Yen ora, bukak kaca ngarep CMake lan Ninja kanggo download instalasi macOS.
Sistem Espressif
35 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
· Apike banget kanggo nginstal ccache kanggo mbangun luwih cepet. Yen sampeyan duwe HomeBrew, iki bisa ditindakake liwat brew install ccache utawa sudo port install ccache ing MacPorts.
Cathetan: Yen kesalahan kaya iki ditampilake sajrone langkah apa wae: xcrun: kesalahan: path pangembang aktif ora valid (/Library/Developer/CommandLineTools), xcrun ilang ing: /Library/Developer/CommandLineTools/usr/bin/xcrun
Banjur sampeyan kudu nginstal alat baris printah XCode kanggo nerusake. Sampeyan bisa nginstal iki kanthi mbukak xcode-select –install.
Pangguna Apple M1 Yen sampeyan nggunakake platform Apple M1 lan ndeleng kesalahan kaya iki: PÈNGET: direktori kanggo alat xtensa-esp32-elf versi esp-2021r2-patch3-8.4.0 saiki, nanging alat ora ditemokake ERROR: alat xtensa-esp32-elf ora duwe versi sing diinstal. Bukak 'install.sh' kanggo nginstal.
utawa: zsh: jinis CPU ala ing eksekusi: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Banjur sampeyan kudu nginstal Apple Rosetta 2 kanthi mbukak /usr/sbin/softwareupdate –install-rosetta –agree-to-license
Nginstal Python 3 Adhedhasar cathetan rilis macOS Catalina 10.15, panggunaan Python 2.7 ora dianjurake lan Python 2.7 ora bakal dilebokake kanthi gawan ing versi macOS sing bakal teka. Priksa apa Python saiki sampeyan duwe: python -version
Yen output kaya Python 2.7.17, interpreter standar sampeyan Python 2.7. Yen mangkono, priksa uga yen Python 3 durung diinstal ing komputer sampeyan: python3 -versi
Yen printah ing ndhuwur ngasilake kesalahan, tegese Python 3 ora diinstal. Ing ngisor iki rampungview langkah-langkah kanggo nginstal Python 3.
· Nginstal nganggo HomeBrew bisa ditindakake kaya ing ngisor iki: brew install python3
· Yen sampeyan duwe MacPorts, sampeyan bisa mbukak: sudo port install python38
Langkah 2. Entuk ESP-IDF Kanggo mbangun aplikasi kanggo ESP32, sampeyan butuh perpustakaan piranti lunak sing diwenehake dening Espressif ing gudang ESP-IDF. Kanggo entuk ESP-IDF, navigasi menyang direktori instalasi lan clone repositori nganggo git clone, tindakake pandhuan ing ngisor iki khusus kanggo sistem operasi sampeyan. Bukak Terminal, lan jalanake printah ing ngisor iki:
Sistem Espressif
36 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –rekursif https://github.com/espressif/esp-idf.git
ESP-IDF bakal diundhuh menyang ~/esp/esp-idf. Hubungi Versi ESP-IDF kanggo informasi babagan versi ESP-IDF sing digunakake ing kahanan tartamtu.
Langkah 3. Nggawe alat Aside saka ESP-IDF, sampeyan uga kudu nginstal pribadi digunakake dening ESP-IDF, kayata compiler, debugger, paket Python, etc, kanggo proyek ndhukung ESP32. cd ~/esp/esp-idf ./install.sh esp32
utawa nganggo Fish shell cd ~/esp/esp-idf ./install.fish esp32
Printah ing ndhuwur mung nginstal alat kanggo ESP32. Yen sampeyan pengin ngembangake proyek kanggo target chip liyane, sampeyan kudu dhaptar kabeh lan mbukak kanggo mantanample: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
utawa nganggo Fish shell cd ~/esp/esp-idf ./install.fish esp32,esp32s2
Kanggo nginstal alat kanggo kabeh target sing didhukung, bukak printah ing ngisor iki: cd ~/esp/esp-idf ./install.sh all
utawa nganggo Fish shell cd ~/esp/esp-idf ./install.fish all
Cathetan: Kanggo pangguna macOS, yen ana kesalahan kaya iki ditampilake ing sembarang langkah:urlkesalahan mbukak [SSL: CERTIFICATE_VERIFY_FAILED] verifikasi sertifikat gagal: ora bisa entuk sertifikat penerbit lokal (_ssl.c:xxx)
Sampeyan bisa mbukak Instal Certificates.command ing folder Python ing komputer kanggo nginstal sertifikat. Kanggo rincian, deleng Download Error Nalika Nginstal ESP-IDF Tools.
Alternatif File Downloads Installer alat ngundhuh sawetara files ditempelake menyang Rilis GitHub. Yen ngakses GitHub alon-alon, sampeyan bisa nyetel variabel lingkungan kanggo milih server download Espressifns kanggo download aset GitHub.
Cathetan: Setelan iki mung ngontrol alat individu sing diundhuh saka rilis GitHub, ora ngganti URLs digunakake kanggo ngakses sembarang repositori Git.
Kanggo luwih seneng server download Espressif nalika nginstal alat, gunakake urutan printah ing ngisor iki nalika mbukak install.sh:
Sistem Espressif
37 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
cd ~/esp/esp-idf export IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Ngatur path instalasi alat Tulisan sing dikenalake ing langkah iki nginstal alat kompilasi sing dibutuhake dening ESP-IDF ing direktori ngarep pangguna: $HOME/.espressif ing Linux. Yen sampeyan pengin nginstal piranti menyang direktori sing beda, setel variabel lingkungan IDF_TOOLS_PATH sadurunge mbukak skrip instalasi. Priksa manawa akun pangguna sampeyan duwe ijin sing cukup kanggo maca lan nulis dalan iki. Yen ngganti IDF_TOOLS_PATH, priksa manawa wis disetel kanggo Nilai padha saben-saben script Instal (instal. bat, install.ps1 utawa install.sh) lan script Ekspor (export.bat, export.ps1 utawa export.sh) kaleksanan.
Langkah 4. Setel variabel lingkungan Piranti sing diinstal durung ditambahake menyang variabel lingkungan PATH. Kanggo nggawe alat bisa digunakake saka baris perintah, sawetara variabel lingkungan kudu disetel. ESP-IDF nyedhiyakake skrip liyane sing nindakake iki. Ing terminal sing arep digunakake ESP-IDF, bukak:
. $HOME/esp/esp-idf/export.sh
utawa kanggo iwak (mung didhukung wiwit versi iwak 3.0.0):
. $HOME/esp/esp-idf/export.fish
Wigati spasi antarane titik anjog lan path! Yen sampeyan kerep nggunakake esp-idf, sampeyan bisa nggawe alias kanggo nglakokake export.sh:
1. Nyalin lan nempel printah ing ngisor iki kanggo shellns profile (.profile, .bashrc, .zprofile, lsp.)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Refresh konfigurasi kanthi miwiti maneh sesi terminal utawa kanthi mbukak sumber [path to profile],
kanggo example, sumber ~/.bashrc. Saiki sampeyan bisa mbukak get_idf kanggo nyiyapake utawa refresh lingkungan esp-idf ing sesi terminal apa wae. Secara teknis, sampeyan bisa nambah export.sh menyang shellns profile langsung; nanging, ora dianjurake. Mengkono ngaktifake lingkungan virtual IDF ing saben sesi terminal (kalebu sing IDF ora dibutuhake), ngalahake tujuan lingkungan virtual lan bisa uga mengaruhi piranti lunak liyane.
Langkah 5. Langkah pisanan ing ESP-IDF Saiki wiwit kabeh syarat wis ketemu, topik sabanjuré bakal nuntun sampeyan carane miwiti proyek pisanan. Pandhuan iki bakal mbantu sampeyan ing langkah pisanan nggunakake ESP-IDF. Tindakake pandhuan iki kanggo miwiti proyek anyar ing ESP32 lan mbangun, lampu kilat, lan ngawasi output piranti.
Cathetan: Yen sampeyan durung nginstal ESP-IDF, bukak Instalasi lan tindakake pandhuan kanggo entuk kabeh piranti lunak sing dibutuhake kanggo nggunakake pandhuan iki.
Miwiti Proyek Saiki sampeyan wis siyap nyiyapake aplikasi kanggo ESP32. Sampeyan bisa miwiti karo getstarted/hello_world project saka exampdirektori les ing ESP-IDF.
Penting: Sistem mbangun ESP-IDF ora ndhukung spasi ing dalan menyang ESP-IDF utawa proyek.
Salin proyek get-started/hello_world menyang direktori ~/esp:
Sistem Espressif
38 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
cd ~/esp cp -r $IDF_PATH/examples / miwiti / hello_world .
Cathetan: Ana sawetara example proyèk ing Exampdirektori les ing ESP-IDF. Sampeyan bisa nyalin proyek apa wae kanthi cara sing padha kaya sing dituduhake ing ndhuwur lan mbukak. Sampeyan uga bisa kanggo mbangun examples ing panggonan tanpa nyalin dhisik.
Sambungake Piranti Saiki sambungake papan ESP32 menyang komputer lan priksa ing port serial ing papan kasebut katon. Port serial duwe pola jeneng ing ngisor iki:
· Linux: diwiwiti nganggo /dev/tty · macOS: diwiwiti nganggo /dev/cu. Yen sampeyan ora yakin carane mriksa jeneng port serial, waca Nggawe Sambungan Serial karo ESP32 kanggo rincian lengkap.
Cathetan: Tansah jeneng port kanthi gampang amarga sampeyan butuh ing langkah sabanjure.
Konfigurasi Proyek Sampeyan Navigasi menyang direktori hello_world, setel ESP32 minangka target, lan mbukak menuconfig sarana konfigurasi proyek. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Sawise mbukak proyek anyar, sampeyan kudu nyetel target kanthi idf.py set-target esp32. Elinga yen mbangun lan konfigurasi sing ana ing proyek kasebut, yen ana, bakal dibusak lan diinisialisasi ing proses iki. Target bisa disimpen ing variabel lingkungan kanggo ngliwati langkah iki. Waca Pilih Target Chip: set-target kanggo informasi tambahan. Yen langkah-langkah sadurunge wis rampung kanthi bener, menu ing ngisor iki katon:
Fig. 17: Konfigurasi proyek - Jendhela Ngarep Sampeyan nggunakake menu iki kanggo nyiyapake variabel tartamtu project, contone, jeneng jaringan Wi-Fi lan sandhi, kacepetan prosesor, etc. Nyiyapake project karo menuconfig bisa dilewati forohello_worldp, wiwit ex ikiample mlaku karo
Sistem Espressif
39 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
konfigurasi gawan.
Manungsa waé: Yen sampeyan nggunakake papan ESP32-DevKitC karo modul ESP32-SOLO-1, utawa papan ESP32-DevKitM-1 karo modul ESP32-MIN1-1(1U), aktifake mode inti siji (CONFIG_FREERTOS_UNICORE) ing menuconfig sadurunge sumunar examples.
Cathetan: Werna menu bisa beda-beda ing terminal sampeyan. Sampeyan bisa ngganti tampilan kanthi pilihan -gaya. Bukak idf.py menuconfig –help kanggo informasi luwih lengkap.
Yen sampeyan nggunakake salah sawijining papan pangembangan sing didhukung, sampeyan bisa nyepetake pangembangan kanthi nggunakake Paket Dhukungan Papan. Waca Tips Tambahan kanggo informasi luwih lengkap.
Mbangun Proyek Mbangun proyek kanthi mlaku:
idf.py mbangun
Printah iki bakal ngumpulake aplikasi lan kabeh komponen ESP-IDF, banjur bakal ngasilake bootloader, tabel partisi, lan binari aplikasi.
$ idf.py mbangun Running cmake ing direktori /path/to/hello_world/build Nglakokake "cmake -G Ninja –warn-uninitialized /path/to/hello_world"... Warning about uninitialized values. — Ditemokake Git: /usr/bin/git (versi ditemokake “2.17.0”) — Mbangun komponen aws_iot kosong amarga konfigurasi — Jeneng komponen: … — Jalur komponen: …
... (larik liyane saka output sistem mbangun)
[527/527] Ngasilake hello_world.bin esptool.py v2.3.1
Pembangunan proyek rampung. Kanggo lampu kilat, jalanake printah iki: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world. bin mbangun 0x1000 mbangun / bootloader / bootloader.bin 0x8000 mbangun / partition_table / partition-table.bin utawa mbukak 'idf.py -p PORT flash'
Yen ora ana kesalahan, mbangun bakal rampung kanthi ngasilake firmware binar .bin files.
Lampu kilat menyang Piranti Flash binari sing lagi wae digawe (bootloader.bin, partition-table.bin lan hello_world.bin) menyang papan ESP32 kanthi mlaku:
idf.py -p PORT [-b BAUD] lampu kilat
Ganti PORT karo ESP32 boardns jeneng port serial. Sampeyan uga bisa ngganti tingkat baud flasher kanthi ngganti BAUD karo tingkat baud sing dibutuhake. Baud rate standar yaiku 460800. Kanggo informasi luwih lengkap babagan argumen idf.py, deleng idf.py.
Cathetan: Opsi lampu kilat kanthi otomatis mbangun lan nyorot proyek kasebut, mula ora perlu mbukak idf.py build.
Sistem Espressif
40 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Nemokake Masalah Nalika Flashing? Yen sampeyan mbukak printah sing diwenehake lan ndeleng kesalahan kaya Gagal nyambungake, bisa uga ana sawetara sebab. Salah sawijining alasan bisa uga masalah sing ditemoni dening esptool.py, sarana sing diarani sistem mbangun kanggo ngreset chip, sesambungan karo bootloader ROM, lan perangkat kukuh lampu kilat. Siji solusi prasaja kanggo nyoba yaiku ngreset manual sing diterangake ing ngisor iki, lan yen ora mbantu sampeyan bisa nemokake rincian liyane babagan masalah sing bisa ditindakake ing Ngatasi Masalah.
esptool.py ngreset ESP32 kanthi otomatis kanthi netepake garis kontrol DTR lan RTS saka USB menyang chip konverter serial, IE, FTDI utawa CP210x (kanggo informasi luwih lengkap, ndeleng Netepake Sambungan Serial karo ESP32). Garis kontrol DTR lan RTS disambungake menyang pin GPIO0 lan CHIP_PU (EN) saka ESP32, saéngga owah-owahan ing voltagTingkat DTR lan RTS bakal boot ESP32 menyang mode Download Firmware. Minangka mantanample, mriksa skema kanggo Papan pangembangan ESP32 DevKitC.
Umumé, sampeyan ora duwe masalah karo papan pangembangan esp-idf resmi. Nanging, esptool.py ora bisa ngreset hardware kanthi otomatis ing kasus ing ngisor iki:
· Perangkat keras sampeyan ora duwe garis DTR lan RTS sing disambungake menyang GPIO0 lan CHIP_PU · Garis DTR lan RTS dikonfigurasi kanthi beda · Ora ana garis kontrol serial kaya ngono.
Gumantung saka jinis hardware sing sampeyan duwe, bisa uga kanthi manual sijine papan ESP32 menyang mode Download Firmware (reset).
· Kanggo papan pangembangan sing diprodhuksi dening Espressif, informasi iki bisa ditemokake ing pandhuan wiwitan utawa pandhuan pangguna. Kanggo example, kanggo ngreset papan pangembangan ESP-IDF kanthi manual, terus tombol Boot (GPIO0) banjur pencet tombol EN (CHIP_PU).
· Kanggo jinis hardware liyane, coba tarik GPIO0 mudhun.
Operasi Normal Nalika sumunar, sampeyan bakal weruh log output kaya ing ngisor iki:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partisi-1/bootload0bin. 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Nyambung…….._ Chip yaiku ESP32D0WDQ6 (revisi 0) Fitur: WiFi, BT, Dual Core, Skema Coding Ora ana Kristal yaiku 40MHz MAC: 24:0a tubb:c9:0.4… mlaku… Ngganti baud rate kanggo 460800 Diganti. Ngonfigurasi ukuran lampu kilat… Dikompres 3072 bita dadi 103… Nulis ing 0x00008000… (100 %) Nulis 3072 bait (103 dikompres) ing 0x00008000 ing 0.0 detik (efektif 5962.8 kbit/s) data sing diverifikasi. Dikompres 26096 bita dadi 15408… Nulis ing 0x00001000… (100 %) Nulis 26096 bait (15408 dikompres) ing 0x00001000 ing 0,4 detik (efektif 546.7 kbit/dt)… Dikompres 147104 bait dadi 77364… Nulis ing 0x00010000… (20 %) Nulis ing 0x00014000… (40 %) Nulis ing 0x00018000… (60 %) Nulis ing 0x0001c000
(terus ing kaca sabanjure)
Sistem Espressif
41 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
(terus saka kaca sadurunge) Nulis ing 0x00020000… (100 %) Nulis 147104 bita (77364 compressed) ing 0x00010000 ing 1.9 detik (efektif 615. 5 kbit/s)… Hash data diverifikasi.
Ninggalake… Hard reset liwat RTS pin… Rampung
Yen ora ana masalah ing pungkasan proses lampu kilat, papan bakal urip maneh lan miwiti theohello_worldpapplication. Yen sampeyan pengin nggunakake Eclipse utawa VS Code IDE tinimbang mbukak idf.py, priksa Eclipse Plugin, VSCode Extension.
Ngawasi Output Kanggo mriksa yen ohello_worldpis pancen mlaku, ketik idf.py -p PORT monitor (Aja lali ngganti PORT karo jeneng port serial). Printah iki mbukak aplikasi IDF Monitor:
$ idf.py -p monitor Mlaku idf_monitor ing direktori […]/esp/hello_world/build Nglakokake “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Metu: Ctrl+] | Menu: Ctrl+T | Bantuan: Ctrl+T diikuti Ctrl+H –et Jun 8 2016 00:22:57
pisanan: 0x1 (POWERON_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT) lan 8 Jun 2016 00:22:57 …
Sawise log wiwitan lan diagnostik gulung munggah, sampeyan bakal weruh oHello world!pprinted metu dening aplikasi.
… Hello donya! Wiwiti maneh ing 10 detik… Iki chip esp32 kanthi 2 inti CPU, WiFi/BT/BLE, revisi silikon 1, lampu kilat eksternal 2MB Ukuran tumpukan gratis minimal: 298968 bita Wiwiti maneh ing 9 detik… Wiwiti maneh ing 8 detik… Wiwiti maneh ing 7 detik…
Kanggo metu saka monitor IDF gunakake trabasan Ctrl+]. Yen monitor IDF gagal sakcepete sawise upload, utawa, yen tinimbang pesen ing ndhuwur, sampeyan ndeleng sampah acak padha ing ngisor iki, Papan sampeyan kamungkinan nggunakake kristal 26 MHz. Umume desain papan pangembangan nggunakake 40 MHz, mula ESP-IDF nggunakake frekuensi iki minangka nilai standar.
Yen sampeyan duwe masalah kaya mengkono, tindakake ing ngisor iki:
1. Metu saka monitor. 2. Bali menyang menuconfig. 3. Menyang Component config > Hardware Settings > Main XTAL Config > Main XTAL
frekuensi, banjur ngganti CONFIG_XTAL_FREQ_SEL kanggo 26 MHz. 4. Sawise iku, mbangun lan kerlip aplikasi maneh.
Sistem Espressif
42 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Ing versi ESP-IDF saiki, frekuensi XTAL utama sing didhukung dening ESP32 yaiku:
· 26 MHz · 40 MHz
Cathetan: Sampeyan bisa nggabungake bangunan, sumunar lan ngawasi dadi siji langkah kanthi mlaku: idf.py -p PORT flash monitor
Deleng uga: · IDF Monitor kanggo trabasan praktis lan rincian liyane babagan nggunakake monitor IDF. · idf.py kanggo referensi lengkap perintah lan pilihan idf.py.
Iku kabeh sing perlu kanggo miwiti karo ESP32! Saiki sampeyan siyap nyoba sawetara mantan liyaneamples, utawa langsung menyang ngembangaken aplikasi dhewe.
Penting: Sawetara mantanamples ora ndhukung ESP32 amarga hardware dibutuhake ora klebu ing ESP32 supaya ora bisa didhukung. Yen mbangun mantanample, mangga dipriksa README file kanggo tabel Target Didhukung. Yen iki saiki kalebu ESP32 target, utawa tabel ora ana ing kabeh, Example bakal bisa ing ESP32.
Tips tambahan
Masalah ijin / dev / ttyUSB0 Kanthi sawetara distribusi Linux, sampeyan bisa entuk pesen kesalahan Gagal mbukak port / dev / ttyUSB0 nalika sumunar ESP32. Iki bisa ditanggulangi kanthi nambahake pangguna saiki menyang grup dialog.
kompatibilitas Python ESP-IDF ndhukung Python 3.7 utawa anyar. Disaranake kanggo nganyarke sistem operasi menyang versi paling anyar sing nyukupi syarat iki. Pilihan liyane kalebu instalasi Python saka sumber utawa nggunakake sistem manajemen versi Python kayata pyenv.
Mulai karo Papan Dhukungan Paket Kanggo nyepetake prototyping ing sawetara Papan pembangunan, sampeyan bisa nggunakake Papan Dhukungan Packages (BSPs), kang ndadekake initialization saka Papan tartamtu gampang minangka sawetara telpon fungsi. BSP biasane ndhukung kabeh komponen hardware sing kasedhiya ing papan pangembangan. Kajaba saka definisi pinout lan fungsi initialization, BSP ngirim driver kanggo komponen eksternal kayata sensor, tampilan, codec audio, lsp. BSP disebarake liwat Manajer Komponen IDF, saengga bisa ditemokake ing Registry Komponen IDF. Iki mantanampbabagan carane nambah ESP-WROVER-KIT BSP menyang proyek sampeyan: idf.py add-dependency esp_wrover_kit
More mantanampkurang panggunaan BSP bisa ditemokake ing BSP exampfolder kasebut.
Tip: Nganyari ESP-IDF Disaranake nganyari ESP-IDF saka wektu kanggo wektu, amarga versi anyar ndandani bug lan/utawa nyedhiyakake fitur anyar. Wigati dimangerteni manawa saben versi rilis utama lan suntingan ESP-IDF duwe periode dhukungan sing gegandhengan, lan nalika siji cabang rilis wis cedhak pungkasane urip (EOL), kabeh pangguna dianjurake kanggo nganyarke proyek kasebut menyang rilis ESP-IDF sing luwih anyar, kanggo ngerteni luwih akeh babagan periode dhukungan, ndeleng Versi ESP-IDF.
Sistem Espressif
43 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 1. Miwiti
Cara paling gampang kanggo nindakake nganyari yaiku mbusak folder esp-idf sing wis ana lan klone maneh, kaya-kaya nindakake instalasi awal sing diterangake ing Langkah 2. Entuk ESP-IDF. Solusi liyane yaiku nganyari mung sing wis diganti. Prosedur nganyari gumantung saka versi ESP-IDF sing sampeyan gunakake. Sawise nganyari ESP-IDF, nglakokake skrip Instal maneh, yen versi ESP-IDF anyar mbutuhake versi alat sing beda. Waca pandhuan ing Langkah 3. Nyiyapake alat. Sawise piranti anyar diinstal, nganyari lingkungan nggunakake skrip Ekspor. Waca pandhuan ing Langkah 4. Setel variabel lingkungan.
Dokumen Terkait · Nggawe Sambungan Serial karo ESP32 · Plugin Eclipse · Ekstensi VSCode · Monitor IDF
1.4 Mbangun Proyek Pisanan Panjenengan
Yen sampeyan wis nginstal ESP-IDF lan ora nggunakake IDE, sampeyan bisa mbangun proyek pisanan saka baris perintah sawise Miwiti Proyek ing Windows utawa Miwiti Proyek ing Linux lan macOS.
1.5 Busak instal ESP-IDF
Yen sampeyan pengin mbusak ESP-IDF, tindakake Busak instal ESP-IDF.
Sistem Espressif
44 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 2
Referensi API
2.1 Konvènsi API
Dokumen iki njlèntrèhaké konvènsi lan asumsi umum kanggo ESP-IDF Application Programming Interfaces (API). ESP-IDF nyedhiyakake sawetara jinis antarmuka pemrograman:
· Fungsi C, struktur, enum, definisi tipe lan makro preprocessor diumumake ing header umum files saka komponen ESPIDF. Macem-macem kaca ing bagean Referensi API saka pandhuan program ngemot katrangan babagan fungsi, struktur lan jinis kasebut.
· Mbangun fungsi sistem, variabel lan opsi sing wis ditemtokake. Iki didokumentasikan ing pandhuan sistem mbangun. · Pilihan Kconfig bisa digunakake ing kode lan ing sistem mbangun (CMakeLists.txt) files. · Piranti inang lan paramèter baris printah uga bagéan saka antarmuka ESP-IDF. ESP-IDF kasusun saka komponen ditulis khusus kanggo ESP-IDF uga perpustakaan pihak katelu. Ing sawetara kasus, pambungkus ESP-IDF-tartamtu ditambahake menyang perpustakaan pihak katelu, nyediakake antarmuka sing salah siji prasaja utawa luwih Integrasi karo liyane saka fasilitas ESP-IDF. Ing kasus liyane, API asli saka perpustakaan pihak katelu diwenehi kanggo pangembang aplikasi. Bagean ing ngisor iki nerangake sawetara aspek API ESP-IDF lan panggunaane.
2.1.1 Nangani kesalahan
Paling ESP-IDF API bali kode kesalahan ditetepake karo jinis esp_err_t. Waca bagean Penanganan Kesalahan kanggo informasi luwih lengkap babagan pendekatan penanganan kesalahan. Referensi Kode Kesalahan ngemot dhaptar kode kesalahan sing dibalekake dening komponen ESP-IDF.
2.1.2 Struktur konfigurasi
Penting: Inisialisasi struktur konfigurasi sing bener minangka bagéyan penting kanggo nggawe aplikasi kompatibel karo versi mangsa ESP-IDF.
Umume fungsi initialization utawa konfigurasi ing ESP-IDF njupuk minangka argumen pointer menyang struktur konfigurasi. Kanggo example:
45
Bab 2. Referensi API
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = "my_timer"
}; esp_timer_handle_t my_timer; esp_err_t err = esp_timer_create (& my_timer_args, & my_timer);
Fungsi inisialisasi ora tau nyimpen pointer menyang struktur konfigurasi, saéngga aman kanggo ngatur struktur ing tumpukan.
Aplikasi kudu miwiti kabeh kolom struktur. Ing ngisor iki salah:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = & my_timer_callback; /* salah! Fields .arg lan .jeneng ora initialized */ esp_timer_create (& my_timer_args, & my_timer);
Paling ESP-IDF examples nggunakake C99 ditetepake initializers kanggo struktur initialization, amarga padha nyedhiyani cara ringkes nyetel subset saka lapangan, lan nul-initializing kolom isih:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Bener, kolom .arg lan .jeneng diinisialisasi nol */
};
Basa C ++ ora ndhukung sintaks initializers sing ditunjuk nganti C ++ 20, nanging compiler GCC sebagian ndhukung minangka extension. Nalika nggunakake API ESP-IDF ing kode C++, sampeyan bisa uga nimbang nggunakake pola ing ngisor iki:
esp_timer_create_args_t my_timer_args = {}; /* Kabeh kothak nul-initialized */ my_timer_args.callback = & my_timer_callback;
Inisialisasi standar
Kanggo sawetara struktur konfigurasi, ESP-IDF nyedhiyakake makro kanggo nyetel nilai standar lapangan:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG nggedhekake menyang initializer sing ditunjuk.
Saiki kabeh kolom disetel menyang nilai standar. Lapangan apa wae isih bisa diowahi: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start (& server, & config);
Disaranake nggunakake macro initializer standar nalika diwenehake kanggo struktur konfigurasi tartamtu.
2.1.3 API pribadi
Header tartamtu files ing ESP-IDF ngemot API dimaksudaké kanggo digunakake mung ing kode sumber ESP-IDF, lan ora dening aplikasi. Header kaya ngono files asring ngemot pribadi utawa esp_private ing jeneng utawa path. Komponen tartamtu, kayata hal mung ngemot API pribadi. API pribadi bisa dibusak utawa diganti kanthi cara sing ora kompatibel ing antarane rilis cilik utawa tembelan.
2.1.4 Komponen ing example proyek
ESP-IDF examples ngemot macem-macem proyek sing nuduhake panggunaan ESP-IDF API. Supaya kanggo ngurangi duplikasi kode ing examples, sawetara helpers umum ditetepake nang komponen sing digunakake dening sawetara Examples.
Sistem Espressif
46 Kirim Umpan Balik Dokumen
Rilis v5.0.9
Bab 2. Referensi API
Iki kalebu komponen dumunung
Dokumen / Sumber Daya
![]() |
Sistem Espressif ESP32 Dev Kitc Development Board [pdf] Pandhuan pangguna ESP32 Papan Pengembangan Kitc Dev, ESP32, Papan Pengembangan Kitc Dev, Papan Pengembangan Kitc, Papan Pengembangan, Papan |
