ESP32 Dev Kitc Development Board

Émbaran produk

spésifikasi

  • Produk: ESP32
  • Programming Guide: ESP-IDF
  • Vérsi release: v5.0.9
  • Produsén: Sistem Espressif
  • Tanggal sékrési: 16 Méi 2025

Parentah Pamakéan Produk

1. Mimitian

Sateuacan ngamimitian nganggo ESP32, biasakeun diri anjeun sareng
handap:

1.1 Bubuka

Diajar ngeunaan pungsi dasar sareng kamampuan
ESP32.

1.2 Naon Anjeun Kudu

Pastikeun anjeun gaduh hardware sareng software anu diperyogikeun:

  • Hardware: Pariksa daptar hardware diperlukeun
    komponén.
  • Parangkat lunak: Pasang parangkat lunak anu diperyogikeun
    komponén.

1.3 Pamasangan

Turutan léngkah ieu pikeun masang IDE sareng nyetél éta
lingkungan:

  • IDE: Install IDE dianjurkeun pikeun
    programming nu ESP32.
  • Pamasangan Manual: Nyetél sacara manual
    lingkungan lamun diperlukeun.

1.4 Bangun Proyék Kahiji Anjeun

Jieun sareng ngawangun proyék awal anjeun nganggo ESP32.

1.5 Uninstall ESP-IDF

Upami diperlukeun, diajar kumaha uninstall ESP-IDF ti Anjeun
sistem.

2. Rujukan API

Tingal dokuméntasi API pikeun inpo wincik tentang
protokol aplikasi, penanganan kasalahan, jeung konfigurasi
struktur.

Patarosan anu Sering Ditaroskeun (FAQ)

Q: Kumaha carana abdi tiasa troubleshoot masalah umum kalawan ESP32?

A: Tingali kana bagian ngungkulan dina pituduh programming
atawa didatangan produsén urang websitus pikeun sumber rojongan.

Q: Naha kuring tiasa nganggo ESP-IDF sareng mikrokontroler sanés?

A: ESP-IDF dirancang husus pikeun ESP32, tapi anjeun bisa manggihan
kasaluyuan jeung mikrokontroler Espressif séjén.

ESP32
ESP-IDF Programming Guide
Ngaleupaskeun v5.0.9 Sistem Espressif 16 Méi 2025

Daptar eusi

Daptar eusi

i

1 Ngamimitian

3

1.1 Bubuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Naon Anjeun Kudu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Parabot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Parangkat Lunak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Pamasangan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

1.3.2 Pamasangan Manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Ngawangun Proyék Kahiji Anjeun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 Uninstall ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 Rujukan API

45

2.1 Konvénsi API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 Nanganan kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Struktur Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 API swasta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Komponén dina exampproyék le. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 stabilitas API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Protokol Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 palabuhan ASIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.2 ESP-Modbus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

2.2.5 Klién HTTP ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.2.6 Kontrol Lokal ESP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

2.2.7 ESP Serial Budak Patalina. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

2.2.8 ESP x509 Sertipikat kebat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 Server HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 Server HTTPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

2.2.11 ICMP Gema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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® Énergi Lemah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

2.3.3 Bluetooth® Palasik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

2.3.4 Controller & HCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

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

2.3.6 API host basis NimBLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

2.4 Rujukan 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 IP Network Lapisan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Lapisan Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 API périferal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analog kana Parabot Parobah Digital (ADC) Supir Mode Oneshot. . . . . . . . . . . . . . . . . 977 2.6.2 Analog kana Parabot Parobah Digital (ADC) Supir Mode Kontinyu. . . . . . . . . . . . . . . 986 2.6.3 Analog ka Digital Parabot Parobah (ADC) Calibration Supir. . . . . . . . . . . . . . . . . . . 993 2.6.4 Tangkal Jam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital Pikeun Analog Parabot Parobah (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 Sora (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 LED Control (LEDC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Motor Control Pulsa Width Modulator (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Transceiver kadali jauh (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD Pull-up Syarat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC Host Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Host Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO Card Budak Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulation (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Master Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Budak Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Unsur Aman) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Toél sénsor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Dua-Kawat Automotive Interface (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Universal Asynchronous panarima / pamancar (UART). . . . . . . . . . . . . . . . . . 1317 2.7 Konfigurasi Proyék. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Bubuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Menu Konfigurasi Proyék. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Ngagunakeun sdkconfig.defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Aturan pormat Kconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kasaluyuan ka tukang Kconfig Options. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Konfigurasi Pilihan Rujukan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Provisioning API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Komunikasi Protokol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Provisioning Ngahiji. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Provisioning Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Panyimpenan API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileRojongan sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Utiliti Manufaktur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Perpustakaan Panyimpenan Non-volatile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Partition Generator Utiliti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD / SDIO / MMC Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filesistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Virtual filekomponén sistem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Nganggo Leveling API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 Sistim API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Format Gambar Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Nyukcruk Tingkat Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Fungsi nelepon jeung tumpukan éksternal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Révisi Chip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Konsol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manajer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Kode Kasalahan jeung Fungsi Helper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Perpustakaan Loop Acara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Leuwihview). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Fitur Tambahan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Alokasi Mémori tumpukan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Debugging Mémori tumpukan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Timer Resolusi Tinggi (ESP Timer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 API internal sareng teu stabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Inter-Processor Telepon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 alokasi interupsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Logging perpustakaan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 API Sistim Rupa-rupa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Leuwih The Air Updates (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Performance Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Manajemén kakuatan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX Threads Rojongan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Generasi Jumlah Acak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Modeu Saré. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Kamampuh SoC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 System Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 API alokasi himem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 pangawas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Rujukan Hardware

2167

3.1 Chip Series Babandingan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Dokumén Patali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

4 Pituduh API

2171

4.1 Aplikasi Level Tracing perpustakaan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Modeu Operasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Pilihan Konfigurasi jeung Depéndensi. . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 Kumaha Ngagunakeun Perpustakaan Ieu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Aliran ngamimitian Aplikasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Kahiji stage bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 Kadua stage bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Aplikasi ngamimitian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

4.3 Bluetooth® Klasik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.3.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® Lemah Énergi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Mimitian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

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

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

4.5.1 Kasaluyuan Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Tingkat Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Reset pabrik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Boot ti Test firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.5 Balik deui. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.6 Watchdog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.7 Ukuran Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Boot gancang ti Deep Saré. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Custom bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Ngawangun System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 Ngagunakeun Build System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 Kelample Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Proyék CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Komponén CMakeLists Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Konfigurasi komponén. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Harti Preprocessor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Sarat komponén. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Overriding Bagian Proyék. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Konfigurasi-Ngan komponén. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Debugging CMake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Misample komponén CMakeLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Custom sdkconfig standar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash argumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Ngawangun Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Nulis komponén CMake murni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Ngagunakeun Proyék CMake Pihak-katilu jeung komponén. . . . . . . . . . . . . . . . . . . 2306 4.6.18 Ngagunakeun Perpustakaan Prebuilt jeung komponén. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Ngagunakeun ESP-IDF dina Custom CMake Projects. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Ngawangun System API. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbing & Ngawangun Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Ngawangun System Metadata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Ngawangun System internals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Migrasi ti ESP-IDF GNU Make System . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Inti Dump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Simpen dump inti ka flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Nyitak inti dump kana UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Fungsi ROM dina Backtraces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Dumping variabel dina paménta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Ngajalankeun espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Saré Jero Rintisan Hudang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Aturan pikeun Wake Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Ngalaksanakeun Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Ngamuat Kode Dina Mémori RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Ngamuat Data kana Mémori RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Cék Pikeun Wake Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Misalample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Nanganan Kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Kodeu kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Ngarobah kodeu kasalahan kana pesen kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . 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 makro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE makro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 Cék MACROS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Pola penanganan kasalahan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ iwal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Bubuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 Konsep ESP-WIFI-MESH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Ngawangun Jaringan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Ngatur Jaringan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Pangiriman Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Ngalihkeun Saluran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Kinerja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Catetan Salajengna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Penanganan Acara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet jeung IP Kajadian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Kajadian bolong. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Kajadian Bluetooth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Kasalahan Fatal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Panangan panik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Ngadaptar Dump na Backtrace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog Waktos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Kasalahan Semedi Guru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Kasalahan Fatal lianna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Bubuka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 eFuses relevan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Prosés Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Konfigurasi Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Kamungkinan Gagal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Status Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Maca jeung Nulis Data dina Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Ngamutahirkeun Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Nganonaktipkeun Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Poin konci Ngeunaan Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Watesan Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Énkripsi Flash sareng Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Fitur Canggih. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Rincian Téknis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Abstraksi Hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Arsitéktur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Level Low) Lapisan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Lapisan Abstraksi Hardware) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Interrupts Tingkat Luhur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Tingkat interupsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Catetan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Bubuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Kumaha Gawéna? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Milih JTAG Adaptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Setup of OpenOCD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Konfigurasi ESP32 Target. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Ngaluncurkeun Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Debugging Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Ngawangun OpenOCD ti Sumber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Tips sarta Quirks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Dokumén nu patali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Generasi Aksara Linker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Mimitian Gancang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generation internals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 API Dirojong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS Tugas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 Rojongan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip modifikasi custom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Optimasi Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Jinis Mémori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Data RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Parentah RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (kode dieksekusi ti flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data disimpen dina flash) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC mémori slow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC mémori gancang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Syarat Mampuh DMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA panyangga dina tumpukan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Modeu tumpukan OpenThread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Kumaha Nulis Aplikasi OpenThread. . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 The OpenThread Border Router. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Méja Partisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Diwangun-di Partisi Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Nyieun Tabél Adat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Ngahasilkeun Tabél Partisi Binér. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Cék Ukuran Partisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Kedip-kedip tabel partisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Alat Partisi (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Kinerja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Kumaha Optimalkeun Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Pituduh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF calibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Kalibrasi parsial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 calibration pinuh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Taya calibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 data initialization PHY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API Rujukan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Latar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Prosés Boot Aman Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Konci. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Ukuran Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Kumaha Aktipkeun Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Re-flashable Software Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Ngahasilkeun Boot Aman Key Signing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Tanda Jauh Gambar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Praktek Pangalusna Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Rincian Téknis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Boot Aman & Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Ditandatanganan App Verifikasi Tanpa Hardware Boot Aman. . . . . . . . . . . . . . . . . . 2478 4.24.13 Fitur Canggih. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Boot Aman V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Latar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Prosés Boot V2 Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Format Blok Tanda Tangan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Padding Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Verifikasi Blok Signature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Verifikasi Gambar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Ukuran Bootloader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 pamakéan eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Kumaha Aktipkeun Aman Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Watesan sanggeus Boot Aman diaktipkeun. . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Ngahasilkeun Aman Boot Signing Key. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Jauh Signing Gambar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Praktek Pangalusna Boot Aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Rincian Téknis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Boot Aman & Énkripsi Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Verifikasi Aplikasi Ditandatanganan Tanpa Boot Aman Hardware. . . . . . . . . . . . . . . . . . 2484 4.25.18 Fitur Canggih. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Rojongan pikeun RAM éksternal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Bubuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Parabot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Ngonpigurasikeun RAM éksternal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Watesan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Gagal pikeun initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Chip Révisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Thread Panyimpenan Lokal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Standar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Parabot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker Gambar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 Manajer Komponén IDF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Pakakas nu bisa diundeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Unit Tés dina ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Kasus Tés Normal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Kasus Test Multi-alat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stage Kasus Tés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Tés Pikeun Sasaran Béda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Gedong Unit Test App. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Ngajalankeun Tés Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Timing Code kalawan Cache Compensated Timer. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Moyok. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Unit Tés dina Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Tés Software Embedded. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Uji Unit IDF dina Linux Host. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi Supir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 Daptar Fitur Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Kumaha Nulis Aplikasi Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API Kode Kasalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API Parameter Initialization. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 Modél Pemrograman Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi Kajadian Pedaran. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi Station Umum Skenario. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP Umum Skenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi Scan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi Station Nyambungkeun Skenario. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Stasion Wi-Fi Nyambungkeun Lamun Sababaraha AP Kapanggih . . . . . . . . . . . . . 2543 4.31.12 Wi-Fi Sambungkeun deui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi Beacon Waktos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Konfigurasi Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Manajemén Jaringan Wireless. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Pangukuran Sumberdaya Radio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Transisi BSS Gancang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Modeu Hemat Daya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi Throughput. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 Packet Kirim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi sababaraha anteneu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi Channel Émbaran Propinsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi Channel Émbaran Propinsi Konpigurasikeun. . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Wi-Fi Fragmen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS Enrollee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 pamakéan panyangga Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Kumaha Ngaronjatkeun Performance Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Ngungkulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Kaamanan Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Fitur Kaamanan Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Pigura Manajemén ditangtayungan (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi perusahaan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Pribadi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF Coexistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Leuwihview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Skenario Coexistence Dirojong pikeun ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Mékanisme jeung Kawijakan Coexistence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Kumaha Ngagunakeun Fitur Coexistence. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Wangunan Reproducible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Bubuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Alesan pikeun ngawangun non-reproducible. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Aktipkeun reproducible ngawangun dina ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Kumaha reproducible ngawangun kahontal. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Reproducible ngawangun jeung debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Faktor nu masih mangaruhan wangunan reproducible. . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Low Power Mode Guide pamaké. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 Pituduh Migrasi

2579

5.1 ESP-IDF 5.x Pituduh Migrasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 Migrasi tina 4.4 ka 5.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 Perpustakaan sareng Kerangka

2611

6.1 Cloud Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Frameworks Espressifns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Kerangka Pangembangan Audio Espressif. . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2.3 Perpustakaan Espressif DSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 Kerangka Pangwangunan 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

viii

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

7 Kontribusi Guide

2615

7.1 Kumaha Kontribusi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Sateuacan nyumbangkeun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Prosés Paménta Tarik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Bagian Hukum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Dokumén nu patali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

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

7.5.2 Pasang Hook pre-commit pikeun Proyék ESP-IDF. . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Kodeu Dokuméntasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Nyieun Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

7.5.5 Citakan Dokuméntasi API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630

7.5.6 pasatujuan kontributor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

7.5.7 Pituduh Header Hak Cipta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634

7.5.8 ESP-IDF Tés kalawan Pytest Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 ESP-IDF Vérsi

2645

8.1 Kaluaran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Versi Mana Anu Kuring Kudu Dimimitian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Skéma Vérsi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Periode Rojongan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Mariksa Vérsi Ayeuna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

8.6 Alur Gawé Git. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7 Ngamutahirkeun ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Ngamutahirkeun ka Release Stabil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Ngamutahirkeun kana Vérsi Pra-Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Ngamutahirkeun ka Master Cabang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Ngamutahirkeun ka Cabang Release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Sumberdaya

2651

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

9.1.1 Naon PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Pamasangan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Konfigurasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Proyék Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Léngkah Salajengna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Tumbu Mangpaat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Hak Cipta sareng Lisensi

2653

10.1 Hak Cipta Parangkat Lunak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Komponén firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Dokuméntasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 ROM Sumber Kode Hak Cipta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.3 Lisensi Xtensa libhal MIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.4 TinyBasic Ditambah MIT Lisensi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.5 Lisensi TJpgDec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

11 Ngeunaan

2657

12 Pindah Antara Basa

2659

Indéks

2661

Indéks

2661

ix

x

Daptar eusi
Ieu dokuméntasi pikeun Espressif IoT Development Framework (esp-idf). ESP-IDF mangrupikeun kerangka pamekaran resmi pikeun ESP32, ESP32-S sareng ESP32-C Series SoCs. Dokumén ieu ngajelaskeun ngagunakeun ESP-IDF sareng ESP32 SoC.

Mimitian

Rujukan API

Pituduh API

Sistem Espressif

1 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Daptar eusi

Sistem Espressif

2 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1
Mimitian
Dokumén ieu ditujukeun pikeun ngabantosan anjeun nyetél lingkungan pamekaran parangkat lunak pikeun hardware dumasar kana chip ESP32 ku Espressif. Sanggeus éta, urut basajanampLe bakal nunjukkeun anjeun kumaha ngagunakeun ESP-IDF (Espressif IoT Development Framework) pikeun konfigurasi ménu, teras pikeun ngawangun sareng kedip-kedip firmware kana papan ESP32.
Catetan: Ieu dokuméntasi pikeun versi stabil v5.0.9 tina ESP-IDF. ESP-IDF Vérsi séjén ogé sadia.
1.1 Bubuka
ESP32 nyaéta sistem dina chip anu ngahijikeun fitur-fitur di handap ieu: · Wi-Fi (band 2.4 GHz) · Bluetooth · Dual kinerja luhur Xtensa® 32-bit LX6 CPU cores · Ultra Low Power co-processor · Sababaraha périferal
Powered by 40 nm téhnologi, ESP32 nyadiakeun mantap, platform terpadu kacida, nu mantuan minuhan tungtutan kontinyu pikeun pamakéan kakuatan efisien, desain kompak, kaamanan, kinerja luhur, jeung reliabilitas. Espressif nyadiakeun hardware jeung software sumberdaya dasar pikeun mantuan pamekar aplikasi ngawujudkeun gagasan maranéhanana ngagunakeun hardware runtuyan ESP32. Kerangka pamekaran parangkat lunak ku Espressif dimaksudkeun pikeun ngembangkeun aplikasi Internetof-Things (IoT) nganggo Wi-Fi, Bluetooth, manajemén kakuatan sareng sababaraha fitur sistem anu sanés.
1.2 Naon Anjeun Kudu
1.2.1 Parabot
· Papan ESP32. · Kabel USB – USB A / micro USB B. · Komputer ngajalankeun Windows, Linux, atawa macOS.
Catetan: Ayeuna, sababaraha papan pamekaran nganggo konektor USB Type C. Pastikeun anjeun gaduh kabel anu leres pikeun nyambungkeun papan anjeun!
Upami anjeun gaduh salah sahiji papan pangembangan resmi ESP32 anu didaptarkeun di handap, anjeun tiasa ngaklik tautan pikeun langkung seueur ngeunaan hardware.
3

Bab 1. Mimitian
ESP32-DevKitS(-R)
Buku pituduh ieu nyayogikeun inpormasi ngeunaan ESP32-DevKitS(-R), papan kedip-kedip dumasar ESP32 anu diproduksi ku Espressif. ESP32-DevKitS(-R) mangrupakeun kombinasi dua ngaran dewan: ESP32-DevKitS na ESP32-DevKitS-R. S nangtung pikeun cinyusu, sarta R nangtung pikeun WROVER.

ESP32-DevKitS

ESP32-DevKitS-R

Dokumén diwangun ku bagian utama di handap ieu: · Ngamimitian: Nyadiakeun hiji leuwihview tina ESP32-DevKitS (-R) jeung hardware / parentah setelan software pikeun ngamimitian. · Rujukan Hardware: Nyadiakeun inpo nu leuwih lengkep ngeunaan hardware ESP32-DevKitS(-R)ns. · Dokumén Patali: Méré tumbu ka dokuméntasi patali.

Ngamimitian Bagian ieu ngajelaskeun kumaha carana ngamimitian ESP32-DevKitS(-R). Dimimitian ku sababaraha bagian bubuka ngeunaan ESP32-DevKitS (-R), lajeng Bagéan Kumaha Flash Board nyadiakeun parentah tentang kumaha carana masang modul kana ESP32-DevKitS (-R), nyiapkeun eta, sarta flash firmware kana eta.

Leuwihview ESP32-DevKitS (-R) nyaéta ESPRESsifns kedip-kedip dewan dirancang husus pikeun ESP32. Ieu bisa dipaké pikeun flash modul ESP32 tanpa soldering modul kana catu daya jeung garis sinyal. Kalayan modul dipasang, ESP32-DevKitS (-R) ogé tiasa dianggo salaku papan pangembangan mini sapertos ESP32-DevKitC.
Papan ESP32-DevKitS sareng ESP32-DevKitS-R ngan ukur beda-beda dina perenah pin spring pikeun nyocogkeun modul ESP32 di handap ieu.
· 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 inpo tentang modul di luhur, mangga tingal ESP32 Series Modules.

Katerangan ngeunaan komponén

Sistem Espressif

4 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr 1: ESP32-DevKitS - hareup

Sistem Espressif

Gbr. 2: ESP32-DevKitS-R - hareup 5
Nepikeun Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Konci Komponén Spring Pins 2.54 mm bikang lulugu
USB-to-UART Sasak LDO Micro-USB Panyambungna / Micro USB Port EN Button Button Boot
Daya Kana LED

Katerangan Klik modul dina. Pin bakal cocog kana modulns castellated liang . Ieu headers bikang disambungkeun ka pin modul dipasang dina dewan ieu. Pikeun pedaran lulugu awéwé, mangga tingal Blok Lulugu. Single-chip USB ka sasak UART nyadiakeun ongkos mindahkeun nepi ka 3 Mbps.
5V-to-3.3V low-dropout voltagrégulator (LDO).
panganteur USB. Catu daya pikeun dewan ogé panganteur komunikasi antara komputer jeung dewan.
Tombol reset.
Tombol download. Nahan Boot terus pencét EN ngamimitian mode Download firmware pikeun ngundeur firmware ngaliwatan port serial.
Hurungkeun nalika USB atawa catu daya disambungkeun ka dewan.

Kumaha Flash Board a Sateuacan powering up Anjeun ESP32-DevKitS(-R), mangga pastikeun yén éta téh dina kaayaan alus tanpa tanda atra karuksakan.
Perangkat Keras Dibutuhkeun · Modul ESP32 pilihan anjeun · Kabel USB 2.0 (Standar-A ka Micro-B) · Komputer anu ngajalankeun Windows, Linux, atanapi macOS
Setup Hardware Mangga pasang modul anu dipikahoyong kana ESP32-DevKitS(-R) anjeun dumasar kana léngkah-léngkah ieu:
· Gently nempatkeun modul anjeun dina dewan ESP32-DevKitS (-R). Pastikeun yén liang castellated on modul anjeun Blok kalawan spring pin on dewan.
· Pencét modul anjeun ka handap kana papan dugi ka ngaklik. · Pariksa naha sadaya pin spring diselapkeun kana liang castellated. Upami aya sababaraha pin spring anu salah,
nempatkeun kana liang castellated kalawan pinset.
Persiapan Parangkat Lunak
Métode anu Dipikaresep Kerangka pamekaran ESP-IDF nyayogikeun cara anu dipikaresep pikeun nyelapkeun binér kana ESP32-DevKitS(-R). Mangga lajengkeun ka Mimitian, dimana Bagian Instalasi bakal gancang mantuan Anjeun nyetél lingkungan ngembangkeun lajeng flash hiji aplikasi example onto Anjeun ESP32-DevKitS (-R).
Métode Alternatif Minangka alternatipna, pamaké Windows tiasa nga-flash binér nganggo Flash Download Tool. Ngan unduh, unzip, teras turutan pitunjuk di jero folder doc.
Catetan: 1. Pikeun flash binér files, ESP32 kudu disetel ka modeu Download firmware. Ieu tiasa dilakukeun ku alat lampu kilat sacara otomatis, atanapi ku cara nahan tombol Boot sareng ngetok tombol EN. 2. Sanggeus kedip-kedip binér files, Flash Download Alat balikan deui modul ESP32 anjeun sarta boot aplikasi flashed sacara standar.

Diménsi dewan Eusi jeung bungkusan

Sistem Espressif

6 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian Gbr. 3: Dimensi dewan ESP32-DevKitS - tukang

Sistem Espressif

Gbr. 4: dimensi dewan ESP32-DevKitS-R - deui 7
Nepikeun Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
pesenan ritel Lamun mesen sababaraha samples, unggal ESP32-DevKitS (-R) asalna dina pakét individu boh dina kantong antistatic atawa bungkusan wae gumantung pangecér a. Pikeun pesenan ritel, mangga buka https://www.espressif.com/en/contact-us/get-samples.
Pesenan Borongan Lamun mesen dina bulk, papan datangna dina kotak kardus badag. Pikeun pesenan borongan, mangga buka https://www.espressif.com/en/contact-us/sales-questions.
Rujukan hardware
Diagram Blok A diagram blok di handap nembongkeun komponén ESP32-DevKitS(-R) jeung interconnections maranéhna.

Gbr. 5: ESP32-DevKitS(-R) (klik pikeun ngagedekeun)
Pilihan Catu Daya Aya tilu cara anu saling ekslusif pikeun nyayogikeun kakuatan ka dewan: · Port USB mikro, catu daya standar · Pin lulugu 5V sareng GND · Pin lulugu 3V3 sareng GND
Disarankeun make pilihan kahiji: 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 dina kaca salajengna

8 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Tabél 1 dituluykeun tina kaca saméméhna

.

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 éksternal

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 lulugu Pikeun gambar blok lulugu, mangga tingal Katerangan ngeunaan Komponén.

Dokumén nu patali
· ESP32-DevKitS(-R) Schematics (PDF) · ESP32 Datasheet (PDF) · ESP32-WROOM-32 Datasheet (PDF) · ESP32-WROOM-32D & ESP32-WROOM-32U Datasheet (PDF) · ESP32-SOLO-2Fsheet Datasheet (32-WROOM-1) (PDF) · Lembar Data ESP32-WROVER-B (PDF) · Pamilih Produk ESP

ESP32-DevKitM-1

Buku pituduh ieu bakal ngabantosan anjeun ngamimitian nganggo ESP32-DevKitM-1 sareng ogé bakal nyayogikeun inpormasi anu langkung jero.
ESP32-DevKitM-1 mangrupa ESP32-MINI-1 (1U) -papan ngembangkeun basis dihasilkeun ku Espressif. Seuseueurna pin I / O dipegatkeun kana header pin dina dua sisi pikeun panganteur anu gampang. Pamaké tiasa nyambungkeun périferal nganggo kabel jumper atanapi pasang ESP32-DevKitM-1 dina papan roti.

Sistem Espressif

9 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

ESP32-DevKitM-1 - hareup

ESP32-DevKitM-1 - isometrik

Dokumén diwangun ku bagian utama di handap ieu: · Ngamimitian: Nyadiakeun hiji leuwihview tina ESP32-DevKitM-1 jeung hardware / parentah setelan software pikeun ngamimitian. · Rujukan hardware: Nyadiakeun inpo nu leuwih wincik ngeunaan hardware ESP32-DevKitM-1ns. · Dokumén Patali: Méré tumbu ka dokuméntasi nu patali.

Ngamimitian Bagian ieu ngajelaskeun kumaha ngamimitian ESP32-DevKitM-1. Dimimitian ku sababaraha bagian bubuka ngeunaan ESP32-DevKitM-1, teras Bagian Mimitian Pangembangan Aplikasi nyayogikeun pitunjuk ngeunaan cara ngalakukeun setelan hardware awal sareng kumaha cara flash firmware kana ESP32-DevKitM-1.

Leuwihview Ieu mangrupikeun papan pangembangan anu alit sareng merenah anu ngagaduhan:
· ESP32-MINI-1, atawa modul ESP32-MINI-1U · panganteur programming USB-to-serial nu ogé nyadiakeun catu daya pikeun dewan · headers pin · pushbuttons pikeun reset jeung aktivasina mode Download firmware · sababaraha komponén séjén

Eusi jeung bungkusan

pesenan ritel Lamun mesen sababaraha samples, unggal ESP32-DevKitM-1 asalna dina pakét individu boh kantong antistatic atawa bungkusan wae gumantung pangecér Anjeun.
Pikeun pesenan ritel, mangga buka https://www.espressif.com/en/contact-us/get-samples.

Pesenan Borongan Lamun mesen dina bulk, papan datangna dina kotak kardus badag. Pikeun pesenan borongan, mangga buka https://www.espressif.com/en/contact-us/sales-questions.

Katerangan Komponén Gambar di handap ieu sareng tabel di handap ngajelaskeun komponén konci, antarmuka sareng kadali dewan ESP32-DevKitM-1. Simkuring nyandak dewan jeung modul ESP32-MINI-1 salaku example dina bagian handap.

Sistem Espressif

10 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr 6: ESP32-DevKitM-1 - hareup

Konci komponén On-board modul
5 V ka 3.3 V LDO Boot Button
Tombol Reset Micro-USB Port
USB-to-UART Sasak 3.3 V Power On LED
Panyambung I/O

Katerangan
ESP32-MINI-1 modul atawa ESP32-MINI-1U modul. ESP32-MINI-1 hadir kalawan anteneu PCB on-board. ESP32-MINI-1U hadir kalawan konektor anteneu éksternal. Dua modul duanana mibanda 4 MB flash dina pakét chip. Pikeun detil, mangga tingali ESP32-MINI-1 & ESP32-MINI-1U Lembar Data.
Regulator kakuatan ngarobah 5 V jadi 3.3 V.
Tombol download. Nahan Boot terus pencét Reset ngamimitian mode Download firmware pikeun ngundeur firmware ngaliwatan port serial.
Tombol Reset
panganteur USB. Catu daya pikeun dewan ogé antarmuka komunikasi antara komputer sareng chip ESP32.
Tunggal USB-UART sasak chip nyadiakeun ongkos mindahkeun nepi ka 3 Mbps.
Hurungkeun nalika USB disambungkeun ka dewan. Pikeun detil, mangga tingali skéma dina Dokumén Patali. Kabéh pin GPIO sadia (iwal beus SPI pikeun flash) pegat kaluar kana headers pin on dewan. Pamaké tiasa program chip ESP32 pikeun ngaktipkeun sababaraha fungsi.

Mimitian Pangwangunan Aplikasi Sateuacan ngaktifkeun ESP32-DevKitM-1 anjeun, punten pastikeun yén éta aya dina kaayaan anu saé tanpa tanda-tanda karusakan anu jelas.
Hardware Diperlukeun · ESP32-DevKitM-1 · Kabel USB 2.0 (Standar-A ka Micro-B) · Komputer ngajalankeun Windows, Linux, atawa macOS
Setup Parangkat Lunak Mangga teraskeun ka Mimitian, dimana Instalasi Bagéan bakal gancang ngabantosan anjeun nyetél lingkungan pamekaran teras flash aplikasi ex.ample onto Anjeun ESP32-DevKitM-1.

Sistem Espressif

11 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Perhatosan: Papan ESP32-DevKitM-1 anu diproduksi sateuacan 2 Désémber 2021 gaduh modul inti tunggal dipasang. Pikeun pariksa modul naon anjeun gaduh, mangga parios modul nyirian informasi dina PCN-2021-021. Upami papan anjeun dipasang modul inti tunggal, aktipkeun mode inti tunggal (CONFIG_FREERTOS_UNICORE) dina menuconfig sateuacan nga-flash aplikasi anjeun.
Diagram Blok Rujukan Hardware Diagram blok di handap ieu nunjukkeun komponén ESP32-DevKitM-1 sareng sambunganna.

Gbr 7: ESP32-DevKitM-1
Pilih Sumber Daya Aya tilu cara anu saling ekslusif pikeun nyayogikeun kakuatan ka dewan: · Port USB mikro, catu daya standar · Pin lulugu 5V sareng GND · Pin lulugu 3V3 sareng GND
Perhatosan: · Catu daya kedah disayogikeun nganggo hiji-hijina pilihan di luhur, upami henteu, papan sareng/atawa sumber catu daya tiasa ruksak. · Catu daya ku port micro USB disarankeun.

Pin Déskripsi Tabel di handap nyadiakeun Ngaran jeung Fungsi pin dina dua sisi dewan. Pikeun konfigurasi pin periferal, mangga tingal ESP32 Datasheet.

No.

Ngaran

Tipe

1

GND

P

2

3V3

P

Fungsi Ground 3.3 suplai kakuatan V

terus dina kaca salajengna

Sistem Espressif

12 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Tabél 2 dituluykeun tina kaca saméméhna

No.

Ngaran

Tipe

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; Luhur: aktipkeun; Low: kakuatan pareum

8

I34

I

GPIO34, ADC1_CH6, RTC_GPIO4

9

I35

I

GPIO35, ADC1_CH7, RTC_GPIO5

10

IO32

Abdi / O

GPIO32, XTAL_32K_P (32.768 kHz kristal osilator input),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

Abdi / O

GPIO33, XTAL_32K_N (kaluaran osilator kristal 32.768 kHz),

ADC1_CH5, TOUCH8, RTC_GPIO8

12

IO25

Abdi / O

GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0

13

IO26

Abdi / O

GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

14

IO27

Abdi / O

GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV

15

IO14

Abdi / O

GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,

HS2_CLK, SD_CLK, EMAC_TXD2

16

5V

P

catu daya 5 V

17

IO12

Abdi / O

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

HS2_DATA2, SD_DATA2, EMAC_TXD3

18

IO13

Abdi / O

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

HS2_DATA3, SD_DATA3, EMAC_RX_ER

19

IO15

Abdi / O

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

HS2_CMD, SD_CMD, EMAC_RXD3

20

IO2

Abdi / O

GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,

HS2_DATA0, SD_DATA0

21

IO0

Abdi / O

GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,

EMAC_TX_CLK

22

IO4

Abdi / O

GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,

HS2_DATA1, SD_DATA1, EMAC_TX_ER

23

IO9

Abdi / O

GPIO9, HS1_DATA2, U1RXD, SD_DATA2

24

IO10

Abdi / O

GPIO10, HS1_DATA3, U1TXD, SD_DATA3

25

IO5

Abdi / O

GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK

26

IO18

Abdi / O

GPIO18, HS1_DATA7, VSPICLK

27

IO23

Abdi / O

GPIO23, HS1_STROBE, VSPID

28

IO19

Abdi / O

GPIO19, VSPIQ, U0CTS, EMAC_TXD0

29

IO22

Abdi / O

GPIO22, VSPIWP, U0RTS, EMAC_TXD1

30

IO21

Abdi / O

GPIO21, VSPIHD, EMAC_TX_EN

31

TXD0

Abdi / O

GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2

32

RXD0

Abdi / O

GPIO3, U0RXD, CLK_OUT2

Rincian Révisi Hardware Henteu aya vérsi sateuacana.
Dokumén nu patali
· ESP32-MINI-1 & ESP32-MINI-1U Datasheet (PDF) · ESP32-DevKitM-1 Schematics (PDF) · ESP32-DevKitM-1 perenah PCB (PDF) · ESP32-DevKitM-1 perenah (DXF) – Anjeun tiasa view eta kalawan Autodesk Viewer online · ESP32 Datasheet (PDF) · ESP Product Selector
Pikeun dokuméntasi desain séjén pikeun dewan, mangga ngahubungan kami di sales@espressif.com.

Sistem Espressif

13 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Sofwer 1.2.2
Pikeun mimitian nganggo ESP-IDF dina ESP32, pasang parangkat lunak ieu: · Toolchain pikeun nyusun kode pikeun ESP32 · Ngawangun alat – CMake sareng Ninja pikeun ngawangun Aplikasi lengkep pikeun ESP32 · ESP-IDF anu dasarna ngandung API (perpustakaan software sareng kode sumber) pikeun ESP32 sareng skrip pikeun ngoperasikeun Toolchain.

1.3 Pamasangan
Pikeun masang sadaya parangkat lunak anu diperyogikeun, kami nawiskeun sababaraha cara pikeun ngagampangkeun tugas ieu. Pilih tina salah sahiji pilihan anu sayogi.
1.3.1 IDE

Catetan: Kami nyarankeun pisan masang ESP-IDF ngalangkungan IDE karesep anjeun.
· Eclipse Plugin · VSCode Extension

1.3.2 Pamasangan Manual
Pikeun prosedur manual, mangga pilih dumasar kana sistem operasi anjeun.

Sistem Espressif

14 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Setup standar Toolchain pikeun Windows
Bubuka ESP-IDF merlukeun sababaraha parabot prerequisite dipasang sangkan anjeun bisa ngawangun firmware pikeun chip dirojong. Alat prasyarat kalebet Python, Git, cross-compilers, CMake sareng alat ngawangun Ninja. Pikeun Ngamimitian ieu, anjeun bakal nganggo Command Prompt, tapi saatos ESP-IDF dipasang anjeun tiasa nganggo Eclipse Plugin atanapi IDE grafis anu sanés kalayan dukungan CMake. Catetan: Watesan: – Jalur pamasangan ESP-IDF sareng ESP-IDF Tools teu kedah langkung panjang ti 90 karakter. Jalur pamasangan anu panjang teuing tiasa nyababkeun pangwangunan anu gagal. - Jalur pamasangan Python atanapi ESP-IDF henteu kedah ngandung rohangan bodas atanapi kurung. - Jalur instalasi Python atanapi ESP-IDF teu kedah ngandung karakter husus (nonASCII) iwal sistem operasi ieu ngonpigurasi kalawan oUnicode UTF-8psupport. Administrator Sistem tiasa ngaktifkeun dukungan ngalangkungan Panel Kontrol - Robah tanggal, waktos, atanapi format nomer - Tab Administratif - Robah lokal sistem - pariksa pilihan oBeta: Anggo Unicode UTF-8 pikeun dukungan basa sadunya - Ok sareng reboot komputer.
ESP-IDF Tools Installer Cara panggampangna pikeun masang prasyarat ESP-IDFns nyaéta ngundeur salah sahiji ESP-IDF Tools Installers.

Unduh Windows Installer
Naon gunana pikeun Online sareng Offline Installer Online Installer leutik pisan sareng ngamungkinkeun pamasangan sadaya pelepasan ESP-IDF anu sayogi. Pamasang bakal ngaunduh ngan ukur gumantungna anu diperyogikeun kalebet Git Pikeun Windows salami prosés pamasangan. Toko installer diunduh files dina diréktori cache% userprofile%. espressif
Pamasang Offline henteu ngabutuhkeun sambungan jaringan. Pamasangna ngandung sadaya kagumantungan anu diperyogikeun kalebet Git Pikeun Windows.
Komponén pamasangan Pamasang masangkeun komponén ieu:
· Embedded Python · Cross-compilers · OpenOCD · CMake sareng Ninja build tools · ESP-IDF
Pamasang ogé ngamungkinkeun ngagunakeun deui diréktori anu tos aya sareng ESP-IDF. Diréktori anu disarankeun nyaéta %userprofile%Desktopesp-idf dimana %userprofile% nyaéta diréktori asal anjeun.

Sistem Espressif

15 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Ngajalankeun Lingkungan ESP-IDF Dina ahir prosés pamasangan anjeun tiasa pariksa pilihan Jalankeun Lingkungan PowerShell ESP-IDF atanapi Jalankeun Prompt Komando ESP-IDF (cmd.exe). Pamasang bakal ngaluncurkeun lingkungan ESP-IDF dina ajakan anu dipilih. Jalankeun ESP-IDF PowerShell Environment:

Gbr. 8: Ngalengkepan Wizard Setup Alat ESP-IDF sareng Run ESP-IDF PowerShell Environment
Jalankeun ESP-IDF Command Prompt (cmd.exe):
Nganggo Komando Ajakan Pikeun léngkah-léngkah Ngamimitian anu sanés, anjeun badé nganggo Windows Command Prompt. ESP-IDF Tools Installer ogé nyieun potong kompas dina ménu Mimitian pikeun ngajalankeun ESP-IDF Command Prompt. Potong kompas ieu ngajalankeun Command Prompt (cmd.exe) sareng ngajalankeun skrip export.bat pikeun nyetél variabel lingkungan (PATH, IDF_PATH sareng anu sanésna). Di jero ajakan paréntah ieu, sadaya alat anu dipasang sayogi. Catet yén potong kompas ieu khusus pikeun diréktori ESP-IDF anu dipilih dina Pamasang Alat ESP-IDF. Upami anjeun gaduh sababaraha diréktori ESP-IDF dina komputer (pikeun example, pikeun digawe sareng versi béda tina ESP-IDF), anjeun gaduh dua pilihan pikeun ngagunakeun éta:
1. Jieun salinan tina potong kompas dijieun ku ESP-IDF Pakakas Installer, sarta ngarobah diréktori gawé tina potong kompas anyar kana diréktori ESP-IDF nu Anjeun hoyong pake.
2. Alternatipna, ngajalankeun cmd.exe, lajeng ngarobah kana diréktori ESP-IDF nu Anjeun hoyong pake, tur ngajalankeun export.bat. Catet yén teu sapertos pilihan sateuacana, cara ieu peryogi Python sareng Git hadir dina PATH. Upami anjeun nampi kasalahan anu aya hubunganana sareng Python atanapi Git henteu kapendak, paké pilihan anu munggaran.
Léngkah-léngkah munggaran dina ESP-IDF Ayeuna kumargi sadaya sarat parantos kacumponan, topik salajengna bakal ngabimbing anjeun kumaha ngamimitian proyék munggaran anjeun.

Sistem Espressif

16 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian Gbr. 9: ESP-IDF PowerShell

Gbr. 10: Ngalengkepan Wizard Setup Alat ESP-IDF sareng Run ESP-IDF Command Prompt (cmd.exe)

Sistem Espressif

17 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr. 11: ESP-IDF Komando Ajakan

Sistem Espressif

18 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Pituduh ieu bakal ngabantosan anjeun dina léngkah-léngkah munggaran nganggo ESP-IDF. Turutan pituduh ieu pikeun ngamimitian proyék anyar dina ESP32 sareng ngawangun, flash, sareng ngawas kaluaran alat. Catetan: Upami anjeun teu acan dipasang ESP-IDF, mangga buka Instalasi tur turutan parentah pikeun meunangkeun sakabeh software diperlukeun pikeun ngagunakeun pituduh ieu.

Mimitian Proyék Ayeuna anjeun parantos siap nyiapkeun aplikasi anjeun pikeun ESP32. Anjeun tiasa mimitian ku getstarted/hello_world proyék ti exampdiréktori les di ESP-IDF.
Penting: Sistem ngawangun ESP-IDF henteu ngadukung rohangan dina jalur ka ESP-IDF atanapi ka proyék.
Nyalin proyék ngamimitian / hello_world ka ~ / esp diréktori: cd% userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world hello_world
Catetan: Aya rentang example proyék di exampdiréktori les di ESP-IDF. Anjeun tiasa nyalin proyék naon waé dina cara anu sami sareng anu dipidangkeun di luhur sareng ngajalankeunana. Ieu oge mungkin pikeun ngawangun examples di-tempat tanpa nyalin aranjeunna munggaran.

Sambungkeun Alat anjeun Ayeuna sambungkeun papan ESP32 anjeun ka komputer sareng pariksa port serial mana papan éta katingali. Ngaran port serial dimimitian ku COM dina Windows. Upami anjeun teu yakin kumaha pariksa nami port serial, mangga tingal Ngadegkeun Sambungan Serial sareng ESP32 pikeun detil lengkep.
Catetan: Tetep nami port gunana sabab anjeun peryogi dina léngkah salajengna.

Konpigurasikeun Proyék anjeun Napigasi ka diréktori hello_world anjeun, setel ESP32 salaku udagan, sareng jalankeun menuconfig utiliti konfigurasi proyék.
Windows cd %userprofile%esphello_world idf.py set-target esp32 idf.py menuconfig
Saatos muka proyék énggal, anjeun kedah nyetél udagan sareng idf.py set-target esp32. Catet yén ngawangun sareng konfigurasi anu aya dina proyék, upami aya, bakal diberesihan sareng diinisialisasi dina prosés ieu. Target tiasa disimpen dina variabel lingkungan pikeun ngalangkungan léngkah ieu. Tempo Pilih Target Chip: set-target pikeun émbaran tambahan. Upami léngkah-léngkah sateuacana parantos leres, ménu di handap ieu némbongan: Anjeun nganggo ménu ieu pikeun nyetél variabel khusus proyék, contona, ngaran jaringan Wi-Fi sareng kecap akses, laju prosésor, jsb.ample ngajalankeun kalawan konfigurasi standar.
Perhatosan: Upami anjeun nganggo papan ESP32-DevKitC sareng modul ESP32-SOLO-1, atanapi papan ESP32-DevKitM-1 sareng modul ESP32-MIN1-1 (1U), punten aktipkeun mode inti tunggal (CONFIG_FREERTOS_UNICORE) dina menuconfig sateuacan kedip-kedip ex.amples.

Sistem Espressif

19 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr 12: Konfigurasi proyék - Jandéla Imah
Catetan: Warna ménu tiasa béda dina terminal anjeun. Anjeun tiasa ngarobih penampilan kalayan pilihan -style. Punten ngajalankeun idf.py menuconfig –help kanggo inpormasi salajengna.
Upami anjeun nganggo salah sahiji papan pangembangan anu dirojong, anjeun tiasa nyepetkeun pamekaran anjeun nganggo Paket Dukungan Dewan. Tempo Tips tambahan pikeun inpo nu leuwih lengkep.
Ngawangun Proyék Ngawangun proyék ku jalan:
idf.py ngawangun
Paréntah ieu bakal nyusun aplikasi sareng sadaya komponén ESP-IDF, teras bakal ngahasilkeun bootloader, tabel partisi, sareng binari aplikasi.
$ idf.py ngawangun Ngajalankeun cmake dina diréktori /path/to/hello_world/build Ngalaksanakeun "cmake -G Ninja -warn-uninitialized /path/to/hello_world"... Warn ngeunaan nilai uninitialized. — Kapanggih Git: /usr/bin/git (kapanggih vérsi "2.17.0") - Ngawangun komponén aws_iot kosong kusabab konfigurasi - Ngaran komponén: ... - Jalur komponén: ...
... (langkung seueur garis kaluaran sistem ngawangun)
[527/527] Ngahasilkeun hello_world.bin esptool.py v2.3.1
Proyék ngawangun réngsé. Pikeun flash, ngajalankeun paréntah ieu: ../../../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 ngawangun 0x1000 ngawangun / bootloader / bootloader.bin 0x8000 ngawangun / partition_table / partition-table.bin atawa ngajalankeun 'idf.py -p PORT flash'
Mun euweuh kasalahan, ngawangun bakal rengse ku generating firmware binér .bin files.

Sistem Espressif

20 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Flash onto the Device Flash binaries nu karek diwangun (bootloader.bin, partition-table.bin and hello_world.bin) kana dewan ESP32 Anjeun ku ngajalankeun: idf.py -p PORT [-b BAUD] flash
Ngaganti PORT kalawan ESP32 boardns ngaran port serial Anjeun. Anjeun oge bisa ngarobah laju baud flasher ku ngaganti BAUD kalawan laju baud nu peryogi. Laju baud standar nyaéta 460800. Kanggo inpo nu langkung lengkep ihwal argumen idf.py, tingali idf.py.
Catetan: Pilihan lampu kilat otomatis ngawangun sareng kedip-kedip proyek, janten ngajalankeun idf.py build henteu diperyogikeun.

Papanggihan Masalah Nalika Kedip-kedip? Upami anjeun ngajalankeun paréntah anu dipasihkeun sareng ningali kasalahan sapertos Gagal nyambungkeun, meureun aya sababaraha alesan pikeun ieu. Salah sahiji alesan tiasa janten masalah anu dipanggihan ku esptool.py, utilitas anu disebut ku sistem ngawangun pikeun ngareset chip, berinteraksi sareng bootloader ROM, sareng firmware flash. Hiji leyuran basajan pikeun nyobaan nyaéta reset manual anu dijelaskeun di handap, sareng upami éta henteu ngabantosan anjeun tiasa mendakan langkung rinci ngeunaan kamungkinan masalah dina Pemecahan Masalah.
esptool.py ngareset ESP32 otomatis ku asserting DTR na RTS garis kontrol USB ka chip converter serial, ie, FTDI atanapi CP210x (kanggo inpo nu leuwih lengkep, tingali Ngadegkeun Connection Serial kalawan ESP32). Garis kontrol DTR sareng RTS dihubungkeun sareng pin GPIO0 sareng CHIP_PU (EN) ESP32, sahingga robih dina vol.tagTingkat DTR sareng RTS bakal boot ESP32 kana modeu Unduh firmware. Salaku urutample, pariksa schematic pikeun dewan ngembangkeun ESP32 DevKitC.
Sacara umum, anjeun kedah teu ngagaduhan masalah sareng papan pangembangan esp-idf resmi. Nanging, esptool.py henteu tiasa ngareset hardware anjeun sacara otomatis dina kasus ieu:
· Perangkat keras anjeun henteu gaduh jalur DTR sareng RTS anu nyambung ka GPIO0 sareng CHIP_PU · Garis DTR sareng RTS dikonpigurasi sacara béda · Henteu aya garis kontrol séri sapertos kitu.
Gumantung kana jenis hardware anjeun gaduh, eta oge mungkin mun sacara manual nempatkeun dewan ESP32 anjeun kana modeu Download firmware (ngareset).
· Pikeun papan pamekaran anu diproduksi ku Espressif, inpormasi ieu tiasa dipendakan dina pituduh ngamimitian atanapi pituduh pangguna masing-masing. Pikeun example, pikeun ngareset sacara manual hiji dewan ngembangkeun ESP-IDF, tahan tombol Boot (GPIO0) terus pencét tombol EN (CHIP_PU).
· Pikeun jinis hardware anu sanés, cobian tarik GPIO0 ka handap.

Operasi Normal Nalika kedip-kedip, anjeun bakal nempo log kaluaran sarupa kieu:
… 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/partition-table. 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Nyambungkeun…….._ Chip nyaéta ESP32D0WDQ6 (révisi 0) Fitur: WiFi, BT, Dual Core, Skéma Coding Euweuh Kristal nyaéta 40MHz MAC: 24:0a tubb: stub: 24:0a… ngajalankeun… Ngarobah laju baud ka 460800 Robah.
(terus dina kaca salajengna)

Sistem Espressif

21 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
(terus ti kaca saméméhna) Ngonpigurasikeun ukuran lampu kilat... Dikomprés 3072 bait jadi 103... Nulis dina 0x00008000... (100 %) Nulis 3072 bait (103 dikomprés) dina 0x00008000 dina 0.0 detik (éféktif 5962.8 ksh/s) data (éféktif ksh/s.80) Dikomprés 26096 bait jadi 15408… Nulis dina 0x00001000… (100 %) Nulis 26096 bait (15408 dikomprés) dina 0x00001000 dina 0.4 detik (éféktif 546.7 kbit/s data). Dikomprés 147104 bait jadi 77364… Nulis dina 0x00010000… (20 %) Nulis dina 0x00014000… (40 %) Nulis dina 0x00018000… (60 %) Nulis dina 0x0001c000%) 0x00020000… (100 %) Nulis 147104 bait (77364 dikomprés) dina 0x00010000 dina 1.9 detik (éféktif 615. 5 kbit/s)… Hash data diverifikasi.
Ninggalkeun… Hard reset via RTS pin… Rengse
Upami teu aya masalah dina ahir prosés flash, dewan bakal reboot sareng ngamimitian theohello_worldpapplication. Upami anjeun hoyong nganggo Eclipse atanapi VS Code IDE tinimbang ngajalankeun idf.py, pariksa Eclipse Plugin, VSCode Extension.
Ngawas Kaluaran Pikeun mariksa lamun ohello_worldpis memang ngajalankeun, ngetik idf.py -p PORT monitor (Ulah poho pikeun ngaganti PORT jeung ngaran port serial Anjeun).
Paréntah ieu ngaluncurkeun aplikasi IDF Monitor:
$idf.py -p monitor Ngajalankeun idf_monitor dina diréktori […]/esp/hello_world/build Ngalaksanakeun “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Kaluar: Ctrl+] | Menu: Ctrl+T | Pitulung: Ctrl+T dituturkeun ku Ctrl+H –ets Jun 8 2016 00:22:57
kahiji: 0x1 (POWERON_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT) jeung 8 Jun 2016 00:22:57 …
Saatos ngamimitian sareng log diagnostik ngagulung ka luhur, anjeun kedah ningali oHello world!dicitak ku aplikasi.
… Halo Dunya! Balikan deui dina 10 detik… Ieu mangrupikeun chip esp32 sareng 2 inti CPU, WiFi/BT/BLE, révisi silikon 1, 2MB lampu kilat éksternal Ukuran tumpukan bébas minimum: 298968 bait Mimitian deui dina 9 detik… Dibalikan deui dina 8 detik… Dibalikan deui dina 7 detik…
Pikeun kaluar tina monitor IDF, paké potong kompas Ctrl+].

Sistem Espressif

22 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Lamun IDF monitor gagal teu lila sanggeus unggah, atawa, lamun gaganti pesen di luhur, anjeun bakal nempo sampah acak sarupa naon dirumuskeun di handap, dewan Anjeun kamungkinan ngagunakeun kristal 26 MHz. Paling desain dewan ngembangkeun ngagunakeun 40 MHz, jadi ESP-IDF ngagunakeun frékuénsi ieu salaku nilai standar.

Upami anjeun gaduh masalah sapertos kitu, lakukeun ieu: 1. Kaluar tina monitor. 2. Balik deui ka menuconfig. 3. Pindah ka komponén config> Setélan Hardware> Utama XTAL Config> Main frékuénsi XTAL, lajeng robah CONFIG_XTAL_FREQ_SEL ka 26 MHz. 4. Sanggeus éta, ngawangun jeung flash aplikasi deui.
Dina vérsi ayeuna ESP-IDF, frékuénsi XTAL utama anu dirojong ku ESP32 nyaéta kieu:
· 26 MHz · 40 MHz
Catetan: Anjeun tiasa ngagabungkeun wangunan, kedip-kedip jeung ngawaskeun kana hiji hambalan ku ngajalankeun: idf.py -p PORT flash monitor
Tempo ogé: · IDF Monitor pikeun potong kompas gunana tur leuwih rinci dina ngagunakeun monitor IDF. · idf.py pikeun rujukan pinuh ku paréntah jeung pilihan idf.py.
Éta sadayana anu anjeun peryogikeun pikeun ngamimitian nganggo ESP32! Ayeuna anjeun siap nyobian sababaraha ex séjénamples, atawa langsung kana ngamekarkeun aplikasi Anjeun sorangan.
Nu penting: Sababaraha examples teu ngarojong ESP32 sabab hardware diperlukeun teu kaasup dina ESP32 jadi teu bisa dirojong. Lamun ngawangun example, mangga parios README file pikeun tabel Target Dirojong. Upami ieu hadir kalebet udagan ESP32, atanapi tabelna henteu aya, example bakal dianggo dina ESP32.
Tips tambahan
Masalah idin / dev / ttyUSB0 Kalayan sababaraha distribusi Linux, anjeun tiasa nampi pesen kasalahan Gagal muka port / dev / ttyUSB0 nalika kedip-kedip ESP32. Ieu bisa direngsekeun ku nambahkeun pamaké ayeuna ka grup dialogout.
Kasaluyuan Python ESP-IDF ngarojong Python 3.7 atawa leuwih anyar. Disarankeun pikeun ngamutahirkeun sistem operasi anjeun ka versi panganyarna anu nyugemakeun sarat ieu. Pilihan sanésna kalebet pamasangan Python tina sumber atanapi panggunaan sistem manajemen versi Python sapertos pyenv.
Mimitian ku Board Rojongan Paket Pikeun nyepetkeun prototyping on sababaraha dewan ngembangkeun, anjeun tiasa nganggo Board Rojongan Paket (BSPs), nu ngajadikeun initialization tina dewan tinangtu sagampang sababaraha panggero fungsi.

Sistem Espressif

23 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

BSP biasana ngadukung sadaya komponén hardware anu disayogikeun dina papan pamekaran. Salian ti definisi pinout sareng fungsi inisialisasi, BSP ngirimkeun supir pikeun komponén éksternal sapertos sensor, tampilan, codec audio, jsb. Ieu hiji mantanampkumaha carana nambahkeun ESP-WROVER-KIT BSP kana proyék anjeun: idf.py add-dependency esp_wrover_kit
Leuwih examples pamakéan BSP bisa kapanggih dina BSP examples folder.
Dokumén Patali Pikeun pangguna canggih anu hoyong ngarobih prosés pamasangan: · Ngamutahirkeun alat ESP-IDF dina Windows · Ngadegkeun Sambungan Serial sareng ESP32 · Eclipse Plugin · VSCode Extension · IDF Monitor
Ngamutahirkeun parabot ESP-IDF dina Windows
Pasang alat ESP-IDF nganggo skrip Tina Windows Command Prompt, robih kana diréktori dimana ESPIDF dipasang. Lajeng ngajalankeun:
install.bat
Pikeun Powershell, ganti kana diréktori tempat ESP-IDF dipasang. Lajeng ngajalankeun:
install.ps1
Ieu bakal ngundeur tur masang parabot diperlukeun pikeun ngagunakeun ESP-IDF. Upami vérsi khusus alat parantos dipasang, moal aya tindakan anu bakal dilakukeun. Alat-alatna diunduh sareng dipasang kana diréktori anu ditetepkeun nalika prosés ESP-IDF Tools Installer. Sacara standar, ieu C: Usersusername.espressif.
Tambihkeun alat ESP-IDF ka PATH nganggo skrip ékspor installer alat ESP-IDF nyiptakeun potong kompas ménu Start pikeun oESP-IDF Command Promptp. Potong kompas ieu muka jandela Command Prompt dimana sadaya alat parantos aya
sadia. Dina sababaraha kasus, anjeun panginten hoyong damel sareng ESP-IDF dina jandela Command Prompt anu henteu ngamimitian nganggo potong kompas éta. Upami ieu masalahna, turutan parentah di handap pikeun nambahkeun parabot ESP-IDF ka PATH. Dina ajakan paréntah dimana anjeun kedah nganggo ESP-IDF, robah kana diréktori mana ESP-IDF dipasang, lajeng ngaéksekusi export.bat:
cd% pamaképrofile%espesp-idf export.bat
Alternatipna dina Powershell dimana anjeun kedah nganggo ESP-IDF, robih kana diréktori dimana ESP-IDF dipasang, teras laksana export.ps1:
cd ~/esp/esp-idf export.ps1
Nalika ieu réngsé, alat bakal sayogi dina ajakan paréntah ieu.
Ngadegkeun Serial Connection kalawan ESP32 bagian ieu nyadiakeun hidayah kumaha carana nyieun sambungan serial antara ESP32 jeung PC.

Sistem Espressif

24 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Sambungkeun ESP32 ka PC Sambungkeun papan ESP32 ka PC nganggo kabel USB. Upami supir alat henteu dipasang sacara otomatis, identipikasi USB kana chip konverter serial dina papan ESP32 anjeun (atanapi dongle konverter éksternal), milarian supir dina internét sareng pasang. Di handap ieu daptar USB ka chip converter serial dipasang dina lolobana papan ESP32 dihasilkeun Espressif babarengan jeung tumbu ka drivers:
· CP210x: CP210x USB ka UART Bridge VCP Supir · FTDI: FTDI Virtual COM Port Supir Mangga parios pituduh pamaké dewan pikeun USB husus pikeun chip converter serial dipaké. Supir di luhur utamina pikeun rujukan. Dina kaayaan normal, supir kudu dibuntel ku sistem operasi sarta otomatis dipasang nalika nyambungkeun dewan ka PC.
Cék port dina Windows Cék daptar palabuhan COM anu diidentifikasi dina Manajer Alat Windows. Pegatkeun sambungan ESP32 tur sambungkeun deui, pikeun pariksa mana port leungit tina daptar lajeng nembongkeun deui. Inohong di handap nembongkeun port serial pikeun ESP32 DevKitC na ESP32 WROVER KIT

Gbr. 13: USB ka sasak UART tina ESP32-DevKitC dina Windows Device Manager

Pariksa port on Linux Ubuntu jeung macOS Pikeun pariksa ngaran alat pikeun port serial tina dewan ESP32 Anjeun (atawa dongle converter éksternal), ngajalankeun paréntah ieu dua kali, mimiti kalawan board / dongle unplugged, lajeng kalawan plugged in Port nu mucunghul kadua kalina nyaéta salah sahiji nu peryogi: Linux
ls /dev/tty*
macOS

Sistem Espressif

25 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr. 14: Dua palabuhan Serial USB of ESP-WROVER-KIT dina Windows Alat Manajer

Sistem Espressif

26 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

ls /dev/cu.* Catetan: pamaké macOS: lamun donnt ningali port serial lajeng pariksa anjeun boga USB / drivers serial dipasang. Tempo Bagian Connect ESP32 ka PC pikeun tumbu ka drivers. Pikeun macOS High Sierra (10.13), anjeun ogé kedah ngijinkeun supir sacara eksplisit pikeun dimuat. Buka Preferensi Sistem -> Kaamanan & Privasi -> Umum sareng pariksa upami aya pesen anu dipidangkeun di dieu ngeunaan Software oSystem ti pamekar dimana nami pamekar nyaéta Silicon Labs atanapi FTDI.

Nambahkeun pamaké pikeun dialout on Linux Ubuntu pamaké ayeuna asup kudu maca jeung nulis aksés port serial ngaliwatan USB. Dina sabagéan ageung distribusi Linux, ieu dilakukeun ku nambihan pangguna ka grup dialog kalayan paréntah di handap ieu:
sudo usermod -a -G dialogout $ USER
dina Arch Linux ieu dilakukeun ku nambihan pangguna kana grup uucp kalayan paréntah di handap ieu:
sudo usermod -a -G uucp $ USER
Pastikeun anjeun log in deui pikeun ngaktipkeun idin maca sareng nyerat pikeun port serial.
Pariksa sambungan serial Ayeuna pariksa yen sambungan serial geus operasional. Anjeun tiasa ngalakukeun ieu nganggo program terminal serial ku mariksa upami anjeun nampi kaluaran naon waé dina terminal saatos ngareset ESP32. Laju baud konsol standar dina ESP32 nyaéta 115200.
Windows sareng Linux Dina ex ieuample urang bakal make PuTTY SSH Klién anu sadia pikeun duanana Windows jeung Linux. Anjeun tiasa nganggo program séri anu sanés sareng nyetél parameter komunikasi sapertos di handap ieu. Ngajalankeun terminal tur nyetel port serial dicirikeun. Laju baud = 115200 (lamun diperlukeun, ngarobah ieu kana laju baud standar tina chip dipaké), bit data = 8, bit eureun = 1, sarta parity = N. Di handap ieu mangrupakeun ex.ample Potret layar netepkeun port na parameter transmisi sapertos (dina pondok digambarkeun salaku 115200-8-1-N) dina Windows jeung Linux. Inget pikeun milih persis port serial sarua anjeun geus ngaidentifikasi dina léngkah di luhur. Teras buka port serial dina terminal sareng pariksa, upami anjeun ningali log anu dicitak ku ESP32. Eusi log bakal gumantung kana aplikasi dimuat kana ESP32, tingali Example Kaluaran.
Catetan: Tutup terminal serial sanggeus verifikasi yén komunikasi jalan. Lamun tetep sési terminal kabuka, port serial bakal inaccessible pikeun unggah firmware engké.

macOS Pikeun ngahindarkeun anjeun tina masalah masang program terminal serial, macOS nawiskeun paréntah layar. · Sakumaha anu dibahas dina port Pariksa dina Linux sareng macOS, jalankeun:

ls /dev/cu.* · Anjeun kedah ningali kaluaran anu sami:

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

/dev/cu.SLAB_

· Kaluaran bakal rupa-rupa gumantung kana jenis jeung jumlah papan disambungkeun ka PC Anjeun. Teras pilih nami alat tina papan anjeun sareng jalankeun (upami diperyogikeun, robih o115200 kana tingkat baud standar tina chip anu dianggo):

layar /dev/cu.device_name 115200 Ngaganti device_name kalawan ngaran kapanggih ngajalankeun ls /dev/cu.*.

Sistem Espressif

27 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr 15: Nyetel Komunikasi Serial di PuTTY on Windows

Sistem Espressif

28 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Gbr. 16: Nyetél Komunikasi Serial di PuTTY on Linux Ubuntu

Sistem Espressif

29 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
· Naon nu Anjeun keur pilari sababaraha log dipintonkeun ku layar. Eusi log bakal gumantung kana aplikasi dimuat kana ESP32, tingali Example Kaluaran. Pikeun kaluar tina sési layar ngetik Ctrl-A + .
Catetan: Tong hilap kaluar tina sési layar saatos mastikeun yén komunikasina jalan. Lamun gagal ngalakukeun hal eta sarta ngan nutup jandela terminal, port serial bakal inaccessible pikeun unggah firmware engké.
Example Kaluaran Hiji example log ditémbongkeun di handap ieu. Reset dewan lamun teu ningali nanaon. ets Jun 8 2016 00:22:57
kahiji: 0x5 (DEEPSLEEP_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT) jeung 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: waktos compile 18:48:10

Upami anjeun tiasa ningali kaluaran log anu tiasa dibaca, éta hartosna sambungan séri berpungsi sareng anjeun siap teraskeun pamasangan sareng tungtungna unggah aplikasi ka ESP32.
Catetan: Kanggo sababaraha konfigurasi kabel port serial, serial RTS & DTR pin kudu ditumpurkeun dina program terminal saméméh ESP32 bakal boot jeung ngahasilkeun kaluaran serial. Ieu gumantung kana hardware sorangan, paling papan ngembangkeun (kaasup sakabeh papan Espressif) teu boga masalah ieu. Masalahna aya upami RTS & DTR dihubungkeun langsung ka pin EN & GPIO0. Tempo dokuméntasi esptool pikeun leuwih rinci.
Mun anjeun ngagaduhan dieu ti Lengkah 5. Léngkah munggaran dina ESP-IDF nalika masang s / w pikeun ngembangkeun ESP32, mangka anjeun bisa neruskeun kalawan Lengkah 5. Léngkah munggaran dina ESP-IDF.
IDF Monitor IDF Monitor utamana program terminal serial nu relays data serial ka jeung ti port serial devicens target. Ogé nyadiakeun sababaraha fitur IDF-spésifik. IDF Monitor tiasa diluncurkeun tina proyék IDF ku ngajalankeun monitor idf.py.
Potong kompas keyboard Pikeun gampang interaksi sareng IDF Monitor, paké potong kompas keyboard anu dipasihkeun dina tabél.

Sistem Espressif

30 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Potong kompas keyboard Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (atawa A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (atanapi I)
· Ctrl+H (atawa H)
· Ctrl+X (atawa X)
Ctrl+C

Aksi

Katerangan

Kaluar tina program Menu konci ngewa Kirim karakter menu sorangan ka jauh
Kirimkeun karakter kaluar sorangan ka jauh
Reset target kana bootloader pikeun ngareureuhkeun aplikasi liwat jalur RTS
Reset papan target via RTS
Ngawangun sareng flash proyék

Ngawangun sareng flash aplikasi wungkul

Eureun / neruskeun percetakan kaluaran log dina layar

Eureun / neruskeun kaluaran log disimpen ka file

Waktos eureun / neruskeunamps

nyitak

Pintonan sadaya potong kompas keyboard

Pencét teras turutan ku salah sahiji konci anu dipasihkeun di handap.
Resets udagan, kana bootloader via garis RTS (lamun disambungkeun), ku kituna dewan ngajalankeun nanaon. Mangpaat lamun anjeun kudu ngadagoan alat sejen ngamimitian. Ngareset papan target sareng ngamimitian deui aplikasi liwat jalur RTS (upami disambungkeun).
Ngareureuhkeun idf_monitor pikeun ngajalankeun udagan lampu kilat proyék, teras neruskeun idf_monitor. Sagala sumber robah files anu recompiled lajeng ulang flashed. Target énkripsi-flash dijalankeun upami idf_monitor dimimitian ku argumen -E. Ngareureuhkeun idf_monitor pikeun ngajalankeun target aplikasi-flash, teras neruskeun idf_monitor. Sarupa jeung udagan flash, tapi ngan aplikasi utama diwangun jeung ulang flashed. Target énkripsi-aplikasi-flash dijalankeun upami idf_monitor dimimitian ku argumen -E. Piceun sadaya data serial anu asup nalika diaktipkeun. Ngidinan pikeun ngareureuhkeun gancang sareng pariksa kaluaran log tanpa kaluar tina monitor. Nyiptakeun a file dina diréktori proyék jeung kaluaran ditulis kana éta file nepi ka ieu ditumpurkeun ku potong kompas keyboard sarua (atawa IDF Monitor kaluar). IDF Monitor tiasa nyitak waktosamp di awal unggal baris. Waktosnaamp format bisa dirobah ku –timestamp-format argumen baris paréntah.

Kaluar tina program

Ngaganggu ngajalankeun aplikasi

Ngareureuhkeun IDF Monitor tur ngajalankeun debugger proyék GDB pikeun debug aplikasi dina waktu jalan. Ieu merlukeun: ref: CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME pilihan pikeun diaktipkeun.

Sagala kenop dipencet, lian ti Ctrl-] sarta Ctrl-T, bakal dikirim ngaliwatan port serial.

fitur husus IDF

Decoding Alamat Otomatis Iraha waé ESP-IDF ngaluarkeun alamat kode héksadesimal tina bentuk 0x4_______, IDF Monitor nganggo addr2line_ pikeun milarian lokasi dina kode sumber sareng milarian nami fungsi.
Upami aplikasi ESP-IDF ngadat sareng panik, daptar dump sareng backtrace didamel, sapertos kieu:

Sistem Espressif

31 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Guru Semedi Kasalahan tipe StoreProhibited lumangsung dina inti 0. Iwal éta

teu kaurus.

ngadaptar dump:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

: 0x0000000f SAR

: 0x00000019 HASAN:

0x0000001d

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

0x00000000

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

IDF Monitor nambihan langkung rinci kana dump:

Guru Semedi Kasalahan tipe StoreProhibited lumangsung dina inti 0. Iwal éta

teu kaurus.

ngadaptar dump:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: do_something_to_crash di /home/gus/esp/32/idf/examples/ngamimitian/

hello_world/utama/./hello_world_main.c:57

(digariskeun ku) inner_dont_crash di /home/gus/esp/32/idf/examples/ngamimitian/halo_

dunya/utama/./hello_world_main.c:52

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

: 0x0000000f SAR

: 0x00000019 HASAN:

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 (digariskeun ku) inner_dont_crash di /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 at /home/gus/esp/32/idf/examples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main at /home/gus/esp/32/idf/examples/get-start/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task at /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254

Pikeun nga-decode unggal alamat, IDF Monitor ngajalankeun paréntah di handap ieu di latar tukang: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Catetan: Setel variabel lingkungan ESP_MONITOR_DECODE ka 0 atanapi nelepon idf_monitor.py nganggo garis paréntah khusus

Sistem Espressif

32 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
pilihan: idf_monitor.py –disable-address-decoding pikeun nganonaktipkeun alamat decoding.
Target Reset on Connection Sacara standar, IDF Monitor bakal ngareset udagan nalika nyambung ka dinya. Reset chip target dilaksanakeun nganggo garis serial DTR sareng RTS. Pikeun nyegah IDF Monitor tina otomatis ngareset targét dina sambungan, nelepon IDF Monitor ku pilihan –no-reset (misalna, idf_monitor.py –no-reset).
Catetan: Pilihan –no-reset nerapkeun paripolah anu sarua sanajan nyambungkeun IDF Monitor ka port nu tangtu (contona, idf.py monitor –no-reset -p [PORT]).
Ngajalankeun GDB kalawan GDBStub GDBStub mangrupakeun fitur runtime debugging mangpaat anu dijalankeun dina udagan tur nyambung ka host ngaliwatan port serial pikeun nampa paréntah debugging. GDBStub ngadukung paréntah sapertos maca mémori sareng variabel, mariksa pigura tumpukan telepon jsb. Sanajan GDBStub kirang serbaguna tibatan JTAG debugging, teu merlukeun hardware husus (sapertos JTAG ka USB sasak) salaku komunikasi dipigawé sagemblengna ngaliwatan port serial. Target tiasa dikonpigurasi pikeun ngajalankeun GDBStub di latar tukang ku netepkeun CONFIG_ESP_SYSTEM_PANIC ka GDBStub dina waktos jalanna. GDBStub bakal dijalankeun di tukang dugi pesen Ctrl + C dikirim ngaliwatan port serial sarta ngabalukarkeun GDBStub megatkeun (ie, ngeureunkeun palaksanaan) program, sahingga ngamungkinkeun GDBStub pikeun nanganan paréntah debugging. Saterusna, panangan panik bisa ngonpigurasi ngajalankeun GDBStub on kacilakaan ku netepkeun CONFIG_ESP_SYSTEM_PANIC mun GDBStub on panik. Nalika kacilakaan kajantenan, GDBStub bakal ngaluarkeun pola senar khusus dina port serial pikeun nunjukkeun yén éta jalan. Dina duanana kasus (ie, ngirim pesen Ctrl+C, atawa narima pola string husus), IDF Monitor bakal otomatis ngajalankeun GDB guna ngidinan pamaké pikeun ngirimkeun paréntah debugging. Saatos GDB kaluar, udagan direset via jalur séri RTS. Lamun garis ieu teu disambungkeun, pamaké bisa ngareset target maranéhanana (ku mencét boardns tombol Reset).
Catetan: Di latar tukang, IDF Monitor ngajalankeun paréntah di handap ieu pikeun ngaluncurkeun GDB:
xtensa-esp32-elf-gdb -ex "set serial baud BAUD" -ex "target remote PORT" -ex interrupt build/PROJECT.elf:idf_target:`Halo NAME chip`

Output Filtering IDF monitor tiasa dianggo salaku monitor idf.py –print-filter=”xyz”, dimana –print-filter mangrupikeun parameter pikeun nyaring kaluaran. Nilai standar mangrupa string kosong, nu hartina sagalana geus dicitak.
Watesan dina naon anu bakal dicitak tiasa disaluyukeun salaku séritag>: barang dimanatag> nyaeta tag string jeung mangrupakeun karakter ti set {N, E, W, I, D, V, *} ngarujuk kana tingkat pikeun logging.
Pikeun example, PRINT_FILTER=”tag1:W" cocog sareng mung nyitak kaluaran anu ditulis nganggo ESP_LOGW("tag1", ...) atawa dina tingkat verbosity handap, nyaéta ESP_LOGE("tag1″,…). Teu ngahususkeun a atanapi nganggo * standar pikeun tingkat Verbose.
Catetan: Anggo log primér pikeun nganonaktipkeun dina kompilasi kaluaran anu anjeun henteu peryogikeun ngalangkungan perpustakaan logging. Nyaring kaluaran sareng monitor IDF mangrupikeun solusi sekundér anu tiasa mangpaat pikeun nyaluyukeun pilihan panyaring tanpa nyusun ulang aplikasi.
aplikasi Anjeun tags teu kudu ngandung spasi, tanda bintang *, atawa titik titik: janten cocog sareng fitur nyaring kaluaran.
Upami garis panungtung kaluaran dina aplikasi anjeun henteu dituturkeun ku carriage return, panyaring kaluaran tiasa bingung, nyaéta, monitor mimiti nyitak jalur sareng engké mendakan yén jalur éta henteu kedah ditulis. Ieu masalah dipikawanoh tur bisa dihindari ku salawasna nambahkeun gerbong mulang (utamana lamun euweuh kaluaran kieu langsung afterwards).

Sistem Espressif

33 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
ExampAturan nyaring:
· * bisa dipaké pikeun cocog sagala tags. Sanajan kitu, string PRINT_FILTER = "*: I tag1: E" ngeunaan tag1 prints kasalahan wungkul, sabab aturan pikeun tag1 ngagaduhan prioritas anu langkung luhur tibatan aturan pikeun *.
· Aturan standar (kosong) sarua jeung *: V sabab cocog unggal tag di tingkat Verbose atawa handap hartina cocog sagalana.
· "*: N" suppresses teu ukur kaluaran tina fungsi logging, tapi ogé prints dijieun ku printf, jsb Pikeun ngahindarkeun ieu, make *: E atawa tingkat verbosity luhur.
· Aturan "tag1:V", "tag1:v", "tag1:", "tag1:*", jeungtag1" sarua. · Aturan "tag1: W tag1:E" sarua jeung "tag1: E" sabab sagala kajadian consequent sarua tag
ngaran nimpa hiji saméméhna. · Aturan "tag1: abdi tag2:W" ukur nyitak tag1 dina tingkat Info verbosity atawa handap sarta tag2 dina Peringatan
tingkat verbosity atawa handap. · Aturan "tag1: abdi tag2: W tag3:N" dasarna sarua jeung saméméhna sabab tag3:N nangtukeun
éta tag3 teu kudu dicitak. · tag3: N dina aturan "tag1: abdi tag2: W tag3:N *:V” leuwih bermakna sabab tanpa tag3:n ieu
tag3 pesen bisa geus dicitak; kasalahan pikeun tag1 jeung tag2 bakal dicitak dina tingkat verbosity anu ditangtukeun (atanapi langkung handap) sareng sadayana anu sanésna bakal dicitak sacara standar.
A More Complex Nyaring Example The snippet log di handap ieu kaala tanpa pilihan nyaring:
beban: 0x40078000, len: 13564 éntri 0x40078d4c E (31) esp_image: gambar di 0x30000 boga bait magic sah W (31) esp_image: gambar di 0x30000 boga mode SPI teu valid 255 E (39) boot partisi pabrik (568) cpu_start: Pro cpu up. Kuring (569) heap_init: Initializing. RAM sadia pikeun alokasi dinamis: abdi (603) cpu_start: Pro CPU ngamimitian pamaké kode D (309) light_driver: [light_init, 74]: status: 1, mode: 2 D (318) vfs: esp_vfs_register_fd_range suksés pikeun rentang <54; 64) sareng VFS ID 1 abdi (328) wifi: tugas supir wifi: 3ffdbf84, prio: 23, tumpukan: 4096, inti = 0
Kaluaran anu dicandak pikeun pilihan nyaring PRINT_FILTER=”wifi esp_image:E light_driver:I” dipasihkeun di handap:
E (31) esp_image: gambar dina 0x30000 boga magic byte I (328) wifi: tugas supir wifi: 3ffdbf84, prio: 23, tumpukan: 4096, inti = 0
Pilihan "PRINT_FILTER = "light_driver: D esp_image: N boot: N cpu_start: N vfs: N wifi: N *: V" nunjukkeun kaluaran ieu:
beban: 0x40078000, len: 13564 éntri 0x40078d4c kuring (569) heap_init: Initializing. RAM sadia pikeun alokasi dinamis: D (309) light_driver: [light_init, 74]: status: 1, mode: 2
Isu dipikawanoh kalawan IDF Monitor
Masalah anu dititénan dina Windows
· Kenop panah, kitu ogé sababaraha kenop séjén, teu jalan dina GDB alatan watesan Windows Console. · Aya kalana, nalika oidf.pypexit, éta bisa macet nepi ka 30 detik saméméh IDF Monitor neruskeun. · Nalika ogdbpis dijalankeun, éta bisa lapak pikeun waktu anu singget saméméh mimiti komunikasi jeung GDBStub.

Sistem Espressif

34 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian Setup Toolchain Standar pikeun Linux sareng macOS

Instalasi Lengkah-demi-Lengkah Ieu mangrupakeun roadmap lengkep pikeun leumpang anjeun ngaliwatan prosés instalasi.
Nyetél Lingkungan Pangwangunan Ieu léngkah-léngkah pikeun nyetél ESP-IDF pikeun ESP32 anjeun. · Lengkah 1. Pasang Prasarat · Lengkah 2. Meunangkeun ESP-IDF · Lengkah 3. Nyetél alat · Lengkah 4. Nyetél variabel lingkungan · Lengkah 5. Lengkah kahiji dina ESP-IDF
Lengkah 1. Pasang Prasarat Pikeun ngagunakeun ESP-IDF sareng ESP32, anjeun kedah masang sababaraha pakét parangkat lunak dumasar kana Sistem Operasi anjeun. Pitunjuk setelan ieu bakal ngabantosan anjeun pikeun masang sadayana dina sistem dumasar Linux sareng macOS.
Pikeun Pamaké Linux Pikeun nyusun nganggo ESP-IDF anjeun kedah kéngingkeun pakét di handap ieu. Paréntah pikeun ngajalankeun gumantung kana distribusi Linux anu anjeun anggo:
· Ubuntu sareng Debian: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 & 8: sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 masih dirojong tapi CentOS versi 8 disarankeun pikeun pangalaman pangguna anu langkung saé. · Arch: sudo pacman -S –diperlukeun gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Catetan: · Vérsi CMake 3.16 atawa leuwih anyar diperlukeun pikeun pamakéan ku ESP-IDF. Jalankeun otools/idf_tools.py install cmakepto install versi cocog lamun versi OS Anjeun teu boga hiji. · Upami anjeun henteu ningali distribusi Linux anjeun dina daptar di luhur, mangga parios dokuméntasina pikeun milarian paréntah mana anu dianggo pikeun pamasangan pakét.
Pikeun pangguna macOS ESP-IDF bakal nganggo versi Python anu dipasang sacara standar dina macOS. · Pasang CMake & Ninja ngawangun: Upami anjeun gaduh HomeBrew, anjeun tiasa ngajalankeun: brew install cmake ninja dfu-util Upami anjeun gaduh MacPorts, anjeun tiasa ngajalankeun: port sudo install cmake ninja dfu-util Upami teu kitu, konsultasi halaman bumi CMake sareng Ninja pikeun unduhan pamasangan macOS.

Sistem Espressif

35 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
· Disarankeun ogé masang ccache pikeun ngawangun langkung gancang. Upami Anjeun gaduh HomeBrew, ieu bisa dilakukeun via brew install ccache atanapi sudo port install ccache on MacPorts.
Catetan: Upami kasalahan sapertos ieu dipidangkeun dina léngkah naon waé: xcrun: kasalahan: jalur pamekar aktip anu teu valid (/Library/Developer/CommandLineTools), xcrun leungit di: /Library/Developer/CommandLineTools/usr/bin/xcrun
Teras anjeun kedah masang alat garis paréntah XCode pikeun neraskeun. Anjeun tiasa masang ieu ku ngajalankeun xcode-select -install.
Pamaké Apple M1 Upami anjeun nganggo platform Apple M1 sareng ningali kasalahan sapertos kieu: PERHATOSAN: diréktori pikeun alat xtensa-esp32-elf versi esp-2021r2-patch3-8.4.0 hadir, tapi alat henteu kapendak ERROR: alat xtensa-esp32-elf teu gaduh versi anu dipasang. Mangga ngajalankeun 'install.sh' pikeun masang eta.
atawa: zsh: tipe CPU goréng di laksana: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Teras anjeun kedah pasang Apple Rosetta 2 ku ngajalankeun /usr/sbin/softwareupdate –install-rosetta –agree-to-license
Masang Python 3 Dumasar catetan pelepasan macOS Catalina 10.15, panggunaan Python 2.7 henteu disarankeun sareng Python 2.7 moal kalebet sacara standar dina versi macOS anu bakal datang. Pariksa naon Python ayeuna anjeun gaduh: python -version
Lamun kaluaran téh kawas Python 2.7.17, panganteur standar anjeun Python 2.7. Upami kitu, pariksa ogé upami Python 3 teu acan dipasang dina komputer anjeun: python3 -version
Lamun paréntah di luhur mulih kasalahan, hartina Python 3 teu dipasang. Di handap ieu mangrupa leuwihview léngkah-léngkah pikeun masang Python 3.
· Masang sareng HomeBrew tiasa dilakukeun sapertos kieu: brew install python3
· Upami Anjeun gaduh MacPorts, Anjeun bisa ngajalankeun: sudo port install python38
Lengkah 2. Meunangkeun ESP-IDF Pikeun ngawangun aplikasi pikeun ESP32, anjeun peryogi perpustakaan parangkat lunak anu disayogikeun ku Espressif dina gudang ESP-IDF. Pikeun kéngingkeun ESP-IDF, arahkeun ka diréktori pamasangan anjeun sareng clone gudang nganggo git clone, nuturkeun paréntah di handap khusus pikeun sistem operasi anjeun. Buka Terminal, sareng jalankeun paréntah di handap ieu:

Sistem Espressif

36 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –recursive https://github.com/espressif/esp-idf.git
ESP-IDF bakal diunduh kana ~/esp/esp-idf. Taroskeun versi ESP-IDF kanggo inpormasi ngeunaan versi ESP-IDF mana anu dianggo dina kaayaan anu tangtu.
Lengkah 3. Nyetél parabot Kumisan ti ESP-IDF, Anjeun ogé kudu masang parabot dipaké ku ESP-IDF, kayaning compiler, debugger, bungkusan Python, jsb, pikeun proyék-proyék ngarojong ESP32. cd ~/esp/esp-idf ./install.sh esp32
atanapi nganggo cangkang Lauk cd ~/esp/esp-idf ./install.fish esp32
Paréntah di luhur masang parabot pikeun ESP32 wungkul. Upami anjeun badé ngembangkeun proyék pikeun langkung seueur target chip maka anjeun kedah daptar sadayana sareng ngajalankeun pikeun example: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
atanapi nganggo cd cangkang Lauk ~/esp/esp-idf ./install.fish esp32,esp32s2
Dina raraga masang parabot pikeun sakabéh target dirojong mangga ngajalankeun paréntah di handap ieu: cd ~/esp/esp-idf ./install.sh all
atanapi nganggo Lauk cangkang cd ~/esp/esp-idf ./install.fish sadayana
Catetan: Pikeun pangguna macOS, upami aya kasalahan sapertos ieu dipidangkeun dina léngkah naon waé:urlkasalahan kabuka [SSL: CERTIFICATE_VERIFY_FAILED] verifikasi sertipikat gagal: teu tiasa nampi sertipikat penerbit lokal (_ssl.c:xxx)
Anjeun tiasa ngajalankeun Install Certificates.command dina folder Python komputer anjeun pikeun masang sertipikat. Pikeun detil, tingali Unduh Kasalahan Nalika Masang Alat ESP-IDF.

Alternatipna File Undeuran Pamasang alat ngaunduh sababaraha files napel GitHub Kaluaran. Upami ngaksés GitHub lambat, anjeun tiasa nyetél variabel lingkungan pikeun milih server unduhan Espressifns pikeun undeuran aset GitHub.

Catetan: Setélan ieu ngan ukur ngadalikeun alat individu anu diunduh tina sékrési GitHub, éta henteu ngarobih URLs dipaké pikeun ngakses sagala repositories Git.

Pikeun resep pangladén unduhan Espressif nalika masang alat, paké paréntah di handap ieu nalika ngajalankeun install.sh:

Sistem Espressif

37 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

cd ~/esp/esp-idf export IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Ngaropea jalur pamasangan parabot Aksara diwanohkeun dina hambalan ieu install parabot kompilasi diperlukeun ku ESP-IDF jero diréktori home pamaké: $HOME/.espressif on Linux. Upami anjeun hoyong masang alat kana diréktori anu béda, setel variabel lingkungan IDF_TOOLS_PATH sateuacan ngajalankeun skrip pamasangan. Pastikeun yén akun pamaké anjeun ngagaduhan idin anu cekap pikeun maca sareng nyerat jalur ieu. Lamun ngarobah IDF_TOOLS_PATH, pastikeun eta disetel ka nilai sarua unggal waktos skrip Install (install. bat, install.ps1 atanapi install.sh) jeung Aksara Ékspor (export.bat, export.ps1 atanapi export.sh) dieksekusi.
Lengkah 4. Nyetél variabel lingkungan Alat dipasang teu acan ditambahkeun kana variabel lingkungan PATH. Pikeun ngajantenkeun alat tiasa dianggo tina garis paréntah, sababaraha variabel lingkungan kedah disetél. ESP-IDF nyayogikeun naskah sanés anu ngalakukeun éta. Dina terminal dimana anjeun badé nganggo ESP-IDF, jalankeun:
. $HOME/esp/esp-idf/export.sh
atawa pikeun lauk (ngan dirojong saprak versi lauk 3.0.0):
. $HOME/esp/esp-idf/export.fish
Catet spasi antara titik ngarah jeung jalur! Upami anjeun badé sering nganggo esp-idf, anjeun tiasa nyiptakeun landian pikeun ngalaksanakeun export.sh:
1. Salin jeung témpél paréntah di handap pikeun shellns pro Anjeunfile (.profile, .bashrc, .zprofile, jsb.)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Refresh konfigurasi ku restarting sési terminal atawa ku ngajalankeun sumber [jalur ka profile],
pikeun example, sumber ~/.bashrc. Ayeuna anjeun tiasa ngajalankeun get_idf pikeun nyetél atanapi nga-refresh lingkungan esp-idf dina sési terminal mana waé. Téhnisna, anjeun tiasa nambihan export.sh ka shellns pro anjeunfile langsung; kumaha oge, eta teu dianjurkeun. Lakukeun kitu ngaktifkeun lingkungan maya IDF dina unggal sési terminal (kaasup nu IDF teu diperlukeun), ngéléhkeun tujuan lingkungan maya jeung kamungkinan mangaruhan software lianna.
Lengkah 5. Léngkah-léngkah munggaran dina ESP-IDF Ayeuna kumargi sadaya sarat parantos kacumponan, topik salajengna bakal nungtun anjeun kumaha ngamimitian proyék munggaran anjeun. Pituduh ieu bakal ngabantosan anjeun dina léngkah-léngkah munggaran nganggo ESP-IDF. Turutan pituduh ieu pikeun ngamimitian proyék anyar dina ESP32 sareng ngawangun, flash, sareng ngawas kaluaran alat.
Catetan: Upami anjeun teu acan dipasang ESP-IDF, mangga buka Instalasi tur turutan parentah pikeun meunangkeun sakabeh software diperlukeun pikeun ngagunakeun pituduh ieu.

Mimitian Proyék Ayeuna anjeun parantos siap nyiapkeun aplikasi anjeun pikeun ESP32. Anjeun tiasa mimitian ku getstarted/hello_world proyék ti exampdiréktori les di ESP-IDF.

Penting: Sistem ngawangun ESP-IDF henteu ngadukung rohangan dina jalur ka ESP-IDF atanapi ka proyék.

Salin proyék ngamimitian/hello_world ka ~/esp diréktori:

Sistem Espressif

38 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
cd ~/esp cp -r $IDF_PATH/examples / ngamimitian / hello_world .
Catetan: Aya rentang example proyék di exampdiréktori les di ESP-IDF. Anjeun tiasa nyalin proyék naon waé dina cara anu sami sareng anu dipidangkeun di luhur sareng ngajalankeunana. Ieu oge mungkin pikeun ngawangun examples di-tempat tanpa nyalin aranjeunna munggaran.
Sambungkeun Alat anjeun Ayeuna sambungkeun papan ESP32 anjeun ka komputer sareng pariksa port serial mana papan éta katingali. Port serial boga pola ngaran handap:
· Linux: dimimitian ku /dev/tty · macOS: dimimitian ku /dev/cu. Upami anjeun teu yakin kumaha pariksa nami port serial, mangga tingal Ngadegkeun Sambungan Serial sareng ESP32 pikeun detil lengkep.
Catetan: Tetep nami port gunana sabab anjeun peryogi dina léngkah salajengna.
Konpigurasikeun Proyék anjeun Napigasi ka diréktori hello_world anjeun, setel ESP32 salaku udagan, sareng jalankeun menuconfig utiliti konfigurasi proyék. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Saatos muka proyék énggal, anjeun kedah nyetél udagan sareng idf.py set-target esp32. Catet yén ngawangun sareng konfigurasi anu aya dina proyék, upami aya, bakal diberesihan sareng diinisialisasi dina prosés ieu. Target tiasa disimpen dina variabel lingkungan pikeun ngalangkungan léngkah ieu. Tempo Pilih Target Chip: set-target pikeun émbaran tambahan. Upami léngkah-léngkah saacanna parantos leres, ménu di handap ieu némbongan:

Gbr. 17: Konfigurasi proyék - Jandéla Imah Anjeun ngagunakeun menu ieu pikeun nyetél variabel husus proyék, misalna, ngaran jaringan Wi-Fi sarta sandi, speed processor, jsb Nyetél proyék kalawan menuconfig bisa skipped forohello_worldp, saprak ex ieuample ngajalankeun kalawan

Sistem Espressif

39 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
konfigurasi standar.
Perhatosan: Upami anjeun nganggo papan ESP32-DevKitC sareng modul ESP32-SOLO-1, atanapi papan ESP32-DevKitM-1 sareng modul ESP32-MIN1-1 (1U), punten aktipkeun mode inti tunggal (CONFIG_FREERTOS_UNICORE) dina menuconfig sateuacan kedip-kedip ex.amples.
Catetan: Warna ménu tiasa béda dina terminal anjeun. Anjeun tiasa ngarobih penampilan kalayan pilihan -style. Punten ngajalankeun idf.py menuconfig –help kanggo inpormasi salajengna.
Upami anjeun nganggo salah sahiji papan pangembangan anu dirojong, anjeun tiasa nyepetkeun pamekaran anjeun nganggo Paket Dukungan Dewan. Tempo Tips tambahan pikeun inpo nu leuwih lengkep.
Ngawangun Proyék Ngawangun proyék ku jalan:
idf.py ngawangun
Paréntah ieu bakal nyusun aplikasi sareng sadaya komponén ESP-IDF, teras bakal ngahasilkeun bootloader, tabel partisi, sareng binari aplikasi.
$ idf.py ngawangun Ngajalankeun cmake dina diréktori /path/to/hello_world/build Ngalaksanakeun "cmake -G Ninja -warn-uninitialized /path/to/hello_world"... Warn ngeunaan nilai uninitialized. — Kapanggih Git: /usr/bin/git (kapanggih vérsi "2.17.0") - Ngawangun komponén aws_iot kosong kusabab konfigurasi - Ngaran komponén: ... - Jalur komponén: ...
... (langkung seueur garis kaluaran sistem ngawangun)
[527/527] Ngahasilkeun hello_world.bin esptool.py v2.3.1
Proyék ngawangun réngsé. Pikeun flash, ngajalankeun paréntah ieu: ../../../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 ngawangun 0x1000 ngawangun / bootloader / bootloader.bin 0x8000 ngawangun / partition_table / partition-table.bin atawa ngajalankeun 'idf.py -p PORT flash'
Mun euweuh kasalahan, ngawangun bakal rengse ku generating firmware binér .bin files.
Flash onto Alat Flash binaries nu karek anjeun diwangun (bootloader.bin, partition-table.bin na hello_world.bin) kana dewan ESP32 anjeun ku ngajalankeun:
idf.py -p PORT [-b BAUD] flash
Ngaganti PORT kalawan ESP32 boardns ngaran port serial Anjeun. Anjeun oge bisa ngarobah laju baud flasher ku ngaganti BAUD kalawan laju baud nu peryogi. Laju baud standar nyaéta 460800. Kanggo inpo nu langkung lengkep ihwal argumen idf.py, tingali idf.py.
Catetan: Pilihan lampu kilat otomatis ngawangun sareng kedip-kedip proyek, janten ngajalankeun idf.py build henteu diperyogikeun.

Sistem Espressif

40 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian

Papanggihan Masalah Nalika Kedip-kedip? Upami anjeun ngajalankeun paréntah anu dipasihkeun sareng ningali kasalahan sapertos Gagal nyambungkeun, meureun aya sababaraha alesan pikeun ieu. Salah sahiji alesan tiasa janten masalah anu dipanggihan ku esptool.py, utilitas anu disebut ku sistem ngawangun pikeun ngareset chip, berinteraksi sareng bootloader ROM, sareng firmware flash. Hiji leyuran basajan pikeun nyobaan nyaéta reset manual anu dijelaskeun di handap, sareng upami éta henteu ngabantosan anjeun tiasa mendakan langkung rinci ngeunaan kamungkinan masalah dina Pemecahan Masalah.
esptool.py ngareset ESP32 otomatis ku asserting DTR na RTS garis kontrol USB ka chip converter serial, ie, FTDI atanapi CP210x (kanggo inpo nu leuwih lengkep, tingali Ngadegkeun Connection Serial kalawan ESP32). Garis kontrol DTR sareng RTS dihubungkeun sareng pin GPIO0 sareng CHIP_PU (EN) ESP32, sahingga robih dina vol.tagTingkat DTR sareng RTS bakal boot ESP32 kana modeu Unduh firmware. Salaku urutample, pariksa schematic pikeun dewan ngembangkeun ESP32 DevKitC.
Sacara umum, anjeun kedah teu ngagaduhan masalah sareng papan pangembangan esp-idf resmi. Nanging, esptool.py henteu tiasa ngareset hardware anjeun sacara otomatis dina kasus ieu:
· Perangkat keras anjeun henteu gaduh jalur DTR sareng RTS anu nyambung ka GPIO0 sareng CHIP_PU · Garis DTR sareng RTS dikonpigurasi sacara béda · Henteu aya garis kontrol séri sapertos kitu.
Gumantung kana jenis hardware anjeun gaduh, eta oge mungkin mun sacara manual nempatkeun dewan ESP32 anjeun kana modeu Download firmware (ngareset).
· Pikeun papan pamekaran anu diproduksi ku Espressif, inpormasi ieu tiasa dipendakan dina pituduh ngamimitian atanapi pituduh pangguna masing-masing. Pikeun example, pikeun ngareset sacara manual hiji dewan ngembangkeun ESP-IDF, tahan tombol Boot (GPIO0) terus pencét tombol EN (CHIP_PU).
· Pikeun jinis hardware anu sanés, cobian tarik GPIO0 ka handap.

Operasi Normal Nalika kedip-kedip, anjeun bakal nempo log kaluaran sarupa kieu:
… 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/partition-table. 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Nyambungkeun…….._ Chip nyaéta ESP32D0WDQ6 (révisi 0) Fitur: WiFi, BT, Dual Core, Skéma Coding Euweuh Kristal nyaéta 40MHz MAC: 24:0a tubb: stub: 24:0a… ngajalankeun… Ngarobah laju baud ka 460800 Robah. Ngonpigurasikeun ukuran lampu kilat… Dikomprés 3072 bait ka 103… Nulis dina 0x00008000… (100 %) Nulis 3072 bait (103 dikomprés) dina 0x00008000 dina 0.0 detik (éféktif 5962.8 kbit/s) data diverifikasi. Dikomprés 26096 bait jadi 15408… Nulis dina 0x00001000… (100 %) Nulis 26096 bait (15408 dikomprés) dina 0x00001000 dina 0.4 detik (éféktif 546.7 kbit/s data). Dikomprés 147104 bait ka 77364… Nulis dina 0x00010000… (20 %) Nulis dina 0x00014000… (40 %) Nulis dina 0x00018000… (60 %) Nulis dina 0x0001c000%
(terus dina kaca salajengna)

Sistem Espressif

41 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
(Terus tina kaca saméméhna) Nulis dina 0x00020000… (100 %) Nulis 147104 bait (77364 dikomprés) dina 0x00010000 dina 1.9 detik (éféktif 615. 5 kbit/s)… Hash data diverifikasi.
Ninggalkeun… Hard reset via RTS pin… Rengse
Upami teu aya masalah dina ahir prosés flash, dewan bakal reboot sareng ngamimitian theohello_worldpapplication. Upami anjeun hoyong nganggo Eclipse atanapi VS Code IDE tinimbang ngajalankeun idf.py, pariksa Eclipse Plugin, VSCode Extension.
Ngawas Kaluaran Pikeun mariksa lamun ohello_worldpis memang ngajalankeun, ngetik idf.py -p PORT monitor (Ulah poho pikeun ngaganti PORT jeung ngaran port serial Anjeun). Paréntah ieu ngaluncurkeun aplikasi IDF Monitor:
$idf.py -p monitor Ngajalankeun idf_monitor dina diréktori […]/esp/hello_world/build Ngalaksanakeun “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor on 115200 —– Kaluar: Ctrl+] | Menu: Ctrl+T | Pitulung: Ctrl+T dituturkeun ku Ctrl+H –ets Jun 8 2016 00:22:57
kahiji: 0x1 (POWERON_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT) jeung 8 Jun 2016 00:22:57 …
Saatos ngamimitian sareng log diagnostik ngagulung ka luhur, anjeun kedah ningali oHello world!dicitak ku aplikasi.
… Halo Dunya! Balikan deui dina 10 detik… Ieu mangrupikeun chip esp32 sareng 2 inti CPU, WiFi/BT/BLE, révisi silikon 1, 2MB lampu kilat éksternal Ukuran tumpukan bébas minimum: 298968 bait Mimitian deui dina 9 detik… Dibalikan deui dina 8 detik… Dibalikan deui dina 7 detik…
Pikeun kaluar tina monitor IDF, paké potong kompas Ctrl+]. Lamun IDF monitor gagal teu lila sanggeus unggah, atawa, lamun gaganti pesen di luhur, anjeun bakal nempo sampah acak sarupa naon dirumuskeun di handap, dewan Anjeun kamungkinan ngagunakeun kristal 26 MHz. Paling desain dewan ngembangkeun ngagunakeun 40 MHz, jadi ESP-IDF ngagunakeun frékuénsi ieu salaku nilai standar.

Upami anjeun gaduh masalah sapertos kitu, lakukeun ieu:
1. Kaluar tina monitor. 2. Balik deui ka menuconfig. 3. Pindah ka komponén config> Setélan Hardware> Utama XTAL Config> Utama XTAL
frékuénsi, lajeng ngarobah CONFIG_XTAL_FREQ_SEL ka 26 MHz. 4. Sanggeus éta, ngawangun jeung flash aplikasi deui.

Sistem Espressif

42 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Dina vérsi ayeuna ESP-IDF, frékuénsi XTAL utama anu dirojong ku ESP32 nyaéta kieu:
· 26 MHz · 40 MHz
Catetan: Anjeun tiasa ngagabungkeun wangunan, kedip-kedip jeung ngawaskeun kana hiji hambalan ku ngajalankeun: idf.py -p PORT flash monitor
Tempo ogé: · IDF Monitor pikeun potong kompas gunana tur leuwih rinci dina ngagunakeun monitor IDF. · idf.py pikeun rujukan pinuh ku paréntah jeung pilihan idf.py.
Éta sadayana anu anjeun peryogikeun pikeun ngamimitian nganggo ESP32! Ayeuna anjeun siap nyobian sababaraha ex séjénamples, atawa langsung kana ngamekarkeun aplikasi Anjeun sorangan.
Nu penting: Sababaraha examples teu ngarojong ESP32 sabab hardware diperlukeun teu kaasup dina ESP32 jadi teu bisa dirojong. Lamun ngawangun example, mangga parios README file pikeun tabel Target Dirojong. Upami ieu hadir kalebet udagan ESP32, atanapi tabelna henteu aya, example bakal dianggo dina ESP32.
Tips tambahan
Masalah idin / dev / ttyUSB0 Kalayan sababaraha distribusi Linux, anjeun tiasa nampi pesen kasalahan Gagal muka port / dev / ttyUSB0 nalika kedip-kedip ESP32. Ieu bisa direngsekeun ku nambahkeun pamaké ayeuna ka grup dialogout.
Kasaluyuan Python ESP-IDF ngarojong Python 3.7 atawa leuwih anyar. Disarankeun pikeun ngamutahirkeun sistem operasi anjeun ka versi panganyarna anu nyugemakeun sarat ieu. Pilihan sanésna kalebet pamasangan Python tina sumber atanapi panggunaan sistem manajemen versi Python sapertos pyenv.
Mimitian ku Board Rojongan Paket Pikeun nyepetkeun prototyping on sababaraha dewan ngembangkeun, anjeun tiasa nganggo Board Rojongan Paket (BSPs), nu ngajadikeun initialization tina dewan tinangtu sagampang sababaraha panggero fungsi. BSP biasana ngadukung sadaya komponén hardware anu disayogikeun dina papan pamekaran. Salian ti definisi pinout sareng fungsi inisialisasi, BSP ngirimkeun supir pikeun komponén éksternal sapertos sensor, tampilan, codec audio, jsb. Ieu hiji mantanampkumaha carana nambahkeun ESP-WROVER-KIT BSP kana proyék anjeun: idf.py add-dependency esp_wrover_kit
Leuwih examples pamakéan BSP bisa kapanggih dina BSP examples folder.
Tip: Ngamutahirkeun ESP-IDF Disarankeun pikeun ngamutahirkeun ESP-IDF ti jaman ka jaman, sabab versi nu leuwih anyar ngalereskeun bug jeung/atawa nyadiakeun fitur anyar. Punten dicatet yén unggal ESP-IDF utama jeung versi release minor boga periode rojongan pakait, sarta nalika hiji cabang release ngadeukeutan tungtung hirup (EOL), sagala pamaké didorong pikeun ngamutahirkeun proyék maranéhna pikeun leuwih panganyarna kaluaran ESP-IDF, pikeun neangan nu leuwih seueur tentang perioda rojongan, tingali ESP-IDF Vérsi.

Sistem Espressif

43 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 1. Mimitian
Cara pangbasajanna pikeun ngamutahirkeun nyaéta mupus polder esp-idf anu tos aya sareng clone deui, saolah-olah ngalaksanakeun pamasangan awal anu dijelaskeun dina Lengkah 2. Meunangkeun ESP-IDF. Solusi anu sanés nyaéta ngan ukur ngapdet anu parantos robih. Prosedur update gumantung kana versi ESP-IDF anu anjeun anggo. Saatos ngapdet ESP-IDF, laksanakeun deui skrip Pasang, upami versi ESP-IDF énggal peryogi vérsi alat anu béda. Tempo parentah di Lengkah 3. Nyetél parabot. Sakali alat anyar dipasang, ngapdet lingkungan nganggo skrip Ékspor. Tempo parentah dina Lengkah 4. Nyetél variabel lingkungan.
Dokumén Patali · Ngadegkeun Sambungan Serial sareng ESP32 · Eclipse Plugin · VSCode Extension · IDF Monitor
1.4 Bangun Proyék Kahiji Anjeun
Upami anjeun parantos dipasang ESP-IDF sareng henteu nganggo IDE, anjeun tiasa ngawangun proyék munggaran anjeun tina garis paréntah saatos ngamimitian Proyék dina Windows atanapi Mimitian Proyék dina Linux sareng macOS.
1.5 Uninstall ESP-IDF
Upami anjeun hoyong ngahapus ESP-IDF, punten turutan Uninstall ESP-IDF.

Sistem Espressif

44 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 2
Rujukan API
2.1 Konvénsi API
Dokumén ieu ngajelaskeun konvénsi sareng asumsi umum pikeun ESP-IDF Application Programming Interfaces (API). ESP-IDF nyayogikeun sababaraha jinis antarmuka program:
· Fungsi C, struktur, enum, definisi tipe sareng makro preprocessor dinyatakeun dina lulugu umum files komponén ESPIDF. Rupa-rupa kaca dina bagian Rujukan API tina pituduh programming ngandung pedaran fungsi ieu, struktur jeung jenis.
· Ngawangun fungsi sistem, variabel sareng pilihan anu tos ditetepkeun. Ieu didokumentasikeun dina pituduh sistem ngawangun. · Pilihan Kconfig tiasa dianggo dina kode sareng dina sistem ngawangun (CMakeLists.txt) files. · Alat host sareng parameter garis paréntahna ogé bagian tina antarmuka ESP-IDF. ESP-IDF diwangun ku komponén ditulis husus pikeun ESP-IDF ogé perpustakaan pihak katilu. Dina sababaraha kasus, hiji wrapper ESP-IDF-spésifik ditambahkeun kana perpustakaan pihak-katilu, nyadiakeun antarbeungeut anu boh basajan atawa hadé terpadu kalayan sesa fasilitas ESP-IDF. Dina kasus séjén, API aslina tina perpustakaan pihak katilu dibere ka pamekar aplikasi. Bagian di handap ieu ngajelaskeun sababaraha aspék API ESP-IDF sareng panggunaanana.
2.1.1 Kasalahan panangan
Paling ESP-IDF API balik kode kasalahan diartikeun ku tipe esp_err_t. Tempo bagian Nanganan Kasalahan pikeun inpo nu leuwih lengkep tentang pendekatan penanganan kasalahan. Rujukan Kode Kasalahan ngandung daptar kode kasalahan anu dipulangkeun ku komponén ESP-IDF.
2.1.2 Struktur Konfigurasi
penting: Initialization bener tina struktur konfigurasi mangrupa bagian penting dina nyieun aplikasi nu cocog sareng versi hareup ESP-IDF.
Paling initialization atanapi konfigurasi fungsi dina ESP-IDF nyokot salaku argumen pointer kana struktur konfigurasi. Pikeun example:
45

Bab 2. Rujukan 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 initialization pernah nyimpen pointer kana struktur konfigurasi, jadi aman pikeun allocate struktur dina tumpukan.
Aplikasi kedah ngamimitian sadaya widang struktur. Di handap ieu salah:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = & my_timer_callback; /* Lepat! Widang .arg na .ngaran teu initialized * / esp_timer_create (& my_timer_args, & my_timer);
Paling ESP-IDF examples ngagunakeun C99 ditunjuk initializers pikeun initialization struktur, sabab nyadiakeun cara singket nyetel sawaréh widang, jeung nol-initializing widang sésana:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Bener, widang .arg jeung .ngaran téh nol-initialized * /
};
Basa C ++ henteu ngadukung sintaksis initializer anu ditunjuk dugi ka C ++ 20, tapi kompiler GCC sawaréh ngadukung éta salaku ekstensi. Nalika nganggo API ESP-IDF dina kode C++, anjeun tiasa mertimbangkeun ngagunakeun pola ieu:
esp_timer_create_args_t my_timer_args = {}; /* Sadaya widang nu enol-initialized */ my_timer_args.callback = & my_timer_callback;

Inisialisasi standar
Kanggo sababaraha struktur konfigurasi, ESP-IDF nyayogikeun makro pikeun netepkeun nilai standar lapangan:
httpd_config_t config = HTTPD_DEFAULT_CONFIG (); /* HTTPD_DEFAULT_CONFIG expands ka initializer ditunjuk.
Ayeuna sadaya widang disetel ka nilai standar. Sagala widang masih bisa dirobah: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start (& server, & config);
Disarankeun make macro initializer standar iraha wae aranjeunna disadiakeun pikeun struktur konfigurasi tinangtu.

2.1.3 API swasta
lulugu tangtu files dina ESP-IDF ngandung API dimaksudkeun pikeun dipaké ngan dina kode sumber ESP-IDF, sarta henteu ku aplikasi. lulugu sapertos kitu files mindeng ngandung swasta atawa esp_private dina ngaran atawa jalur maranéhanana. komponén tangtu, kayaning hal ngan ngandung API swasta. API swasta bisa dihapus atawa dirobah dina cara sauyunan antara release minor atawa patch.

2.1.4 Komponén dina exampproyék le
ESP-IDF examples ngandung rupa-rupa proyék demonstrating pamakéan ESP-IDF API. Dina raraga ngurangan duplikasi kode dina examples, sababaraha helpers umum diartikeun jero komponén nu dipaké ku sababaraha examples.

Sistem Espressif

46 Kirim Eupan Balik Dokumén

Ngaleupaskeun v5.0.9

Bab 2. Rujukan API
Ieu ngawengku komponén lokasina

Dokumén / Sumberdaya

Espressif Systems ESP32 Dev Kitc Development Board [pdf] Pituduh pamaké
ESP32 Dev Kitc Development Board, ESP32, Dev Kitc Development Board, Kitc Development Board, Development Board, Board

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *