ESP32 Dev Kitc әзірлеу тақтасы

Өнім туралы ақпарат

Техникалық сипаттамалар

  • Өнім: ESP32
  • Бағдарламалау нұсқаулығы: ESP-IDF
  • Шығарылым нұсқасы: v5.0.9
  • Өндіруші: Espressif Systems
  • Шыққан күні: 16 жылдың 2025 мамыры

Өнімді пайдалану нұсқаулары

1. Жұмысты бастау

ESP32 қолданбасын бастамас бұрын, онымен танысыңыз
келесі:

1.1 Кіріспе

Негізгі функциялары мен мүмкіндіктері туралы біліңіз
ESP32.

1.2 Сізге не қажет

Қажетті аппараттық және бағдарламалық құралдың бар екеніне көз жеткізіңіз:

  • Аппараттық құрал: Қажетті жабдықтың тізімін тексеріңіз
    құрамдас бөліктер.
  • Бағдарламалық қамтамасыз ету: Қажетті бағдарламалық құралды орнатыңыз
    құрамдас бөліктер.

1.3 Орнату

IDE орнату және орнату үшін мына қадамдарды орындаңыз
орта:

  • IDE: үшін ұсынылған IDE орнатыңыз
    ESP32 бағдарламалау.
  • Қолмен орнату: қолмен орнатыңыз
    қажет болған жағдайда орта.

1.4 Бірінші жобаңызды жасаңыз

ESP32 көмегімен бастапқы жобаңызды жасаңыз және жасаңыз.

1.5 ESP-IDF жою

Қажет болса, ESP-IDF бағдарламасын компьютерден жою жолын үйреніңіз
жүйесі.

2. API анықтамасы

туралы толық ақпарат алу үшін API құжаттамасын қараңыз
қолданбалы хаттамалар, қателерді өңдеу және конфигурациялау
құрылымдар.

Жиі қойылатын сұрақтар (ЖҚС)

С: ESP32 көмегімен жалпы ақаулықтарды қалай жоюға болады?

A: Бағдарламалау нұсқаулығындағы ақауларды жою бөлімін қараңыз
немесе өндірушіге барыңыз webқолдау ресурстарына арналған сайт.

С: ESP-IDF-ті басқа микроконтроллерлермен пайдалана аламын ба?

A: ESP-IDF арнайы ESP32 үшін жасалған, бірақ таба аласыз
басқа Espressif микроконтроллерлерімен үйлесімділік.

ESP32
ESP-IDF бағдарламалау нұсқаулығы
v5.0.9 Espressif жүйелері шығарылымы 2025 жылдың 16 мамыры

Мазмұны

Мазмұны

i

1 Жұмысты бастаңыз

3

1.1 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Сізге не қажет. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Аппараттық құрал. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Бағдарламалық қамтамасыз ету. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Орнату. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

1.3.2 Қолмен орнату . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Бірінші жобаңызды жасаңыз. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 ESP-IDF жою . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 API анықтамасы

45

2.1 API конвенциялары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 Қатені өңдеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Конфигурация құрылымдары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 Жеке API интерфейстері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Құрамдас бөліктер, мысалыample жобалар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 API тұрақтылығы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Қолдану хаттамалары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 ASIO порты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

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

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

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

2.2.5 ESP HTTP клиенті. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.2.6 ESP жергілікті басқару. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

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

2.2.8 ESP x509 сертификаттар жинағы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 HTTP сервері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 HTTPS сервері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

2.2.11 ICMP жаңғырығы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

2.2.12 mDNS қызметі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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

2.2.14 IP желі деңгейі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

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

2.3.1 Bluetooth® Common . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.2 Bluetooth® төмен энергия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

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

2.3.4 Контроллер және HCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

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

2.3.6 NimBLE негізіндегі хост API интерфейстері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

2.4 Қате кодтарының анықтамасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

2.5 Желілік API интерфейстері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

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

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

2.5.3 Жіп. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

i

2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP желі деңгейі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Қолданба деңгейі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Перифериялық құрылғылар API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Аналогты сандық түрлендіргіш (ADC) Oneshot режимінің драйвері . . . . . . . . . . . . . . . . . 977 2.6.2 Аналогты сандық түрлендіргіш (ADC) үздіксіз режим драйвері . . . . . . . . . . . . . . . 986 2.6.3 Аналогты сандық түрлендіргіш (ADC) калибрлеу драйвері . . . . . . . . . . . . . . . . . . . 993 2.6.4 Сағат ағашы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Сандық аналогты түрлендіргіш (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO және RTC GPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Жалпы мақсаттағы таймер (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Интер-интегралды схема (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Inter-IC Sound (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 СКД. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Жарық диодты басқару (LEDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Моторды басқару импульстік ені модуляторы (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Импульсті санауыш (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Қашықтан басқару пульті қабылдағыш (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD тарту талаптары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC хост драйвері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI хост драйвері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO картасының бағыныңқы драйвері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Сигма-Дельта модуляциясы (SDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI негізгі драйвері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Slave драйвері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Қауіпсіз элемент) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Сенсорлық сенсор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Екі сымды автомобиль интерфейсі (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Әмбебап асинхронды қабылдағыш/таратқыш (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Жоба конфигурациясы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Жоба конфигурациясы мәзірі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 sdkconfig.defaults пайдалану . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig пішімдеу ережелері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kconfig параметрлерінің кері үйлесімділігі. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Конфигурация опциялары сілтемесі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 API дайындау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Хаттамалық байланыс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Бірыңғай қамтамасыз ету. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Wi-Fi қамтамасыз ету . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Storage API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fileжүйені қолдау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Өндірістік қызметтік бағдарлама. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Тұрақты емес сақтау кітапханасы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS бөлім генераторының қызметтік бағдарламасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC драйвері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Fileжүйесі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Виртуалды fileжүйелік компонент. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Wear Leveling API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 Жүйе API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Қолданба кескін пішімі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Қолданба деңгейін бақылау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Сыртқы стекпен шақыру функциясы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Чипті қайта қарау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Консоль . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse реттеушісі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Қате кодтары және көмекші функциялары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Оқиғалар циклінің кітапханасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (артview). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Қосымша мүмкіндіктер) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Үйме жадты бөлу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Үйме жадты жөндеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Жоғары ажыратымдылық таймері (ESP таймері) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Ішкі және тұрақсыз API интерфейстері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Процессор аралық шақыру . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Үзілістерді бөлу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Журналды тіркеу кітапханасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Әртүрлі жүйелік API интерфейстері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Ауадағы жаңартулар (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Өнімділік мониторы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Қуатты басқару. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX ағындарын қолдау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Кездейсоқ сандарды жасау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Ұйқы режимдері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC мүмкіндіктері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Жүйе уақыты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 himem бөлу API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP сопроцессорлық бағдарламалау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Күзетшілер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Аппараттық құрал анықтамасы

2167

3.1 Чиптер сериясын салыстыру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Қатысты құжаттар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

4 API нұсқаулығы

2171

4.1 Қолданба деңгейін бақылау кітапханасы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Жұмыс режимдері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Конфигурация опциялары және тәуелділіктер. . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 Осы кітапхананы пайдалану жолы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Қолданбаны іске қосу ағыны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Бірінші сtage жүктеуші. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 секундtage жүктеуші. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Қолданбаны іске қосу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

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

4.3.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® төмен энергия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Жұмысты бастау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

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

4.5 Жүктеу құралы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284

4.5.1 Жүктеу құралының үйлесімділігі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Журнал деңгейі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Зауыттық параметрлерді қалпына келтіру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Микробағдарламаны тексеруден жүктеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.5 Кері қайтару. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

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

4.5.7 Жүктеуіш өлшемі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Deep Sleep жүйесінен жылдам жүктеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Теңшелетін жүктеуші . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Жүйені құру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 Құрастыру жүйесін пайдалану. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 Мысample жобасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 CMakeLists жобасы File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 CMakeLists компоненті Fileс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Құрамдас конфигурациясы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Препроцессор анықтамалары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Құрамдас бөліктерге қойылатын талаптар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Жобаның қайта анықтау бөліктері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Тек конфигурация құрамдастары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 CMake жөндеу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Мысample Component CMakeLists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Теңшелетін sdkconfig әдепкі мәндері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash аргументтері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Жүктеу құралын құру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Таза CMake құрамдастарын жазу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Құрамдастары бар үшінші тарап CMake жобаларын пайдалану . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Құрамдастары бар алдын ала құрастырылған кітапханаларды пайдалану. . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Пайдаланушы CMake жобаларында ESP-IDF пайдалану . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Глобинг және қосымша құрылымдар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Жүйе метадеректерін құрастыру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Жүйенің ішкі элементтерін құрастыру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 ESP-IDF GNU Make System жүйесінен тасымалдау. . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Негізгі қоқыс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Конфигурациялар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Негізгі дампты жарқылға сақтаңыз. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 UART жүйесіне негізгі дампты басып шығару . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Backtraces ішіндегі ROM функциялары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Сұраныс бойынша демпингтік айнымалылар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 espcoredump.py файлын іске қосу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Deep Sleep Wake Stubs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Wake Stub ережелері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Түпнұсқаны орындау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 RTC жадына кодты жүктеу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Деректерді RTC жадына жүктеу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 Ояну түтіктерін CRC тексеру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Мысampле . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Қатені өңдеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Қате кодтары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Қате кодтарын қате туралы хабарларға түрлендіру. . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK макросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_BORT макрос . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR макросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR макросы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE макросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE макросы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 МАКРОСТАРДЫ ТЕКСЕРУ Мысamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Үлгілерді өңдеу қатесі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ Ерекшеліктер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH тұжырымдамалары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Желі құру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Желіні басқару. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Деректерді тасымалдау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Арналарды ауыстыру . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Өнімділік. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Қосымша ескертулер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Оқиғаларды өңдеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet және IP оқиғалары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Тор оқиғалары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Bluetooth оқиғалары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Қате қателер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Дүрбелеңмен күресу құралы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Дамп және кері жолды тіркеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog күту уақыты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Гуру медитациясының қателері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Басқа маңызды қателер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Жарқылды шифрлау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Сәйкес eFuses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Flash шифрлау процесі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Flash шифрлау конфигурациясы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Ықтимал қателер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Flash шифрлау күйі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Шифрланған Flash ішіндегі деректерді оқу және жазу . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Шифрланған жарқылды жаңарту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Flash шифрлауын өшіру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Flash шифрлау туралы негізгі нүктелер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Flash шифрлауының шектеулері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash шифрлау және қауіпсіз жүктеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Қосымша мүмкіндіктер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Техникалық мәліметтер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Аппараттық абстракция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Сәулет. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (төмен деңгей) қабаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (аппараттық абстракциялық деңгей) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Жоғары деңгейлі үзулер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Үзу деңгейлері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Ескертпелер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Түзету . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Ол қалай жұмыс істейді? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 J таңдауTAG Адаптер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 OpenOCD орнату. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 ESP32 мақсатты конфигурациялау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Түзету құралын іске қосу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Түзету Мысamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Көздерден OpenOCD құру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Кеңестер мен сұрақтар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Қатысты құжаттар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Байланыстырушы сценарийін жасау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Жылдам бастау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Байланыстырушы сценарийін құрудың ішкі элементтері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Қолдау көрсетілетін API интерфейстері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS тапсырмасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 қолдауы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip теңшелетін өзгертулер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Өнімділікті оңтайландыру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Жад түрлері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (Data RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (Нұсқаулық RAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (жарқылдан орындалатын код) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (жарқылда сақталған деректер) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Баяу жад. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC FAST жады . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA мүмкіндігіне қойылатын талап. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 Стектегі DMA буфері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 OpenThread стекінің режимдері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 OpenThread қолданбасын қалай жазу керек. . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 OpenThread шекаралық маршрутизаторы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Бөлім кестелері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Кірістірілген бөлім кестелері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Теңшелетін кестелерді жасау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Екілік бөлімдер кестесін жасау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Бөлім өлшемін тексеру . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Бөлім кестесін жыпылықтау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Бөлім құралы (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Өнімділік . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Өнімділікті оңтайландыру жолы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Гидтер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 РЖ калибрлеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Ішінара калибрлеу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Толық калибрлеу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Калибрлеу жоқ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 PHY баптандыру деректері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API сілтемесі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Қауіпсіз жүктеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Фон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Қауіпсіз жүктеу процесі аяқталдыview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Пернелер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Жүктеу құралының өлшемі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Қауіпсіз жүктеуді қосу жолы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Қайта жыпылықтайтын бағдарламалық құралды жүктеу құралы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Қауіпсіз жүктеуге қол қою кілтін жасау . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Кескіндерге қашықтан қол қою. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Қауіпсіз жүктеудің ең жақсы тәжірибелері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Техникалық мәліметтер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Қауіпсіз жүктеу және жарқылды шифрлау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Қол қойылған қолданбаны тексеру аппараттық құралды қауіпсіз жүктеусіз. . . . . . . . . . . . . . . . . . 2478 4.24.13 Қосымша мүмкіндіктер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Secure Boot V2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Фон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Адванtages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Secure Boot V2 процесі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Қолтаңба блогының пішімі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Қауіпсіз толтыру . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Қол қою блогын тексеру . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Кескінді тексеру . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Жүктеуші өлшемі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse пайдалану . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Secure Boot V2 қалай қосуға болады. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Қауіпсіз жүктеу қосылғаннан кейінгі шектеулер . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Қауіпсіз жүктеуге қол қою кілтін жасау . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Кескіндерге қашықтан қол қою. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Secure Boot үздік тәжірибелері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Техникалық мәліметтер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Қауіпсіз жүктеу және жарқылды шифрлау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Қол қойылған қолданбаны тексеру аппараттық құралды қауіпсіз жүктеусіз. . . . . . . . . . . . . . . . . . 2484 4.25.18 Қосымша мүмкіндіктер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Сыртқы жедел жадты қолдау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Аппараттық құрал . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Сыртқы жедел жадты конфигурациялау . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Шектеулер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Баптандыру орындалмады. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Чипті өңдеулер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Жіптің жергілікті жады . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Стандартты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Құралдар . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker кескіні. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows орнату құралы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF құрамдас реттеушісі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Жүктеп алынатын құралдар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 ESP32 жүйесіндегі бірлік сынағы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Қалыпты сынақ жағдайлары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Көп құрылғы сынақ жағдайлары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Көп мәнділерtage Сынақ жағдайлары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Әртүрлі мақсаттарға арналған сынақтар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Ғимарат бірлігінің сынақ қолданбасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Бірлік сынақтарын орындау. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Кэш өтелетін таймері бар уақыт коды . . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Мазақтар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Linux жүйесінде бірлік сынағы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Енгізілген бағдарламалық құрал сынақтары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Linux хостындағы IDF құрылғысының сынақтары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi драйвері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi мүмкіндіктері тізімі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Wi-Fi қолданбасын жазу жолы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API қате коды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API параметрін инициализациялау. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi бағдарламалау үлгісі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi оқиғасының сипаттамасы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi станциясының жалпы сценарийі. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP Жалпы сценарий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi сканерлеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi станциясының қосылу сценарийі. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi станциясы бірнеше кіру нүктелері табылған кезде қосылуда. . . . . . . . . . . . . 2543 4.31.12 Wi-Fi қайта қосылу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi сигналының күту уақыты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi конфигурациясы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Сымсыз желіні басқару. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Радиоресурсты өлшеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Жылдам BSS өтуі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi Қуатты үнемдеу режимі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi өткізу мүмкіндігі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 Пакет жіберу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer режимі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi бірнеше антенналары . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi арнасының күйі туралы ақпарат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi арнасының күй ақпаратын конфигурациялау. . . . . . . . . . . . . . . . . . . . . . . . . 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 фрагменті . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS тіркелушісі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi буферін пайдалану . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Wi-Fi өнімділігін жақсарту жолы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi мәзір конфигурациясы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Ақаулықтарды жою. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi қауіпсіздігі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi қауіпсіздік мүмкіндіктері . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Қорғалған басқару жақтаулары (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi Enterprise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Жеке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 РФ бірге өмір сүру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Артықview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 ESP32 үшін қолдау көрсетілетін қатар өмір сүру сценарийі. . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Бірлескен өмір сүру механизмі және саясаты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Бірлескен өмір сүру мүмкіндігін пайдалану жолы . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Қайталанатын құрылымдар . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Кіріспе. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Қайталанбайтын құрылымдардың себептері . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 ESP-IDF ішінде қайталанатын құрылымдарды қосу . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Қайталанатын құрылымдарға қалай қол жеткізіледі. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Қайталанатын құрастырулар және жөндеу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Қайталанатын құрылымдарға әлі де әсер ететін факторлар. . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Төмен қуат режимі пайдаланушы нұсқаулығы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 Көшіру нұсқаулығы

2579

5.1 ESP-IDF 5.x тасымалдау нұсқаулығы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 4.4-тен 5.0-ге көшу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 Кітапханалар мен жақтаулар

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 Google IoT Core. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611

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

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

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

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

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

6.2 Espressifns Frameworks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Espressif Audio Development Framework. . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2.3 Espressif DSP кітапханасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 ESP-WIFI-MESH әзірлеу негізі . . . . . . . . . . . . . . . . . . . . . . . . 2613

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

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

6.2.7 ESP-IoT-шешім. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.8 ESP-протоколдары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

viii

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

7 Үлестер бойынша нұсқаулық

2615

7.1 Қалай үлес қосуға болады. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Үлес қосу алдында. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Тарту сұрау процесі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Құқықтық бөлім. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Қатысты құжаттар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.1 Espressif IoT әзірлеу шеңбері стилінің нұсқаулығы. . . . . . . . . . . . . . . . . . . . 2616

7.5.2 ESP-IDF жобасына арналған алдын ала тапсырыс ілмектерін орнатыңыз. . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Құжаттау коды. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Мысалы жасауamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

7.5.5 API құжаттама үлгісі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630

7.5.6 Салымшы келісімі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

7.5.7 Авторлық құқық тақырыбы бойынша нұсқаулық. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634

7.5.8 Pytest нұсқаулығымен ESP-IDF сынақтары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 ESP-IDF нұсқалары

2645

8.1 Шығарылымдар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Қай нұсқадан бастау керек? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Нұсқаларды құру схемасы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Қолдау кезеңдері. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Ағымдағы нұсқаны тексеру. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

8.6 Git жұмыс процесі. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7 ESP-IDF жаңарту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Тұрақты шығарылымға жаңарту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Алдын ала шығарылым нұсқасына жаңарту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Негізгі филиалға жаңарту. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Шығарылым тармағына жаңарту. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Ресурстар

2651

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

9.1.1 PlatformIO дегеніміз не? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Орнату. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Конфигурация. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Оқулықтар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Жоба Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Келесі қадамдар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Пайдалы сілтемелер. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Авторлық құқықтар мен лицензиялар

2653

10.1 Бағдарламалық құралдың авторлық құқықтары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Микробағдарлама құрамдастары. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Құжаттама. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 ROM бастапқы коды Авторлық құқықтар. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.3 Xtensa libhal MIT лицензиясы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.4 TinyBasic Plus MIT лицензиясы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.5 TJpgDec лицензиясы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

11 туралы

2657

12 Тілдер арасында ауысу

2659

Индекс

2661

Индекс

2661

ix

x

Мазмұны
Бұл Espressif IoT Development Framework (esp-idf) құжаттамасы. ESP-IDF — ESP32, ESP32-S және ESP32-C сериялы SoC үшін ресми әзірлеу жүйесі. Бұл құжат ESP-IDF ESP32 SoC көмегімен пайдалануды сипаттайды.

Жұмысты бастау

API анықтамасы

API нұсқаулықтары

Espressif жүйелері

1 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

Мазмұны

Espressif жүйелері

2 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау
Жұмысты бастау
Бұл құжат Espressif ұсынған ESP32 чипіне негізделген аппараттық құрал үшін бағдарламалық жасақтаманы әзірлеу ортасын орнатуға көмектесуге арналған. Осыдан кейін қарапайым бұрынғыample мәзір конфигурациясы үшін ESP-IDF (Espressif IoT Development Framework), содан кейін микробағдарламаны құру және ESP32 тақтасына жыпылықтау үшін қалай пайдалану керектігін көрсетеді.
Ескертпе: Бұл ESP-IDF тұрақты v5.0.9 нұсқасына арналған құжаттама. Басқа ESP-IDF нұсқалары да қол жетімді.
1.1 Кіріспе
ESP32 – мына мүмкіндіктерді біріктіретін чиптегі жүйе: · Wi-Fi (2.4 ГГц диапазоны) · Bluetooth · Қос жоғары өнімділігі бар Xtensa® 32-биттік LX6 CPU ядролары · Ультра төмен қуатты қосалқы процессор · Бірнеше перифериялық құрылғылар
40 нм технологиясымен жұмыс істейтін ESP32 қуатты тиімді пайдалану, ықшам дизайн, қауіпсіздік, жоғары өнімділік және сенімділік бойынша үздіксіз талаптарды қанағаттандыруға көмектесетін берік, жоғары интеграцияланған платформаны қамтамасыз етеді. Espressif қолданбаларды әзірлеушілерге ESP32 сериялы жабдықты пайдаланып өз идеяларын жүзеге асыруға көмектесу үшін негізгі аппараттық және бағдарламалық құрал ресурстарын қамтамасыз етеді. Espressif бағдарламалық жасақтамасын әзірлеу жүйесі Wi-Fi, Bluetooth, қуатты басқару және бірнеше басқа жүйе мүмкіндіктері бар Internetof-Things (IoT) қолданбаларын әзірлеуге арналған.
1.2 Сізге не қажет
1.2.1 Аппараттық құрал
· ESP32 тақтасы. · USB кабелі – USB A / micro USB B. · Windows, Linux немесе macOS жүйесімен жұмыс істейтін компьютер.
Ескертпе: Қазіргі уақытта кейбір әзірлеу тақталары USB Type C қосқыштарын пайдалануда. Тақтаны қосу үшін дұрыс кабель бар екеніне көз жеткізіңіз!
Төменде көрсетілген ESP32 ресми әзірлеу тақталарының бірі болса, аппараттық құрал туралы қосымша ақпарат алу үшін сілтемені басуға болады.
3

1-тарау. Жұмысты бастау
ESP32-DevKitS(-R)
Бұл пайдаланушы нұсқаулығы Espressif шығарған ESP32 негізіндегі жыпылықтау тақтасы ESP32-DevKitS(-R) туралы ақпаратты береді. ESP32-DevKitS(-R) екі тақта атауының тіркесімі болып табылады: ESP32-DevKitS және ESP32-DevKitS-R. S серіппелерді білдіреді, ал R WROVER дегенді білдіреді.

ESP32-DevKitS

ESP32-DevKitS-R

Құжат келесі негізгі бөлімдерден тұрады: · Жұмысты бастау: толық мәлімет бередіview бастау үшін ESP32-DevKitS(-R) және аппараттық/бағдарламалық құралды орнату нұсқаулары. · Аппараттық құрал анықтамасы: ESP32-DevKitS(-R)ns аппараттық құралы туралы толығырақ ақпарат береді. · Қатысты құжаттар: қатысты құжаттамаға сілтемелер береді.

Жұмысты бастау Бұл бөлім ESP32-DevKitS(-R) бағдарламасын іске қосу жолын сипаттайды. Ол ESP32-DevKitS(-R) туралы бірнеше кіріспе бөлімдерден басталады, содан кейін «Тақтаны қалай жыпылықтау керек» бөлімінде модульді ESP32-DevKitS(-R) жүйесіне орнату, оны дайындау және микробағдарламаны жарқылдау туралы нұсқаулар берілген.

Біттіview ESP32-DevKitS(-R) - ESP32 үшін арнайы жасалған Espressifns жыпылықтау тақтасы. Ол модульді қуат көзіне және сигнал желілеріне дәнекерлеусіз ESP32 модулін жыпылықтау үшін пайдаланылуы мүмкін. Орнатылған модульмен ESP32-DevKitS(-R) ESP32-DevKitC сияқты шағын әзірлеу тақтасы ретінде де пайдаланылуы мүмкін.
ESP32-DevKitS және ESP32-DevKitS-R тақталары келесі ESP32 модульдеріне сәйкес келетін серіппелі түйреуіштердің орналасуында ғана өзгереді.
· ESP32-DevKitS: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB және IPEX) ESP32-WROVER-B (PCB және IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Жоғарыдағы модульдер туралы ақпаратты ESP32 сериялы модульдер бөлімінен қараңыз.

Компоненттерге сипаттама

Espressif жүйелері

4 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

1-сурет: ESP32-DevKitS – алдыңғы

Espressif жүйелері

2-сурет: ESP32-DevKitS-R – алдыңғы 5
Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

Негізгі құрамдас серіппелі түйреуіштер 2.54 мм әйел тақырыптар
USB-UART көпірі LDO Micro-USB қосқышы/микро USB порты EN түймесі Жүктеу түймесі
Қуат қосылған жарық диоды

Сипаттама Модульді нұқыңыз. Істікшелер модульдердің құйылған тесіктеріне сәйкес келеді. Бұл әйел тақырыптары осы тақтаға орнатылған модульдің түйреуіштеріне қосылған. Әйел тақырыптарының сипаттамасы үшін тақырып блоктарын қараңыз. Бір чипті USB-UART көпірі 3 Мбит/с дейін тасымалдау жылдамдығын қамтамасыз етеді.
5В-ден 3.3В-қа дейін төмен түсіру көлеміtage реттегіш (LDO).
USB интерфейсі. Тақта үшін қуат көзі, сондай-ақ компьютер мен тақта арасындағы байланыс интерфейсі.
Қалпына келтіру түймесі.
Жүктеп алу түймесі. Жүктеу түймесін басып тұрып, содан кейін EN басу микробағдарламаны сериялық порт арқылы жүктеп алу үшін микробағдарламаны жүктеу режимін қосады.
USB немесе қуат көзі тақтаға қосылған кезде қосылады.

Тақтаны қалай жыпылықтау керек ESP32-DevKitS(-R) құрылғысын қосар алдында оның жақсы күйде екеніне көз жеткізіп, ешқандай айқын зақымдану белгілері жоқ.
Қажетті жабдық · Таңдауыңыз бойынша ESP32 модулі · USB 2.0 кабелі (стандартты-A - Micro-B) · Windows, Linux немесе macOS жүйесімен жұмыс істейтін компьютер
Жабдықты орнату Келесі қадамдарға сәйкес ESP32-DevKitS(-R) құрылғысына таңдаған модульді орнатыңыз:
· Модульді ESP32-DevKitS(-R) тақтасына ақырын салыңыз. Модульдегі құйылған тесіктер тақтадағы серіппелі түйреуіштермен тураланғанына көз жеткізіңіз.
· Модуль шерткенше тақтаға төмен басыңыз. · Барлық серіппелі түйреуіштердің құйылған тесіктерге салынғанын тексеріңіз. Сәйкес келмеген серіппелі түйреуіштер болса,
оларды пинцетпен құйылған тесіктерге салыңыз.
Бағдарламалық жасақтаманы орнату
Таңдаулы әдіс ESP-IDF әзірлеу жүйесі екілік файлдарды ESP32-DevKitS(-R) ішіне жыпылықтаудың таңдаулы әдісін қамтамасыз етеді. Жұмысты бастау бөліміне өтіңіз, мұнда Бөлімді орнату сізге әзірлеу ортасын тез орнатуға көмектеседі, содан кейін бұрынғы қолданбаны жыпылықтайдыampESP32-DevKitS(-R) жүйесіне қосыңыз.
Балама әдіс Балама ретінде Windows пайдаланушылары Flash жүктеу құралын пайдаланып екілік файлдарды жыпылықтай алады. Оны жүктеп алып, ықшамдауды ашыңыз және doc қалтасындағы нұсқауларды орындаңыз.
Ескертпе: 1. Екілік жүйені жыпылықтау үшін files, ESP32 микробағдарламаны жүктеу режиміне орнатылуы керек. Мұны автоматты түрде жарқыл құралы арқылы немесе Жүктеу түймесін басып тұрып, KK түймесін түрту арқылы жасауға болады. 2. Екілік жыпылықтағаннан кейін files, Flash жүктеу құралы ESP32 модулін қайта іске қосады және әдепкі бойынша жарқылдаған қолданбаны жүктейді.

Тақта өлшемдері Мазмұны мен қаптамасы

Espressif жүйелері

6 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау 3-сурет: ESP32-DevKitS тақтасының өлшемдері – артқа

Espressif жүйелері

4-сурет: ESP32-DevKitS-R тақтасының өлшемдері – артқы жағы 7
Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Бөлшек тапсырыстар Егер сіз бірнеше сampӘрбір ESP32-DevKitS(-R) жеке пакетте антистатикалық пакетте немесе сатушыға байланысты кез келген қаптамада келеді. Бөлшек тапсырыстар үшін https://www.espressif.com/en/contact-us/get-s сайтына өтіңіз.amples.
Көтерме тапсырыстар Егер сіз жаппай тапсырыс берсеңіз, тақталар үлкен картон қораптарда келеді. Көтерме тапсырыстар үшін https://www.espressif.com/en/contact-us/sales-questions сайтына өтіңіз.
Аппараттық құрал анықтамасы
Блок диаграммасы Төмендегі блок диаграмма ESP32-DevKitS(-R) құрамдастарын және олардың өзара байланыстарын көрсетеді.

5-сурет: ESP32-DevKitS(-R) (үлкейту үшін басыңыз)
Қуат көзі опциялары Тақтаны қуатпен қамтамасыз етудің бір-бірін жоққа шығаратын үш жолы бар: · Micro USB порты, әдепкі қуат көзі · 5V және GND тақырып істіктері · 3V3 және GND тақырып істіктері
Бірінші опцияны пайдалану ұсынылады: микро USB порты.

Espressif жүйелері

.

Белгі сигналы

L1 3V3 VDD 3V3

L2 KK CHIP_PU

L3 VP SENSOR_VP

L4 VN SENSOR_VN

L5 34 XNUMX

GPIO34

L6 35 XNUMX

GPIO35

L7 32 XNUMX

GPIO32

L8 33 XNUMX

GPIO33

келесі бетте жалғасады

8 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

1-кесте алдыңғы беттен жалғасы

.

Белгі сигналы

L9 25 XNUMX

GPIO25

L10 26 XNUMX

GPIO26

L11 27 XNUMX

GPIO27

L12 14 XNUMX

GPIO14

L13 12 XNUMX

GPIO12

L14 GND GND

L15 13 XNUMX

GPIO13

L16 D2 SD_DATA2

L17 D3 SD_DATA3

L18 CMD SD_CMD

L19 5 В

Сыртқы 5 В

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

Тақырып блоктары Тақырып блоктарының кескіні үшін Құрамдастардың сипаттамасы бөлімін қараңыз.

Қатысты құжаттар
· ESP32-DevKitS(-R) схемалары (PDF) · ESP32 деректер парағы (PDF) · ESP32-WROOM-32 деректер парағы (PDF) · ESP32-WROOM-32D & ESP32-WROOM-32U деректер парағы (PDF) · ESP32-SOLO-VRO-1W деректер парағы (PDF) · ESP32-WROVER-B деректер парағы (PDF) · ESP өнім таңдау құралы

ESP32-DevKitM-1

Бұл пайдаланушы нұсқаулығы ESP32-DevKitM-1 бағдарламасын іске қосуға көмектеседі және сонымен қатар тереңірек ақпарат береді.
ESP32-DevKitM-1 — Espressif шығарған ESP32-MINI-1(1U) негізіндегі әзірлеу тақтасы. Енгізу/шығару түйреуіштерінің көпшілігі оңай интерфейс үшін екі жағындағы түйреуіш тақырыптарына бөлінген. Пайдаланушылар перифериялық құрылғыларды өтпелі сымдармен қоса алады немесе ESP32-DevKitM-1 нан тақтасына орната алады.

Espressif жүйелері

9 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

ESP32-DevKitM-1 – алдыңғы

ESP32-DevKitM-1 – изометриялық

Құжат келесі негізгі бөлімдерден тұрады: · Жұмысты бастау: Аяқтауды қамтамасыз етедіview бастау үшін ESP32-DevKitM-1 және аппараттық/бағдарламалық құралды орнату нұсқаулары. · Аппараттық құрал анықтамасы: ESP32-DevKitM-1ns аппараттық құралы туралы толығырақ ақпарат береді. · Қатысты құжаттар: қатысты құжаттамаға сілтемелер береді.

Жұмысты бастау Бұл бөлім ESP32-DevKitM-1 бағдарламасын іске қосу жолын сипаттайды. Ол ESP32-DevKitM-1 туралы бірнеше кіріспе бөлімдерден басталады, содан кейін Бағдарламаны әзірлеуді бастау бөлімі аппараттық құралды бастапқы орнатуды, содан кейін ESP32-DevKitM-1 құрылғысында микробағдарламаны қалай жыпылықтау керектігі туралы нұсқауларды береді.

Біттіview Бұл шағын және ыңғайлы әзірлеу тақтасы, оның мүмкіндіктері:
· ESP32-MINI-1 немесе ESP32-MINI-1U модулі · USB-тізбекті бағдарламалау интерфейсі, ол сонымен қатар тақтаны қуат көзімен қамтамасыз етеді · түйреуіш тақырыптары · микробағдарламаны жүктеу режимін қалпына келтіру және іске қосу түймелері · бірнеше басқа компоненттер

Мазмұны және қаптамасы

Бөлшек тапсырыстар Егер сіз бірнеше сampӘрбір ESP32-DevKitM-1 жеке пакетте антистатикалық пакетте немесе сатушыға байланысты кез келген қаптамада келеді.
Бөлшек тапсырыстар үшін https://www.espressif.com/en/contact-us/get-s сайтына өтіңіз.amples.

Көтерме тапсырыстар Егер сіз жаппай тапсырыс берсеңіз, тақталар үлкен картон қораптарда келеді. Көтерме тапсырыстар үшін https://www.espressif.com/en/contact-us/sales-questions сайтына өтіңіз.

Құрамдас бөліктердің сипаттамасы Келесі сурет пен төмендегі кесте ESP32-DevKitM-1 тақтасының негізгі құрамдас бөліктерін, интерфейстерін және басқару элементтерін сипаттайды. Біз ESP32-MINI-1 модулі бар тақтаны бұрынғы ретінде аламызample келесі бөлімдерде.

Espressif жүйелері

10 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

6-сурет: ESP32-DevKitM-1 – алдыңғы

Негізгі компонент Борттық модуль
5 В - 3.3 В LDO жүктеу түймесі
Қалпына келтіру түймесі Micro-USB порты
USB-UART көпірі 3.3 В қуат қосулы жарық диоды
I/O қосқышы

Сипаттама
ESP32-MINI-1 модулі немесе ESP32-MINI-1U модулі. ESP32-MINI-1 борттық ПХД антеннасымен бірге жеткізіледі. ESP32-MINI-1U сыртқы антенна қосқышымен бірге жеткізіледі. Екі модульде де чип пакетінде 4 МБ флэш бар. Мәліметтер алу үшін ESP32-MINI-1 және ESP32-MINI-1U деректер кестесін қараңыз.
Қуат реттегіші 5 В-тан 3.3 В-қа түрлендіреді.
Жүктеп алу түймесі. Жүктеу түймесін басып тұрып, содан кейін Қалпына келтіру түймесін басу сериялық порт арқылы микробағдарламаны жүктеп алу үшін микробағдарламаны жүктеу режимін қосады.
Қалпына келтіру түймесі
USB интерфейсі. Тақта үшін қуат көзі, сондай-ақ компьютер мен ESP32 чипі арасындағы байланыс интерфейсі.
Бір USB-UART көпір чипі 3 Мбит/с дейін тасымалдау жылдамдығын қамтамасыз етеді.
USB тақтаға жалғанған кезде қосылады. Мәліметтер алу үшін Қатысты құжаттардағы схемаларды қараңыз. Барлық қолжетімді GPIO түйреуіштері (жарқылға арналған SPI шинасын қоспағанда) тақтадағы түйреуіш тақырыптарына бөлінген. Пайдаланушылар ESP32 чипін бірнеше функцияларды қосу үшін бағдарламалай алады.

Қолданбаларды әзірлеуді бастау ESP32-DevKitM-1 құрылғысын қуаттандыру алдында оның айқын зақымдану белгілері жоқ жақсы күйде екеніне көз жеткізіңіз.
Қажетті аппараттық құрал · ESP32-DevKitM-1 · USB 2.0 кабелі (стандартты-A - Micro-B) · Windows, Linux немесе macOS жүйесінде жұмыс істейтін компьютер
Бағдарламалық құралды орнату Жұмысты бастау бөліміне өтіңіз, мұнда Бөлімді орнату сізге әзірлеу ортасын жылдам орнатуға көмектеседі, содан кейін қосымшаны жыпылықтайды.ampESP32-DevKitM-1 құрылғысына салыңыз.

Espressif жүйелері

11 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Назар аударыңыз: 2021 жылдың 2 желтоқсанына дейін шығарылған ESP32-DevKitM-1 тақталарында бір ядролы модуль орнатылған. Сізде қандай модуль бар екенін тексеру үшін PCN-2021-021 ішіндегі модуль таңбалау ақпаратын тексеріңіз. Тақтада бір ядролы модуль орнатылған болса, қолданбаларды жыпылықтау алдында menuconfig ішінде бір ядролық режимді (CONFIG_FREERTOS_UNICORE) қосыңыз.
Аппараттық құрал анықтамалық блок диаграммасы Төмендегі блок диаграмма ESP32-DevKitM-1 құрамдастарын және олардың өзара байланыстарын көрсетеді.

7-сурет: ESP32-DevKitM-1
Қуат көзін таңдау Тақтаны қуатпен қамтамасыз етудің бір-бірін жоққа шығаратын үш жолы бар: · Micro USB порты, әдепкі қуат көзі · 5V және GND тақырып істіктері · 3V3 және GND тақырып істіктері
Ескерту: · Қуат көзін жоғарыдағы опциялардың біреуін ғана пайдалану арқылы қамтамасыз ету керек, әйтпесе тақта және/немесе қуат көзі зақымдалуы мүмкін. · Микро USB порты арқылы қуат беру ұсынылады.

Істікшелердің сипаттамалары Төмендегі кестеде тақтаның екі жағындағы түйреуіштердің атауы мен қызметі берілген. Перифериялық түйреуіш конфигурациялары үшін ESP32 деректер кестесін қараңыз.

Жоқ.

Аты

Түр

1

GND

P

2

3V3

P

Функция Жерге 3.3 В қуат көзі

келесі бетте жалғасады

Espressif жүйелері

12 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

2-кесте алдыңғы беттен жалғасы

Жоқ.

Аты

Түр

Функция

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

Қалпына келтіру; Жоғары: қосу; Төмен: қуат өшірулі

8

I34

I

GPIO34, ADC1_CH6, RTC_GPIO4

9

I35

I

GPIO35, ADC1_CH7, RTC_GPIO5

10

IO32

енгізу/шығару

GPIO32, XTAL_32K_P (32.768 кГц кристалдық осциллятор кірісі),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

енгізу/шығару

GPIO33, XTAL_32K_N (32.768 кГц кристалдық осциллятор шығысы),

ADC1_CH5, TOUCH8, RTC_GPIO8

12

IO25

енгізу/шығару

GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0

13

IO26

енгізу/шығару

GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

14

IO27

енгізу/шығару

GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV

15

IO14

енгізу/шығару

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

HS2_CLK, SD_CLK, EMAC_TXD2

16

5V

P

5 В қуат көзі

17

IO12

енгізу/шығару

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

HS2_DATA2, SD_DATA2, EMAC_TXD3

18

IO13

енгізу/шығару

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

HS2_DATA3, SD_DATA3, EMAC_RX_ER

19

IO15

енгізу/шығару

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

HS2_CMD, SD_CMD, EMAC_RXD3

20

IO2

енгізу/шығару

GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,

HS2_DATA0, SD_DATA0

21

IO0

енгізу/шығару

GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,

EMAC_TX_CLK

22

IO4

енгізу/шығару

GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,

HS2_DATA1, SD_DATA1, EMAC_TX_ER

23

IO9

енгізу/шығару

GPIO9, HS1_DATA2, U1RXD, SD_DATA2

24

IO10

енгізу/шығару

GPIO10, HS1_DATA3, U1TXD, SD_DATA3

25

IO5

енгізу/шығару

GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK

26

IO18

енгізу/шығару

GPIO18, HS1_DATA7, VSPICLK

27

IO23

енгізу/шығару

GPIO23, HS1_STROBE, VSPID

28

IO19

енгізу/шығару

GPIO19, VSPIQ, U0CTS, EMAC_TXD0

29

IO22

енгізу/шығару

GPIO22, VSPIWP, U0RTS, EMAC_TXD1

30

IO21

енгізу/шығару

GPIO21, VSPIHD, EMAC_TX_EN

31

TXD0

енгізу/шығару

GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2

32

RXD0

енгізу/шығару

GPIO3, U0RXD, CLK_OUT2

Аппараттық құралдарды қайта қарау мәліметтері Бұрынғы нұсқалар жоқ.
Қатысты құжаттар
· ESP32-MINI-1 & ESP32-MINI-1U деректер парағы (PDF) · ESP32-DevKitM-1 схемалары (PDF) · ESP32-DevKitM-1 PCB орналасуы (PDF) · ESP32-DevKitM-1 орналасуы (DXF) – жасай аласыз view оны Autodesk көмегімен Viewer online · ESP32 деректер парағы (PDF) · ESP өнім таңдау құралы
Басқарманың басқа дизайн құжаттамасы үшін sales@espressif.com мекенжайы бойынша бізге хабарласыңыз.

Espressif жүйелері

13 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
1.2.2 бағдарламалық жасақтамасы
ESP32 жүйесінде ESP-IDF пайдалануды бастау үшін келесі бағдарламалық құралды орнатыңыз: · ESP32 үшін кодты құрастыруға арналған құралдар тізбегі · Құралдар тізбегі – ESP32 үшін толық қолданбаны құрастыру үшін CMake және Ninja · ESP32 үшін API (бағдарламалық құрал кітапханалары және бастапқы коды) және Toolchain басқару сценарийлері бар ESP-IDF

1.3 Орнату
Барлық қажетті бағдарламалық жасақтаманы орнату үшін біз бұл тапсырманы жеңілдетудің әртүрлі жолдарын ұсынамыз. Қолжетімді опциялардың бірін таңдаңыз.
1.3.1 IDE

Ескертпе: ESP-IDF бағдарламасын таңдаулы IDE арқылы орнатуды ұсынамыз.
· Eclipse плагині · VSCode кеңейтімі

1.3.2 Қолмен орнату
Қолмен орындалатын процедура үшін амалдық жүйеңізге сәйкес таңдаңыз.

Espressif жүйелері

14 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Windows жүйесіне арналған Toolchain стандартты орнату
Кіріспе ESP-IDF қолдау көрсетілетін микросхемалар үшін микробағдарламаны құру үшін кейбір қажетті құралдарды орнатуды талап етеді. Қажетті құралдарға Python, Git, кросс-компиляторлар, CMake және Ninja құрастыру құралдары кіреді. Бұл Жұмысты бастау үшін пәрмен жолын пайдаланатынбыз, бірақ ESP-IDF орнатылғаннан кейін оның орнына Eclipse Plugin немесе CMake қолдауы бар басқа графикалық IDE пайдалануға болады. Ескертпе: Шектеулер: – ESP-IDF және ESP-IDF құралдарының орнату жолы 90 таңбадан аспауы керек. Тым ұзақ орнату жолдары сәтсіз құрастыруға әкелуі мүмкін. – Python немесе ESP-IDF орнату жолында бос орындар немесе жақшалар болмауы керек. – Python немесе ESP-IDF орнату жолында арнайы таңбалар (ASCII емес) болмауы керек, егер операциялық жүйе oUnicode UTF-8p қолдауымен конфигурацияланбаса. Жүйе әкімшісі қолдауды Басқару тақтасы арқылы қоса алады – Күнді, уақытты немесе нөмір пішімдерін өзгерту – Әкімшілік қойындысы – Жүйе тілін өзгерту – oBeta опциясын тексеріңіз: Дүниежүзілік тілді қолдау үшін Юникод UTF-8 пайдаланыңызp – Жарайды және компьютерді қайта жүктеңіз.
ESP-IDF құралдарын орнатушы ESP-IDFns алғышарттарын орнатудың ең оңай жолы - ESP-IDF құралдарын орнатушылардың бірін жүктеп алу.

Windows орнатушысын жүктеп алу
Online және Offline Installer Online Installer үшін пайдалану жағдайы қандай және ESP-IDF барлық қолжетімді шығарылымдарын орнатуға мүмкіндік береді. Орнатушы орнату процесі кезінде тек қажетті тәуелділіктерді, соның ішінде Git For Windows жүктеп алады. Орнатушы жүктеп алынған қоймаларды files кэш каталогындағы %userprofile%. эспрессиф
Офлайн орнатушы желі қосылымын қажет етпейді. Орнатушы барлық қажетті тәуелділіктерді қамтиды, соның ішінде Git For Windows.
Орнату құрамдастары Орнатушы келесі құрамдастарды орналастырады:
· Енгізілген Python · Кросс-компиляторлар · OpenOCD · CMake және Ninja құрастыру құралдары · ESP-IDF
Орнатушы сонымен қатар бар каталогты ESP-IDF көмегімен қайта пайдалануға мүмкіндік береді. Ұсынылған каталог — %userprofile%Desktopesp-idf мұнда %userprofile% - сіздің үй каталогыңыз.

Espressif жүйелері

15 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
ESP-IDF ортасын іске қосу Орнату процесінің соңында ESP-IDF PowerShell ортасын іске қосу немесе ESP-IDF пәрмен жолын іске қосу (cmd.exe) опциясын тексеруге болады. Орнатушы таңдалған шақыруда ESP-IDF ортасын іске қосады. ESP-IDF PowerShell ортасын іске қосыңыз:

8-сурет: ESP-IDF құралдарын орнату шеберін ESP-IDF PowerShell ортасын іске қосу арқылы аяқтау
ESP-IDF пәрмен жолын іске қосыңыз (cmd.exe):
Пәрмен жолын пайдалану Жұмысты бастаудың қалған қадамдары үшін Windows пәрмен жолын пайдаланамыз. ESP-IDF құралдарының орнатушысы сонымен қатар ESP-IDF пәрмен жолын іске қосу үшін Бастау мәзірінде төте жолды жасайды. Бұл таңбаша пәрмен жолын (cmd.exe) іске қосады және орта айнымалы мәндерін (PATH, IDF_PATH және т.б.) орнату үшін export.bat сценарийін іске қосады. Бұл пәрмен жолының ішінде барлық орнатылған құралдар қол жетімді. Бұл таңбаша ESP-IDF құралдар орнатушысында таңдалған ESP-IDF каталогына тән екенін ескеріңіз. Егер компьютерде бірнеше ESP-IDF каталогтары болса (мысалыample, ESP-IDF әртүрлі нұсқаларымен жұмыс істеу үшін) сізде оларды пайдаланудың екі нұсқасы бар:
1. ESP-IDF Tools Installer арқылы жасалған таңбашаның көшірмесін жасаңыз және жаңа таңбашаның жұмыс каталогын пайдаланғыңыз келетін ESP-IDF каталогына өзгертіңіз.
2. Немесе cmd.exe файлын іске қосыңыз, содан кейін пайдаланғыңыз келетін ESP-IDF каталогына ауысып, export.bat файлын іске қосыңыз. Алдыңғы опциядан айырмашылығы, бұл жол Python және Git-тің PATH ішінде болуын талап ететінін ескеріңіз. Python немесе Git-ке қатысты қателер табылмаса, бірінші опцияны пайдаланыңыз.
ESP-IDF бойынша алғашқы қадамдар Енді барлық талаптар орындалғандықтан, келесі тақырып бірінші жобаңызды қалай бастауға болатынын көрсетеді.

Espressif жүйелері

16 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау 9-сурет: ESP-IDF PowerShell

10-сурет: ESP-IDF құралдарын орнату шеберін ESP-IDF пәрмен жолын іске қосу арқылы аяқтау (cmd.exe)

Espressif жүйелері

17 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

11-сурет: ESP-IDF пәрмен жолы

Espressif жүйелері

18 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Бұл нұсқаулық ESP-IDF көмегімен алғашқы қадамдарда сізге көмектеседі. ESP32 жүйесінде жаңа жобаны бастау және құрылғы шығысын құрастыру, жыпылықтау және бақылау үшін осы нұсқаулықты орындаңыз. Ескертпе: ESP-IDF әлі орнатылмаған болса, осы нұсқаулықты пайдалану үшін қажетті бағдарламалық құралды алу үшін Орнату бөліміне өтіп, нұсқауларды орындаңыз.

Жобаны бастау Енді сіз ESP32 үшін қосымшаңызды дайындауға дайынсыз. Бұрынғыдан getstarted/hello_world жобасынан бастауға боладыampESP-IDF ішіндегі les каталогы.
Маңызды: ESP-IDF құрастыру жүйесі ESP-IDF немесе жобаларға апаратын жолдардағы бос орындарды қолдамайды.
Project get-started/hello_world файлын ~/esp каталогына көшіріңіз: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world сәлем_әлем
Ескертпе: бұрынғы ауқымы барampбұрынғы жобаларampESP-IDF ішіндегі les каталогы. Кез келген жобаны жоғарыда көрсетілгендей көшіріп, оны іске қосуға болады. Сондай-ақ, бұрынғысын салуға боладыamples in-place оларды алдымен көшірместен.

Құрылғыңызды қосыңыз Енді ESP32 тақтасын компьютерге қосыңыз және тақта қай сериялық портта көрінетінін тексеріңіз. Сериялық порт атаулары Windows жүйесінде COM-дан басталады. Сериялық порт атауын қалай тексеру керектігін білмесеңіз, толық мәліметтер алу үшін ESP32 арқылы сериялық қосылымды орнату бөлімін қараңыз.
Ескертпе: Порт атауын қолыңызда ұстаңыз, себебі ол келесі қадамдарда қажет болады.

Жобаңызды конфигурациялаңыз hello_world каталогына өтіңіз, мақсат ретінде ESP32 орнатыңыз және жоба конфигурациясының menuconfig утилитасын іске қосыңыз.
Windows CD % userprofile%esphello_world idf.py set-target esp32 idf.py мәзір конфигурациясы
Жаңа жобаны ашқаннан кейін алдымен мақсатты idf.py set-target esp32 арқылы орнату керек. Жобадағы бар құрастырмалар мен конфигурациялар, егер бар болса, осы процесте тазартылып, инициализацияланатынын ескеріңіз. Бұл қадамды мүлдем өткізіп жіберу үшін мақсатты орта айнымалысында сақтауға болады. Қосымша ақпарат алу үшін Мақсатты чипті таңдау: мақсатты орнату бөлімін қараңыз. Алдыңғы қадамдар дұрыс орындалса, келесі мәзір пайда болады: Сіз бұл мәзірді жобаның арнайы айнымалы мәндерін орнату үшін пайдаланасыз, мысалы, Wi-Fi желісінің аты мен құпия сөзі, процессор жылдамдығы, т.б. Жобаны menuconfig көмегімен орнатуды ohello_wordp үшін өткізіп жіберуге болады, себебі бұл бұрынғыampәдепкі конфигурациямен жұмыс істейді.
Назар аударыңыз: ESP32-DevKitC тақтасын ESP32-SOLO-1 модулімен немесе ESP32-DevKitM-1 тақтасын ESP32-MIN1-1(1U) модулімен пайдалансаңыз, бұрынғы жыпылықтау алдында menuconfig ішіндегі бір ядролық режимді (CONFIG_FREERTOS_UNICORE) қосыңыз.amples.

Espressif жүйелері

19 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

12-сурет: Жоба конфигурациясы – Басты терезе
Ескертпе: Терминалда мәзірдің түстері әртүрлі болуы мүмкін. Сыртқы түрін –стиль опциясымен өзгертуге болады. Қосымша ақпарат алу үшін idf.py menuconfig –help бағдарламасын іске қосыңыз.
Қолдау көрсетілетін әзірлеу тақталарының бірін пайдалансаңыз, тақтаны қолдау пакетін пайдалану арқылы әзірлеуді жылдамдата аласыз. Қосымша ақпарат алу үшін Қосымша кеңестер бөлімін қараңыз.
Жобаны құру Жобаны іске қосу арқылы құрастырыңыз:
idf.py құрастыру
Бұл пәрмен қолданбаны және барлық ESP-IDF құрамдастарын құрастырады, содан кейін ол жүктеуші, бөлімдер кестесін және қолданбаның екілік файлдарын жасайды.
$ idf.py build /path/to/hello_world/build каталогында cmake іске қосылуда “cmake -G Ninja –warn-uninitialized /path/to/hello_world” орындалуда… Басталмаған мәндер туралы ескертіңіз. — Табылды Git: /usr/bin/git («2.17.0» нұсқасы табылды) — Конфигурацияға байланысты бос aws_iot компонентін құру — Компонент атаулары: … — Құрамдас жолдар: …
… (жүйені шығарудың қосымша жолдары)
[527/527] hello_world.bin esptool.py v2.3.1 жасалуда
Жобаның құрылысы аяқталды. Жыпылықтау үшін мына пәрменді іске қосыңыз: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_wld bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin немесе "idf.py -p PORT flash" іске қосыңыз
Егер қателер болмаса, құрастыру микробағдарламаның екілік .bin файлын жасау арқылы аяқталады files.

Espressif жүйелері

20 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Құрылғыда жыпылықтау Жаңадан құрастырылған екілік файлдарды (bootloader.bin, partition-table.bin және hello_world.bin) ESP32 тақтасында мына іске қосу арқылы жыпылықтаңыз: idf.py -p PORT [-b BAUD] жарқылы
PORT-ты ESP32 тақтасының сериялық порт атауымен ауыстырыңыз. Сондай-ақ, BAUD параметрін қажетті жіберу жылдамдығымен ауыстыру арқылы жарқылдың жылдамдығын өзгертуге болады. Әдепкі жіберу жылдамдығы 460800. idf.py аргументтері туралы қосымша ақпаратты idf.py бөлімінен қараңыз.
Ескертпе: Жарқыл опциясы жобаны автоматты түрде құрастырады және жыпылықтайды, сондықтан idf.py құрастыруды іске қосу қажет емес.

Жыпылықтау кезінде мәселе туындады ма? Берілген пәрменді іске қосып, қосылым сәтсіздігі сияқты қателерді көрсеңіз, мұның бірнеше себептері болуы мүмкін. Себептердің бірі чипті қалпына келтіру, ROM жүктеушісімен және флэш микробағдарламасымен әрекеттесу үшін құрастыру жүйесі шақыратын esptool.py утилитасында кездесетін мәселелер болуы мүмкін. Қарапайым шешімнің бірі төменде сипатталған қолмен қалпына келтіру болып табылады және ол көмектеспесе, Ақауларды жою бөлімінде ықтимал мәселелер туралы қосымша мәліметтерді табуға болады.
esptool.py ESP32 нұсқасын автоматты түрде USB-ден сериялық түрлендіргіш чипінің DTR және RTS басқару желілерін бекіту арқылы қалпына келтіреді, яғни FTDI немесе CP210x (қосымша ақпаратты ESP32 көмегімен сериялық қосылымды орнату бөлімін қараңыз). DTR және RTS басқару желілері өз кезегінде ESP32 GPIO0 және CHIP_PU (EN) түйреуіштеріне қосылады, осылайша көлем өзгереді.tage DTR және RTS деңгейлері ESP32 микробағдарламасын жүктеу режиміне жүктейді. Бұрынғы ретіндеample, ESP32 DevKitC әзірлеу тақтасының схемасын тексеріңіз.
Жалпы, сізде ресми esp-idf әзірлеу тақталарымен проблемалар болмауы керек. Дегенмен, esptool.py келесі жағдайларда жабдықты автоматты түрде қалпына келтіре алмайды:
· Сіздің аппараттық құралыңызда GPIO0 және CHIP_PU қосылатын DTR және RTS желілері жоқ · DTR және RTS желілері басқаша конфигурацияланған · Мұндай сериялық басқару желілері мүлде жоқ.
Қолда бар аппараттық құрал түріне байланысты ESP32 тақтасын микробағдарламаны жүктеу режиміне (қалпына келтіру) қолмен қоюға болады.
· Espressif шығарған әзірлеу тақталары үшін бұл ақпаратты сәйкес бастау нұсқаулығында немесе пайдаланушы нұсқаулығында табуға болады. МысалыampESP-IDF әзірлеу тақтасын қолмен қалпына келтіру үшін Жүктеу түймесін (GPIO0) басып тұрыңыз және EN түймесін (CHIP_PU) басыңыз.
· Басқа жабдық түрлері үшін GPIO0 төмен тартып көріңіз.

Қалыпты жұмыс Жыпылықтап тұрғанда келесіге ұқсас шығыс журналын көресіз:
… 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 0x8000000 partition table_table/partition. bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Сериялық порт /dev/ttyUSB0 Қосылуда…….._ Чип — ESP32D0WDQ6 (0 нұсқа) Мүмкіндіктер: WiFi, BT, екі ядролы, CAC4 кодтау схемасы жоқ: MAC4 24:0a:c4:05:b9:14 Түпнұсқаны жүктеп салуда… Түпнұсқаны орындауда… Түпнұсқаны орындауда… Беру жылдамдығын 460800 мәніне өзгерту Өзгертілді.
(жалғасы келесі бетте)

Espressif жүйелері

21 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
(алдыңғы бетте жалғасы) Флэш өлшемін конфигурациялау… 3072 байттан 103 байтқа дейін сығымдалған… 0x00008000… (100 %) бойынша жазу 0.0 секундта 0x00008000 кезінде 3072 байт (103 қысылған) жазды (тиімді деректер 59 бит…86 бит) 0x00008000. 26096 байтты 15408-ге дейін сығымдады… 0x00001000… (100 %) арқылы жазу 0.4 секундта 0x00001000 кезінде 26096 байт (15408 қысылған) жазды (тиімді 546.7 кбит/с деректер)…. 77364 дейін сығымдалған 147104 байт… 0x00010000… (20 %) арқылы жазу 0x00014000… (40 %) арқылы жазу 0x00018000… (60 %) бойынша жазу 0x0001800 өлшемімен жазу (60 %) 0x0001c арқылы жазу 0x00020000… (100 %) 1.9 секундта 0x00010000 кезінде 147104 байт (77364 қысылған) жазды (тиімді 615, 5 кбит/с)… Деректер хэші расталды.
Шығуда… RTS пин арқылы қатты қалпына келтіру… Дайын
Флэш процесінің соңына дейін мәселе болмаса, тақта қайта жүктеледі және theohello_worldpapplication іске қосылады. Егер idf.py іске қосудың орнына Eclipse немесе VS Code IDE пайдаланғыңыз келсе, Eclipse Plugin, VSCode кеңейтімін тексеріңіз.
Шығысты бақылау ohello_worldpis шынымен жұмыс істеп тұрғанын тексеру үшін idf.py -p PORT мониторын теріңіз (портты сериялық порт атауымен ауыстыруды ұмытпаңыз).
Бұл пәрмен IDF Monitor қолданбасын іске қосады:
$ idf.py -p монитор […]/esp/hello_world/build каталогында idf_monitor іске қосылуда “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”…itor орындалуда — 115200 —– Шығу: Ctrl+] | Мәзір: Ctrl+T | Анықтама: Ctrl+T, одан кейін Ctrl+H –ets 8 маусым 2016 ж. 00:22:57
бірінші: 0x1 (POWERON_RESET), жүктеу: 0x13 (SPI_FAST_FLASH_BOOT) және 8 маусым 2016 ж. 00:22:57 …
Іске қосу және диагностикалық журналдар жоғары жылжытқаннан кейін қолданба арқылы басып шығарылған oHello world! пәрменін көруіңіз керек.
… Сәлем әлем! 10 секундтан кейін қайта іске қосылады… Бұл 2 процессорлық ядро(лар), WiFi/BT/BLE, кремний нұсқасы 1, 2 МБ сыртқы жарқылы бар esp32 чипі Ең аз бос жинақ өлшемі: 298968 байт 9 секундта қайта іске қосылады… 8 секундта қайта іске қосылады… 7 секундта қайта іске қосылады…
IDF мониторынан шығу үшін Ctrl+] пернелер тіркесімін пайдаланыңыз.

Espressif жүйелері

22 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Жүктеп салудан кейін көп ұзамай IDF мониторы сәтсіздікке ұшыраса немесе жоғарыдағы хабарлардың орнына төменде келтірілгенге ұқсас кездейсоқ қоқысты көрсеңіз, тақта 26 МГц кристалды пайдаланып жатқан болуы мүмкін. Көптеген әзірлеу тақтасының конструкциялары 40 МГц пайдаланады, сондықтан ESP-IDF бұл жиілікті әдепкі мән ретінде пайдаланады.

Егер сізде осындай мәселе болса, келесі әрекеттерді орындаңыз: 1. Монитордан шығыңыз. 2. menuconfig тармағына оралыңыз. 3. Құрамдас конфигурация > Аппараттық құрал параметрлері > Негізгі XTAL конфигурациясы > Негізгі XTAL жиілігі тармағына өтіп, CONFIG_XTAL_FREQ_SEL мәнін 26 МГц етіп өзгертіңіз. 4. Осыдан кейін қолданбаны қайта құрастырып, жыпылықтаңыз.
ESP-IDF ағымдағы нұсқасында ESP32 қолдайтын негізгі XTAL жиіліктері төмендегідей:
· 26 МГц · 40 МГц
Ескертпе: idf.py -p PORT флэш-мониторын іске қосу арқылы құру, жыпылықтау және бақылауды бір қадамға біріктіруге болады.
Сондай-ақ қараңыз: · Ыңғайлы таңбашалар және IDF мониторын пайдалану туралы қосымша мәліметтер алу үшін IDF мониторы. · idf.py пәрмендері мен опцияларының толық анықтамасы үшін idf.py.
ESP32-мен жұмысты бастау үшін қажет нәрсенің бәрі осы! Енді сіз басқа бұрынғыны сынап көруге дайынсызamples немесе тікелей жеке қолданбаларды әзірлеуге өтіңіз.
Маңызды: кейбір бұрынғыamples ESP32-ге қолдау көрсетпейді, себебі талап етілетін жабдық ESP32-де жоқ, сондықтан оған қолдау көрсету мүмкін емес. Егер бұрынғы құрылыс болсаample, README тексеріңіз file Қолдау көрсетілетін мақсаттар кестесі үшін. Егер бұл ESP32 нысанасын қоса алғанда бар болса немесе кесте мүлде жоқ болса, бұрынғыample ESP32 жұмыс істейді.
Қосымша кеңестер
Рұқсат мәселелері /dev/ttyUSB0 Кейбір Linux дистрибутивтерімен ESP32 жыпылықтаған кезде /dev/ttyUSB0 портын ашу сәтсіз аяқталды қате туралы хабарды алуыңыз мүмкін. Мұны ағымдағы пайдаланушыны сөйлесу тобына қосу арқылы шешуге болады.
Python үйлесімділігі ESP-IDF Python 3.7 немесе одан жаңа нұсқасын қолдайды. Операциялық жүйені осы талапты қанағаттандыратын соңғы нұсқаға жаңарту ұсынылады. Басқа опцияларға көздерден Python орнату немесе pyenv сияқты Python нұсқасын басқару жүйесін пайдалану кіреді.
Тақтаны қолдау пакетінен бастаңыз Кейбір әзірлеу тақталарында прототиптеуді жылдамдату үшін белгілі бір тақтаны инициализациялауды бірнеше функция шақыруы сияқты жеңілдететін тақтаны қолдау пакеттерін (BSPs) пайдалануға болады.

Espressif жүйелері

23 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

BSP әдетте әзірлеу тақтасында берілген барлық аппараттық құрамдастарды қолдайды. Түйінді анықтау және баптандыру функцияларынан басқа, BSP сенсорлар, дисплейлер, аудио кодектер және т.б. сияқты сыртқы құрамдастарға арналған драйверлермен бірге жеткізіледі. BSP құрылғылары IDF Component Manager арқылы таратылады, сондықтан оларды IDF Component Registry ішінен табуға болады. Херенс бұрынғыampЖобаңызға ESP-WROVER-KIT BSP қосу жолы: idf.py add-dependency esp_wrover_kit
Көбірек бұрынғыampBSP пайдалану мәліметтерін BSP examples қалтасы.
Қатысты құжаттар Орнату процесін теңшегісі келетін озық пайдаланушылар үшін: · Windows жүйесінде ESP-IDF құралдарын жаңарту · ESP32 арқылы сериялық қосылымды орнату · Eclipse Plugin · VSCode кеңейтімі · IDF мониторы
Windows жүйесінде ESP-IDF құралдарын жаңарту
Сценарий арқылы ESP-IDF құралдарын орнату Windows пәрмен жолынан ESPIDF орнатылған каталогқа ауысыңыз. Содан кейін іске қосыңыз:
install.bat
Powershell үшін ESP-IDF орнатылған каталогқа ауысыңыз. Содан кейін іске қосыңыз:
install.ps1
Бұл ESP-IDF пайдалану үшін қажетті құралдарды жүктеп алып, орнатады. Құралдың нақты нұсқасы әлдеқашан орнатылған болса, ешқандай әрекет жасалмайды. Құралдар ESP-IDF Tools Installer процесі кезінде көрсетілген каталогқа жүктеліп, орнатылады. Әдепкі бойынша, бұл C:Usersusername.espressif.
Экспорттау сценарийін пайдаланып ESP-IDF құралдарын PATH жүйесіне қосыңыз ESP-IDF құралдарын орнату құралы oESP-IDF пәрмен жолы үшін Бастау мәзірінің таңбашасын жасайды. Бұл таңбаша барлық құралдар бұрыннан бар пәрмен жолы терезесін ашады
қолжетімді. Кейбір жағдайларда ESP-IDF бағдарламасымен сол таңбашаны пайдаланбаған пәрмен жолы терезесінде жұмыс істегіңіз келуі мүмкін. Олай болса, ESP-IDF құралдарын PATH жүйесіне қосу үшін төмендегі нұсқауларды орындаңыз. ESP-IDF пайдалану қажет пәрмен жолында ESP-IDF орнатылған каталогқа ауысыңыз, содан кейін export.bat файлын орындаңыз:
cd %userprofile%espesp-idf export.bat
Немесе ESP-IDF пайдалану қажет Powershell бағдарламасында ESP-IDF орнатылған каталогқа ауысыңыз, одан кейін export.ps1 орындаңыз:
cd ~/esp/esp-idf export.ps1
Бұл орындалғанда, құралдар осы пәрмен жолында қолжетімді болады.
ESP32 арқылы сериялық қосылымды орнату Бұл бөлім ESP32 және компьютер арасында сериялық қосылымды орнату туралы нұсқаулықты береді.

Espressif жүйелері

24 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
ESP32 жүйесін компьютерге қосу USB кабелін пайдаланып ESP32 тақтасын компьютерге қосыңыз. Егер құрылғы драйвері автоматты түрде орнатылмаса, ESP32 тақтасында (немесе сыртқы түрлендіргіштің кілті) USB-тізбекті түрлендіргіш чипін анықтаңыз, интернеттен драйверлерді іздеңіз және оларды орнатыңыз. Төменде драйверлерге сілтемелермен бірге Espressif шығарған ESP32 тақталарының көпшілігінде орнатылған USB-ден сериялық түрлендіргіш чиптерінің тізімі берілген:
· CP210x: CP210x USB-UART Bridge VCP драйверлері · FTDI: FTDI виртуалды COM порты драйверлері Пайдаланылған USB-дискілік түрлендіргіш чипіне арналған арнайы тақтаның пайдаланушы нұсқаулығын тексеріңіз. Жоғарыдағы драйверлер, ең алдымен, анықтама үшін. Қалыпты жағдайда драйверлер операциялық жүйемен жинақталған және тақтаны компьютерге қосқан кезде автоматты түрде орнатылуы керек.
Windows жүйесіндегі портты тексеру Windows Device Manager ішіндегі анықталған COM порттарының тізімін тексеріңіз. Қай порт тізімнен жоғалып, қайта көрсетілетінін тексеру үшін ESP32 ажыратып, оны қайта қосыңыз. Төмендегі суреттер ESP32 DevKitC және ESP32 WROVER KIT үшін сериялық портты көрсетеді

13-сурет: Windows Device Manager ішіндегі ESP32-DevKitC USB-UART көпірі

Linux және macOS жүйесінде портты тексеру ESP32 тақшасының (немесе сыртқы түрлендіргіш кілтінің) сериялық портының құрылғы атауын тексеру үшін осы пәрменді алдымен тақтаны/қосқышты ажыратып, содан кейін қосылған күйде екі рет орындаңыз. Екінші рет пайда болатын порт сізге қажет: Linux
ls /dev/tty*
macOS

Espressif жүйелері

25 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

14-сурет: Windows Device Manager ішіндегі ESP-WROVER-KIT екі USB сериялық порты

Espressif жүйелері

26 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

ls /dev/cu.* Ескертпе: macOS пайдаланушылары: сериялық портты көрмесеңіз, USB/сериялық драйверлердің орнатылғанын тексеріңіз. Драйверлерге сілтемелер үшін ESP32-ді компьютерге қосу бөлімін қараңыз. macOS High Sierra (10.13) үшін драйверлерді жүктеуге нақты рұқсат беру қажет болуы мүмкін. Жүйе теңшелімдері -> Қауіпсіздік және құпиялылық -> Жалпы тармағын ашыңыз және әзірлеуші ​​lp, әзірлеуші ​​аты Silicon Labs немесе FTDI болып табылатын oSystem бағдарламалық құралы туралы осы жерде көрсетілген хабардың бар-жоғын тексеріңіз.

Linux жүйесінде диалогқа пайдаланушы қосу Қазіргі уақытта жүйеге кірген пайдаланушы USB арқылы сериялық портқа оқу және жазу рұқсаты болуы керек. Көптеген Linux дистрибутивтерінде бұл пайдаланушыны келесі пәрмен арқылы сөйлесу тобына қосу арқылы орындалады:
sudo usermod -a -G dialout $USER
Arch Linux жүйесінде бұл пайдаланушыны uucp тобына келесі пәрмен арқылы қосу арқылы жасалады:
sudo usermod -a -G uucp $USER
Сериялық порт үшін оқу және жазу рұқсаттарын қосу үшін қайта кіргеніңізге көз жеткізіңіз.
Сериялық қосылымды тексеріңіз Енді сериялық қосылымның жұмыс істеп тұрғанын тексеріңіз. Мұны ESP32 қалпына келтіргеннен кейін терминалда қандай да бір шығыс бар-жоғын тексеру арқылы сериялық терминал бағдарламасы арқылы жасауға болады. ESP32 жүйесіндегі әдепкі консоль беру жылдамдығы 115200 болып табылады.
Бұл жерде Windows және Linuxample біз Windows және Linux үшін қол жетімді PuTTY SSH клиентін қолданамыз. Басқа сериялық бағдарламаларды пайдалануға және төмендегідей байланыс параметрлерін орнатуға болады. Терминалды іске қосыңыз және анықталған сериялық портты орнатыңыз. Берілу жылдамдығы = 115200 (қажет болса, оны қолданылып жатқан чиптің әдепкі жіберу жылдамдығына өзгертіңіз), деректер биттері = 8, тоқтату биттері = 1 және паритет = N. Төменде мысал келтірілген.ampWindows және Linux жүйелерінде портты және осындай жіберу параметрлерін орнатудың скриншоттары (қысқаша 115200-8-1-N ретінде сипатталған). Жоғарыдағы қадамдарда анықтаған дәл бірдей сериялық портты таңдауды ұмытпаңыз. Содан кейін терминалда сериялық портты ашыңыз және ESP32 арқылы басып шығарылған журналды көріп тұрғаныңызды тексеріңіз. Журнал мазмұны ESP32 жүйесіне жүктелген қолданбаға байланысты болады, мысалы, қараңызample Шығыс.
Ескертпе: Байланыстың жұмыс істеп тұрғанын тексергеннен кейін сериялық терминалды жабыңыз. Терминал сеансын ашық ұстасаңыз, микробағдарламаны кейінірек жүктеп салу үшін сериялық порт қолжетімсіз болады.

macOS Сериялық терминал бағдарламасын орнату қиындықтарын болдырмау үшін macOS экран пәрменін ұсынады. · Linux және macOS жүйелеріндегі тексеру портында талқыланғандай, іске қосыңыз:

ls /dev/cu.* · Ұқсас нәтижені көруіңіз керек:

/dev/cu.Bluetooth-Кіріс-порты /dev/cu.SLAB_USBtoUART USBtoUART7

/dev/cu.SLAB_

· ДК-ге қосылған тақталардың түрі мен санына байланысты шығыс әр түрлі болады. Содан кейін тақшаңыздың құрылғы атауын таңдап, іске қосыңыз (қажет болса, o115200p қолданылып жатқан чиптің әдепкі беру жылдамдығына өзгертіңіз):

screen /dev/cu.device_name 115200 Құрылғы_атын ls /dev/cu.* іске қосылған кезде табылған атаумен ауыстырыңыз.

Espressif жүйелері

27 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

15-сурет: Windows жүйесінде PuTTY жүйесінде сериялық байланысты орнату

Espressif жүйелері

28 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

16-сурет: Linux жүйесінде PuTTY жүйесінде сериялық байланысты орнату

Espressif жүйелері

29 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
· Сіз іздеп жатқан нәрсе - экранда көрсетілетін кейбір журнал. Журнал мазмұны ESP32 жүйесіне жүктелген қолданбаға байланысты болады, мысалы, қараңызample Шығыс. Экран сеансынан шығу үшін Ctrl-A + теріңіз.
Ескертпе: Байланыстың жұмыс істеп тұрғанын тексергеннен кейін экран сеансынан шығуды ұмытпаңыз. Егер сіз мұны орындай алмасаңыз және жай ғана терминал терезесін жапсаңыз, микробағдарламаны кейінірек жүктеп салу үшін сериялық порт қолжетімсіз болады.
Example Output An example журналы төменде көрсетілген. Егер ештеңе көрмесеңіз, тақтаны қалпына келтіріңіз. ets 8 маусым 2016 00:22:57
бірінші: 0x5 (DEEPSLEEP_RESET), жүктеу: 0x13 (SPI_FAST_FLASH_BOOT) және 8 маусым 2016 ж. 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) жүктеу: компиляция уақыты 18:48:10

Егер оқуға болатын журнал шығысын көрсеңіз, бұл сериялық қосылым жұмыс істеп тұрғанын және орнатуды жалғастыруға және соңында ESP32 қолданбасына жүктеп салуға дайын екеніңізді білдіреді.
Ескертпе: Кейбір сериялық порт сымдарының конфигурациялары үшін ESP32 жүктеліп, сериялық шығысты бермес бұрын терминал бағдарламасында сериялық RTS & DTR түйреуіштерін өшіру қажет. Бұл жабдықтың өзіне байланысты, көптеген әзірлеу тақталарында (барлық Espressif тақталарын қоса) бұл мәселе жоқ. RTS және DTR тікелей EN және GPIO0 түйреуіштеріне жалғанған болса, мәселе туындайды. Қосымша мәліметтер алу үшін esptool құжаттамасын қараңыз.
Егер сіз 5-қадамнан келген болсаңыз. ESP32 әзірлеу үшін s/w орнату кезінде ESP-IDF бойынша алғашқы қадамдар, содан кейін 5-қадаммен жалғастыра аласыз. ESP-IDF бойынша алғашқы қадамдар.
IDF Monitor IDF Monitor негізінен мақсатты құрылғылардың сериялық портына және одан сериялық деректерді жіберетін сериялық терминал бағдарламасы болып табылады. Ол сондай-ақ IDF-ке тән кейбір мүмкіндіктерді қамтамасыз етеді. IDF мониторын IDF жобасынан idf.py мониторын іске қосу арқылы іске қосуға болады.
Пернелер тіркесімдері IDF мониторымен оңай әрекеттесу үшін кестеде берілген пернелер тіркесімін пайдаланыңыз.

Espressif жүйелері

30 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

Пернелер тіркесімі Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (немесе A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (немесе I)
· Ctrl+H (немесе H)
· Ctrl+X (немесе X)
Ctrl+C

Әрекет

Сипаттама

Бағдарламадан шығу Мәзірден шығу пернесі Мәзір таңбасының өзін қашықтан басқару пультіне жібереді
Шығу таңбасының өзін қашықтан басқару пультіне жіберіңіз
RTS желісі арқылы қолданбаны кідірту үшін мақсатты жүктеушіге қалпына келтіріңіз
RTS арқылы мақсатты тақтаны қалпына келтіріңіз
Жобаны құрастырыңыз және жарқыратыңыз

Тек қолданбаны құрастырыңыз және жыпылықтаңыз

Экранда журнал шығысын басып шығаруды тоқтату/жалғастыру

Тоқтату/жалғастыру журналының шығысы сақталды file

Тоқтату/жалғастыру уақытыamps

басып шығару

Барлық пернелер тіркесімін көрсетіңіз

Төменде берілген пернелердің бірін басып, оны орындаңыз.
Мақсатты RTS желісі арқылы жүктеушіге қалпына келтіреді (егер қосылған болса), тақта ештеңе істемейді. Басқа құрылғының іске қосылуын күту қажет болғанда пайдалы. Мақсатты тақтаны қалпына келтіреді және RTS желісі арқылы қолданбаны қайта бастайды (егер қосылған болса).
Жобаның флэш мақсатын іске қосу үшін idf_monitor қызметін тоқтатады, содан кейін idf_monitor жұмысын жалғастырады. Кез келген өзгертілген дереккөз files қайта құрастырылады, содан кейін қайта жыпылықтайды. Егер idf_monitor -E аргументі арқылы басталса, мақсатты шифрланған флэш іске қосылады. Қолданбаның флэш мақсатын іске қосу үшін idf_monitor қызметін тоқтатады, содан кейін idf_monitor жұмысын жалғастырады. Флэш нысанасына ұқсас, бірақ тек негізгі қолданба құрастырылған және қайта жарқылдаған. Егер idf_monitor -E аргументі арқылы басталса, мақсатты шифрланған қолданба-флэш іске қосылады. Іске қосылған кезде барлық кіріс сериялық деректерді жояды. Монитордан шықпай-ақ журнал шығысын жылдам кідіртуге және тексеруге мүмкіндік береді. А жасайды file жоба каталогында және шығыс оған жазылады file сол пернелер тіркесімі арқылы өшірілгенше (немесе IDF мониторы шыққанша). IDF мониторы уақыт шамасын басып шығара аладыamp әр жолдың басында. Ең уақытamp пішімін –timest арқылы өзгертуге боладыamp- пәрмен жолы аргументін пішімдеу.

Бағдарламадан шығыңыз

Жұмыс істеп тұрған қолданбаны үзу

IDF мониторын кідіртеді және орындалу уақытында қолданбаны жөндеу үшін GDB жобасының жөндеу құралын іске қосады. Бұл :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME опциясын қосуды қажет етеді.

Ctrl-] және Ctrl-T пернелерінен басқа кез келген басылған пернелер сериялық порт арқылы жіберіледі.

IDF-ке тән мүмкіндіктер

Мекенжайды автоматты түрде декодтау ESP-IDF 0x4_______ пішімінің он алтылық код мекенжайын шығарғанда, IDF Monitor бастапқы кодтағы орынды іздеу және функция атауын табу үшін addr2line_ пайдаланады.
ESP-IDF қолданбасы бұзылып, дүрбелең болса, тізілімнің демпі және кері трек жасалады, мысалы:

Espressif жүйелері

31 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

Гуру медитациясының StoreProhibited түріндегі қатесі 0 ядросында орын алды. Ерекшелік болды

өңделмеген.

Тіркеу қоқысы:

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 СЕБЕП:

0x0000001d

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

0x00000000

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

IDF мониторы қоқысқа қосымша мәліметтер қосады:

Гуру медитациясының StoreProhibited түріндегі қатесі 0 ядросында орын алды. Ерекшелік болды

өңделмеген.

Тіркеу қоқысы:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: /home/gus/esp/32/idf/ex мекенжайында апатқа_бірдеңе жасауamples/бастау/

hello_world/main/./hello_world_main.c:57

(кіргізілген) inner_dont_crash мекенжайында /home/gus/esp/32/idf/examples/get-started/hello_

world/main/./hello_world_main.c:52

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

: 0x0000000f SAR

: 0x00000019 СЕБЕП:

0x0000001d

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

0x00000000

Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (кіргізілген) inner_dont_crash /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:52 0x400dbf56: still_dont_crash /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: /home/gus/esp/32/idf/ex сайтында апатқа ұшырамаңызamples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main /home/gus/esp/32/idf/examples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: негізгі_тапсырма /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254

Әрбір мекенжайды декодтау үшін IDF Monitor фондық режимде келесі пәрменді іске қосады: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Ескертпе: ESP_MONITOR_DECODE айнымалы ортасын 0 мәніне орнатыңыз немесе арнайы пәрмен жолы арқылы idf_monitor.py файлына қоңырау шалыңыз

Espressif жүйелері

32 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
опция: мекенжай декодтауын өшіру үшін idf_monitor.py –disable-address-decoding.
Қосылымдағы мақсатты қалпына келтіру Әдепкі бойынша, IDF мониторы оған қосылу кезінде мақсатты қалпына келтіреді. Мақсатты чипті қалпына келтіру DTR және RTS сериялық сызықтары арқылы орындалады. IDF Monitor қосылымда мақсатты автоматты түрде ысыруына жол бермеу үшін –no-reset опциясымен IDF Monitor қызметіне қоңырау шалыңыз (мысалы, idf_monitor.py –no-reset).
Ескертпе: –no-reset опциясы IDF мониторын белгілі бір портқа қосқанда да бірдей әрекетті қолданады (мысалы, idf.py monitor –no-reset -p [PORT]).
GDB жүйесін GDBStub GDBStub көмегімен іске қосу мақсатта іске қосылатын және жөндеу пәрмендерін алу үшін сериялық порт арқылы хостқа қосылатын пайдалы жұмыс уақытының жөндеу мүмкіндігі болып табылады. GDBStub жадты және айнымалы мәндерді оқу, қоңыраулар стек кадрларын тексеру, т.б. сияқты пәрмендерді қолдайды. GDBStub J нұсқасына қарағанда әмбебап емес.TAG жөндеу үшін ешқандай арнайы жабдықты қажет етпейді (мысалы, JTAG USB көпіріне), өйткені байланыс толығымен сериялық порт арқылы жүзеге асырылады. Мақсатты орындалу уақытында CONFIG_ESP_SYSTEM_PANIC параметрін GDBStub күйіне орнату арқылы GDBStub бағдарламасын фондық режимде іске қосу үшін конфигурациялауға болады. GDBStub сериялық порт арқылы Ctrl+C хабарламасы жіберілгенше фондық режимде жұмыс істейді және GDBStub бағдарламасы бағдарламаны бұзуға (яғни, орындалуын тоқтатуға) себеп болады, осылайша GDBStub күйін түзету пәрмендерін өңдеуге мүмкіндік береді. Сонымен қатар, дүрбелеңді өңдеуші CONFIG_ESP_SYSTEM_PANIC параметрін дүрбелең кезінде GDBStub күйіне орнату арқылы GDBStub қолданбасын апат кезінде іске қосу үшін конфигурациялауға болады. Бұзылу орын алған кезде, GDBStub оның жұмыс істеп тұрғанын көрсету үшін сериялық порт арқылы арнайы жол үлгісін шығарады. Екі жағдайда да (яғни, Ctrl+C хабарламасын жіберу немесе арнайы жол үлгісін алу) пайдаланушыға жөндеу пәрмендерін жіберуге мүмкіндік беру үшін IDF Monitor автоматты түрде GDB іске қосады. GDB шыққаннан кейін мақсат RTS сериялық желісі арқылы қалпына келтіріледі. Егер бұл желі қосылмаған болса, пайдаланушылар мақсатты қалпына келтіре алады (тақталарды қалпына келтіру түймесін басу арқылы).
Ескерту: Фондық режимде IDF Monitor GDB іске қосу үшін келесі пәрменді іске қосады:
xtensa-esp32-elf-gdb -ex “сериялық жіберуді орнату BAUD” -ex “мақсатты қашықтағы PORT” -ex үзу құрастыру/PROJECT.elf :idf_target:`Сәлем NAME чипі`

Шығысты сүзу IDF мониторын idf.py monitor –print-filter=”xyz ретінде шақыруға болады, мұндағы –print-filter – шығыс сүзгілеу параметрі. Әдепкі мән бос жол болып табылады, бұл бәрі басып шығарылғанын білдіреді.
Басып шығаруға қатысты шектеулерді серия ретінде көрсетуге боладыtag>: заттар қайдаtag> бұл tag жол және журналға арналған деңгейге сілтеме жасайтын {N, E, W, I, D, V, *} жиынындағы таңба.
Мысалыample, PRINT_FILTER=”tag1:W” тек ESP_LOGW(“tag1”, …) немесе неғұрлым төменірек деңгейде, яғни ESP_LOGE(“tag1″, …). Анықтамау а немесе * әдепкі мәндерін егжей-тегжейлі деңгейге пайдалану.
Ескертпе: Журнал кітапханасы арқылы қажет емес шығыстарды жинақтау кезінде өшіру үшін бастапқы журналды пайдаланыңыз. IDF мониторымен шығыс сүзгілеу қолданбаны қайта құрастырмай-ақ сүзу опцияларын реттеу үшін пайдалы болуы мүмкін қосымша шешім болып табылады.
Сіздің қолданбаңыз tags бос орындар, жұлдызшалар * немесе қос нүктелер болмауы керек: шығыс сүзу мүмкіндігімен үйлесімді болуы үшін.
Қолданбаңыздағы шығыстың соңғы жолынан кейін каретканы қайтару болмаса, шығыс сүзгілеу шатастырылуы мүмкін, яғни монитор жолды басып шығара бастайды және кейінірек жолдың жазылмауы керек екенін анықтайды. Бұл белгілі мәселе және оны әрқашан каретканы қайтаруды қосу арқылы болдырмауға болады (әсіресе одан кейін бірден ешқандай нәтиже шықпаса).

Espressif жүйелері

33 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
ExampСүзу ережелері:
· * кез келген сәйкестендіру үшін пайдалануға болады tags. Дегенмен, PRINT_FILTER=”*:I жолы tag1:E” қатысты tag1 тек қателерді басып шығарады, себебі ереже tag1 параметрінің * ережесіне қарағанда басымдығы жоғары.
· Әдепкі (бос) ереже *:V мәніне тең, себебі әрқайсысына сәйкес келеді tag Verbose деңгейінде немесе одан төмен барлығына сәйкес келетінді білдіреді.
· «*:N» журналға жазу функцияларының шығыстарын ғана емес, сонымен қатар printf арқылы жасалған басып шығаруларды, т.б. басады. Бұған жол бермеу үшін *:E немесе жоғарырақ нақтылық деңгейін пайдаланыңыз.
· Ережелерtag1:V”, “tag1:v”, “tag1:”, “tag1:*», және «tag1" эквивалентті. · "Ережесі"tag1: W tag1:E» – «tag1:E” себебі сол жағдайдың кез келген нәтижесінде пайда болуы tag
атау алдыңғының үстінен жазады. · Ереже «tag1:I tag2:W” тек басып шығарады tag1 Ақпараттың егжей-тегжейлі деңгейінде немесе одан төмен және tag2 ескертуде
нақтылық деңгейі немесе одан төмен. · Ереже «tag1:I tag2: W tag3:N” мәні бойынша алдыңғысына тең, өйткені tag3:N көрсетеді
сол tag3 басып шығаруға болмайды. · tag3:N ережесіндеtag1:I tag2: W tag3:N *:V” мағынасырақ, себебі онсыз tag3:N the
tag3 хабарды басып шығаруға болады; үшін қателер tag1 және tag2 көрсетілген (немесе төменірек) нақтылық деңгейінде басып шығарылады және қалғанының бәрі әдепкі бойынша басып шығарылады.
Күрделі сүзгілеу мысалыample Келесі журнал үзіндісі сүзгілеу опцияларынсыз алынды:
load:0x40078000,len:13564 жазба 0x40078d4c E (31) esp_image: 0x30000 кескінінде жарамсыз сиқырлы байты бар W (31) esp_image: 0x30000 кескінінде жарамсыз SPI режимі бар (Fa3 қолданбасы 255 жүктеу мүмкіндігі жоқ) (568) cpu_start: Pro cpu жоғары. I (569) heap_init: инициализациялау. Динамикалық бөлу үшін қол жетімді ЖЖҚ: I (603) cpu_start: Pro cpu start пайдаланушы коды D (309) light_driver: [light_init, 74]:status: 1, режим: 2 D (318) vfs: esp_vfs_register_fd_ауқым <54 ауқымы үшін сәтті; 64) және VFS ID 1 I (328) wifi: wifi драйверінің тапсырмасы: 39ffdbf84, prio: 23, стек: 4096, ядро ​​= 0
PRINT_FILTER=”wifi esp_image:E light_driver:I” сүзу опциялары үшін түсірілген шығыс төменде берілген:
E (31) esp_image: 0x30000 кескінінде жарамсыз сиқырлы байты бар I (328) wifi: wifi драйверінің тапсырмасы: 3ffdbf84, prio: 23, стек: 4096, ядро=0
“PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V” опциялары келесі нәтижені көрсетеді:
жүктеу: 0x40078000, len: 13564 жазба 0x40078d4c I (569) heap_init: инициализациялауда. Динамикалық бөлу үшін қол жетімді ЖЖҚ: D (309) light_driver: [light_init, 74]: күй: 1, режим: 2
IDF мониторындағы белгілі мәселелер
Windows жүйесінде байқалған мәселелер
· Көрсеткі пернелер, сондай-ақ кейбір басқа пернелер Windows Console шектеулеріне байланысты GDB жүйесінде жұмыс істемейді. · Кейде, oidf.pypexit кезде, IDF мониторы қайта басталғанша ол 30 секундқа дейін тоқтап қалуы мүмкін. · Ogdbpis іске қосылғанда, ол GDBStub бағдарламасымен байланысуды бастамас бұрын қысқа уақытқа тоқтауы мүмкін.

Espressif жүйелері

34 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау Linux және macOS үшін стандартты құралдар тізбегін орнату

Қадамдық орнату Бұл орнату процесінде сізге көмектесетін егжей-тегжейлі жол картасы.
Әзірлеу ортасын орнату Бұл ESP32 үшін ESP-IDF орнату қадамдары. · 1-қадам. Алғышарттарды орнату · 2-қадам. ESP-IDF алу · 3-қадам. Құралдарды орнату · 4-қадам. Ортаның айнымалы мәндерін орнату · 5-қадам. ESP-IDF бойынша алғашқы қадамдар
1-қадам. Орнату Алғышарттары ESP-IDF ESP32-мен бірге пайдалану үшін операциялық жүйеге негізделген кейбір бағдарламалық құрал бумаларын орнату қажет. Бұл орнату нұсқаулығы Linux және macOS негізіндегі жүйелерде барлығын орнатуға көмектеседі.
Linux пайдаланушылары үшін ESP-IDF көмегімен құрастыру үшін келесі пакеттерді алу қажет. Іске қосу пәрмені сіз пайдаланып жатқан Linux дистрибуциясына байланысты:
· Ubuntu және Debian: sudo apt-get орнату git wget flex bizon 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 жаңарту && sudo yum орнату git wget flex bizon gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 әлі де қолдау көрсетеді, бірақ жақсырақ пайдаланушы тәжірибесі үшін CentOS 8 нұсқасы ұсынылады. · Arch: sudo pacman -S –needed gcc git make flex bizon gperf python cmake ninja ccache dfu-util libusb
Ескертпе: · ESP-IDF-мен пайдалану үшін CMake 3.16 немесе одан кейінгі нұсқасы қажет. Операциялық жүйе нұсқаларында сәйкес нұсқаны орнату үшін otools/idf_tools.py install cmakep бағдарламасын іске қосыңыз. · Жоғарыдағы тізімде Linux дистрибутивін көрмесеңіз, пакетті орнату үшін қай пәрменді пайдалану керектігін білу үшін оның құжаттамасын тексеріңіз.
macOS пайдаланушылары үшін ESP-IDF macOS жүйесінде әдепкі бойынша орнатылған Python нұсқасын пайдаланады. · CMake & Ninja құрастыруын орнату: Егер сізде HomeBrew болса, іске қосуға болады: brew install cmake ninja dfu-util Егер сізде MacPorts болса, іске қосуға болады: sudo port install cmake ninja dfu-util Әйтпесе, macOS орнатуды жүктеп алу үшін CMake және Ninja басты беттерінен кеңес алыңыз.

Espressif жүйелері

35 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
· Тезірек құрастыру үшін ccache орнату ұсынылады. Егер сізде HomeBrew болса, мұны MacPorts жүйесінде brew install ccache немесе sudo port install ccache арқылы жасауға болады.
Ескерту: Кез келген қадамда осындай қате көрсетілсе: xcrun: қате: жарамсыз белсенді әзірлеуші ​​жолы (/Library/Developer/CommandLineTools), мына жерде xcrun жоқ: /Library/Developer/CommandLineTools/usr/bin/xcrun
Содан кейін жалғастыру үшін XCode пәрмен жолы құралдарын орнату қажет болады. Оларды xcode-select –install іске қосу арқылы орнатуға болады.
Apple M1 пайдаланушылары Apple M1 платформасын пайдалансаңыз және келесідей қатені көрсеңіз: ЕСКЕРТУ: xtensa-esp32-elf нұсқасы esp-2021r2-patch3-8.4.0 құралының каталогы бар, бірақ құрал табылмады ҚАТЕ: xtensa-esp32-elf құралында орнатылған нұсқалар жоқ. Оны орнату үшін 'install.sh' файлын іске қосыңыз.
немесе: zsh: орындалатын файлдағы нашар CPU түрі: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Содан кейін /usr/sbin/softwareupdate –install-rosetta –agree-to-license іске қосу арқылы Apple Rosetta 2 орнату керек.
Python 3 орнату macOS Catalina 10.15 шығарылым жазбаларына негізделген, Python 2.7 нұсқасын пайдалану ұсынылмайды және Python 2.7 әдепкі бойынша macOS жүйесінің болашақ нұсқаларында қосылмайды. Сізде қандай Python бар екенін тексеріңіз: python – нұсқасы
Егер шығыс Python 2.7.17 сияқты болса, әдепкі аудармашы Python 2.7 болып табылады. Олай болса, компьютерде Python 3 орнатылмағанын да тексеріңіз: python3 – нұсқасы
Жоғарыдағы пәрмен қатені қайтарса, бұл Python 3 орнатылмағанын білдіреді. Төменде аяқталдыview Python 3 орнату қадамдары.
· HomeBrew көмегімен орнатуды төмендегідей орындауға болады: brew install python3
· Егер сізде MacPorts болса, іске қосуға болады: sudo port install python38
2-қадам. ESP-IDF алу ESP32 үшін қолданбаларды құру үшін сізге ESP-IDF репозиторийінде Espressif ұсынған бағдарламалық құрал кітапханалары қажет. ESP-IDF алу үшін орнату каталогына өтіңіз және операциялық жүйеге арналған төмендегі нұсқауларды орындап, репозиторийді git clone арқылы клондаңыз. Терминалды ашыңыз және келесі пәрмендерді орындаңыз:

Espressif жүйелері

36 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –рекурсивті https://github.com/espressif/esp-idf.git
ESP-IDF ~/esp/esp-idf ішіне жүктеледі. Берілген жағдайда қандай ESP-IDF нұсқасын пайдалану керектігі туралы ақпаратты ESP-IDF нұсқаларынан қараңыз.
3-қадам. Құралдарды орнату ESP-IDF-тен басқа ESP32-ге қолдау көрсететін жобалар үшін компилятор, отладчик, Python бумалары және т.б. сияқты ESP-IDF пайдаланатын құралдарды орнату керек. cd ~/esp/esp-idf ./install.sh esp32
немесе Балық қабығымен cd ~/esp/esp-idf ./install.fish esp32
Жоғарыдағы пәрмендер құралдарды тек ESP32 үшін орнатады. Егер сіз көбірек чип мақсаттары үшін жобаларды дамытқыңыз келсе, олардың барлығын тізіп, бұрынғы үшін іске қосуыңыз керекample: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
немесе Fish shell cd ~/esp/esp-idf ./install.fish esp32,esp32s2 бар
Барлық қолдау көрсетілетін мақсаттарға арналған құралдарды орнату үшін келесі пәрменді орындаңыз: cd ~/esp/esp-idf ./install.sh барлығы
немесе Fish shell cd ~/esp/esp-idf ./install.fish барлығымен бірге
Ескертпе: MacOS пайдаланушылары үшін кез келген қадамда осындай қате көрсетілсе:urlашық қате [SSL: CERTIFICATE_VERIFY_FAILED] сертификатын тексеру сәтсіз аяқталды: жергілікті эмитент сертификатын алу мүмкін емес (_ssl.c:xxx)
Сертификаттарды орнату үшін компьютердің Python қалтасында Install Certificates.command командасын орындауға болады. Мәліметтерді ESP-IDF құралдарын орнату кезіндегі жүктеу қатесі бөлімінен қараңыз.

Балама File Жүктеулер Құралдарды орнатушы бірқатар жүктеп алады files GitHub шығарылымдарына тіркелген. GitHub-қа кіру баяу болса, GitHub активтерін жүктеп алу үшін Espressifns жүктеу серверін таңдау үшін орта айнымалысын орнатуға болады.

Ескертпе: Бұл параметр тек GitHub шығарылымдарынан жүктелген жеке құралдарды басқарады, ол өзгертпейді URLкез келген Git репозиторийлеріне қол жеткізу үшін пайдаланылады.

Құралдарды орнату кезінде Espressif жүктеп алу серверін таңдау үшін install.sh іске қосқан кезде келесі пәрмендер тізбегін пайдаланыңыз:

Espressif жүйелері

37 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

cd ~/esp/esp-idf экспорты IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Құралдарды орнату жолын теңшеу Осы қадамда енгізілген сценарийлер ESP-IDF талап ететін компиляция құралдарын пайдаланушының негізгі каталогында орнатады: Linux жүйесінде $HOME/.espressif. Құралдарды басқа каталогқа орнатқыңыз келсе, орнату сценарийлерін іске қоспас бұрын IDF_TOOLS_PATH айнымалы ортасын орнатыңыз. Пайдаланушы тіркелгіңізде осы жолды оқу және жазу үшін жеткілікті рұқсаттар бар екеніне көз жеткізіңіз. IDF_TOOLS_PATH өзгертілсе, Орнату сценарийі (install. bat, install.ps1 немесе install.sh) және Экспорттау сценарийі (export.bat, export.ps1 немесе export.sh) орындалған сайын оның бірдей мәнге орнатылғанын тексеріңіз.
4-қадам. Ортаның айнымалы мәндерін орнату Орнатылған құралдар PATH ортасының айнымалы мәніне әлі қосылмаған. Құралдарды пәрмен жолынан қолдануға болатын ету үшін кейбір орта айнымалы мәндерін орнату керек. ESP-IDF мұны жасайтын басқа сценарийді ұсынады. ESP-IDF пайдаланатын терминалда келесіні іске қосыңыз:
. $HOME/esp/esp-idf/export.sh
немесе балық үшін (тек балық 3.0.0 нұсқасынан бері қолдау көрсетіледі):
. $HOME/esp/esp-idf/export.fish
Алдыңғы нүкте мен жол арасындағы бос орынға назар аударыңыз! esp-idf жиі пайдалануды жоспарласаңыз, export.sh файлын орындау үшін бүркеншік ат жасауға болады:
1. Келесі пәрменді көшіріп, shellns pro жүйесіне қойыңызfile (.profile, .bashrc, .zprofile, т.б.)
get_idf=' бүркеншік аты. $HOME/esp/esp-idf/export.sh' 2. Терминал сеансын қайта қосу немесе дереккөзді іске қосу арқылы конфигурацияны жаңартыңыз.file],
мысалыample, көзі ~/.bashrc. Енді кез келген терминал сеансында esp-idf ортасын орнату немесе жаңарту үшін get_idf іске қоса аласыз. Техникалық тұрғыдан экспорт.sh файлын shellns pro-ға қосуға боладыfile тікелей; дегенмен, бұл ұсынылмайды. Бұл IDF виртуалды ортасын әрбір терминал сеансында белсендіреді (соның ішінде IDF қажет емес жерлерде), виртуалды ортаның мақсатын бұзады және басқа бағдарламалық құралға әсер етуі мүмкін.
5-қадам. ESP-IDF бойынша алғашқы қадамдар Енді барлық талаптар орындалғандықтан, келесі тақырып бірінші жобаңызды қалай бастауға болатынын көрсетеді. Бұл нұсқаулық ESP-IDF көмегімен алғашқы қадамдарда сізге көмектеседі. ESP32 жүйесінде жаңа жобаны бастау және құрылғы шығысын құрастыру, жыпылықтау және бақылау үшін осы нұсқаулықты орындаңыз.
Ескертпе: ESP-IDF әлі орнатылмаған болса, осы нұсқаулықты пайдалану үшін қажетті бағдарламалық құралды алу үшін Орнату бөліміне өтіп, нұсқауларды орындаңыз.

Жобаны бастау Енді сіз ESP32 үшін қосымшаңызды дайындауға дайынсыз. Бұрынғыдан getstarted/hello_world жобасынан бастауға боладыampESP-IDF ішіндегі les каталогы.

Маңызды: ESP-IDF құрастыру жүйесі ESP-IDF немесе жобаларға апаратын жолдардағы бос орындарды қолдамайды.

Project get-started/hello_world файлын ~/esp каталогына көшіріңіз:

Espressif жүйелері

38 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
Ескертпе: бұрынғы ауқымы барampбұрынғы жобаларampESP-IDF ішіндегі les каталогы. Кез келген жобаны жоғарыда көрсетілгендей көшіріп, оны іске қосуға болады. Сондай-ақ, бұрынғысын салуға боладыamples in-place оларды алдымен көшірместен.
Құрылғыңызды қосыңыз Енді ESP32 тақтасын компьютерге қосыңыз және тақта қай сериялық портта көрінетінін тексеріңіз. Сериялық порттарда келесі атау үлгілері бар:
· Linux: /dev/tty арқылы басталады · macOS: /dev/cu арқылы басталады. Сериялық порт атауын қалай тексеру керектігін білмесеңіз, толық мәліметтер алу үшін ESP32 арқылы сериялық қосылымды орнату бөлімін қараңыз.
Ескертпе: Порт атауын қолыңызда ұстаңыз, себебі ол келесі қадамдарда қажет болады.
Жобаңызды конфигурациялаңыз hello_world каталогына өтіңіз, мақсат ретінде ESP32 орнатыңыз және жоба конфигурациясының menuconfig утилитасын іске қосыңыз. cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Жаңа жобаны ашқаннан кейін алдымен мақсатты idf.py set-target esp32 арқылы орнату керек. Жобадағы бар құрастырмалар мен конфигурациялар, егер бар болса, осы процесте тазартылып, инициализацияланатынын ескеріңіз. Бұл қадамды мүлдем өткізіп жіберу үшін мақсатты орта айнымалысында сақтауға болады. Қосымша ақпарат алу үшін Мақсатты чипті таңдау: мақсатты орнату бөлімін қараңыз. Алдыңғы қадамдар дұрыс орындалса, келесі мәзір пайда болады:

17-сурет: Жоба конфигурациясы – Басты терезе Сіз бұл мәзірді жобаның арнайы айнымалы мәндерін орнату үшін пайдаланасыз, мысалы, Wi-Fi желісінің аты мен құпия сөзі, процессор жылдамдығы, т.б. Жобаны menuconfig көмегімен орнатуды forohello_worldp өткізіп жіберуге болады, себебі бұл бұрынғыampбірге жүгіреді

Espressif жүйелері

39 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
әдепкі конфигурация.
Назар аударыңыз: ESP32-DevKitC тақтасын ESP32-SOLO-1 модулімен немесе ESP32-DevKitM-1 тақтасын ESP32-MIN1-1(1U) модулімен пайдалансаңыз, бұрынғы жыпылықтау алдында menuconfig ішіндегі бір ядролық режимді (CONFIG_FREERTOS_UNICORE) қосыңыз.amples.
Ескертпе: Терминалда мәзірдің түстері әртүрлі болуы мүмкін. Сыртқы түрін –стиль опциясымен өзгертуге болады. Қосымша ақпарат алу үшін idf.py menuconfig –help бағдарламасын іске қосыңыз.
Қолдау көрсетілетін әзірлеу тақталарының бірін пайдалансаңыз, тақтаны қолдау пакетін пайдалану арқылы әзірлеуді жылдамдата аласыз. Қосымша ақпарат алу үшін Қосымша кеңестер бөлімін қараңыз.
Жобаны құру Жобаны іске қосу арқылы құрастырыңыз:
idf.py құрастыру
Бұл пәрмен қолданбаны және барлық ESP-IDF құрамдастарын құрастырады, содан кейін ол жүктеуші, бөлімдер кестесін және қолданбаның екілік файлдарын жасайды.
$ idf.py build /path/to/hello_world/build каталогында cmake іске қосылуда “cmake -G Ninja –warn-uninitialized /path/to/hello_world” орындалуда… Басталмаған мәндер туралы ескертіңіз. — Табылды Git: /usr/bin/git («2.17.0» нұсқасы табылды) — Конфигурацияға байланысты бос aws_iot компонентін құру — Компонент атаулары: … — Құрамдас жолдар: …
… (жүйені шығарудың қосымша жолдары)
[527/527] hello_world.bin esptool.py v2.3.1 жасалуда
Жобаның құрылысы аяқталды. Жыпылықтау үшін мына пәрменді іске қосыңыз: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_wld bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin немесе "idf.py -p PORT flash" іске қосыңыз
Егер қателер болмаса, құрастыру микробағдарламаның екілік .bin файлын жасау арқылы аяқталады files.
Құрылғыда жыпылықтау ESP32 тақтасында жаңадан құрастырылған екілік файлдарды (bootloader.bin, partition-table.bin және hello_world.bin) іске қосу арқылы жарқылдатады:
idf.py -p PORT [-b BAUD] жыпылықтайды
PORT-ты ESP32 тақтасының сериялық порт атауымен ауыстырыңыз. Сондай-ақ, BAUD параметрін қажетті жіберу жылдамдығымен ауыстыру арқылы жарқылдың жылдамдығын өзгертуге болады. Әдепкі жіберу жылдамдығы 460800. idf.py аргументтері туралы қосымша ақпаратты idf.py бөлімінен қараңыз.
Ескертпе: Жарқыл опциясы жобаны автоматты түрде құрастырады және жыпылықтайды, сондықтан idf.py құрастыруды іске қосу қажет емес.

Espressif жүйелері

40 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау

Жыпылықтау кезінде мәселе туындады ма? Берілген пәрменді іске қосып, қосылым сәтсіздігі сияқты қателерді көрсеңіз, мұның бірнеше себептері болуы мүмкін. Себептердің бірі чипті қалпына келтіру, ROM жүктеушісімен және флэш микробағдарламасымен әрекеттесу үшін құрастыру жүйесі шақыратын esptool.py утилитасында кездесетін мәселелер болуы мүмкін. Қарапайым шешімнің бірі төменде сипатталған қолмен қалпына келтіру болып табылады және ол көмектеспесе, Ақауларды жою бөлімінде ықтимал мәселелер туралы қосымша мәліметтерді табуға болады.
esptool.py ESP32 нұсқасын автоматты түрде USB-ден сериялық түрлендіргіш чипінің DTR және RTS басқару желілерін бекіту арқылы қалпына келтіреді, яғни FTDI немесе CP210x (қосымша ақпаратты ESP32 көмегімен сериялық қосылымды орнату бөлімін қараңыз). DTR және RTS басқару желілері өз кезегінде ESP32 GPIO0 және CHIP_PU (EN) түйреуіштеріне қосылады, осылайша көлем өзгереді.tage DTR және RTS деңгейлері ESP32 микробағдарламасын жүктеу режиміне жүктейді. Бұрынғы ретіндеample, ESP32 DevKitC әзірлеу тақтасының схемасын тексеріңіз.
Жалпы, сізде ресми esp-idf әзірлеу тақталарымен проблемалар болмауы керек. Дегенмен, esptool.py келесі жағдайларда жабдықты автоматты түрде қалпына келтіре алмайды:
· Сіздің аппараттық құралыңызда GPIO0 және CHIP_PU қосылатын DTR және RTS желілері жоқ · DTR және RTS желілері басқаша конфигурацияланған · Мұндай сериялық басқару желілері мүлде жоқ.
Қолда бар аппараттық құрал түріне байланысты ESP32 тақтасын микробағдарламаны жүктеу режиміне (қалпына келтіру) қолмен қоюға болады.
· Espressif шығарған әзірлеу тақталары үшін бұл ақпаратты сәйкес бастау нұсқаулығында немесе пайдаланушы нұсқаулығында табуға болады. МысалыampESP-IDF әзірлеу тақтасын қолмен қалпына келтіру үшін Жүктеу түймесін (GPIO0) басып тұрыңыз және EN түймесін (CHIP_PU) басыңыз.
· Басқа жабдық түрлері үшін GPIO0 төмен тартып көріңіз.

Қалыпты жұмыс Жыпылықтап тұрғанда келесіге ұқсас шығыс журналын көресіз:
… 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 0x8000000 partition table_table/partition. bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Сериялық порт /dev/ttyUSB0 Қосылуда…….._ Чип — ESP32D0WDQ6 (0 нұсқа) Мүмкіндіктер: WiFi, BT, екі ядролы, CAC4 кодтау схемасы жоқ: MAC4 24:0a:c4:05:b9:14 Түпнұсқаны жүктеп салуда… Түпнұсқаны орындауда… Түпнұсқаны орындауда… Беру жылдамдығын 460800 мәніне өзгерту Өзгертілді. Флэш өлшемі конфигурациялануда… 3072 байттан 103-ке дейін сығымдалған… 0x00008000… (100 %) арқылы жазу 0.0 секундта 3072 байт (103 қысылған) 0,0 секундта жазды (тиімді 5962.8 кбит/с деректер)… 26096 байтты 15408-ге дейін сығымдады… 0x00001000… (100 %) арқылы жазу 0.4 секундта 0x00001000 кезінде 26096 байт (15408 қысылған) жазды (тиімді 546.7 кбит/с деректер)…. 77364 дейін сығымдалған 147104 байт… 0x00010000… бойынша жазу (20 %) 0x00014000… (40 %) арқылы жазу 0x00018000… (60 %) арқылы жазу 0x0001c… (60 %) 0x0001c00 (60 %).
(жалғасы келесі бетте)

Espressif жүйелері

41 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
(алдыңғы беттен жалғасы) 0x00020000… (100 %) жазу 1.9 секундта 0x00010000 кезінде 147104 байт (77364 қысылған) жазды (тиімді 615. 5 кбит/с)… Деректер хэші расталды.
Шығуда… RTS пин арқылы қатты қалпына келтіру… Дайын
Флэш процесінің соңына дейін мәселе болмаса, тақта қайта жүктеледі және theohello_worldpapplication іске қосылады. Егер idf.py іске қосудың орнына Eclipse немесе VS Code IDE пайдаланғыңыз келсе, Eclipse Plugin, VSCode кеңейтімін тексеріңіз.
Шығысты бақылау ohello_worldpis шынымен жұмыс істеп тұрғанын тексеру үшін idf.py -p PORT мониторын теріңіз (портты сериялық порт атауымен ауыстыруды ұмытпаңыз). Бұл пәрмен IDF Monitor қолданбасын іске қосады:
$ idf.py -p монитор […]/esp/hello_world/build каталогында idf_monitor іске қосылуда “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”…itor орындалуда — 115200 —– Шығу: Ctrl+] | Мәзір: Ctrl+T | Анықтама: Ctrl+T, одан кейін Ctrl+H –ets 8 маусым 2016 ж. 00:22:57
бірінші: 0x1 (POWERON_RESET), жүктеу: 0x13 (SPI_FAST_FLASH_BOOT) және 8 маусым 2016 ж. 00:22:57 …
Іске қосу және диагностикалық журналдар жоғары жылжытқаннан кейін қолданба арқылы басып шығарылған oHello world! пәрменін көруіңіз керек.
… Сәлем әлем! 10 секундтан кейін қайта іске қосылады… Бұл 2 процессорлық ядро(лар), WiFi/BT/BLE, кремний нұсқасы 1, 2 МБ сыртқы жарқылы бар esp32 чипі Ең аз бос жинақ өлшемі: 298968 байт 9 секундта қайта іске қосылады… 8 секундта қайта іске қосылады… 7 секундта қайта іске қосылады…
IDF мониторынан шығу үшін Ctrl+] пернелер тіркесімін пайдаланыңыз. Жүктеп салудан кейін көп ұзамай IDF мониторы сәтсіздікке ұшыраса немесе жоғарыдағы хабарлардың орнына төменде келтірілгенге ұқсас кездейсоқ қоқысты көрсеңіз, тақта 26 МГц кристалды пайдаланып жатқан болуы мүмкін. Көптеген әзірлеу тақтасының конструкциялары 40 МГц пайдаланады, сондықтан ESP-IDF бұл жиілікті әдепкі мән ретінде пайдаланады.

Егер сізде осындай мәселе болса, келесі әрекеттерді орындаңыз:
1. Монитордан шығыңыз. 2. menuconfig тармағына оралыңыз. 3. Құрамдас конфигурация > Аппараттық құрал параметрлері > Негізгі XTAL конфигурациясы > Негізгі XTAL тармағына өтіңіз
жиілігін, одан кейін CONFIG_XTAL_FREQ_SEL мәнін 26 МГц етіп өзгертіңіз. 4. Осыдан кейін қолданбаны қайта құрастырып, жыпылықтаңыз.

Espressif жүйелері

42 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
ESP-IDF ағымдағы нұсқасында ESP32 қолдайтын негізгі XTAL жиіліктері төмендегідей:
· 26 МГц · 40 МГц
Ескертпе: idf.py -p PORT флэш-мониторын іске қосу арқылы құру, жыпылықтау және бақылауды бір қадамға біріктіруге болады.
Сондай-ақ қараңыз: · Ыңғайлы таңбашалар және IDF мониторын пайдалану туралы қосымша мәліметтер алу үшін IDF мониторы. · idf.py пәрмендері мен опцияларының толық анықтамасы үшін idf.py.
ESP32-мен жұмысты бастау үшін қажет нәрсенің бәрі осы! Енді сіз басқа бұрынғыны сынап көруге дайынсызamples немесе тікелей жеке қолданбаларды әзірлеуге өтіңіз.
Маңызды: кейбір бұрынғыamples ESP32-ге қолдау көрсетпейді, себебі талап етілетін жабдық ESP32-де жоқ, сондықтан оған қолдау көрсету мүмкін емес. Егер бұрынғы құрылыс болсаample, README тексеріңіз file Қолдау көрсетілетін мақсаттар кестесі үшін. Егер бұл ESP32 нысанасын қоса алғанда бар болса немесе кесте мүлде жоқ болса, бұрынғыample ESP32 жұмыс істейді.
Қосымша кеңестер
Рұқсат мәселелері /dev/ttyUSB0 Кейбір Linux дистрибутивтерімен ESP32 жыпылықтаған кезде /dev/ttyUSB0 портын ашу сәтсіз аяқталды қате туралы хабарды алуыңыз мүмкін. Мұны ағымдағы пайдаланушыны сөйлесу тобына қосу арқылы шешуге болады.
Python үйлесімділігі ESP-IDF Python 3.7 немесе одан жаңа нұсқасын қолдайды. Операциялық жүйені осы талапты қанағаттандыратын соңғы нұсқаға жаңарту ұсынылады. Басқа опцияларға көздерден Python орнату немесе pyenv сияқты Python нұсқасын басқару жүйесін пайдалану кіреді.
Тақтаны қолдау пакетінен бастаңыз Кейбір әзірлеу тақталарында прототиптеуді жылдамдату үшін белгілі бір тақтаны инициализациялауды бірнеше функция шақыруы сияқты жеңілдететін тақтаны қолдау пакеттерін (BSPs) пайдалануға болады. BSP әдетте әзірлеу тақтасында берілген барлық аппараттық құрамдастарды қолдайды. Түйінді анықтау және баптандыру функцияларынан басқа, BSP сенсорлар, дисплейлер, аудио кодектер және т.б. сияқты сыртқы құрамдастарға арналған драйверлермен бірге жеткізіледі. BSP құрылғылары IDF Component Manager арқылы таратылады, сондықтан оларды IDF Component Registry ішінен табуға болады. Херенс бұрынғыampЖобаңызға ESP-WROVER-KIT BSP қосу жолы: idf.py add-dependency esp_wrover_kit
Көбірек бұрынғыampBSP пайдалану мәліметтерін BSP examples қалтасы.
Кеңес: ESP-IDF жаңарту ESP-IDF-ны мезгіл-мезгіл жаңарту ұсынылады, өйткені жаңа нұсқалар қателерді түзетеді және/немесе жаңа мүмкіндіктерді береді. Әрбір ESP-IDF негізгі және қосымша шығарылым нұсқаларында байланысты қолдау кезеңі бар екенін және бір шығарылым тармағы қызмет ету мерзімінің соңына (EOL) жақындағанда, барлық пайдаланушыларға өз жобаларын соңғы ESP-IDF шығарылымдарына жаңарту ұсынылады, қолдау көрсету кезеңдері туралы қосымша ақпарат алу үшін ESP-IDF нұсқаларын қараңыз.

Espressif жүйелері

43 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

1-тарау. Жұмысты бастау
Жаңартуды орындаудың ең қарапайым жолы бар esp-idf қалтасын жою және оны 2-қадамда сипатталған бастапқы орнатуды орындағандай қайта клондау. ESP-IDF алыңыз. Басқа шешім тек өзгерген нәрсені жаңарту болып табылады. Жаңарту процедурасы сіз пайдаланып жатқан ESP-IDF нұсқасына байланысты. ESP-IDF жаңартқаннан кейін, жаңа ESP-IDF нұсқасы құралдардың әртүрлі нұсқаларын қажет ететін болса, Орнату сценарийін қайта орындаңыз. 3-қадамдағы нұсқауларды қараңыз. Құралдарды орнатыңыз. Жаңа құралдар орнатылғаннан кейін, Экспорттау сценарийі арқылы ортаны жаңартыңыз. 4-қадамдағы нұсқауларды қараңыз. Ортаның айнымалы мәндерін орнатыңыз.
Қатысты құжаттар · ESP32 арқылы сериялық қосылымды орнату · Eclipse плагині · VSCode кеңейтімі · IDF мониторы
1.4 Бірінші жобаңызды жасаңыз
Егер сізде ESP-IDF орнатылған болса және IDE қолданбайтын болса, Windows жүйесінде жобаны бастау немесе Linux және macOS жүйесінде жобаны бастау пәрмен жолынан бірінші жобаңызды құра аласыз.
1.5 ESP-IDF жою
ESP-IDF жоюды қаласаңыз, ESP-IDF жоюды орындаңыз.

Espressif жүйелері

44 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

2-тарау
API анықтамасы
2.1 API конвенциялары
Бұл құжат ESP-IDF қолданбалы бағдарламалау интерфейстеріне (API) ортақ конвенциялар мен болжамдарды сипаттайды. ESP-IDF бағдарламалау интерфейстерінің бірнеше түрін ұсынады:
· Жалпы тақырыпта жарияланған C функциялары, құрылымдары, нөмірлері, тип анықтамалары және препроцессорлық макростар fileESPIDF құрамдас бөліктері. Бағдарламалау нұсқаулығының API анықтамасы бөліміндегі әртүрлі беттер осы функциялардың, құрылымдардың және түрлердің сипаттамаларын қамтиды.
· Жүйе функцияларын, алдын ала анықталған айнымалылар мен опцияларды құрастыру. Олар құрастыру жүйесі нұсқаулығында құжатталған. · Kconfig опцияларын кодта және құрастыру жүйесінде пайдалануға болады (CMakeLists.txt) fileс. · Хост құралдары және олардың пәрмен жолы параметрлері де ESP-IDF интерфейсінің бөлігі болып табылады. ESP-IDF арнайы ESP-IDF, сондай-ақ үшінші тарап кітапханалары үшін жазылған құрамдастардан тұрады. Кейбір жағдайларда ESP-IDF-арнайы орауыш үшінші тарап кітапханасына қосылады, ол қарапайым немесе қалған ESP-IDF құралдарымен жақсырақ біріктірілген интерфейсті қамтамасыз етеді. Басқа жағдайларда, қолданбаларды әзірлеушілерге үшінші тарап кітапханасының түпнұсқа API интерфейсі ұсынылады. Келесі бөлімдер ESP-IDF API интерфейстерінің кейбір аспектілерін және олардың қолданылуын түсіндіреді.
2.1.1 Қатені өңдеу
Көптеген ESP-IDF API интерфейстері esp_err_t түрімен анықталған қате кодтарын қайтарады. Қатені өңдеу тәсілдері туралы қосымша ақпаратты Қатені өңдеу бөлімін қараңыз. Қате коды анықтамасы ESP-IDF құрамдастары қайтарған қате кодтарының тізімін қамтиды.
2.1.2 Конфигурация құрылымдары
Маңызды: Конфигурация құрылымдарын дұрыс инициализациялау қолданбаны болашақ ESP-IDF нұсқаларымен үйлесімді етудің маңызды бөлігі болып табылады.
ESP-IDF жүйесіндегі инициализация немесе конфигурациялау функцияларының көпшілігі конфигурация құрылымына көрсеткішті аргумент ретінде қабылдайды. Мысалыampле:
45

2-тарау. API анықтамасы

const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = "менің_таймерім"
}; esp_timer_handle_t my_timemer; esp_err_t err = esp_timer_create(&my_timer_args, &my_таймер);
Инициализация функциялары меңзерді конфигурация құрылымына ешқашан сақтамайды, сондықтан құрылымды стекке бөлу қауіпсіз.
Қолданба құрылымның барлық өрістерін инициализациялауы керек. Төмендегілер дұрыс емес:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Дұрыс емес! .arg және .name өрістері инициализацияланбаған */ esp_timer_create(&my_timer_args, &my_timer);
Көптеген ESP-IDF мысалыamples құрылымды инициализациялау үшін C99 тағайындалған инициализаторларды пайдаланады, өйткені олар өрістердің ішкі жиынын орнатудың және қалған өрістерді нөлдік инициализациялаудың қысқаша жолын қамтамасыз етеді:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Дұрыс, .arg және .name өрістері нөлге тең инициализацияланған */
};
C++ тілі C++20 дейін тағайындалған инициализаторлар синтаксисін қолдамайды, бірақ GCC компиляторы оны кеңейтім ретінде ішінара қолдайды. C++ кодында ESP-IDF API интерфейстерін пайдаланған кезде келесі үлгіні пайдалануды қарастыруға болады:
esp_timer_create_args_t my_timer_args = {}; /* Барлық өрістер нөлдік инициализацияланған */ my_timer_args.callback = &my_timer_callback;

Әдепкі инициализаторлар
Кейбір конфигурация құрылымдары үшін ESP-IDF өрістердің әдепкі мәндерін орнату үшін макростарды қамтамасыз етеді:
httpd_config_t конфигурациясы = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG тағайындалған инициализаторға дейін кеңейтеді.
Енді барлық өрістер әдепкі мәндерге орнатылды. Кез келген өрісті әлі де өзгертуге болады: */ config.server_port = 8081; httpd_handle_t сервері; esp_err_t err = httpd_start(&сервер, &конфигурация);
Әдепкі инициализатор макростарын олар белгілі бір конфигурация құрылымы үшін берілген кезде пайдалану ұсынылады.

2.1.3 Жеке API интерфейстері
Белгілі тақырып fileESP-IDF ішіндегі s қолданбалар емес, тек ESP-IDF бастапқы кодында пайдалануға арналған API интерфейстерін қамтиды. Мұндай тақырып files жиі атауында немесе жолында private немесе esp_private болады. hal сияқты кейбір құрамдастарда тек жеке API интерфейстері бар. Жеке API интерфейстері шағын немесе патч шығарылымдары арасында үйлеспейтін жолмен жойылуы немесе өзгертілуі мүмкін.

2.1.4 Құрамдас бөліктер, мысалыampжобалар
ESP-IDF мысалыamples құрамында ESP-IDF API интерфейстерін пайдалануды көрсететін әртүрлі жобалар бар. Бұрынғы кодтың қайталануын азайту үшінamples, бірнеше жалпы көмекшілер бірнеше экс қолданатын құрамдастардың ішінде анықталғанamples.

Espressif жүйелері

46 Құжат туралы пікір жіберу

v5.0.9 шығарылымы

2-тарау. API анықтамасы
Бұл орналасқан компоненттерді қамтиды

Құжаттар / Ресурстар

Espressif Systems ESP32 Dev Kitc әзірлеу тақтасы [pdf] Пайдаланушы нұсқаулығы
ESP32 Dev Kitc әзірлеу тақтасы, ESP32, Dev Kitc әзірлеу тақтасы, Kitc әзірлеу тақтасы, әзірлеу кеңесі, тақта

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *