ESP32 Dev Kitc þróunarborð

Upplýsingar um vöru

Tæknilýsing

  • Vara: ESP32
  • Forritunarleiðbeiningar: ESP-IDF
  • Útgáfa: v5.0.9
  • Framleiðandi: Espressif Systems
  • Útgáfudagur: 16. maí 2025

Notkunarleiðbeiningar fyrir vöru

1. Byrjaðu

Áður en þú byrjar að nota ESP32 skaltu kynna þér
eftirfarandi:

1.1 Inngangur

Kynntu þér grunnvirkni og möguleika
ESP32.

1.2 Það sem þú þarft

Gakktu úr skugga um að þú hafir nauðsynlegan vélbúnað og hugbúnað:

  • Vélbúnaður: Athugaðu listann yfir nauðsynlegan vélbúnað
    íhlutir.
  • Hugbúnaður: Settu upp nauðsynlegan hugbúnað
    íhlutir.

1.3 Uppsetning

Fylgdu þessum skrefum til að setja upp IDE og setja upp
umhverfi:

  • IDE: Settu upp ráðlagða IDE fyrir
    Forritun á ESP32.
  • Handvirk uppsetning: Setjið upp handvirkt
    umhverfi ef þörf krefur.

1.4 Byggðu fyrsta verkefnið þitt

Búðu til og smíðaðu upphafsverkefnið þitt með ESP32.

1.5 Fjarlægja ESP-IDF

Ef þörf krefur, lærðu hvernig á að fjarlægja ESP-IDF úr tölvunni þinni.
kerfi.

2. Tilvísun í forritaskil

Vísað er til API-skjölunar fyrir nánari upplýsingar um
forritasamskiptareglur, villumeðhöndlun og stillingar
mannvirki.

Algengar spurningar (algengar spurningar)

Sp.: Hvernig get ég leyst algeng vandamál með ESP32?

A: Vísað er til kaflans um bilanaleit í forritunarhandbókinni.
eða heimsækja framleiðandann websíða fyrir stuðningsúrræði.

Sp.: Get ég notað ESP-IDF með öðrum örstýringum?

A: ESP-IDF er sérstaklega hannað fyrir ESP32, en þú gætir fundið
samhæfni við aðra Espressif örstýringar.

ESP32
ESP-IDF forritunarleiðbeiningar
Útgáfa v5.0.9 Espressif Systems 16. maí 2025

Efnisyfirlit

Efnisyfirlit

i

1 Byrjaðu

3

1.1 Inngangur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Það sem þú þarft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Vélbúnaður . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Hugbúnaður . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3 Uppsetning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

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

1.3.2 Handvirk uppsetning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Byggðu þitt fyrsta verkefni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1.5 Fjarlægja ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2 Tilvísun í forritaskil

45

2.1 API-samningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.1 Villumeðhöndlun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.2 Stillingarbyggingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.1.3 Einkaviðmót (API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.4 Íhlutir í dæmiampverkefni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1.5 Stöðugleiki API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.2 Umsóknarreglur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.2.1 ASIO tengi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

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

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

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

2.2.5 ESP HTTP viðskiptavinur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.2.6 Staðbundin stjórnun ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

2.2.7 ESP raðtengdur þrælatengi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

2.2.8 ESP x509 vottorðspakki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

2.2.9 HTTP-þjónn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

2.2.10 HTTPS-þjónn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

2.2.11 ICMP bergmál . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

2.2.12 mDNS þjónusta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

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

2.2.14 IP netlag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

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

2.3.1 Algengt Bluetooth® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

2.3.2 Bluetooth® lágorka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

2.3.3 Bluetooth® Klassískt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

2.3.4 Stýring og HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

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

2.3.6 NimBLE-byggð hýsingar-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767

2.4 Tilvísun í villukóða . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769

2.5 Netforritaskil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776

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

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

2.5.3 Þráður . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

i

2.5.4 ESP-NETIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP netlag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Forritslag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Jaðartæki API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Rekstrarstjóri fyrir breyti milli hliðrænna og stafrænna eininga (ADC) með einskiptisstillingu. . . . . . . . . . . . . . . . . 977 2.6.2 Rekstrarstjóri fyrir samfelldan stillingu fyrir hliðrænan í stafrænan breyti (ADC). . . . . . . . . . . . . . . 986 2.6.3 Kvörðunarrekill fyrir hliðrænan í stafrænan breyti (ADC). . . . . . . . . . . . . . . . . . . 993 2.6.4 Klukkutré. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Stafrænn í hliðrænan breyti (DAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO og RTC GPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Almennur tímamælir (GPTimer). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Samþætt rafrás (I2C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Hljóð milli IC-eininga (I2S). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD-skjár. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 LED-stýring (LEDC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Púlsbreiddarstillir fyrir mótorstýringu (MCPWM). . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Púlsmælir (PCNT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Fjarstýringarsenditæki (RMT). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 Kröfur um uppdrátt í SD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC hýsingarbílstjóri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI hýsingarbílstjóri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO-kortsþjónn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta mótun (SDM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI aðalrekill. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI þræladrif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Öruggt element). . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Snertiskynjari. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Tvívíra bílaviðmót (TWAI). . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Alhliða ósamstilltur móttakari/sendandi (UART). . . . . . . . . . . . . . . . . . 1317 2.7 Verkefnisstillingar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Inngangur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Stillingarvalmynd verkefnis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Notkun sdkconfig.defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Sniðreglur Kconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Afturvirk samhæfni Kconfig valkosta. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Tilvísun í stillingarvalkosti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Úthlutunar-API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Samskiptareglur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Sameinuð úthlutun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Úthlutun þráðlauss nets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 Geymslu-API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileKerfisstuðningur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Framleiðslugagn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Geymslusafn án rokgjarnra gagna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS skiptingarframleiðandi gagnsemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC rekill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . 1744 2.9.7 SPIFFS Filekerfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Raunverulegt fileKerfisíhlutur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Slitjöfnun API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 Kerfis API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Myndsnið forrits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Rakning á forritastigi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Kallfall með ytri stafla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Flísútgáfa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Stjórnborð . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Villukóðar og hjálparaðgerðir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii

2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Atburðarlykkjubókasafn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Yfirview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Viðbótareiginleikar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Úthlutun hrúguminnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Kembiforritun hrúguminnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Hágæða tímastillir (ESP tímastillir) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 Innri og óstöðug forritaskil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Kall milli örgjörva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Úthlutun truflana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Skráningarbókasafn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 Ýmis kerfis-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Uppfærslur í lofti (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Afkastamælir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Orkustjórnun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 Stuðningur við POSIX þræði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Myndun handahófskenndra talna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Svefnhamir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC getu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Kerfistími . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 Himem úthlutunarforritaskil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 Forritun ULP meðvinnsluforrita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Varðhundar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161

3 Vélbúnaður tilvísun

2167

3.1 Samanburður á örgjörvaröðum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167

3.1.1 Tengd skjöl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170

4 API leiðbeiningar

2171

4.1 Rakningarbókasafn á forritastigi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.1 Lokiðview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.2 Virknihamir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171

4.1.3 Stillingarvalkostir og ósjálfstæði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2172

4.1.4 Hvernig á að nota þetta bókasafn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173

4.2 Ræsingarferli forrits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181

4.2.1 Fyrsta stage ræsiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.2 önnur stage ræsiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182

4.2.3 Ræsing forrits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183

4.3 Bluetooth® Klassískt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.3.1 Lokiðview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184

4.4 Bluetooth® lágorka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.1 Lokiðview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186

4.4.2 Byrja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191

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

4.5 Ræsiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284

4.5.1 Samhæfni við ræsiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.2 Logstig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285

4.5.3 Endurstilling á verksmiðjustillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.4 Ræsa úr prófunarhugbúnaði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286

4.5.5 Afturköllun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.6 Varðhundur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.7 Stærð ræsiforrits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.8 Hraðræsing úr djúpum svefni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.5.9 Sérsniðinn ræsiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287

4.6 Byggingarkerfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.1 Lokiðview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288

4.6.2 Notkun byggingarkerfisins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289

iii

4.6.3 DæmiampVerkefnið . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 CMakeLists verkefnisins File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Íhlutir CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Stillingar íhluta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Skilgreiningar forvinnslueininga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Kröfur um íhluti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Yfirskrifa hluta verkefnisins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Íhlutir sem eingöngu eru stilltir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Villuleit í CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Dæmiample Component CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Sérsniðnar sjálfgefnar sdkconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash-færibreytur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Að smíða ræsistjórann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Að skrifa hreina CMake íhluti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Að nota CMake verkefni frá þriðja aðila með íhlutum . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Að nota forsmíðaðar bókasafnsbókasöfn með íhlutum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Notkun ESP-IDF í sérsniðnum CMake verkefnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake byggingarkerfisforritaskil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Globbandi og stigvaxandi smíðar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Smíða lýsigögn kerfis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Smíða innri kerfisþætti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Flytja úr ESP-IDF GNU Make kerfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Kjarnadump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Stillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Vista kjarnadump á flassskrá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Prentkjarni úr skrá yfir í UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 ROM-föll í bakrekningum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Úrskráning breytilegra eftir þörfum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Keyra espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Vökvunarstubbar í djúpum svefni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Reglur fyrir vökvunarstubba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Útfærsla á stubbi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Hlaða kóða inn í RTC-minni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Hlaða gögnum inn í RTC-minni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Athugun á vakningarstubba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Dæmiample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Villumeðhöndlun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Villukóðar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Að breyta villukóðum í villuboð . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK fjölvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT fjölvi . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR fjölvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR fjölvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE fjölvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE fjölvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 ATHUGA MAKRÓA Dæmiamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Villumeðhöndlunarmynstur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Inngangur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH Hugtök . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Að byggja upp net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Að stjórna neti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Gagnaflutningur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Rásaskipti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv

4.10.8 Afköst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Frekari athugasemdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Meðhöndlun atvika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi, Ethernet og IP atburðir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Möskvaatburðir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Bluetooth atburðir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Alvarlegar villur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Neyðarviðbragðsaðili. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Skráningardump og bakrekning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB-stubbur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 Tímamörk RTC eftirlits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Hugleiðsluvillur gúrúa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Aðrar banvænar villur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Flash-dulkóðun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Inngangur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Viðeigandi rafbræðslur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Flash-dulkóðunarferli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Stillingar fyrir Flash-dulkóðun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Möguleg bilun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 Staða ESP32 Flash dulkóðunar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Að lesa og skrifa gögn í dulkóðuðu flasskorti. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Uppfærsla á dulkóðuðu Flash-korti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Að slökkva á Flash-dulkóðun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Lykilatriði varðandi Flash-dulkóðun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Takmarkanir á Flash-dulkóðun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash-dulkóðun og örugg ræsing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Ítarlegri eiginleikar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Tæknilegar upplýsingar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Vélbúnaðarútdráttur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Arkitektúr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (lágstigs) lag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Vélbúnaðarabstraktionslag). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Hástigs truflanir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Truflunarstig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Athugasemdir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Villuleit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Inngangur . ... . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Að velja JTAG Millistykki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Uppsetning OpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Stilling ESP32 Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Ræsa kembiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Kembiforritun t.d.amples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Að byggja OpenOCD út frá uppruna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Ráð og sérkenni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Tengd skjöl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Tengillskriftamyndun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Flýtiræsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Innri þættir í myndun tengilskrifta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 Studd forritaskil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets forritaskil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS verkefni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 stuðningur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip sérsniðnar breytingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v

4.18.7 Afkastahagræðing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Minnisgerðir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (gagnavinnsluminni) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (leiðbeiningavinnsluminni) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (kóði keyrður úr flasslykli) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (gögn geymd í flassminni) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Hægt minni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC HRAÐMINNI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Kröfur um DMA-hæfni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA-biðminni í staflanum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Stillingar OpenThread stafla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Hvernig á að skrifa OpenThread forrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 OpenThread landamæraleiðin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Skiptingartöflur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Innbyggðar skiptingartöflur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Að búa til sérsniðnar töflur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Búa til tvíundaskiptatöflu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Stærðarskiptaeftirlit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Upphitun skiptingartöflunnar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Skiptingartól (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Afköst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Hvernig á að hámarka afköst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Leiðbeiningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Hluta kvörðun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Full kvörðun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Engin kvörðun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 PHY upphafsgögn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API tilvísun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Örugg ræsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Bakgrunnur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Örugg ræsingarferli yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Lyklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Stærð ræsiforrits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Hvernig á að virkja örugga ræsingu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Endurnýjanlegur hugbúnaðarræsiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Búa til undirritunarlykil fyrir örugga ræsingu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Fjarstýrð undirritun mynda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Bestu starfsvenjur við örugga ræsingu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Tæknilegar upplýsingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Örugg ræsing og flassdulkóðun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Staðfesting undirritaðs forrits án öruggrar ræsingar með vélbúnaði . . . . . . . . . . . . . . . . . . . . . 2478 4.24.13 Ítarlegir eiginleikar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Örugg ræsing útgáfa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Bakgrunnur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Ítarlegir eiginleikartages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Örugg ræsingarferli V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Snið undirskriftarblokkar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Örugg fylling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Staðfesting undirskriftarblokkar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Staðfesting myndar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Stærð ræsiforrits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 Notkun eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Hvernig á að virkja örugga ræsingu útgáfu 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Takmarkanir eftir að örugg ræsing er virkjuð . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Búa til undirritunarlykil fyrir örugga ræsingu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi

4.25.13 Fjarundirritun mynda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Bestu starfsvenjur við örugga ræsingu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Tæknilegar upplýsingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Örugg ræsing og flassdulkóðun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Staðfesting undirritaðs forrits án öruggrar ræsingar með vélbúnaði . . . . . . . . . . . . . . . . . . . . . 2484 4.25.18 Ítarlegir eiginleikar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Stuðningur við utanaðkomandi vinnsluminni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Inngangur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Vélbúnaður . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Stilling ytra vinnsluminni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Takmarkanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Mistókst að frumstilla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Flísútgáfur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Staðbundin geymsla þráða . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 Staðall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF viðmót – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker mynd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows uppsetningarforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF íhlutastjóri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Niðurhalanleg verkfæri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Einingarprófanir í ESP32 . ... 2512 4.29.2 Prófunartilvik fyrir mörg tæki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Fjöl-tage Prófunartilvik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Prófanir fyrir mismunandi skotmörk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Prófunarforrit fyrir byggingareiningar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Keyrsla einingaprófana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Tímasetningarkóði með skyndiminnisjöfnuðum tímamæli. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Herkænska. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Einingaprófun á Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Prófanir á innbyggðum hugbúnaði. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 IDF einingaprófanir á Linux vél. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi bílstjóri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi eiginleikalisti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Hvernig á að skrifa Wi-Fi forrit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 Villukóði í ESP32 Wi-Fi API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 Upphafsstilling færibreytu fyrir ESP32 Wi-Fi API. . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi forritunarlíkan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 Lýsing á ESP32 Wi-Fi atburði. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 Almennt atburðarás fyrir ESP32 Wi-Fi stöð. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi aðgangspunktur almennt atburðarás. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi skönnun. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 Tengingarsviðsmynd fyrir ESP32 Wi-Fi stöð. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi stöð tengist þegar margar aðgangspunktar finnast. . . . . . . . . . . . . 2543 4.31.12 Endurtenging Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Tímamörk Wi-Fi-beacon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi stillingar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy Connect™ (DPP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Stjórnun þráðlausra neta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Mæling á útvarpsauðlindum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Hröð BSS-umskipti. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi orkusparnaðarstilling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi afköst. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 Pakkasending . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi þefjarstilling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Margar Wi-Fi loftnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Upplýsingar um stöðu Wi-Fi rásar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Upplýsingar um stöðu Wi-Fi rásar Stilla . . . . . . . . . . . . . . . . . . . . . . . . . . 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 brot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS skráning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Notkun Wi-Fi biðminni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Hvernig á að bæta afköst Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Stillingar Wi-Fi valmyndar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Úrræðaleit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi öryggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi öryggiseiginleikar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Verndir stjórnunarrammar (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi fyrirtæki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Persónulegt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF samhliða tilvist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Yfirview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Studd sambúðarsviðsmynd fyrir ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Sambúðarkerfi og stefna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Hvernig á að nota samhliða eiginleikann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Endurtakanlegar byggingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Inngangur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Ástæður fyrir óendurtakanlegum smíðum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Virkja endurtakanlegar smíðar í ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Hvernig endurtakanlegar smíðar eru náð . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Endurtakanlegar byggingar og kembiforrit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Þættir sem hafa enn áhrif á endurtakanlegar byggingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Notendahandbók fyrir lágorkustillingu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578

5 flutningsleiðbeiningar

2579

5.1 Leiðbeiningar um flutning ESP-IDF 5.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

5.1.1 Flutningur úr 4.4 í 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579

6 bókasöfn og rammar

2611

6.1 Skýjarammar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Tjáningarrammar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.1 Þróunarrammi fyrir Espressif hljóð . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

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

6.2.3 Espressif DSP bókasafn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612

6.2.4 ESP-WIFI-MESH þróunarrammi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

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

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

6.2.7 ESP-IoT-lausn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

6.2.8 ESP-samskiptareglur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613

viii

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

7 framlagsleiðbeiningar

2615

7.1 Hvernig á að leggja sitt af mörkum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.2 Áður en framlag er lagt fram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.3 Ferli til að draga beiðnir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615

7.4 Lagalegur hluti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5 Tengd skjöl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.1 Stílhandbók fyrir Espressif IoT þróunarramma . . . . . . . . . . . . . . . . . . . . . . . 2616

7.5.2 Setja upp forsamþykktar krók fyrir ESP-IDF verkefnið . . . . . . . . . . . . . . . . . . . . . . . . . . 2623

7.5.3 Skjalfesting kóða . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624

7.5.4 Að búa til dæmiamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629

7.5.5 Sniðmát fyrir API-skjöl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630

7.5.6 Samningur framlagsaðila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632

7.5.7 Leiðarvísir um höfundarréttarhaus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634

7.5.8 ESP-IDF prófanir með Pytest handbók . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635

8 ESP-IDF útgáfur

2645

8.1 Útgáfur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.2 Hvaða útgáfu ætti ég að byrja á? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.3 Útgáfukerfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645

8.4 Stuðningstímabil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646

8.5 Athugun á núverandi útgáfu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647

8.6 Git vinnuflæði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7 Uppfærsla á ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648

8.7.1 Uppfærsla í stöðuga útgáfu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.2 Uppfærsla í forútgáfu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.3 Uppfæra í aðalgrein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649

8.7.4 Uppfæra í útgáfugrein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650

9 Auðlindir

2651

9.1 Pallur IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.1 Hvað er PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.2 Uppsetning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651

9.1.3 Stillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.4 Kennsluefni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.5 Verkefni Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.1.6 Næstu skref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

9.2 Gagnlegir tenglar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652

10 Höfundarréttur og leyfi

2653

10.1 Höfundarréttur hugbúnaðar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.1 Íhlutir vélbúnaðarins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653

10.1.2 Skjölun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.2 Höfundarréttur frumkóða ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654

10.3 Xtensa libhal MIT leyfi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.4 TinyBasic Plus MIT leyfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

10.5 TJpgDec leyfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655

11 Um

2657

12 Skipta á milli tungumála

2659

Vísitala

2661

Vísitala

2661

ix

x

Efnisyfirlit
Þetta eru skjöl fyrir Espressif IoT Development Framework (esp-idf). ESP-IDF er opinbera þróunarramminn fyrir ESP32, ESP32-S og ESP32-C seríurnar af SoC. Þetta skjal lýsir notkun ESP-IDF með ESP32 SoC.

Byrjaðu

API tilvísun

API-leiðbeiningar

Espressif kerfi

1 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Efnisyfirlit

Espressif kerfi

2 Senda inn ábendingar um skjal

Útgáfa v5.0.9

1. kafli
Byrjaðu
Þetta skjal er ætlað að hjálpa þér að setja upp hugbúnaðarþróunarumhverfi fyrir vélbúnaðinn sem byggir á ESP32 örgjörvanum frá Espressif. Eftir það, einfalt dæmiampHér verður sýnt þér hvernig á að nota ESP-IDF (Espressif IoT Development Framework) til að stilla valmyndir og síðan til að smíða og uppfæra vélbúnaðarforrit (firmware) á ESP32 borð.
Athugið: Þetta eru skjöl fyrir stöðuga útgáfu v5.0.9 af ESP-IDF. Aðrar ESP-IDF útgáfur eru einnig fáanlegar.
1.1 Inngangur
ESP32 er kerfi á örgjörva sem samþættir eftirfarandi eiginleika: · Wi-Fi (2.4 GHz band) · Bluetooth · Tvöfaldur afkastamikill Xtensa® 32-bita LX6 örgjörvakjarna · Mjög lágorka meðvinnsluvél · Margfeldi jaðartæki
ESP32, sem er knúið áfram af 40 nm tækni, býður upp á öflugan og mjög samþættan vettvang sem hjálpar til við að uppfylla stöðugar kröfur um skilvirka orkunotkun, samþætta hönnun, öryggi, mikla afköst og áreiðanleika. Espressif býður upp á grunn vélbúnaðar- og hugbúnaðarúrræði til að hjálpa forriturum að koma hugmyndum sínum í framkvæmd með ESP32 seríunni. Hugbúnaðarþróunarrammi Espressif er ætlaður til þróunar á forritum fyrir hlutina í internetinu (IoT) með Wi-Fi, Bluetooth, orkusparnaði og nokkrum öðrum kerfiseiginleikum.
1.2 Það sem þú þarft
1.2.1 Vélbúnaður
· ESP32 borð. · USB snúra – USB A / micro USB B. · Tölva sem keyrir Windows, Linux eða macOS.
Athugið: Sum þróunarborð nota USB Type C tengi eins og er. Gakktu úr skugga um að þú hafir rétta snúruna til að tengja borðið!
Ef þú ert með eitt af opinberu ESP32 þróunarborðunum sem eru talin upp hér að neðan, geturðu smellt á tengilinn til að læra meira um vélbúnaðinn.
3

Kafli 1. Byrjaðu
ESP32-DevKitS(-R)
Þessi notendahandbók veitir upplýsingar um ESP32-DevKitS(-R), blikkandi borð sem byggir á ESP32 og er framleitt af Espressif. ESP32-DevKitS(-R) er samsetning tveggja nafna á borðum: ESP32-DevKitS og ESP32-DevKitS-R. S stendur fyrir gorma (spring) og R stendur fyrir WROVER (WROVER).

ESP32-DevKitS

ESP32-DevKitS-R

Skjalið samanstendur af eftirfarandi meginköflum: · Að byrja: Gefur yfirlit yfirview af ESP32-DevKitS(-R) og uppsetningarleiðbeiningum fyrir vélbúnað/hugbúnað til að byrja. · Tilvísun í vélbúnað: Veitir ítarlegri upplýsingar um ESP32-DevKitS(-R)ns vélbúnað. · Tengd skjöl: Gefur tengla á tengd skjöl.

Að byrja Þessi hluti lýsir því hvernig á að byrja með ESP32-DevKitS(-R). Hann byrjar á nokkrum inngangsköflum um ESP32-DevKitS(-R), síðan veitir kaflinn Hvernig á að uppfæra kort leiðbeiningar um hvernig á að festa einingu á ESP32-DevKitS(-R), undirbúa hana og uppfæra vélbúnaðarhugbúnað á hana.

Yfirview ESP32-DevKitS(-R) er Espressifns blikkborð hannað sérstaklega fyrir ESP32. Það er hægt að nota til að blikka ESP32 einingu án þess að lóða hana við aflgjafann og merkjalínurnar. Með einingu uppsettri er einnig hægt að nota ESP32-DevKitS(-R) sem lítið þróunarborð eins og ESP32-DevKitC.
ESP32-DevKitS og ESP32-DevKitS-R kortin eru aðeins mismunandi hvað varðar uppsetningu fjaðurpinna til að passa við eftirfarandi ESP32 einingar.
· ESP32-Þróunarbúnaður: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB og IPEX) ESP32-WROVER-B (PCB og IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Fyrir upplýsingar um ofangreindar einingar, vinsamlegast vísið til ESP32 seríueininga.

Lýsing á íhlutum

Espressif kerfi

4 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 1: ESP32-DevKitS – framhlið

Espressif kerfi

Mynd 2: ESP32-DevKitS-R – framhlið 5
Sendu athugasemdir um skjala

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Lykilíhlutir fjaðurpinnar 2.54 mm kvenkyns hausar
USB-til-UART brú LDO Micro-USB tengi/Micro USB tengi EN hnappur Ræsihnappur
Kveikt á LED

Lýsing Smelltu einingunni inn. Pinnarnir passa í kvenkyns göt einingarinnar. Þessir kvenkyns hausar eru tengdir við pinna einingarinnar sem er festur á þessu borði. Fyrir lýsingu á kvenkyns hausum, vinsamlegast vísaðu til Hausblokka. Eins-flís USB til UART brú býður upp á flutningshraða allt að 3 Mbps.
5V til 3.3V lágt útfallsrúmmáltage-spennustillir (LDO).
USB tengi. Aflgjafi fyrir borðið sem og samskiptatengi milli tölvu og borðs.
Endurstilla takki.
Niðurhalshnappur. Þegar haldið er inni Boot og síðan ýtt á EN hefst niðurhalsstilling fyrir vélbúnað í gegnum raðtengið.
Kviknar þegar USB eða aflgjafi er tengdur við borðið.

Hvernig á að flasha kort Áður en þú ræsir ESP32-DevKitS(-R) skaltu ganga úr skugga um að það sé í góðu ástandi og án augljósra merkja um skemmdir.
Nauðsynlegur vélbúnaður · ESP32 eining að eigin vali · USB 2.0 snúra (Staðall-A til Micro-B) · Tölva sem keyrir Windows, Linux eða macOS
Uppsetning vélbúnaðar Vinsamlegast festið einingu að eigin vali á ESP32-DevKitS(-R) samkvæmt eftirfarandi skrefum:
· Settu eininguna varlega á ESP32-DevKitS(-R) borðið. Gakktu úr skugga um að hornlaga götin á einingunni séu í takt við fjöðurpinnana á borðinu.
· Ýttu einingunni niður á borðið þar til hún smellur. · Athugaðu hvort allir fjöðurpinnar séu settir í krossgötin. Ef einhverjir fjöðurpinnar eru rangstilltir,
setjið þær í kastaðraðar holur með pinsetti.
Uppsetning hugbúnaðar
Æskileg aðferð Þróunarramminn ESP-IDF býður upp á æskilega leið til að flassa tvíundarskrár yfir á ESP32-DevKitS(-R). Vinsamlegast haldið áfram í Byrja, þar sem kafli Uppsetning mun hjálpa þér fljótt að setja upp þróunarumhverfið og síðan flassa forritsuppsetningarforrit.ample yfir á ESP32-DevKitS(-R) þinn.
Önnur aðferð Windows-notendur geta einnig flassað tvöfaldar skrár með Flash Download Tool. Sæktu það bara, afþjappaðu því og fylgdu leiðbeiningunum í doc möppunni.
Athugið: 1. Til að blikka tvíundarskrá files, ESP32 ætti að vera stillt á niðurhalsstillingu fyrir vélbúnað. Þetta er hægt að gera annað hvort með sjálfvirkri flassforritinu eða með því að halda inni ræsihnappinum og ýta á EN hnappinn. 2. Eftir að hafa flassað tvíundarskrána files, endurræsir Flash Download Tool ESP32 eininguna þína og ræsir sjálfkrafa uppfærða forritið.

Stærð borðs, innihald og umbúðir

Espressif kerfi

6 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu Mynd 3: Stærð ESP32-DevKitS borðsins – aftan á

Espressif kerfi

Mynd 4: Stærð ESP32-DevKitS-R borðs – aftan á 7
Sendu athugasemdir um skjala

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Smásölupantanir Ef þú pantar nokkrar sampÞar að auki kemur hver ESP32-DevKitS(-R) í einstökum pakka, annað hvort í poka með rafstöðueiginleikum eða í hvaða umbúðum sem er, allt eftir söluaðila. Fyrir smásölupantanir, vinsamlegast farið á https://www.espressif.com/en/contact-us/get-samples.
Heildsölupantanir Ef þú pantar í stórum skömmtum koma borðin í stórum pappaöskjum. Fyrir heildsölupantanir, vinsamlegast farðu á https://www.espressif.com/en/contact-us/sales-questions.
Tilvísun í vélbúnað
Blokkrit Blokkritið hér að neðan sýnir íhluti ESP32-DevKitS(-R) og tengingar þeirra.

Mynd 5: ESP32-DevKitS(-R) (smelltu til að stækka)
Valkostir fyrir aflgjafa Það eru þrjár gagnkvæmt útilokandi leiðir til að veita borðinu afl: · Micro USB tengi, sjálfgefinn aflgjafi · 5V og GND tengi · 3V3 og GND tengi
Mælt er með að nota fyrsta valkostinn: ör-USB tengi.

Espressif kerfi

.

Merkimiði

L1 3V3 VDD 3V3

L2 EN CHIP_PU

L3 VP SENSOR_VP

L4 VN SENSOR_VN

L5 34

GPIO34

L6 35

GPIO35

L7 32

GPIO32

L8 33

GPIO33

heldur áfram á næstu síðu

8 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Tafla 1 framhald frá fyrri síðu

.

Merkimiði

L9 25

GPIO25

L10 26

GPIO26

L11 27

GPIO27

L12 14

GPIO14

L13 12

GPIO12

L14 GND GND

L15 13

GPIO13

L16 D2 SD_GATA2

L17 D3 SD_GATA3

L18 CMD SD_CMD

L19 5V

Ytri 5V

R1 GND GND

R2 23

GPIO23

R3 22

GPIO22

R4 TX U0TXD

R5 RX U0RXD

R6 21

GPIO21

R7 GND GND

R8 19

GPIO19

R9 18

GPIO18

R10 5

GPIO5

R11 17

GPIO17

R12 16

GPIO16

R13 4

GPIO4

R14 0

GPIO0

R15 2

GPIO2

R16 15

GPIO15

R17 D1 SD_GÖGN1

R18 D0 SD_GÖGN0

R19 CLK SD_CLK

Hausblokkir Fyrir mynd af hausblokkum, vinsamlegast vísið til lýsingar á íhlutum.

Tengd skjöl
· ESP32-DevKitS(-R) skýringarmyndir (PDF) · ESP32 gagnablað (PDF) · ESP32-WROOM-32 gagnablað (PDF) · ESP32-WROOM-32D og ESP32-WROOM-32U gagnablað (PDF) · ESP32-SOLO-1 gagnablað (PDF) · ESP32-WROVER gagnablað (PDF) · ESP32-WROVER-B gagnablað (PDF) · ESP vöruval

ESP32-DevKitM-1

Þessi notendahandbók mun hjálpa þér að byrja með ESP32-DevKitM-1 og mun einnig veita ítarlegri upplýsingar.
ESP32-DevKitM-1 er þróunarborð byggt á ESP32-MINI-1(1U) frá Espressif. Flestir I/O pinnarnir eru brotnir út í pinnahausana báðum megin til að auðvelda tengingu. Notendur geta annað hvort tengt jaðartæki með tengivírum eða fest ESP32-DevKitM-1 á breadboard.

Espressif kerfi

9 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

ESP32-DevKitM-1 – að framan

ESP32-DevKitM-1 – ísómetrísk

Skjalið samanstendur af eftirfarandi meginköflum: · Að byrja: Gefur yfirlit yfirview af ESP32-DevKitM-1 og uppsetningarleiðbeiningum fyrir vélbúnað/hugbúnað til að byrja. · Tilvísun í vélbúnað: Veitir ítarlegri upplýsingar um ESP32-DevKitM-1ns vélbúnaðinn. · Tengd skjöl: Gefur tengla á tengd skjöl.

Að byrja Þessi hluti lýsir því hvernig á að byrja með ESP32-DevKitM-1. Hann byrjar á nokkrum inngangsköflum um ESP32-DevKitM-1, síðan veitir kaflinn „Hefja forritaþróun“ leiðbeiningar um hvernig á að setja upp vélbúnaðinn í upphafi og hvernig á að uppfæra vélbúnaðinn á ESP32-DevKitM-1.

Yfirview Þetta er lítið og þægilegt þróunarborð sem inniheldur:
· ESP32-MINI-1, eða ESP32-MINI-1U eining · USB-í-raðtengi forritunarviðmót sem veitir einnig aflgjafa fyrir borðið · pinnahausar · hnappar til að endurstilla og virkja niðurhalsstillingu fyrir vélbúnað · nokkrir aðrir íhlutir

Innihald og umbúðir

Smásölupantanir Ef þú pantar nokkrar sampÞar að auki kemur hver ESP32-DevKitM-1 í einstökum pakka, annað hvort í rafstöðueiginleikapoka eða í hvaða umbúðum sem er, allt eftir söluaðila.
Fyrir smásölupantanir, vinsamlegast farið á https://www.espressif.com/en/contact-us/get-samples.

Heildsölupantanir Ef þú pantar í stórum skömmtum koma borðin í stórum pappaöskjum. Fyrir heildsölupantanir, vinsamlegast farðu á https://www.espressif.com/en/contact-us/sales-questions.

Lýsing á íhlutum Eftirfarandi mynd og tafla hér að neðan lýsa helstu íhlutum, viðmótum og stýringum ESP32-DevKitM-1 borðsins. Við tökum borðið með ESP32-MINI-1 einingu sem dæmi.ample í eftirfarandi köflum.

Espressif kerfi

10 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 6: ESP32-DevKitM-1 – framhlið

Lykilþáttur Innbyggður eining
5 V til 3.3 V LDO ræsihnappur
Endurstillingarhnappur Micro-USB tengi
USB-til-UART brú 3.3 V kveikt LED ljós
I/O tengi

Lýsing
ESP32-MINI-1 eining eða ESP32-MINI-1U eining. ESP32-MINI-1 er með innbyggðri PCB loftneti. ESP32-MINI-1U er með utanaðkomandi loftnetstengi. Báðar einingarnar eru með 4 MB flash-minni. Nánari upplýsingar er að finna í gagnablöðum ESP32-MINI-1 og ESP32-MINI-1U.
Rafmagnsstillir breytir 5 V í 3.3 V.
Niðurhalshnappur. Með því að halda inni Boot og ýta síðan á Reset hefst niðurhalsstilling fyrir vélbúnað í gegnum raðtengið.
Endurstilla hnappur
USB tengi. Aflgjafi fyrir borð sem og samskiptaviðmót milli tölvu og ESP32 flís.
Einn USB-UART brúarflís veitir flutningshraða allt að 3 Mbps.
Kviknar þegar USB-tengið er tengt við borðið. Nánari upplýsingar er að finna í skýringarmyndum í tengdum skjölum. Allir tiltækir GPIO-pinnar (nema SPI-bussinn fyrir flass) eru tengdir við pinnahausana á borðinu. Notendur geta forritað ESP32-flísina til að virkja margar aðgerðir.

Hefja forritaþróun Áður en þú ræsir ESP32-DevKitM-1 skaltu ganga úr skugga um að það sé í góðu ástandi og án augljósra merkja um skemmdir.
Nauðsynlegur vélbúnaður · ESP32-DevKitM-1 · USB 2.0 snúra (Staðall-A til Micro-B) · Tölva sem keyrir Windows, Linux eða macOS
Uppsetning hugbúnaðar. Vinsamlegast haldið áfram í Byrja, þar sem kafli Uppsetning mun hjálpa ykkur fljótt að setja upp þróunarumhverfið og síðan flasha forrit, til dæmis.ample á ESP32-DevKitM-1.

Espressif kerfi

11 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Athugið: ESP32-DevKitM-1 borð sem framleidd voru fyrir 2. desember 2021 eru með einkjarna einingu uppsetta. Til að staðfesta hvaða einingu þú ert með skaltu athuga upplýsingar um einingarmerkingar í PCN-2021-021. Ef borðið þitt er með einkjarna einingu uppsetta skaltu virkja einkjarna stillingu (CONFIG_FREERTOS_UNICORE) í stillingavalmyndinni áður en þú blikkar upp forritunum þínum.
Tilvísunarblokkrit fyrir vélbúnað. Blokkritið hér að neðan sýnir íhluti ESP32-DevKitM-1 og tengingar þeirra.

Mynd 7: ESP32-DevKitM-1
Val á aflgjafa Það eru þrjár gagnkvæmt útilokandi leiðir til að veita borðinu afl: · Micro USB tengi, sjálfgefinn aflgjafi · 5V og GND tengi · 3V3 og GND tengi
Viðvörun: · Rafmagnsgjafinn verður að vera með einum af valkostunum hér að ofan, annars getur kortið og/eða straumgjafinn skemmst. · Mælt er með straumgjafa í gegnum micro USB tengi.

Lýsingar á pinnum Taflan hér að neðan sýnir heiti og virkni pinna á báðum hliðum kortsins. Fyrir stillingar á jaðarpinnum, vinsamlegast vísið til gagnablaðs ESP32.

Nei.

Nafn

Tegund

1

GND

P

2

3V3

P

Virkni Jarðtenging 3.3 V aflgjafi

heldur áfram á næstu síðu

Espressif kerfi

12 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Tafla 2 framhald frá fyrri síðu

Nei.

Nafn

Tegund

Virka

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

Endurstilla; Hár: virkja; Low: slekkur á sér

8

I34

I

GPIO34, ADC1_CH6, RTC_GPIO4

9

I35

I

GPIO35, ADC1_CH7, RTC_GPIO5

10

IO32

I/O

GPIO32, XTAL_32K_P (32.768 kHz kristalsollisinntak),

ADC1_CH4, TOUCH9, RTC_GPIO9

11

IO33

I/O

GPIO33, XTAL_32K_N (32.768 kHz kristalsveifluúttak),

ADC1_CH5, TOUCH8, RTC_GPIO8

12

IO25

I/O

GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0

13

IO26

I/O

GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

14

IO27

I/O

GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV

15

IO14

I/O

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

HS2_CLK, SD_CLK, EMAC_TXD2

16

5V

P

5 V aflgjafi

17

IO12

I/O

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

HS2_DATA2, SD_DATA2, EMAC_TXD3

18

IO13

I/O

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

HS2_DATA3, SD_DATA3, EMAC_RX_ER

19

IO15

I/O

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

HS2_CMD, SD_CMD, EMAC_RXD3

20

IO2

I/O

GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP,

HS2_DATA0, SD_DATA0

21

IO0

I/O

GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,

EMAC_TX_CLK

22

IO4

I/O

GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,

HS2_DATA1, SD_DATA1, EMAC_TX_ER

23

IO9

I/O

GPIO9, HS1_DATA2, U1RXD, SD_DATA2

24

IO10

I/O

GPIO10, HS1_DATA3, U1TXD, SD_DATA3

25

IO5

I/O

GPIO5, HS1_DATA6, VSPICS0, EMAC_RX_CLK

26

IO18

I/O

GPIO18, HS1_DATA7, VSPICLK

27

IO23

I/O

GPIO23, HS1_STROBE, VSPID

28

IO19

I/O

GPIO19, VSPIQ, U0CTS, EMAC_TXD0

29

IO22

I/O

GPIO22, VSPIWP, U0RTS, EMAC_TXD1

30

IO21

I/O

GPIO21, VSPIHD, EMAC_TX_EN

31

TXD0

I/O

GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2

32

RXD0

I/O

GPIO3, U0RXD, CLK_OUT2

Upplýsingar um vélbúnaðarútgáfu Engar fyrri útgáfur tiltækar.
Tengd skjöl
· Gagnablað fyrir ESP32-MINI-1 og ESP32-MINI-1U (PDF) · Skýringarmyndir fyrir ESP32-DevKitM-1 (PDF) · Útlit fyrir ESP32-DevKitM-1 rafrás (PDF) · Útlit fyrir ESP32-DevKitM-1 (DXF) – Þú getur view það með Autodesk Viewá netinu · ESP32 gagnablað (PDF) · ESP vöruval
Fyrir aðrar hönnunarupplýsingar fyrir töfluna, vinsamlegast hafið samband við okkur á sales@espressif.com.

Espressif kerfi

13 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
1.2.2 Hugbúnaður
Til að byrja að nota ESP-IDF á ESP32 skaltu setja upp eftirfarandi hugbúnað: · Verkfærakeðja til að þýða kóða fyrir ESP32 · Smíða verkfæri – CMake og Ninja til að smíða fullt forrit fyrir ESP32 · ESP-IDF sem inniheldur í raun API (hugbúnaðarsöfn og frumkóða) fyrir ESP32 og forskriftir til að stjórna verkfærakeðjunni

1.3 Uppsetning
Til að setja upp allan nauðsynlegan hugbúnað bjóðum við upp á nokkrar mismunandi leiðir til að auðvelda þetta verkefni. Veldu einn af tiltækum valkostum.
1.3.1 IDE

Athugið: Við mælum eindregið með að ESP-IDF sé sett upp í gegnum uppáhalds IDE kerfið þitt.
· Eclipse viðbót · VSCode viðbót

1.3.2 Handvirk uppsetning
Fyrir handvirka aðferðina, vinsamlegast veldu í samræmi við stýrikerfið þitt.

Espressif kerfi

14 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Hefðbundin uppsetning Toolchain fyrir Windows
Inngangur ESP-IDF krefst þess að nokkur forsendutól séu sett upp svo hægt sé að smíða vélbúnaðar fyrir studda flís. Forsendutólin eru meðal annars Python, Git, krossþýðendur, CMake og Ninja byggingartól. Í þessum kafla ætlum við að nota skipanalínuna, en eftir að ESP-IDF hefur verið sett upp er hægt að nota Eclipse viðbótina eða aðra grafíska IDE með CMake-stuðningi í staðinn. Athugið: Takmarkanir: – Uppsetningarslóð ESP-IDF og ESP-IDF verkfæra má ekki vera lengri en 90 stafir. Of langar uppsetningarslóðir geta leitt til misheppnaðrar smíð. – Uppsetningarslóð Python eða ESP-IDF má ekki innihalda bil eða sviga. – Uppsetningarslóð Python eða ESP-IDF ætti ekki að innihalda sérstafi (ekki ASCII) nema stýrikerfið sé stillt með oUnicode UTF-8p stuðningi. Kerfisstjóri getur virkjað stuðninginn í gegnum Stjórnborð – Breyta dagsetningar-, tíma- eða talnasniði – Stjórnunarflipi – Breyta kerfisstaðsetningu – hakaðu við valkostinn oBeta: Notaðu Unicode UTF-8 fyrir alþjóðlegan tungumálastuðning – Í lagi og endurræstu tölvuna.
Uppsetningarforrit fyrir ESP-IDF verkfæri Auðveldasta leiðin til að setja upp forkröfur ESP-IDFns er að hlaða niður einu af uppsetningarforritunum fyrir ESP-IDF verkfæri.

Niðurhal á Windows uppsetningarforriti
Hver er notkunartilfellið fyrir uppsetningarforrit á netinu og án nettengingar? Uppsetningarforritið á netinu er mjög lítið og gerir kleift að setja upp allar tiltækar útgáfur af ESP-IDF. Uppsetningarforritið mun aðeins hlaða niður nauðsynlegum hugbúnaði, þar á meðal Git fyrir Windows, meðan á uppsetningarferlinu stendur. Uppsetningarforritið geymir niðurhalaða... files í skyndiminni möppunni %userprofile%. espressif
Offline Installer krefst ekki nettengingar. Uppsetningarforritið inniheldur allar nauðsynlegar ósjálfstæðir hugbúnaðarlausnir, þar á meðal Git fyrir Windows.
Uppsetningaríhlutir Uppsetningarforritið setur upp eftirfarandi íhluti:
· Innbyggð Python · Krossþýðendur · OpenOCD · CMake og Ninja smíðatól · ESP-IDF
Uppsetningarforritið leyfir einnig endurnýtingu á núverandi möppu með ESP-IDF. Ráðlagða möppan er %userpro.file%Desktopesp-idf þar sem %userprofile% er heimaskráin þín.

Espressif kerfi

15 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Að ræsa ESP-IDF umhverfið Í lok uppsetningarferlisins geturðu hakað við valkostinn „Keyra ESP-IDF PowerShell umhverfi“ eða „Keyra ESP-IDF skipanalínu (cmd.exe“). Uppsetningarforritið mun ræsa ESP-IDF umhverfið í völdu skipanalínu. Keyra ESP-IDF PowerShell umhverfið:

Mynd 8: Að klára uppsetningarhjálp ESP-IDF verkfæra með því að keyra ESP-IDF PowerShell umhverfið
Keyrðu ESP-IDF skipanalínuna (cmd.exe):
Að nota skipanalínuna Fyrir eftirstandandi skref í upphafi ætlum við að nota Windows skipanalínuna. ESP-IDF Tools Installer býr einnig til flýtileið í Start valmyndinni til að ræsa ESP-IDF skipanalínuna. Þessi flýtileið ræsir skipanalínuna (cmd.exe) og keyrir export.bat forskriftina til að setja upp umhverfisbreyturnar (PATH, IDF_PATH og fleiri). Inni í þessari skipanalínu eru öll uppsett verkfæri tiltæk. Athugið að þessi flýtileið er sértæk fyrir ESP-IDF möppuna sem valin var í ESP-IDF Tools Installer. Ef þú ert með margar ESP-IDF möppur á tölvunni (til dæmis...amptil að vinna með mismunandi útgáfur af ESP-IDF), þá eru tveir möguleikar á að nota þær:
1. Búðu til afrit af flýtileiðinni sem ESP-IDF Tools Installer bjó til og breyttu vinnuskrá nýju flýtileiðarinnar í ESP-IDF möppuna sem þú vilt nota.
2. Einnig er hægt að keyra cmd.exe, skipta yfir í ESP-IDF möppuna sem þú vilt nota og keyra export.bat. Athugið að ólíkt fyrri valkostinum krefst þessi leið þess að Python og Git séu til staðar í PATH. Ef þú færð villur sem tengjast því að Python eða Git finnst ekki skaltu nota fyrsta valkostinn.
Fyrstu skrefin í ESP-IDF Nú þegar öllum kröfum er fullnægt mun næsta efni leiðbeina þér um hvernig á að hefja fyrsta verkefnið þitt.

Espressif kerfi

16 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu Mynd 9: ESP-IDF PowerShell

Mynd 10: Að klára uppsetningarhjálp ESP-IDF verkfæra með því að keyra ESP-IDF skipanalínuna (cmd.exe)

Espressif kerfi

17 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 11: ESP-IDF skipanalína

Espressif kerfi

18 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Þessi handbók mun hjálpa þér fyrstu skrefin í notkun ESP-IDF. Fylgdu þessari handbók til að hefja nýtt verkefni á ESP32 og smíða, flasha og fylgjast með úttaki tækisins. Athugið: Ef þú hefur ekki enn sett upp ESP-IDF skaltu fara í Uppsetningu og fylgja leiðbeiningunum til að fá allan hugbúnaðinn sem þarf til að nota þessa handbók.

Byrjaðu verkefni Nú ertu tilbúinn/tilbúin að undirbúa forritið þitt fyrir ESP32. Þú getur byrjað með verkefninu getstarted/hello_world úr dæmi.amples skrá í ESP-IDF.
Mikilvægt: ESP-IDF byggingarkerfið styður ekki bil í slóðum að ESP-IDF eða verkefnum.
Afritaðu verkefnið get-started/hello_world í ~/esp möppuna: cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhalló_heimurhalló_heimur
Athugið: Það er úrval af t.d.ample verkefni í fyrrvamples skrá í ESP-IDF. Þú getur afritað hvaða verkefni sem er á sama hátt og sýnt er hér að ofan og keyrt það. Einnig er hægt að byggja tdampfærslurnar á sínum stað án þess að afrita þær fyrst.

Tengdu tækið þitt Tengdu nú ESP32 borðið þitt við tölvuna og athugaðu undir hvaða raðtengi borðið sést. Nöfn raðtengja byrja á COM í Windows. Ef þú ert ekki viss um hvernig á að athuga nafn raðtengisins, vinsamlegast skoðaðu Koma á raðtengingu við ESP32 fyrir frekari upplýsingar.
Athugið: Hafðu gáttarheitið við höndina þar sem þú þarft það í næstu skrefum.

Stilltu verkefnið þitt. Farðu í hello_world möppuna þína, stilltu ESP32 sem markmið og keyrðu stillingarforritið fyrir verkefnið, menuconfig.
Windows geisladiskur %userprofile%esphello_world idf.py setja-markmið esp32 idf.py valmyndarstilling
Eftir að þú hefur opnað nýtt verkefni ættirðu fyrst að stilla markmiðið með idf.py set-target esp32. Athugið að fyrirliggjandi byggingar og stillingar í verkefninu, ef einhverjar eru, verða hreinsaðar og frumstilltar í þessu ferli. Hægt er að vista markmiðið í umhverfisbreytunni til að sleppa þessu skrefi yfirleitt. Sjá Veldu markmiðsflögu: set-target fyrir frekari upplýsingar. Ef fyrri skref hafa verið framkvæmd rétt birtist eftirfarandi valmynd: Þú ert að nota þessa valmynd til að setja upp verkefnissértækar breytur, t.d. nafn og lykilorð Wi-Fi nets, hraða örgjörvans o.s.frv. Uppsetning verkefnisins með menuconfig má sleppa fyrir ohello_wordp, þar sem þetta dæmi...ample keyrir með sjálfgefnum stillingum.
Athugið: Ef þú notar ESP32-DevKitC borð með ESP32-SOLO-1 einingunni, eða ESP32-DevKitM-1 borð með ESP32-MIN1-1(1U) einingunni, vinsamlegast virkjaðu einkjarna stillingu (CONFIG_FREERTOS_UNICORE) í stillingarvalmyndinni áður en þú blikkar t.d.amples.

Espressif kerfi

19 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 12: Verkefnisstillingar – Heimagluggi
Athugið: Litirnir á valmyndinni gætu verið mismunandi í skipanalínunni þinni. Þú getur breytt útliti hennar með valkostinum –style. Vinsamlegast keyrðu idf.py menuconfig –help fyrir frekari upplýsingar.
Ef þú ert að nota eitt af þeim þróunarborðum sem eru studd geturðu hraðað þróuninni með því að nota Board Support Package. Sjá frekari upplýsingar í Frekari ráð.
Byggðu verkefnið Byggðu verkefnið með því að keyra:
idf.py smíð
Þessi skipun mun setja saman forritið og alla ESP-IDF íhluti, síðan mun hún búa til ræsiforritið, skiptingartöfluna og tvíþætti forritsins.
$ idf.py build Keyrir cmake í möppunni /path/to/hello_world/build Keyrir „cmake -G Ninja –warn-uninitialized /path/to/hello_world“… Vara við óupphafsstilltum gildum. — Fann Git: /usr/bin/git (fann útgáfu „2.17.0“) — Smíða tóman aws_iot íhlut vegna stillingar — Íhlutanöfn: … — Íhlutaslóðir: …
… (fleirri línur af byggingarkerfisúttak)
[527/527] Búa til hello_world.bin esptool.py v2.3.1
Verkefnisgerð lokið. Til að flasssetja, keyrðu þessa skipun: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin eða keyrðu 'idf.py -p PORT flash'
Ef það eru engar villur lýkur smíðinni með því að búa til fastbúnaðar tvíundir .bin files.

Espressif kerfi

20 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Flassaðu inn á tækið. Flassaðu tvíundarskrárnar sem þú bjóst til (bootloader.bin, partition-table.bin og hello_world.bin) inn á ESP32 borðið þitt með því að keyra: idf.py -p PORT [-b BAUD] flash
Skiptu út PORT fyrir raðtengi ESP32 móðurborðsins. Þú getur einnig breytt baud hraða blikkvarpsins með því að skipta út BAUD fyrir þá baud hraða sem þú þarft. Sjálfgefin baud hraði er 460800. Fyrir frekari upplýsingar um idf.py færibreytur, sjá idf.py.
Athugið: Valkosturinn „flass“ býr til og „flassar“ verkefnið sjálfkrafa, þannig að keyra „idf.py build“ er ekki nauðsynlegt.

Vandamál við flassun? Ef þú keyrir skipunina og sérð villur eins og „Mistókst að tengjast“, gætu nokkrar ástæður verið fyrir því. Ein af ástæðunum gætu verið vandamál sem koma upp hjá esptool.py, tólinu sem byggingarkerfið kallar á til að endurstilla örgjörvann, hafa samskipti við ROM ræsiforritið og flassa vélbúnaðinn. Einföld lausn til að prófa er handvirk endurstilling sem lýst er hér að neðan, og ef það hjálpar ekki geturðu fundið frekari upplýsingar um möguleg vandamál í Úrræðaleit.
esptool.py endurstillir ESP32 sjálfkrafa með því að virkja DTR og RTS stjórnlínur USB í raðtengibreytirflísina, þ.e. FTDI eða CP210x (sjá nánari upplýsingar um Stofna raðtengingu við ESP32). DTR og RTS stjórnlínurnar eru síðan tengdar við GPIO0 og CHIP_PU (EN) pinna ESP32, og þannig breytist rúmmálið.tage stig DTR og RTS munu ræsa ESP32 í niðurhalsham fyrir vélbúnað. Sem dæmiampSkoðaðu skýringarmyndina fyrir ESP32 DevKitC þróunarborðið.
Almennt séð ættirðu ekki að lenda í neinum vandræðum með opinberu esp-idf þróunarborðin. Hins vegar getur esptool.py ekki endurstillt vélbúnaðinn sjálfkrafa í eftirfarandi tilvikum:
· Vélbúnaðurinn þinn hefur ekki DTR og RTS línurnar tengdar við GPIO0 og CHIP_PU · DTR og RTS línurnar eru stilltar á annan hátt · Það eru engar slíkar raðstýringarlínur yfir höfuð
Eftir því hvers konar vélbúnað þú ert með gæti einnig verið mögulegt að setja ESP32 borðið handvirkt í niðurhalsstillingu fyrir vélbúnað (endurstilla).
· Fyrir þróunarborð sem Espressif framleiðir er að finna þessar upplýsingar í viðkomandi leiðbeiningum um notkun eða notendahandbókum. Til dæmis.ampTil að endurstilla ESP-IDF þróunarborð handvirkt skaltu halda inni ræsihnappinum (GPIO0) og ýta á EN hnappinn (CHIP_PU).
· Fyrir aðrar gerðir af vélbúnaði, reyndu að draga GPIO0 niður.

Venjuleg notkun Þegar blikkar sérðu úttaksskrá svipaða og eftirfarandi:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Raðtengi /dev/ttyUSB0 Tengist…….._ Flísin er ESP32D0WDQ6 (útgáfa 0) Eiginleikar: WiFi, BT, Tvöfaldur kjarni, Kóðunarkerfi Ekkert Kristallinn er 40MHz MAC: 24:0a:c4:05:b9:14 Hleður upp stubb… Keyrir stubb… Stubbur í gangi… Breytir baud hraða í 460800 Breytt.
(framhald á næstu síðu)

Espressif kerfi

21 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
(framhald af fyrri síðu) Stilla flassstærð… Þjappaði 3072 bæti í 103… Skrifaði við 0x00008000… (100%) Skrifaði 3072 bæti (103 þjappað) við 0x00008000 á 0.0 sekúndum (virkar 5962.8 kbit/s)… Gagnakassi staðfestur. Þjappaði 26096 bæti í 15408… Skrifaði við 0x00001000… (100%) Skrifaði 26096 bæti (15408 þjappað) við 0x00001000 á 0.4 sekúndum (virkar 546.7 kbit/s)… Gagnakassi staðfestur. Þjappaði 147104 bæti í 77364… Skrifaði við 0x00010000… (20%) Skrifaði við 0x00014000… (40%) Skrifaði við 0x00018000… (60%) Skrifaði við 0x0001c000… (80%) Skrifaði við 0x00020000… (100%) Skrifaði 147104 bæti (77364 þjappað) við 0x00010000 á 1.9 sekúndum (virkt 615,5 kbit/s)… Gagnakassi staðfestur.
Fer... Harðendurstillt með RTS pinna... Lokið
Ef engin vandamál eru í lok flassferlisins mun borðið endurræsa og ræsa theohello_worldpapplication. Ef þú vilt nota Eclipse eða VS Code IDE í stað þess að keyra idf.py, skoðaðu þá Eclipse viðbótina, VSCode Extension.
Fylgstu með úttakinu Til að athuga hvort ohello_worldpis sé í raun að keyra, skrifaðu idf.py -p PORT monitor (Ekki gleyma að skipta út PORT fyrir nafnið á raðtenginu þínu).
Þessi skipun ræsir IDF Monitor forritið:
$ idf.py -p Keyrsla idf_monitor í möppunni […]/esp/hello_world/build Keyrsla „python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/build/hello_world.elf“… — idf_monitor á 115200 —– Hætta: Ctrl+] | Valmynd: Ctrl+T | Hjálp: Ctrl+T og síðan Ctrl+H –ets 8. júní 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8. júní 2016 00:22:57 …
Eftir að ræsingar- og greiningarskrár hafa flett upp ættirðu að sjá oHalló heimur!prentað af forritinu.
... Halló heimur! Endurræsing eftir 10 sekúndur ... Þetta er esp32 örgjörvi með 2 örgjörvakjarna, WiFi/BT/BLE, sílikon útgáfu 1, 2MB utanaðkomandi glampi. Lágmarks laus hrúgustærð: 298968 bæti. Endurræsing eftir 9 sekúndur ... Endurræsing eftir 8 sekúndur ... Endurræsing eftir 7 sekúndur ...
Til að hætta í IDF skjánum skaltu nota flýtileiðina Ctrl+].

Espressif kerfi

22 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Ef IDF skjárinn bilar stuttu eftir upphleðsluna, eða ef þú sérð handahófskenndar villur svipaðar og gefnar eru upp hér að neðan, í stað skilaboðanna hér að ofan, þá er líklegt að borðið þitt noti 26 MHz kristal. Flestar hönnun þróunarborða nota 40 MHz, þannig að ESP-IDF notar þessa tíðni sem sjálfgefið gildi.

Ef þú lendir í slíku vandamáli skaltu gera eftirfarandi: 1. Farðu úr skjánum. 2. Farðu aftur í stillingarvalmyndina. 3. Farðu í stillingar íhluta > Vélbúnaðarstillingar > Aðalstilling XTAL > Aðaltíðni XTAL og breyttu síðan CONFIG_XTAL_FREQ_SEL í 26 MHz. 4. Eftir það skaltu byggja upp og flasha forritið aftur.
Í núverandi útgáfu af ESP-IDF eru helstu XTAL tíðnirnar sem ESP32 styður eftirfarandi:
· 26 MHz · 40 MHz
Athugið: Þú getur sameinað smíði, blikkmyndun og eftirlit í eitt skref með því að keyra: idf.py -p PORT blikkmyndatöku.
Sjá einnig: · IDF Monitor fyrir handhægar flýtileiðir og frekari upplýsingar um notkun IDF monitor. · idf.py fyrir ítarlega yfirlit yfir idf.py skipanir og valkosti.
Þetta er allt sem þú þarft til að byrja með ESP32! Nú ertu tilbúinn að prófa eitthvað annað.amples, eða farðu beint í að þróa þín eigin forrit.
Mikilvægt: Sumir af fyrrverandiampSkrár styðja ekki ESP32 því nauðsynlegur vélbúnaður er ekki innifalinn í ESP32 svo það er ekki hægt að styðja hann. Ef þú ert að smíða t.d.ample, vinsamlegast athugaðu README skrána file fyrir töfluna Stuðningsmarkmið. Ef þetta er til staðar, þar á meðal ESP32-markmið, eða taflan er alls ekki til staðar, þá er fyrrv.ampÞetta mun virka á ESP32.
Viðbótarráðleggingar
Heimildavandamál /dev/ttyUSB0 Í sumum Linux dreifingum gætirðu fengið villuboðin „Mistókst að opna höfnina /dev/ttyUSB0“ þegar þú flassar ESP32. Þetta er hægt að leysa með því að bæta núverandi notanda við úthringingarhópinn.
Python-samhæfni ESP-IDF styður Python 3.7 eða nýrri. Mælt er með að uppfæra stýrikerfið í nýlegri útgáfu sem uppfyllir þessar kröfur. Aðrir möguleikar eru meðal annars uppsetning á Python frá hugbúnaði eða notkun á Python útgáfustjórnunarkerfi eins og pyenv.
Byrjaðu á stuðningspakka fyrir borð. Til að flýta fyrir frumgerðasmíði á sumum þróunarborðum er hægt að nota stuðningspakka fyrir borð (BSP), sem gerir frumstillingu tiltekins borðs eins auðvelda og með fáum aðgerðaköllum.

Espressif kerfi

23 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

BSP styður venjulega alla vélbúnaðaríhluti sem eru á þróunarborðinu. Auk skilgreiningar á pinout og frumstillingaraðgerðum fylgir BSP með reklar fyrir ytri íhluti eins og skynjara, skjái, hljóðkóða o.s.frv. BSP-in eru dreift í gegnum IDF Component Manager, þannig að þau er að finna í IDF Component Registry. Hér er dæmi um slíkt.ampLeiðbeiningar um hvernig á að bæta ESP-WROVER-KIT BSP við verkefnið þitt: idf.py add-dependency esp_wrover_kit
Meira exampUpplýsingar um notkun BSP má finna í BSP dæmi.amples möppu.
Tengd skjöl Fyrir lengra komna notendur sem vilja aðlaga uppsetningarferlið: · Uppfærsla á ESP-IDF verkfærum í Windows · Stofnun raðtengingar við ESP32 · Eclipse viðbót · VSCode viðbót · IDF skjár
Uppfærsla á ESP-IDF verkfærum í Windows
Setjið upp ESP-IDF verkfæri með forskrift. Í skipanalínu Windows, farið í möppuna þar sem ESPIDF er sett upp. Keyrið síðan:
install.bat
Fyrir Powershell, skiptu yfir í möppuna þar sem ESP-IDF er uppsett. Keyrðu síðan:
uppsetning.ps1
Þetta mun sækja og setja upp þau verkfæri sem nauðsynleg eru til að nota ESP-IDF. Ef tiltekin útgáfa af verkfærinu er þegar uppsett verður ekkert gert. Verkfærin eru sótt og sett upp í möppu sem tilgreind er í uppsetningarferli ESP-IDF verkfæra. Sjálfgefið er að þetta sé C:Usersusername.espressif.
Bætið ESP-IDF verkfærum við PATH með útflutningsforskrift. Uppsetningarforrit ESP-IDF verkfæra býr til flýtileið í Start-valmyndina fyrir oESP-IDF skipanalínu. Þessi flýtileið opnar skipanalínuglugga þar sem öll verkfærin eru þegar til staðar.
tiltækt. Í sumum tilfellum gætirðu viljað vinna með ESP-IDF í skipanalínu sem var ekki ræst með þeirri flýtileið. Ef svo er skaltu fylgja leiðbeiningunum hér að neðan til að bæta ESP-IDF verkfærum við PATH. Í skipanalínunni þar sem þú þarft að nota ESP-IDF skaltu skipta yfir í möppuna þar sem ESP-IDF er uppsett og keyra síðan export.bat:
geisladiskur %userprofile%espesp-idf export.bat
Einnig er hægt að skipta yfir í möppuna þar sem ESP-IDF er sett upp í Powershell-kerfinu, í möppunni þar sem ESP-IDF er sett upp, og keyra síðan export.ps1:
geisladiskur ~/esp/esp-idf export.ps1
Þegar þessu er lokið verða verkfærin tiltæk í þessari skipanalínu.
Koma á raðtengingu við ESP32 Þessi kafli veitir leiðbeiningar um hvernig á að koma á raðtengingu milli ESP32 og tölvu.

Espressif kerfi

24 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Tengdu ESP32 við tölvu Tengdu ESP32 borðið við tölvuna með USB snúrunni. Ef reklarnir setjast ekki upp sjálfkrafa skaltu finna USB í raðtengibreytirinn á ESP32 borðinu þínu (eða utanaðkomandi breytir), leita að reklum á internetinu og setja þá upp. Hér að neðan er listi yfir USB í raðtengibreytir sem eru uppsettir á flestum ESP32 borðum sem Espressif framleiðir ásamt tenglum á reklana:
· CP210x: CP210x USB til UART brúar VCP reklar · FTDI: FTDI sýndar-COM tengi reklar Vinsamlegast athugið notendahandbók borðsins til að sjá hvaða USB til raðtengibreytir er notaður. Reklarnir hér að ofan eru fyrst og fremst til viðmiðunar. Við venjulegar aðstæður ættu reklarnir að fylgja með stýrikerfi og setjast sjálfkrafa upp þegar borðið er tengt við tölvuna.
Athuga tengi í Windows. Athugaðu listann yfir auðkennda COM tengi í Windows Device Manager. Aftengdu ESP32 og tengdu það aftur til að staðfesta hvaða tengi hverfur af listanum og birtist síðan aftur. Myndirnar hér að neðan sýna raðtengi fyrir ESP32 DevKitC og ESP32 WROVER KIT.

Mynd 13: USB til UART brú ESP32-DevKitC í Windows tækjastjórnun

Athuga tengi á Linux og macOS Til að athuga nafn tækisins fyrir raðtengið á ESP32 borðinu þínu (eða utanaðkomandi breytibúnaði), keyrðu þessa skipun tvisvar sinnum, fyrst með borðið/búnaðinn úr sambandi og síðan með hann í sambandi. Tengið sem birtist í annað skiptið er það sem þú þarft: Linux
ls /dev/tty*
macOS

Espressif kerfi

25 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 14: Tvær USB raðtengi ESP-WROVER-KIT í Windows tækjastjórnun

Espressif kerfi

26 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

ls /dev/cu.* Athugið: macOS notendur: ef þið sjáið ekki raðtengið, athugið þá hvort USB/raðtengisreklarnir séu uppsettir. Sjá kaflann Tengja ESP32 við tölvu fyrir tengla á rekla. Fyrir macOS High Sierra (10.13) gætirðu einnig þurft að leyfa reklunum sérstaklega að hlaðast. Opnið Kerfisstillingar -> Öryggi og friðhelgi -> Almennt og athugið hvort skilaboð birtist hér um kerfishugbúnað frá forritaranum lp þar sem nafn forritarans er Silicon Labs eða FTDI.

Bætir notanda við úthringingarhóp í Linux. Núverandi skráði notandinn ætti að hafa les- og skrifaðgang að raðtenginu yfir USB. Í flestum Linux dreifingum er þetta gert með því að bæta notandanum við úthringingarhópinn með eftirfarandi skipun:
sudo usermod -a -G hringingu $USER
á Arch Linux er þetta gert með því að bæta notandanum við uucp hópinn með eftirfarandi skipun:
sudo usermod -a -G uucp $USER
Gakktu úr skugga um að þú skráir þig aftur inn til að virkja les- og skrifheimildir fyrir raðtengi.
Staðfesta raðtengingu Staðfestu nú að raðtengingin virki. Þú getur gert þetta með raðtengingarforriti með því að athuga hvort þú fáir einhverja úttak á flugstöðinni eftir að ESP32 hefur verið endurstillt. Sjálfgefin baudhraði á ESP32 er 115200.
Windows og Linux í þessu dæmiampVið munum nota PuTTY SSH biðlara sem er fáanlegur fyrir bæði Windows og Linux. Þú getur notað önnur raðtengd forrit og stillt samskiptabreytur eins og hér að neðan. Keyrðu flugstöðina og stilltu auðkennda raðtengi. Baud rate = 115200 (ef þörf krefur, breyttu þessu í sjálfgefna baud rate örgjörvans sem er í notkun), gagnabitar = 8, stöðvunarbitar = 1 og jöfnuður = N. Hér að neðan eru dæmi.ampSkjámyndir af stillingu tengisins og slíkra flutningsbreyta (í stuttu máli lýst sem 115200-8-1-N) á Windows og Linux. Mundu að velja nákvæmlega sama raðtengið og þú hefur bent á í skrefunum hér að ofan. Opnaðu síðan raðtengið í flugstöðinni og athugaðu hvort þú sérð einhverja skrá prentaða af ESP32. Innihald skrárinnar fer eftir forritinu sem er hlaðið inn í ESP32, sjá dæmi.ampÚttak.
Athugið: Lokið raðtenginu eftir að staðfest hefur verið að samskipti virki. Ef þið haldið tengistöðinni opinni verður raðtengið ekki aðgengilegt til að hlaða upp vélbúnaði síðar.

macOS Til að spara þér fyrirhöfnina við að setja upp raðtengda skipanalínu býður macOS upp á screen skipunina. · Eins og rætt er í Athuga tengi á Linux og macOS, keyrðu:

ls /dev/cu.* · Þú ættir að sjá svipaða úttak:

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

/dev/cu.SLAB_

· Úttakið er breytilegt eftir gerð og fjölda korta sem tengd eru við tölvuna þína. Veldu síðan tækisnafn kortsins og keyrðu (ef þörf krefur, breyttu o115200pto sjálfgefnum baudhraða örgjörvans sem er í notkun):

skjár /dev/cu.device_name 115200 Skiptu út device_name fyrir nafnið sem finnst þegar ls /dev/cu.* keyrir.

Espressif kerfi

27 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 15: Setja upp raðtengingu í PuTTY í Windows

Espressif kerfi

28 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Mynd 16: Setja upp raðtengingu í PuTTY á Linux

Espressif kerfi

29 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
· Það sem þú ert að leita að er einhver skrá sem birtist á skjánum. Innihald skrárinnar fer eftir forritinu sem er hlaðið inn í ESP32, sjá dæmiampTil að hætta í skjánum skaltu ýta á Ctrl-A + .
Athugið: Ekki gleyma að hætta skjáupptökunni eftir að hafa staðfest að samskiptin virki. Ef þú gerir það ekki og lokar bara glugganum fyrir flugstöðina, verður raðtengið ekki aðgengilegt til að hlaða upp vélbúnaði síðar.
Example Output An exampSkráin er sýnd hér að neðan. Endurstilltu borðið ef þú sérð ekkert. ets 8. júní 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8. júní 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 ræsiforrit I (45) ræsing: samantektartími 18:48:10

Ef þú sérð læsilega skráningu þýðir það að raðtengingin virkar og þú ert tilbúinn til að halda áfram með uppsetninguna og að lokum hlaða forritinu upp í ESP32.
Athugið: Fyrir sumar stillingar á raðtengi þarf að gera raðtengistengingarnar RTS og DTR óvirkar í skipanalínuforritinu áður en ESP32 ræsir og framleiðir raðtengisúttak. Þetta fer eftir vélbúnaðinum sjálfum, flest þróunarborð (þar á meðal öll Espressif borð) eiga ekki við þetta vandamál að stríða. Vandamálið kemur upp ef RTS og DTR eru tengd beint við EN og GPIO0 tengingarnar. Sjá nánari upplýsingar um esptool skjölunina.
Ef þú komst hingað úr skrefi 5. Fyrstu skrefin í ESP-IDF við uppsetningu hugbúnaðar fyrir ESP32 þróun, þá geturðu haldið áfram með skrefi 5. Fyrstu skrefin í ESP-IDF.
IDF Monitor IDF Monitor er aðallega raðtengd skjáforrit sem sendir raðgögn til og frá raðtengi marktækisins. Það býður einnig upp á nokkra IDF-sértæka eiginleika. Hægt er að ræsa IDF Monitor úr IDF verkefni með því að keyra idf.py monitor.
Flýtileiðir á lyklaborði Til að auðvelda samskipti við IDF Monitor skal nota flýtileiðirnar sem gefnar eru upp í töflunni.

Espressif kerfi

30 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Flýtilykill á lyklaborði Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (eða A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (eða I)
· Ctrl+H (eða H)
· Ctrl+X (eða X)
Ctrl+C

Aðgerð

Lýsing

Hætta í forritinu. Valmyndarlykill. Senda valmyndarstafinn sjálfan til fjarstýringarinnar.
Senda sjálfan útgöngustafinn til fjarstýringarinnar
Endurstilla skotmarkið í ræsiforritið til að gera hlé á forritinu í gegnum RTS línuna
Endurstilla skotmarkið í gegnum RTS
Smíða og flasha verkefnið

Smíðaðu og flashaðu aðeins appið

Stöðva/halda áfram prentun skráningarúttaks á skjánum

Stöðva/halda áfram skráningarúttak vistað í file

Stöðva/halda áfram tímiamps

prentun

Birta alla flýtilykla

Ýttu á og fylgdu því með einum af tökkunum hér að neðan.
Endurstillir markmiðið í ræsiforritið í gegnum RTS línuna (ef tengt), þannig að borðið keyrir ekkert. Gagnlegt þegar þú þarft að bíða eftir að annað tæki ræsist. Endurstillir markmiðsborðið og endurræsir forritið í gegnum RTS línuna (ef tengt).
Hléar idf_monitor til að keyra flassmarkmið verkefnisins og heldur síðan áfram með idf_monitor. Breyting á uppruna files eru endurþýddar og síðan endurupphlaðnar. Markmiðið encrypted-flash er keyrt ef idf_monitor var ræst með færibreytunni -E. Gerir hlé á idf_monitor til að keyra app-flash markmiðið og heldur síðan áfram með idf_monitor. Líkt og flash markmiðið, en aðeins aðalforritið er smíðað og endurupphlaðið. Markmiðið encrypted-app-flash er keyrt ef idf_monitor var ræst með færibreytunni -E. Hendið öllum innkomandi raðgögnum meðan það er virkjað. Gerir kleift að gera hlé fljótt á og skoða úttak logs án þess að hætta í eftirlitinu. Býr til file í verkefnamöppunni og úttakið er skrifað þangað file þangað til þetta er gert óvirkt með sama flýtilykli (eða IDF Monitor hættir). IDF Monitor getur prentað tímamælingu.amp í upphafi hverrar línu. Tímasetninginamp Hægt er að breyta sniði með –timestamp-format skipanalínufæribreyta.

Lokaðu forritinu

Stöðva keyrandi forrit

Hléar IDF eftirlit og keyrir GDB verkefnisvilluleitara til að kemba forritið á keyrslutíma. Þetta krefst þess að :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME valkosturinn sé virkur.

Allir takkar sem ýtt er á, aðrir en Ctrl-] og Ctrl-T, verða sendir í gegnum raðtengið.

Sérstakir eiginleikar IDF

Sjálfvirk afkóðun vistfanga. Þegar ESP-IDF sendir frá sér sextándakerfiskóða á forminu 0x4_______ notar IDF Monitor addr2line_ til að leita að staðsetningunni í frumkóðanum og finna nafn fallsins.
Ef ESP-IDF forrit hrynur og lendir í óðaönn, þá er búið til skráningardump og bakrekning, eins og eftirfarandi:

Espressif kerfi

31 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Hugleiðsluvilla af gerðinni StoreProhibited kom upp í kjarna 0 í Guru. Undantekningin var

ómeðhöndlað.

Skráningardump:

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 AFSÖKUN:

0x0000001d

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

0x00000000

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

IDF Monitor bætir við frekari upplýsingum í ruslið:

Hugleiðsluvilla af gerðinni StoreProhibited kom upp í kjarna 0 í Guru. Undantekningin var

ómeðhöndlað.

Skráningardump:

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d: gerðu_eitthvað_til_að_hrunist í /home/gus/esp/32/idf/examples/byrjaðu/

halló_heimur/aðal/./halló_heimur_aðal.c:57

(innlínað af) inner_dont_crash í /home/gus/esp/32/idf/examples/byrjaðu/halló_

heimur/aðal/./halló_heimur_aðal.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 AFSÖKUN:

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 (innfellt af) inner_dont_crash í /home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:52 0x400dbf56: samt_hrun_ekki í /home/gus/esp/32/idf/examples/get-started/hello_world/main/./hello_world_main.c:47 0x400dbf5e: hrynur ekki í /home/gus/esp/32/idf/examples/byrjaðu/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: aðal_verkefni í /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254

Til að afkóða hvert vistfang keyrir IDF Monitor eftirfarandi skipun í bakgrunni: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

Athugið: Stillið umhverfisbreytuna ESP_MONITOR_DECODE á 0 eða kallið á idf_monitor.py með tiltekinni skipanalínu.

Espressif kerfi

32 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
valkostur: idf_monitor.py –disable-address-decoding til að slökkva á afkóðun vistfanga.
Endurstilling skotmarks við tengingu Sjálfgefið er að IDF Monitor endurstilli skotmarkið þegar það er tengt. Endurstilling skotmarksflísins er framkvæmd með DTR og RTS raðlínunum. Til að koma í veg fyrir að IDF Monitor endurstilli skotmarkið sjálfkrafa við tengingu skal kalla á IDF Monitor með –no-reset valkostinum (t.d. idf_monitor.py –no-reset).
Athugið: Valkosturinn –no-reset notar sömu virkni jafnvel þegar IDF Monitor er tengdur við ákveðna tengi (t.d. idf.py monitor –no-reset -p [PORT]).
Að ræsa GDB með GDBStub GDBStub er gagnlegur kembiforritunaraðgerð sem keyrir á skotmarkinu og tengist hýsilnum í gegnum raðtengi til að taka á móti kembiforritunarskipunum. GDBStub styður skipanir eins og að lesa minni og breytur, skoða kallramma o.s.frv. Þó að GDBStub sé minna fjölhæfur en JTAG kembiforritun, það þarfnast ekki neins sérstaks vélbúnaðar (eins og JTAG (við USB brú) þar sem samskipti fara alfarið fram yfir raðtengið. Hægt er að stilla markmið til að keyra GDBStub í bakgrunni með því að stilla CONFIG_ESP_SYSTEM_PANIC á GDBStub við keyrslu. GDBStub keyrir í bakgrunni þar til Ctrl+C skilaboð eru send yfir raðtengið og valda því að GDBStub stöðvar forritið, sem gerir GDBStub kleift að meðhöndla villuleitarskipanir. Ennfremur er hægt að stilla neyðarhöndlarann ​​til að keyra GDBStub við hrun með því að stilla CONFIG_ESP_SYSTEM_PANIC á GDBStub við neyðarköllun. Þegar hrun á sér stað mun GDBStub senda frá sér sérstakt strengjamynstur yfir raðtengið til að gefa til kynna að það sé í gangi. Í báðum tilvikum (þ.e. við sendingu Ctrl+C skilaboða eða móttöku sérstakt strengjamynsturs) mun IDF Monitor sjálfkrafa ræsa GDB til að leyfa notandanum að senda villuleitarskipanir. Eftir að GDB hættir er markmiðið endurstillt í gegnum RTS raðlínuna. Ef þessi lína er ekki tengd geta notendur endurstillt markmið sitt (með því að ýta á endurstillingarhnappinn á borðinu).
Athugið: Í bakgrunni keyrir IDF Monitor eftirfarandi skipun til að ræsa GDB:
xtensa-esp32-elf-gdb -ex „setja raðbundið baud BAUD“ -ex „miða á fjartengt PORT“ -ex interrupt build/PROECT.elf :idf_target:`Halló NAFN flís`

Úttakssíun Hægt er að kalla fram IDF eftirlit sem idf.py monitor –print-filter=”xyz”, þar sem –print-filter er breytan fyrir úttakssíun. Sjálfgefið gildi er tómur strengur, sem þýðir að allt er prentað.
Hægt er að tilgreina takmarkanir á því hvað á að prenta sem röð aftag>: hlutir þar semtag> er tag strengur og er tákn úr menginu {N, E, W, I, D, V, *} sem vísar til stigs fyrir skráningu.
Til dæmisample, PRINT_FILTER=”tag1:W“ passar við og prentar aðeins úttak sem skrifað er með ESP_LOGW(“tag1”, …) eða á lægra orðræðustigi, t.d. ESP_LOGE(“tag1″, …). Ekki tilgreint eða með því að nota * sem sjálfgefið er að það sé ítarlegt.
Athugið: Notið aðalskráningu til að slökkva á úttaki sem þið þurfið ekki á að halda við þýðingu í gegnum skráningarsafnið. Úttakssíun með IDF-skjá er aukalausn sem getur verið gagnleg til að aðlaga síunarvalkostina án þess að þurfa að endurþýða forritið.
Forritið þitt tags má ekki innihalda bil, stjörnur * eða tvípunkta : til að vera samhæft við síunaraðgerðina fyrir úttak.
Ef síðustu línu úttaksins í forritinu þínu fylgir ekki vagnskil, gæti úttakssíun ruglast, þ.e. skjárinn byrjar að prenta línuna og kemst síðar að því að línan hefði ekki átt að vera skrifuð. Þetta er þekkt vandamál og hægt er að forðast það með því að bæta alltaf við vagnskil (sérstaklega þegar ekkert úttak fylgir strax á eftir).

Espressif kerfi

33 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
ExampReglur um síun:
· * má nota til að passa við hvaða sem er tagsHins vegar strengurinn PRINT_FILTER=”*:I tag1:E“ hvað varðar tag1 prentar aðeins villur, vegna þess að reglan fyrir tag1 hefur hærri forgang en reglan fyrir *.
· Sjálfgefna (tóma) reglan jafngildir *:V því að samsvörun við hvert tag á ítarlegu stigi eða lægra þýðir að passa við allt.
· „*:N“ bælir ekki aðeins úttak frá skráningarföllum, heldur einnig útprentanir sem gerðar eru af printf o.s.frv. Til að forðast þetta skal nota *:E eða hærra orðræðustig.
· Reglurtag1:V”, “tag1:v”, “tag1:”, “tag1:*“ og „tag1“ eru jafngild. · Regla „tag1:V tag1:E“ jafngildir „tag1:E“ vegna þess að öll tilvik af sama tag
nafnið skrifar yfir það fyrra. · Regla “tag1:I tag2:W“ prentar aðeins tag1 á upplýsingastigi eða lægra og tag2 við viðvörunina
orðræðustig eða lægra. · Regla “tag1:I tag2:V tag3:N“ er í raun jafngilt því fyrra vegna þess að tag3:N tilgreinir
það tag3 ætti ekki að vera prentað. · tag3:N í reglunni „tag1:I tag2:V tag„3:N *:V“ er þýðingarmeira því án þess tag3:N
tagÞrjú skilaboð hefðu getað verið prentuð; villurnar fyrir tag1 og tag2 verður prentað með tilgreindu (eða lægra) orðalagsstigi og allt annað verður prentað sjálfgefið.
Flóknara síunardæmiampEftirfarandi skráarbrot var sótt án nokkurra síunarvalkosta:
load:0x40078000,len:13564 entry 0x40078d4c E (31) esp_image: myndin við 0x30000 hefur ógildan töfrabæti W (31) esp_image: myndin við 0x30000 hefur ógildan SPI ham 255 E (39) boot: Ekki er hægt að ræsa verksmiðjuforritsskiptinguna I (568) cpu_start: Pro örgjörvinn er í gangi. I (569) heap_init: Frumstilling. Vinnsluminni tiltækt fyrir breytilega úthlutun: I (603) cpu_start: Notendakóði fyrir Pro örgjörvaræsingu D (309) light_driver: [light_init, 74]:status: 1, hamur: 2 D (318) vfs: esp_vfs_register_fd_range tekst fyrir svið <54; 64) og VFS ID 1 I (328) wifi: wifi driver verkefni: 3ffdbf84, prio:23, stafla:4096, kjarni=0
Skráningarúttakið fyrir síunarvalkostina PRINT_FILTER=”wifi esp_image:E light_driver:I” er gefið upp hér að neðan:
E (31) esp_image: myndin við 0x30000 inniheldur ógildan töfrabæti I (328) wifi: wifi bílstjóri verkefni: 3ffdbf84, prio:23, stafla:4096, kjarni=0
Valkostirnir „PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V“ sýna eftirfarandi úttak:
load:0x40078000,len:13564 entry 0x40078d4c I (569) heap_init: Upphafsstilling. Vinnsluminni tiltækt fyrir breytilega úthlutun: D (309) light_driver: [light_init, 74]:status: 1, mode: 2
Þekkt vandamál með IDF eftirlitskerfi
Vandamál sem komu fram í Windows
· Örvatakkar, sem og sumir aðrir takkar, virka ekki í GDB vegna takmarkana í Windows Console. · Stundum, þegar oidf.pypexits keyrir, getur það stöðvast í allt að 30 sekúndur áður en IDF Monitor heldur áfram. · Þegar ogdbpis keyrir getur það stöðvast í stuttan tíma áður en það byrjar að eiga samskipti við GDBStub.

Espressif kerfi

34 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu á uppsetningu staðlaðrar verkfærakeðju fyrir Linux og macOS

Uppsetning skref fyrir skref Þetta er ítarleg leiðarvísir sem leiðir þig í gegnum uppsetningarferlið.
Uppsetning þróunarumhverfis Þetta eru skrefin til að setja upp ESP-IDF fyrir ESP32 þinn. · Skref 1. Setja upp forkröfur · Skref 2. Sækja ESP-IDF · Skref 3. Setja upp verkfærin · Skref 4. Setja upp umhverfisbreyturnar · Skref 5. Fyrstu skrefin í ESP-IDF
Skref 1. Uppsetningarkröfur Til að nota ESP-IDF með ESP32 þarftu að setja upp hugbúnaðarpakka sem henta stýrikerfinu þínu. Þessi uppsetningarleiðbeining mun hjálpa þér að setja allt upp á Linux og macOS kerfum.
Fyrir Linux notendur Til að þýða með ESP-IDF þarftu að fá eftirfarandi pakka. Skipunin sem á að keyra fer eftir því hvaða Linux dreifingu þú notar:
· Ubuntu og Debian: sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 og 8: sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 er ennþá stutt en CentOS útgáfa 8 er ráðlögð fyrir betri notendaupplifun. · Arch: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Athugið: · CMake útgáfa 3.16 eða nýrri er nauðsynleg til notkunar með ESP-IDF. Keyrðu otools/idf_tools.py og settu upp cmakepto til að setja upp viðeigandi útgáfu ef stýrikerfið þitt hefur ekki eina. · Ef þú sérð ekki Linux dreifinguna þína á listanum hér að ofan skaltu skoða skjölun hennar til að finna út hvaða skipun á að nota til að setja upp pakkann.
Fyrir macOS notendur mun ESP-IDF nota þá útgáfu af Python sem er sjálfgefið uppsett á macOS. · Setja upp CMake & Ninja build: Ef þú ert með HomeBrew geturðu keyrt: brew install cmake ninja dfu-util Ef þú ert með MacPorts geturðu keyrt: sudo port install cmake ninja dfu-util Annars skaltu skoða heimasíður CMake og Ninja til að fá niðurhal á macOS uppsetningarforritum.

Espressif kerfi

35 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
· Það er eindregið mælt með því að setja einnig upp ccache fyrir hraðari smíði. Ef þú ert með HomeBrew er hægt að gera þetta með brew install ccache eða sudo port install ccache á MacPorts.
Athugið: Ef villa eins og þessi birtist á einhverju skrefi: xcrun: villa: ógild virk forritaraleið (/Library/Developer/CommandLineTools), vantar xcrun í: /Library/Developer/CommandLineTools/usr/bin/xcrun
Þá þarftu að setja upp skipanalínutólin fyrir XCode til að halda áfram. Þú getur sett þau upp með því að keyra xcode-select –install.
Notendur Apple M1 Ef þú notar Apple M1 kerfið og sérð villu eins og þessa: VIÐVÖRUN: Skráarskrá fyrir tólið xtensa-esp32-elf útgáfu esp-2021r2-patch3-8.4.0 er til staðar, en tólið fannst ekki VILLA: Engar uppsettar útgáfur af tólinu xtensa-esp32-elf eru til staðar. Keyrðu 'install.sh' til að setja það upp.
eða: zsh: óvirk örgjörvategund í keyrsluskrá: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Þá þarftu að setja upp Apple Rosetta 2 með því að keyra /usr/sbin/softwareupdate –install-rosetta –agree-to-license
Uppsetning Python 3 Samkvæmt útgáfuupplýsingum fyrir macOS Catalina 10.15 er ekki mælt með notkun Python 2.7 og Python 2.7 verður ekki sjálfgefið í framtíðarútgáfum af macOS. Athugaðu hvaða Python þú ert með núna: python –version
Ef úttakið er eins og Python 2.7.17, þá er sjálfgefinn túlkur Python 2.7. Ef svo er, athugaðu einnig hvort Python 3 sé ekki þegar uppsett á tölvunni þinni: python3 –útgáfa
Ef skipunin hér að ofan skilar villu þýðir það að Python 3 er ekki uppsett. Hér að neðan er yfirlit.view skrefanna til að setja upp Python 3.
· Uppsetning með HomeBrew er hægt að gera á eftirfarandi hátt: brew install python3
· Ef þú ert með MacPorts geturðu keyrt: sudo port install python38
Skref 2. Sæktu ESP-IDF Til að smíða forrit fyrir ESP32 þarftu hugbúnaðarbókasöfnin sem Espressif býður upp á í ESP-IDF geymslunni. Til að sækja ESP-IDF skaltu fara í uppsetningarmöppuna þína og klóna geymsluna með git clone, fylgja leiðbeiningunum hér að neðan sem eru sértækar fyrir stýrikerfið þitt. Opnaðu Terminal og keyrðu eftirfarandi skipanir:

Espressif kerfi

36 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –endurkvæmt https://github.com/espressif/esp-idf.git
ESP-IDF verður hlaðið niður í ~/esp/esp-idf. Hafðu samband við ESP-IDF útgáfur til að fá upplýsingar um hvaða ESP-IDF útgáfu á að nota í tilteknum aðstæðum.
Skref 3. Setja upp verkfærin Auk ESP-IDF þarftu einnig að setja upp verkfærin sem ESP-IDF notar, svo sem þýðandann, kembiforritið, Python pakka o.s.frv., fyrir verkefni sem styðja ESP32. cd ~/esp/esp-idf ./install.sh esp32
eða með Fish shell geisladiskinum ~/esp/esp-idf ./install.fish esp32
Ofangreindar skipanir setja upp verkfæri eingöngu fyrir ESP32. Ef þú ætlar að þróa verkefni fyrir fleiri örgjörva þá ættirðu að lista þau öll upp og keyra til dæmis.ample: geisladiskur ~/esp/esp-idf ./install.sh esp32,esp32s2
eða með Fish shell geisladiskinum ~/esp/esp-idf ./install.fish esp32,esp32s2
Til að setja upp verkfæri fyrir öll studd markmið, vinsamlegast keyrðu eftirfarandi skipun: cd ~/esp/esp-idf ./install.sh all
eða með Fish shell geisladiskinum ~/esp/esp-idf ./install.fish all
Athugið: Fyrir macOS notendur, ef villa eins og þessi birtist í einhverju skrefi:urlopnunarvilla [SSL: CERTIFICATE_VERIFY_FAILED] staðfesting vottorðs mistókst: ekki tókst að sækja vottorð frá staðbundnum útgefanda (_ssl.c:xxx)
Þú getur keyrt Install Certificates.command í Python möppunni á tölvunni þinni til að setja upp vottorð. Nánari upplýsingar er að finna í Niðurhalsvillu við uppsetningu ESP-IDF verkfæra.

Valkostur File Niðurhal Uppsetningarforritið hleður niður fjölda af files fylgir GitHub útgáfum. Ef aðgangur að GitHub er hægfara er hægt að stilla umhverfisbreytu til að forgangsraða niðurhalsþjóni Espressifns fyrir niðurhal á eignum á GitHub.

Athugið: Þessi stilling stýrir aðeins einstökum verkfærum sem sótt eru úr útgáfum GitHub, hún breytir ekki URLs notað til að fá aðgang að öllum Git geymslum.

Til að nota Espressif niðurhalsþjóninn helst þegar verkfæri eru sett upp skaltu nota eftirfarandi skipanir þegar install.sh er keyrt:

Espressif kerfi

37 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

geisladiskur ~/esp/esp-idf export IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Aðlaga uppsetningarslóð verkfæranna Forskriftirnar sem kynntar eru í þessu skrefi setja upp þýtingartól sem ESP-IDF krefst í heimamöppu notandans: $HOME/.espressif á Linux. Ef þú vilt setja verkfærin upp í aðra möppu skaltu stilla umhverfisbreytuna IDF_TOOLS_PATH áður en þú keyrir uppsetningarforskriftirnar. Gakktu úr skugga um að notandareikningurinn þinn hafi nægileg heimildir til að lesa og skrifa í þessa slóð. Ef þú breytir IDF_TOOLS_PATH skaltu ganga úr skugga um að hún sé stillt á sama gildi í hvert skipti sem uppsetningarforskriftin (install.bat, install.ps1 eða install.sh) og útflutningsforskrift (export.bat, export.ps1 eða export.sh) eru keyrð.
Skref 4. Setja upp umhverfisbreyturnar Uppsettu verkfærin hafa ekki enn verið bætt við PATH umhverfisbreytuna. Til að gera verkfærin nothæf úr skipanalínunni verður að stilla nokkrar umhverfisbreytur. ESP-IDF býður upp á annað forskrift sem gerir það. Í skipanalínunni þar sem þú ætlar að nota ESP-IDF skaltu keyra:
. $HOME/esp/esp-idf/export.sh
eða fyrir fisk (aðeins stutt frá og með fiskútgáfu 3.0.0):
$HEIM/esp/esp-idf/export.fish
Athugið bilið á milli punktsins sem er fremst og slóðarinnar! Ef þið ætlið að nota esp-idf oft getið þið búið til dulnefni til að keyra export.sh:
1. Afritaðu og límdu eftirfarandi skipun í shellns pro forritið þittfile (.profile, .bashrc, .zprofileo.s.frv.)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Endurnýjaðu stillingarnar með því að endurræsa flugstöðina eða með því að keyra source [slóð að profile],
tdample, source ~/.bashrc. Nú er hægt að keyra get_idf til að setja upp eða endurnýja esp-idf umhverfið í hvaða flugstöð sem er. Tæknilega séð er hægt að bæta export.sh við shellns pro skrána þína.file beint; það er þó ekki mælt með því. Það virkjar IDF sýndarumhverfið í hverri skipanalotu (þar með talið þeim þar sem IDF er ekki nauðsynlegt), sem kemur í veg fyrir tilgang sýndarumhverfisins og hefur líklega áhrif á annan hugbúnað.
Skref 5. Fyrstu skrefin í notkun ESP-IDF Þar sem öllum kröfum er fullnægt mun næsta efni leiðbeina þér um hvernig á að hefja fyrsta verkefnið þitt. Þessi handbók mun hjálpa þér við fyrstu skrefin í notkun ESP-IDF. Fylgdu þessari handbók til að hefja nýtt verkefni á ESP32 og smíða, flasha og fylgjast með úttaki tækisins.
Athugið: Ef þú hefur ekki enn sett upp ESP-IDF skaltu fara í Uppsetningu og fylgja leiðbeiningunum til að fá allan hugbúnaðinn sem þarf til að nota þessa handbók.

Byrjaðu verkefni Nú ertu tilbúinn/tilbúin að undirbúa forritið þitt fyrir ESP32. Þú getur byrjað með verkefninu getstarted/hello_world úr dæmi.amples skrá í ESP-IDF.

Mikilvægt: ESP-IDF byggingarkerfið styður ekki bil í slóðum að ESP-IDF eða verkefnum.

Afritaðu verkefnið get-started/hello_world í ~/esp möppuna:

Espressif kerfi

38 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
Athugið: Það er úrval af t.d.ample verkefni í fyrrvamples skrá í ESP-IDF. Þú getur afritað hvaða verkefni sem er á sama hátt og sýnt er hér að ofan og keyrt það. Einnig er hægt að byggja tdampfærslurnar á sínum stað án þess að afrita þær fyrst.
Tengdu tækið þitt Tengdu nú ESP32 borðið þitt við tölvuna og athugaðu undir hvaða raðtengi borðið sést. Raðtengi hafa eftirfarandi nafngiftarmynstur:
· Linux: byrjar á /dev/tty · macOS: byrjar á /dev/cu. Ef þú ert ekki viss um hvernig á að athuga nafn raðtengisins, vinsamlegast skoðaðu Koma á raðtengingu með ESP32 fyrir frekari upplýsingar.
Athugið: Hafðu gáttarheitið við höndina þar sem þú þarft það í næstu skrefum.
Stilla verkefnið þitt. Farðu í hello_world möppuna þína, stilltu ESP32 sem markmið og keyrðu stillingarforritið fyrir verkefnið: menuconfig.cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig.
Eftir að nýtt verkefni hefur verið opnað ættirðu fyrst að stilla markmiðið með idf.py set-target esp32. Athugið að fyrirliggjandi byggingar og stillingar í verkefninu, ef einhverjar eru, verða hreinsaðar og frumstilltar í þessu ferli. Hægt er að vista markmiðið í umhverfisbreytunni til að sleppa þessu skrefi. Sjá Veldu markmiðsflögu: set-target fyrir frekari upplýsingar. Ef fyrri skref hafa verið framkvæmd rétt birtist eftirfarandi valmynd:

Mynd 17: Verkefnastillingar – Heimagluggi Þú notar þessa valmynd til að setja upp breytur sem eru sértækar fyrir verkefnið, t.d. nafn og lykilorð fyrir Wi-Fi net, hraða örgjörvans o.s.frv. Uppsetningu verkefnisins með menuconfig má sleppa fyrir ohello_worldp, þar sem þetta dæmi...amphleypur með

Espressif kerfi

39 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
sjálfgefna stillingu.
Athugið: Ef þú notar ESP32-DevKitC borð með ESP32-SOLO-1 einingunni, eða ESP32-DevKitM-1 borð með ESP32-MIN1-1(1U) einingunni, vinsamlegast virkjaðu einkjarna stillingu (CONFIG_FREERTOS_UNICORE) í stillingarvalmyndinni áður en þú blikkar t.d.amples.
Athugið: Litirnir á valmyndinni gætu verið mismunandi í skipanalínunni þinni. Þú getur breytt útliti hennar með valkostinum –style. Vinsamlegast keyrðu idf.py menuconfig –help fyrir frekari upplýsingar.
Ef þú ert að nota eitt af þeim þróunarborðum sem eru studd geturðu hraðað þróuninni með því að nota Board Support Package. Sjá frekari upplýsingar í Frekari ráð.
Byggðu verkefnið Byggðu verkefnið með því að keyra:
idf.py smíð
Þessi skipun mun setja saman forritið og alla ESP-IDF íhluti, síðan mun hún búa til ræsiforritið, skiptingartöfluna og tvíþætti forritsins.
$ idf.py build Keyrir cmake í möppunni /path/to/hello_world/build Keyrir „cmake -G Ninja –warn-uninitialized /path/to/hello_world“… Vara við óupphafsstilltum gildum. — Fann Git: /usr/bin/git (fann útgáfu „2.17.0“) — Smíða tóman aws_iot íhlut vegna stillingar — Íhlutanöfn: … — Íhlutaslóðir: …
… (fleirri línur af byggingarkerfisúttak)
[527/527] Búa til hello_world.bin esptool.py v2.3.1
Verkefnisgerð lokið. Til að flasssetja, keyrðu þessa skipun: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin eða keyrðu 'idf.py -p PORT flash'
Ef það eru engar villur lýkur smíðinni með því að búa til fastbúnaðar tvíundir .bin files.
Flassaðu inn á tækið Flassaðu tvíundarskrárnar sem þú bjóst til (bootloader.bin, partition-table.bin og hello_world.bin) inn á ESP32 borðið þitt með því að keyra:
idf.py -p PORT [-b BAUD] flass
Skiptu út PORT fyrir raðtengi ESP32 móðurborðsins. Þú getur einnig breytt baud hraða blikkvarpsins með því að skipta út BAUD fyrir þá baud hraða sem þú þarft. Sjálfgefin baud hraði er 460800. Fyrir frekari upplýsingar um idf.py færibreytur, sjá idf.py.
Athugið: Valkosturinn „flass“ býr til og „flassar“ verkefnið sjálfkrafa, þannig að keyra „idf.py build“ er ekki nauðsynlegt.

Espressif kerfi

40 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu

Vandamál við flassun? Ef þú keyrir skipunina og sérð villur eins og „Mistókst að tengjast“, gætu nokkrar ástæður verið fyrir því. Ein af ástæðunum gætu verið vandamál sem koma upp hjá esptool.py, tólinu sem byggingarkerfið kallar á til að endurstilla örgjörvann, hafa samskipti við ROM ræsiforritið og flassa vélbúnaðinn. Einföld lausn til að prófa er handvirk endurstilling sem lýst er hér að neðan, og ef það hjálpar ekki geturðu fundið frekari upplýsingar um möguleg vandamál í Úrræðaleit.
esptool.py endurstillir ESP32 sjálfkrafa með því að virkja DTR og RTS stjórnlínur USB í raðtengibreytirflísina, þ.e. FTDI eða CP210x (sjá nánari upplýsingar um Stofna raðtengingu við ESP32). DTR og RTS stjórnlínurnar eru síðan tengdar við GPIO0 og CHIP_PU (EN) pinna ESP32, og þannig breytist rúmmálið.tage stig DTR og RTS munu ræsa ESP32 í niðurhalsham fyrir vélbúnað. Sem dæmiampSkoðaðu skýringarmyndina fyrir ESP32 DevKitC þróunarborðið.
Almennt séð ættirðu ekki að lenda í neinum vandræðum með opinberu esp-idf þróunarborðin. Hins vegar getur esptool.py ekki endurstillt vélbúnaðinn sjálfkrafa í eftirfarandi tilvikum:
· Vélbúnaðurinn þinn hefur ekki DTR og RTS línurnar tengdar við GPIO0 og CHIP_PU · DTR og RTS línurnar eru stilltar á annan hátt · Það eru engar slíkar raðstýringarlínur yfir höfuð
Eftir því hvers konar vélbúnað þú ert með gæti einnig verið mögulegt að setja ESP32 borðið handvirkt í niðurhalsstillingu fyrir vélbúnað (endurstilla).
· Fyrir þróunarborð sem Espressif framleiðir er að finna þessar upplýsingar í viðkomandi leiðbeiningum um notkun eða notendahandbókum. Til dæmis.ampTil að endurstilla ESP-IDF þróunarborð handvirkt skaltu halda inni ræsihnappinum (GPIO0) og ýta á EN hnappinn (CHIP_PU).
· Fyrir aðrar gerðir af vélbúnaði, reyndu að draga GPIO0 niður.

Venjuleg notkun Þegar blikkar sérðu úttaksskrá svipaða og eftirfarandi:
… esptool.py –chip esp32 -p /dev/ttyUSB0 -b 460800 –before=default_reset -after=hard_reset write_flash –flash_mode dio –flash_freq 40m –flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Raðtengi /dev/ttyUSB0 Tengist…….._ Flísin er ESP32D0WDQ6 (útgáfa 0) Eiginleikar: WiFi, BT, Tvöfaldur kjarni, Kóðunarkerfi Ekkert Kristallinn er 40MHz MAC: 24:0a:c4:05:b9:14 Hleður upp stubb… Keyrir stubb… Stubbur í gangi… Breytir baud hraða í 460800 Breytt. Stillir flassstærð… Þjappaði 3072 bæti í 103… Skrifaði við 0x00008000… (100%) Skrifaði 3072 bæti (103 þjappað) við 0x00008000 á 0.0 sekúndum (virkar 5962.8 kbit/s)… Gagnakassi staðfestur. Þjappaði 26096 bæti í 15408… Skrifaði við 0x00001000… (100%) Skrifaði 26096 bæti (15408 þjappað) við 0x00001000 á 0.4 sekúndum (virkar 546.7 kbit/s)… Gagnakassi staðfestur. Þjappað 147104 bæti í 77364… Skrifað við 0x00010000… (20%) Skrifað við 0x00014000… (40%) Skrifað við 0x00018000… (60%) Skrifað við 0x0001c000… (80%)
(framhald á næstu síðu)

Espressif kerfi

41 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
(framhald af fyrri síðu) Skrifaði við 0x00020000… (100%) Skrifaði 147104 bæti (77364 þjappað) við 0x00010000 á 1.9 sekúndum (virkt 615,5 kbit/s)… Gagnakassi staðfestur.
Fer... Harðendurstillt með RTS pinna... Lokið
Ef engin vandamál eru í lok flassferlisins mun borðið endurræsa og ræsa theohello_worldpapplication. Ef þú vilt nota Eclipse eða VS Code IDE í stað þess að keyra idf.py, skoðaðu þá Eclipse viðbótina, VSCode Extension.
Fylgstu með úttakinu Til að athuga hvort ohello_worldpis sé í raun að keyra skaltu slá inn idf.py -p PORT monitor (Ekki gleyma að skipta út PORT fyrir nafnið á raðtenginu þínu). Þessi skipun ræsir IDF Monitor forritið:
$ idf.py -p Keyrsla idf_monitor í möppunni […]/esp/hello_world/build Keyrsla „python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/build/hello_world.elf“… — idf_monitor á 115200 —– Hætta: Ctrl+] | Valmynd: Ctrl+T | Hjálp: Ctrl+T og síðan Ctrl+H –ets 8. júní 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8. júní 2016 00:22:57 …
Eftir að ræsingar- og greiningarskrár hafa flett upp ættirðu að sjá oHalló heimur!prentað af forritinu.
... Halló heimur! Endurræsing eftir 10 sekúndur ... Þetta er esp32 örgjörvi með 2 örgjörvakjarna, WiFi/BT/BLE, sílikon útgáfu 1, 2MB utanaðkomandi glampi. Lágmarks laus hrúgustærð: 298968 bæti. Endurræsing eftir 9 sekúndur ... Endurræsing eftir 8 sekúndur ... Endurræsing eftir 7 sekúndur ...
Til að hætta í IDF skjánum skaltu nota flýtileiðina Ctrl+]. Ef IDF skjárinn bilar stuttu eftir upphleðsluna, eða ef þú sérð handahófskenndar villur svipaðar og gefnar eru upp hér að neðan í stað skilaboðanna hér að ofan, þá er líklegt að borðið þitt noti 26 MHz kristal. Flestar hönnun þróunarborða nota 40 MHz, þannig að ESP-IDF notar þessa tíðni sem sjálfgefið gildi.

Ef þú ert með slíkt vandamál skaltu gera eftirfarandi:
1. Farðu úr skjánum. 2. Farðu aftur í valmyndina/stillingar. 3. Farðu í íhlutastillingar > vélbúnaðarstillingar > aðalstillingar XTAL > aðalstillingar XTAL.
tíðnina, breyttu síðan CONFIG_XTAL_FREQ_SEL í 26 MHz. 4. Eftir það skaltu byggja upp og flasha forritið aftur.

Espressif kerfi

42 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Í núverandi útgáfu af ESP-IDF eru helstu XTAL tíðnirnar sem ESP32 styður eftirfarandi:
· 26 MHz · 40 MHz
Athugið: Þú getur sameinað smíði, blikkmyndun og eftirlit í eitt skref með því að keyra: idf.py -p PORT blikkmyndatöku.
Sjá einnig: · IDF Monitor fyrir handhægar flýtileiðir og frekari upplýsingar um notkun IDF monitor. · idf.py fyrir ítarlega yfirlit yfir idf.py skipanir og valkosti.
Þetta er allt sem þú þarft til að byrja með ESP32! Nú ertu tilbúinn að prófa eitthvað annað.amples, eða farðu beint í að þróa þín eigin forrit.
Mikilvægt: Sumir af fyrrverandiampSkrár styðja ekki ESP32 því nauðsynlegur vélbúnaður er ekki innifalinn í ESP32 svo það er ekki hægt að styðja hann. Ef þú ert að smíða t.d.ample, vinsamlegast athugaðu README skrána file fyrir töfluna Stuðningsmarkmið. Ef þetta er til staðar, þar á meðal ESP32-markmið, eða taflan er alls ekki til staðar, þá er fyrrv.ampÞetta mun virka á ESP32.
Viðbótarráðleggingar
Heimildavandamál /dev/ttyUSB0 Í sumum Linux dreifingum gætirðu fengið villuboðin „Mistókst að opna höfnina /dev/ttyUSB0“ þegar þú flassar ESP32. Þetta er hægt að leysa með því að bæta núverandi notanda við úthringingarhópinn.
Python-samhæfni ESP-IDF styður Python 3.7 eða nýrri. Mælt er með að uppfæra stýrikerfið í nýlegri útgáfu sem uppfyllir þessar kröfur. Aðrir möguleikar eru meðal annars uppsetning á Python frá hugbúnaði eða notkun á Python útgáfustjórnunarkerfi eins og pyenv.
Byrjaðu með stuðningspakka fyrir borð. Til að flýta fyrir frumgerðasmíði á sumum þróunarborðum er hægt að nota stuðningspakka fyrir borð (e. Board Support Packages, BSPs), sem gera frumstillingu tiltekins borðs eins auðvelda og með fáum aðgerðaköllum. BSP styður venjulega alla vélbúnaðaríhluti sem eru á þróunarborðinu. Fyrir utan skilgreiningu á pinout og frumstillingaraðgerðir fylgir BSP með rekla fyrir ytri íhluti eins og skynjara, skjái, hljóðkóða o.s.frv. BSP-in eru dreift í gegnum IDF Component Manager, þannig að þau er að finna í IDF Component Registry. Hér er dæmi um ...ampLeiðbeiningar um hvernig á að bæta ESP-WROVER-KIT BSP við verkefnið þitt: idf.py add-dependency esp_wrover_kit
Meira exampUpplýsingar um notkun BSP má finna í BSP dæmi.amples möppu.
Ábending: Uppfærsla á ESP-IDF Mælt er með að uppfæra ESP-IDF öðru hvoru, þar sem nýrri útgáfur laga villur og/eða bjóða upp á nýja eiginleika. Athugið að hver aðal- og minni útgáfa af ESP-IDF hefur tilheyrandi stuðningstímabil og þegar ein útgáfugrein nálgast líftímalok (EOL) eru allir notendur hvattir til að uppfæra verkefni sín í nýrri ESP-IDF útgáfur. Til að fá frekari upplýsingar um stuðningstímabil, sjá ESP-IDF útgáfur.

Espressif kerfi

43 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 1. Byrjaðu
Einfaldasta leiðin til að uppfæra er að eyða núverandi esp-idf möppu og klóna hana aftur, eins og þú værir að framkvæma upphaflegu uppsetninguna sem lýst er í skrefi 2. Sæktu ESP-IDF. Önnur lausn er að uppfæra aðeins það sem hefur breyst. Uppfærsluferlið fer eftir því hvaða útgáfu af ESP-IDF þú ert að nota. Eftir að ESP-IDF hefur verið uppfært skaltu keyra uppsetningarforskriftina aftur, ef nýja ESP-IDF útgáfan krefst annarra útgáfa af verkfærum. Sjá leiðbeiningar í skrefi 3. Settu upp verkfærin. Þegar nýju verkfærin eru sett upp skaltu uppfæra umhverfið með því að nota útflutningsforskriftina. Sjá leiðbeiningar í skrefi 4. Settu upp umhverfisbreyturnar.
Tengd skjöl · Stofna raðtengingu við ESP32 · Eclipse viðbót · VSCode viðbót · IDF skjár
1.4 Byggðu fyrsta verkefnið þitt
Ef þú ert þegar með ESP-IDF uppsett og notar ekki IDE, geturðu smíðað fyrsta verkefnið þitt úr skipanalínunni eftir að hafa farið í „Start a Project“ í Windows eða „Start a Project“ í Linux og macOS.
1.5 Fjarlægja ESP-IDF
Ef þú vilt fjarlægja ESP-IDF skaltu fylgja leiðbeiningunum um að fjarlægja ESP-IDF.

Espressif kerfi

44 Senda inn ábendingar um skjal

Útgáfa v5.0.9

2. kafli
API tilvísun
2.1 API-samningar
Þetta skjal lýsir venjum og forsendum sem eru algengar í ESP-IDF forritunarviðmótum (API). ESP-IDF býður upp á nokkrar gerðir af forritunarviðmótum:
· C-föll, uppbygging, upptalningar, tegundarskilgreiningar og forvinnslumakró sem eru skilgreind í opinberri haus files af ESPIDF íhlutum. Ýmsar síður í API tilvísunarhluta forritunarhandbókarinnar innihalda lýsingar á þessum aðgerðum, uppbyggingu og gerðum.
· Kerfisföll, fyrirfram skilgreindar breytur og valkostir í smíði. Þetta er skjalfest í leiðbeiningum um smíði kerfisins. · Hægt er að nota Kconfig valkosti í kóða og í smíði kerfisins (CMakeLists.txt) files. · Hýsingartól og skipanalínubreytur þeirra eru einnig hluti af ESP-IDF viðmótinu. ESP-IDF samanstendur af íhlutum sem eru sérstaklega skrifaðir fyrir ESP-IDF sem og bókasöfn þriðja aðila. Í sumum tilfellum er ESP-IDF-sértækum umbúðum bætt við bókasafnið þriðja aðila, sem veitir viðmót sem er annað hvort einfaldara eða betur samþætt við restina af ESP-IDF aðstöðunni. Í öðrum tilfellum er upprunalega API-viðmótið (API) þriðja aðila bókasafnsins kynnt forriturum. Í eftirfarandi köflum eru útskýrð nokkrir þættir ESP-IDF API-viðmóta og notkun þeirra.
2.1.1 Villa við meðhöndlun
Flest ESP-IDF API skila villukóðum sem eru skilgreindir með gerðinni esp_err_t. Sjá kaflann um villumeðhöndlun fyrir frekari upplýsingar um aðferðir við villumeðhöndlun. Tilvísun í villukóða inniheldur lista yfir villukóða sem ESP-IDF íhlutir skila.
2.1.2 Stillingarbyggingar
Mikilvægt: Rétt frumstilling stillinga er mikilvægur þáttur í að gera forritið samhæft við framtíðarútgáfur af ESP-IDF.
Flestar frumstillingar- eða stillingarföll í ESP-IDF taka sem viðfangsefni bendil á stillingarbyggingu. Til dæmisample:
45

Kafli 2. Tilvísun í forritaskil

const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = “my_timer” }, .name = “my_timer”
}; esp_timer_handle_t minn_tímari; esp_err_t err = esp_timer_create(&mín_tímari_args, &mín_tímari);
Upphafsföll geyma aldrei bendilinn í stillingarbygginguna, þannig að það er óhætt að úthluta byggingunni á staflanum.
Forritið verður að frumstilla alla reiti skipulagsins. Eftirfarandi er rangt:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Rangt! Reitirnir .arg og .name eru ekki frumstilltir */ esp_timer_create(&my_timer_args, &my_timer);
Flestir ESP-IDF fyrrverandiampnota C99 tilnefnda frumstillingar fyrir uppbyggingu, þar sem þeir bjóða upp á hnitmiðaða leið til að setja undirmengi af reitum og núllstilla eftirstandandi reiti:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Rétt, reitirnir .arg og .name eru núll-frumstilltir */
};
C++ forritunarmálið styður ekki tilgreinda upphafssetningarmálfræði fyrr en í C++20, en GCC þýðandinn styður það að hluta til sem viðbót. Þegar ESP-IDF API eru notuð í C++ kóða gætirðu íhugað að nota eftirfarandi mynstur:
esp_timer_create_args_t my_timer_args = {}; /* Öll reitirnir eru núll-frumstilltir */ my_timer_args.callback = &my_timer_callback;

Sjálfgefin frumstillingarforrit
Fyrir sumar stillingarbyggingar býður ESP-IDF upp á makró til að stilla sjálfgefin gildi reita:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG stækkar í tilgreindan frumstillingarkóða.
Nú eru allir reitir stilltir á sjálfgefin gildi. Hægt er að breyta hvaða reit sem er: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start(&server, &config);
Mælt er með að nota sjálfgefin upphafsmakró þegar þau eru gefin fyrir tiltekna stillingarbyggingu.

2.1.3 Einkaviðmót (API)
Ákveðin haus fileSkrár í ESP-IDF innihalda forritaskil (API) sem eru eingöngu ætluð til notkunar í frumkóða ESP-IDF, en ekki af forritunum. Slík hausverk files innihalda oft `private` eða `esp_private` í nafni sínu eða slóð. Ákveðnir íhlutir, eins og hal, innihalda aðeins einkaviðmót (API). Einkaviðmót geta verið fjarlægð eða breytt á ósamhæfan hátt milli minniháttar útgáfu eða uppfærsluútgáfna.

2.1.4 Íhlutir í dæmiample verkefni
ESP-IDF fyrrverandiampSkrárnar innihalda fjölbreytt verkefni sem sýna fram á notkun ESP-IDF API. Til að draga úr tvítekningu kóða í vinnslunni...ampÞar að auki eru nokkrar algengar hjálpareiningar skilgreindar inni í íhlutum sem eru notaðir af mörgum dæmum.amples.

Espressif kerfi

46 Senda inn ábendingar um skjal

Útgáfa v5.0.9

Kafli 2. Tilvísun í forritaskil
Þetta felur í sér íhluti sem staðsettir eru

Skjöl / auðlindir

Þróunarborð Espressif Systems ESP32 Dev Kitc [pdfNotendahandbók
ESP32 Dev Kitc þróunarborð, ESP32, Dev Kitc þróunarborð, Kitc þróunarborð, þróunarborð, borð

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *