Bwrdd Datblygu ESP32 Dev Kitc
Gwybodaeth Cynnyrch
Manylebau
- Cynnyrch: ESP32
- Canllaw Rhaglennu: ESP-IDF
- Fersiwn Rhyddhau: v5.0.9
- Gwneuthurwr: Espressif Systems
- Dyddiad Cyhoeddi: Mai 16, 2025
Cyfarwyddiadau Defnydd Cynnyrch
1. Cychwyn Arni
Cyn dechrau gyda'r ESP32, ymgyfarwyddwch â'r
canlynol:
1.1 Rhagymadrodd
Dysgwch am swyddogaethau a galluoedd sylfaenol y
ESP32.
1.2 Yr hyn sydd ei angen arnoch
Gwnewch yn siŵr bod gennych y caledwedd a'r feddalwedd angenrheidiol:
- Caledwedd: Gwiriwch y rhestr o galedwedd sydd ei hangen
cydrannau. - Meddalwedd: Gosodwch y feddalwedd sydd ei hangen
cydrannau.
1.3 Gosod
Dilynwch y camau hyn i osod yr IDE a sefydlu'r
amgylchedd:
- IDE: Gosodwch yr IDE a argymhellir ar gyfer
rhaglennu'r ESP32. - Gosod â llaw: Gosodwch â llaw y
amgylchedd os oes angen.
1.4 Adeiladu Eich Prosiect Cyntaf
Creu ac adeiladu eich prosiect cychwynnol gan ddefnyddio'r ESP32.
1.5 Dadosod ESP-IDF
Os oes angen, dysgwch sut i ddadosod yr ESP-IDF o'ch
system.
2. Cyfeirnod API
Cyfeiriwch at ddogfennaeth yr API am wybodaeth fanwl am
protocolau cymhwysiad, trin gwallau, a ffurfweddu
strwythurau.
Cwestiynau Cyffredin (FAQ)
C: Sut alla i ddatrys problemau cyffredin gydag ESP32?
A: Cyfeiriwch at yr adran datrys problemau yn y canllaw rhaglennu
neu ymweld â'r gwneuthurwr websafle ar gyfer adnoddau cymorth.
C: A allaf ddefnyddio ESP-IDF gyda microreolyddion eraill?
A: Mae ESP-IDF wedi'i gynllunio'n benodol ar gyfer ESP32, ond efallai y byddwch chi'n dod o hyd i
cydnawsedd â microreolyddion Espressif eraill.
ESP32
Canllaw Rhaglennu ESP-IDF
Rhyddhau v5.0.9 Systemau Espressif Mai 16, 2025
Tabl cynnwys
Tabl cynnwys
i
1 Dechreuwch
3
1.1 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Yr Hyn Sydd Ei Angen Arnoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Caledwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Meddalwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3 Gosod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 DRhA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Gosod â Llaw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Adeiladu Eich Prosiect Cyntaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5 Dadosod ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2 Cyfeirnod API
45
2.1 Confensiynau API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.1 Trin gwallau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.2 Strwythurau ffurfweddu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1.3 APIs Preifat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.4 Cydrannau mewn cynampprosiectau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.5 Sefydlogrwydd API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2 Protocolau Cymwysiadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.1 porthladd ASIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.5 Cleient HTTP ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.2.6 Rheolaeth Leol ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.2.7 Cyswllt Caethwas Cyfresol ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.2.8 Bwndel Tystysgrif ESP x509 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
2.2.9 Gweinydd HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.2.10 Gweinydd HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
2.2.11 Adlais ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2.2.12 Gwasanaeth mDNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.13 Mbed TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.2.14 Haen Rhwydwaith IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3 API Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.1 Bluetooth® Cyffredin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.3.2 Bluetooth® Ynni Isel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
2.3.3 Bluetooth® Clasurol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2.3.4 Rheolwr a HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
2.3.5 ESP-BLE-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
2.3.6 APIs gwesteiwr sy'n seiliedig ar NimBLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
2.4 Cyfeirnod Codau Gwall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
2.5 APIs Rhwydweithio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776. llariaidd
2.5.2 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
2.5.3 Edau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
i
2.5.4 ESP-NETIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 Haen Rhwydwaith IP 2.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 Haen y Cymhwysiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 API Perifferolion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Gyrrwr Modd Un Ergyd Trosiydd Analog i Ddigidol (ADC). . . . . . . . . . . . . . . . . 977 2.6.2 Gyrrwr Modd Parhaus Trosydd Analog i Ddigidol (ADC). . . . . . . . . . . . . . . 986 2.6.3 Gyrrwr Calibradu Trosydd Analog i Ddigidol (ADC). . . . . . . . . . . . . . . . . . . 993 2.6.4 Coeden y Cloc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Trosydd Digidol i Analog (DAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO a RTC GPIO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 Amserydd Diben Cyffredinol (GPTimer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Cylchdaith Rhyng-Integredig (I2C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Sain Rhyng-IC (I2S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LCD 1056 2.6.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 Rheolydd LED (LEDC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 Modiwleiddiwr Lled Pwls Rheoli Modur (MCPWM) . . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Cyfrifydd Pwls (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 Trawsdderbynydd Rheoli o Bell (RMT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 Gofynion Tynnu i Fyny SD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gyrrwr Gwesteiwr SDMMC 1220 2.6.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 Gyrrwr Gwesteiwr SD SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 Gyrrwr Caethweision Cerdyn SDIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Modiwleiddio Sigma-Delta (SDM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 Gyrrwr Meistr SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 Gyrrwr Caethweision SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Elfen Ddiogel) . . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 Synhwyrydd Cyffwrdd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 Rhyngwyneb Modurol Dwy-wifren (TWAI) . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Derbynnydd/Trosglwyddydd Asyncronig Cyffredinol (UART) . . . . . . . . . . . . . . . . . . 1317 2.7 Ffurfweddiad y Prosiect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 Dewislen Ffurfweddu Prosiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 Defnyddio sdkconfig.defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Rheolau Fformatio Kconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Cydnawsedd Cefnol Opsiynau Kconfig. . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 Cyfeirnod Opsiynau Ffurfweddu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 API Darparu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 Cyfathrebu Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.2 Darpariaeth Unedig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Darpariaeth Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 API Storio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FileCymorth System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 2.9.2 Cyfleustodau Gweithgynhyrchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 Llyfrgell Storio Anweddol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 Cyfleustodau Cynhyrchydd Rhaniad NVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 Gyrrwr SD/SDIO/MMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 API Fflach SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Filesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 Rhithwir filecydran system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 API Lefelu Gwisgo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 API System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 Fformat Delwedd Ap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 Olrhain Lefel Cymhwysiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 Galw swyddogaeth gyda phentwr allanol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 Adolygu Sglodion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 Consol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 Rheolwr eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 Codau Gwall a Swyddogaethau Cymorth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
ii
2.10.8 ESP HTTPS OTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Llyfrgell Dolen Digwyddiadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (Drosview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (Nodweddion Atodol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Dyraniad Cof Pentwr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Dadfygio Cof Pentwr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 Amserydd Cydraniad Uchel (Amserydd ESP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 APIs Mewnol ac Ansefydlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Galwad Rhyng-Brosesydd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 Dyraniad ymyrraeth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 Llyfrgell logio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 APIs System Amrywiol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Diweddariadau Dros yr Awyr (OTA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 Monitro Perfformiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 Rheoli Pŵer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 Cymorth Edau POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 Cynhyrchu Rhifau ar Hap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 Moddau Cysgu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 Galluoedd SoC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 Amser System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 Yr API dyrannu himem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 Rhaglenni Cyd-brosesydd ULP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 Cŵn Gwarchod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161
3 Cyfeirnod Caledwedd
2167
3.1 Cymhariaeth Cyfres Sglodion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2167
3.1.1 Dogfennau Perthnasol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2170
4 Canllaw API
2171
4.1 Llyfrgell Olrhain Lefel Cymhwysiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.2 Dulliau Gweithredu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171
4.1.3 Dewisiadau a Dibyniaethau Ffurfweddu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2172
4.1.4 Sut i Ddefnyddio'r Llyfrgell Hon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2173
4.2 Llif Cychwyn Cymhwysiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181
4.2.1 s cyntaftagllwythwr cychwyn e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.2 Ail stagllwythwr cychwyn e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2182
4.2.3 Cychwyn y rhaglen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183
4.3 Bluetooth® Clasurol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.3.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2184
4.4 Bluetooth® Ynni Isel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186
4.4.2 Dechrau Arni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191
4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2240
4.5 Llwythwr Cychwyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2284
4.5.1 Cydnawsedd cychwynnwr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.2 Lefel Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2285
4.5.3 Ailosod ffatri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.4 Cychwyn o'r Cadarnwedd Prawf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2286
4.5.5 Rholio'n Ôl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.6 Ci Gwarchod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.7 Maint y Llwythwr Bach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.8 Cychwyn cyflym o Gwsg Dwfn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.5.9 Llwythwr cychwyn personol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2287
4.6 Adeiladu System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2288
4.6.2 Defnyddio'r System Adeiladu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2289
iii
4.6.3 Exampy Prosiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 Rhestrau CMake y Prosiect File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 Cydran CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 Ffurfweddiad Cydrannau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 Diffiniadau Cyn-brosesydd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 Gofynion Cydrannau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 Diystyru Rhannau o'r Prosiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 Cydrannau Ffurfweddu yn Unig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 Dadfygio CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 Example Component CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 Gosodiadau diofyn sdkconfig personol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Dadleuon fflach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Adeiladu'r Llwythwr Bach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 Ysgrifennu Cydrannau CMake Pur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 Defnyddio Prosiectau CMake Trydydd Parti gyda Chydrannau . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.18 Defnyddio Llyfrgelloedd Wedi'u Adeiladu Ymlaen Llaw gyda Chydrannau . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 Defnyddio ESP-IDF mewn Prosiectau CMake Personol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 API System Adeiladu CMake ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308 4.6.21 File Adeiladau Globbing a Chynyddol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Adeiladu Metadata System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 Adeiladu Mewnolion System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 Mudo o System Gwneud GNU ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Dump Craidd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 Ffurfweddiadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 Cadw'r dymp craidd i'r fflach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 Dympio craidd argraffu i UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 Swyddogaethau ROM mewn Ôl-drefn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 Dympio newidynnau ar alw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 Rhedeg espcoredump.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 Stubiau Deffro Cwsg Dwfn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Rheolau ar gyfer Stubiau Deffro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 Gweithredu Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 Llwytho Cod i Gof RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 Llwytho Data i Gof RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 Gwirio CRC am Stubiau Deffro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 Trin Gwallau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 Codau gwall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 Trosi codau gwall yn negeseuon gwall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 Macro ESP_ERROR_CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 Macro ESP_ERROR_CHECK_WITHOUT_ABORT . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 Macro ESP_RETURN_ON_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 Macro ESP_GOTO_ON_ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 Macro ESP_RETURN_ON_FALSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 Macro ESP_GOTO_ON_FALSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 GWIRO MACROS Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 Gwallau wrth drin patrymau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 Eithriadau C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-RWYD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 Cysyniadau ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 Adeiladu Rhwydwaith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 Rheoli Rhwydwaith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 Trosglwyddo Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 Newid Sianeli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2344
iv
4.10.8 Perfformiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 Nodiadau Pellach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 Trin Digwyddiadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Digwyddiadau Wi-Fi, Ethernet, ac IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Digwyddiadau Rhwyll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 Digwyddiadau Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 Gwallau Angheuol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Triniwr Panig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Dympio Cofrestr ac Olrhain Ôl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 Stwbyn GDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 Amser Terfyn Gwarchod RTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Gwallau Myfyrdod Guru. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 Gwallau Angheuol Eraill. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 Amgryptio Fflach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 Ffiwsiau ePerthnasol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Proses Amgryptio Fflach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Ffurfweddiad Amgryptio Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 Methiannau Posibl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 Statws Amgryptio Fflach ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 Darllen ac Ysgrifennu Data mewn Fflach wedi'i Amgryptio. . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 Diweddaru Flash wedi'i Amgryptio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Analluogi Amgryptio Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Pwyntiau Allweddol Ynglŷn ag Amgryptio Fflach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Cyfyngiadau Amgryptio Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Amgryptio Fflach a Chychwyn Diogel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 Nodweddion Uwch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 Manylion Technegol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Haniaethu Caledwedd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 Pensaernïaeth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 Haen LL (Lefel Isel). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Haen Dyniad Caledwedd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 Ymyriadau Lefel Uchel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 Lefelau Ymyrraeth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 Nodiadau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG Dadfygio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 Sut Mae'n Gweithio? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 Dewis JTAG Addasydd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 Gosod OpenOCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 Ffurfweddu Targed ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Lansio'r Dadfygiwr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 Dadfygio Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 Adeiladu OpenOCD o Ffynonellau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 Awgrymiadau a Chwiliadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 Dogfennau Perthnasol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Cynhyrchu Sgript Cysylltydd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 Dechrau Cyflym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Cynhyrchu Sgript Cysylltydd Mewnol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 APIs a Gefnogir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 API Socedi BSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 API Netconn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 Tasg FreeRTOS lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 Cymorth IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 addasiadau personol esp-lwip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2436
v
4.18.7 Optimeiddio Perfformiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 Mathau o Gof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439
4.19.1 DRAM (RAM Data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (RAM Cyfarwyddiadau) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (cod a weithredir o'r fflach) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (data wedi'i storio mewn fflach) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC Cof araf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC Cof cyflym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 Gofyniad Galluogi DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 Byffer DMA yn y pentwr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 Moddau'r pentwr OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 Sut i Ysgrifennu Cymhwysiad OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 Y Llwybrydd Ffin OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 Tablau Rhaniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Tablau Rhaniad Mewnol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 Creu Tablau Personol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Cynhyrchu Tabl Rhaniad Deuaidd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 Gwirio Maint Rhaniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 Fflachio'r tabl rhaniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Offeryn Rhannu (parttool.py) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 Perfformiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 Sut i Optimeiddio Perfformiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 Canllawiau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 Calibrad RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 Calibrad rhannol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 Calibrad llawn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 Dim calibrad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 Data cychwyn PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 Cyfeirnod API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 Cefndir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Proses Cychwyn Diogel Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 Allweddi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Maint y Llwythwr Cychwyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Sut i Alluogi Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Llwythwr Cychwyn Meddalwedd Ail-fflachio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Cynhyrchu Allwedd Llofnod Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 Llofnodi Delweddau o Bell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Arferion Gorau Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 Manylion Technegol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Cychwyn Diogel ac Amgryptio Fflach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 Dilysu Ap wedi'i Lofnodi Heb Gychwyn Diogel Caledwedd . . . . . . . . . . . . . . . . . . . . 2478 4.24.13 Nodweddion Uwch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Cychwyn Diogel V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 Cefndir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Uwchtagau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Proses Cychwyn Diogel V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Fformat Bloc Llofnod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Padin Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Dilysu Bloc Llofnod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 Dilysu Delwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Maint y Llwythwr Cychwyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 Defnydd eFuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Sut i Alluogi Cychwyn Diogel V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Cyfyngiadau ar ôl galluogi Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Cynhyrchu Allwedd Llofnod Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2482
vi
4.25.13 Llofnodi Delweddau o Bell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Arferion Gorau Cychwyn Diogel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 Manylion Technegol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Cychwyn Diogel ac Amgryptio Fflach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 Dilysu Ap wedi'i Lofnodi Heb Gychwyn Diogel Caledwedd . . . . . . . . . . . . . . . . . . . . 2484 4.25.18 Nodweddion Uwch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 Cymorth ar gyfer RAM Allanol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 Caledwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 Ffurfweddu RAM Allanol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 Cyfyngiadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 Methu cychwyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 Diwygiadau Sglodion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Storio Lleol Edau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 Drosoddview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 API Brodorol FreeRTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 API Pthread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 Safon C11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 Offer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 Blaen IDF – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 Delwedd Dociwr IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 Gosodwr Ffenestri IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 Rheolwr Cydrannau IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 Offer i'w Lawrlwytho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 Profi Uned yn ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 Achosion Prawf Arferol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Achosion Prawf Aml-ddyfais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Aml-ddyfaistagAchosion Prawf e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 Profion Ar Gyfer Targedau Gwahanol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 Ap Prawf Uned Adeiladu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Rhedeg Profion Uned. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Cod Amseru gydag Amserydd wedi'i Ddigolledu gan y Storfa. . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 Ffug-ddywediadau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Profi Uned ar Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Profion Meddalwedd Mewnosodedig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Profion Uned IDF ar Westeiwr Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gyrrwr Wi-Fi 2520 4.31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 Rhestr Nodweddion Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Sut i Ysgrifennu Cais Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 Cod Gwall API Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 Cychwyn Paramedr API Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . Model Rhaglennu Wi-Fi ESP32 2522 4.31.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 Disgrifiad o Ddigwyddiad Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 Senario Cyffredinol Gorsaf Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 Senario Cyffredinol AP Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 Sgan Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 Senario Cysylltu Gorsaf Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 Gorsaf Wi-Fi ESP32 yn Cysylltu Pan Ganfyddir Lluosog APs. . . . . . . . . . . . . 2543 4.31.12 Ailgysylltu Wi-Fi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Terfyn Amser Goleuo Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 Ffurfweddiad Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi Easy ConnectTM (DPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 Rheoli Rhwydwaith Di-wifr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 Mesur Adnoddau Radio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 Pontio BSS Cyflym. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 Modd Arbed Ynni Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 Trwybwn Wi-Fi ESP32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
4.31.21 Anfon Pecyn Wi-Fi 80211 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Modd Synhwyro Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Antenâu Lluosog Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Gwybodaeth Cyflwr Sianel Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Ffurfweddu Gwybodaeth Cyflwr Sianel Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi AMSDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Darn Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 Ymrestrwr WPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Defnydd Byffer Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Sut i Wella Perfformiad Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Ffurfweddu Dewislen Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 Datrys Problemau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Diogelwch Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 Nodweddion Diogelwch Wi-Fi ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Fframiau Rheoli Wedi'u Diogelu (PMF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 Menter WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-Personol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi Enhanced OpenTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 Cydfodolaeth RF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 Drosview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 Senario Cydfodolaeth â Chymorth ar gyfer ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 Mecanwaith a Pholisi Cydfodolaeth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 Sut i Ddefnyddio'r Nodwedd Cydfodolaeth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 Adeiladweithiau Atgynhyrchadwy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 Cyflwyniad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 Rhesymau dros adeiladweithiau na ellir eu hatgynhyrchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 Galluogi adeiladweithiau atgynhyrchadwy yn ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 Sut mae adeiladweithiau atgynhyrchadwy yn cael eu cyflawni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 Adeiladweithiau atgynhyrchadwy a dadfygio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 Ffactorau sy'n dal i effeithio ar adeiladweithiau atgynhyrchadwy . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 Canllaw Defnyddiwr Modd Pŵer Isel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578
5 Canllaw Mudo
2579
5.1 Canllaw Mudo ESP-IDF 5.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
5.1.1 Mudo o 4.4 i 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2579
6 Llyfrgell a Fframweithiau
2611
6.1 Fframweithiau Cwmwl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.1 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.2 AWS Rhyngrwyd Pethau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.3 Rhyngrwyd Pethau Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.4 Craidd IoT Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.5 Aliyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.6 Joylink Rhyngrwyd Pethau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2611
6.1.7 Tencent Rhyngrwyd Pethau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.8 Tencentyun Rhyngrwyd Pethau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.1.9 Baidu Rhyngrwyd Pethau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2 Fframweithiau Mynegiant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.1 Fframwaith Datblygu Sain Espressif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.2 ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.3 Llyfrgell DSP Espressif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612
6.2.4 Fframwaith Datblygu ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.6 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.7 Datrysiad-ESP-IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
6.2.8 Protocolau ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2613
viii
6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2614
7 Canllaw Cyfraniadau
2615
7.1 Sut i Gyfrannu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.2 Cyn Cyfrannu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.3 Proses Cais Tynnu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2615
7.4 Rhan Gyfreithiol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5 Dogfennau Perthnasol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.1 Canllaw Arddull Fframwaith Datblygu Rhyngrwyd Pethau Espressif . . . . . . . . . . . . . . . . . . . . . . 2616
7.5.2 Gosod Bachyn cyn-ymrwymo ar gyfer Prosiect ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . 2623
7.5.3 Cod Dogfennu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2624
7.5.4 Creu Ecsamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2629. llarieidd-dra eg
7.5.5 Templed Dogfennaeth API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2630
7.5.6 Cytundeb Cyfranwyr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632
7.5.7 Canllaw Pennawd Hawlfraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2634
7.5.8 Profion ESP-IDF gyda Chanllaw Pytest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2635
8 Fersiynau ESP-IDF
2645
8.1 Rhyddhadau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.2 Pa Fersiwn Ddylwn i Ddechrau  hi? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.3 Cynllun Fersiwn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2645
8.4 Cyfnodau Cymorth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2646
8.5 Gwirio'r Fersiwn Gyfredol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2647
8.6 Llif Gwaith Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7 Diweddaru ESP-IDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2648
8.7.1 Diweddaru i'r Rhyddhau Sefydlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.2 Diweddaru i Fersiwn Cyn-Ryddhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.3 Diweddaru i'r Gangen Feistr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2649
8.7.4 Diweddaru i Gangen Rhyddhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2650
9 Adnoddau
2651
9.1 PlatformIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.1 Beth yw PlatformIO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.2 Gosod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2651
9.1.3 Ffurfweddiad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.4 Tiwtorialau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.5 Prosiect Cynamples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.1.6 Camau Nesaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
9.2 Dolenni Defnyddiol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2652
10 Hawlfraint a Thrwyddedau
2653
10.1 Hawlfraintiau Meddalwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.1 Cydrannau Cadarnwedd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2653
10.1.2 Dogfennaeth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.2 Hawlfraint Cod Ffynhonnell ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2654
10.3 Trwydded MIT Xtensa libhal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655. llarieidd-dra eg
10.4 Trwydded MIT TinyBasic Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655. llarieidd-dra eg
Trwydded TJpgDec 10.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2655
11 Ynghylch
2657
12 Newid Rhwng Ieithoedd
2659
Mynegai
2661
Mynegai
2661
ix
x
Tabl cynnwys
Dyma'r ddogfennaeth ar gyfer Fframwaith Datblygu IoT Espressif (esp-idf). ESP-IDF yw'r fframwaith datblygu swyddogol ar gyfer SoCs Cyfres ESP32, ESP32-S ac ESP32-C. Mae'r ddogfen hon yn disgrifio defnyddio ESP-IDF gyda'r ESP32 SoC.
Cychwyn Arni
Cyfeirnod API
Canllawiau API
Systemau Espressif
1 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Tabl cynnwys
Systemau Espressif
2 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1
Cychwyn Arni
Bwriad y ddogfen hon yw eich helpu i sefydlu'r amgylchedd datblygu meddalwedd ar gyfer y caledwedd yn seiliedig ar y sglodion ESP32 gan Espressif. Ar ôl hynny, enghraifft symlampBydd le yn dangos i chi sut i ddefnyddio ESP-IDF (Fframwaith Datblygu IoT Espressif) ar gyfer ffurfweddu dewislen, yna ar gyfer adeiladu a fflachio cadarnwedd ar fwrdd ESP32.
Nodyn: Dogfennaeth ar gyfer fersiwn sefydlog v5.0.9 o ESP-IDF yw hon. Mae fersiynau eraill o ESP-IDF ar gael hefyd.
1.1 Rhagymadrodd
Mae ESP32 yn system ar sglodion sy'n integreiddio'r nodweddion canlynol: · Wi-Fi (band 2.4 GHz) · Bluetooth · Creiddiau CPU deuol Xtensa® 32-bit LX6 perfformiad uchel · Cyd-brosesydd Pŵer Isel Iawn · Perifferolion lluosog
Wedi'i bweru gan dechnoleg 40 nm, mae ESP32 yn darparu platfform cadarn, integredig iawn, sy'n helpu i fodloni'r gofynion parhaus am ddefnydd pŵer effeithlon, dyluniad cryno, diogelwch, perfformiad uchel a dibynadwyedd. Mae Espressif yn darparu adnoddau caledwedd a meddalwedd sylfaenol i helpu datblygwyr cymwysiadau i wireddu eu syniadau gan ddefnyddio caledwedd cyfres ESP32. Bwriedir y fframwaith datblygu meddalwedd gan Espressif ar gyfer datblygu cymwysiadau Rhyngrwyd Pethau (IoT) gyda Wi-Fi, Bluetooth, rheoli pŵer a sawl nodwedd system arall.
1.2 Yr hyn sydd ei angen arnoch
1.2.1 Caledwedd
· Bwrdd ESP32. · Cebl USB – USB A / micro USB B. · Cyfrifiadur sy'n rhedeg Windows, Linux, neu macOS.
Nodyn: Ar hyn o bryd, mae rhai o'r byrddau datblygu yn defnyddio cysylltwyr USB Math C. Gwnewch yn siŵr bod gennych y cebl cywir i gysylltu eich bwrdd!
Os oes gennych chi un o fyrddau datblygu swyddogol ESP32 a restrir isod, gallwch glicio ar y ddolen i ddysgu mwy am y caledwedd.
3
Pennod 1. Dechrau Arni
PecynDatblygu ESP32(-R)
Mae'r canllaw defnyddiwr hwn yn darparu gwybodaeth am ESP32-DevKitS(-R), bwrdd fflachio sy'n seiliedig ar ESP32 a gynhyrchwyd gan Espressif. Mae ESP32-DevKitS(-R) yn gyfuniad o ddau enw bwrdd: ESP32-DevKitS ac ESP32-DevKitS-R. Mae S yn sefyll am sbringiau, ac mae R yn sefyll am WROVER.
Pecyn Datblygu ESP32
PecynDatblygu ESP32S-R
Mae'r ddogfen yn cynnwys y prif adrannau canlynol: · Dechrau Arni: Yn rhoi trosolwgview o gyfarwyddiadau gosod ESP32-DevKitS(-R) a chaledwedd/meddalwedd i ddechrau arni. · Cyfeirnod Caledwedd: Yn darparu gwybodaeth fanylach am galedwedd ESP32-DevKitS(-R)ns. · Dogfennau Cysylltiedig: Yn rhoi dolenni i ddogfennaeth gysylltiedig.
Dechrau Arni Mae'r adran hon yn disgrifio sut i ddechrau gydag ESP32-DevKitS(-R). Mae'n dechrau gydag ychydig o adrannau cyflwyniadol am ESP32-DevKitS(-R), yna mae'r Adran Sut i Fflachio Bwrdd yn darparu cyfarwyddiadau ar sut i osod modiwl ar ESP32-DevKitS(-R), ei baratoi, a fflachio cadarnwedd arno.
Drosoddview Mae ESP32-DevKitS(-R) yn fwrdd fflachio Espressifns a gynlluniwyd yn benodol ar gyfer ESP32. Gellir ei ddefnyddio i fflachio modiwl ESP32 heb sodro'r modiwl i'r cyflenwad pŵer a'r llinellau signal. Gyda modiwl wedi'i osod, gellir defnyddio ESP32-DevKitS(-R) hefyd fel bwrdd datblygu mini fel ESP32-DevKitC.
Dim ond o ran cynllun y pinnau gwanwyn y mae byrddau ESP32-DevKitS ac ESP32-DevKitS-R yn amrywio i ffitio'r modiwlau ESP32 canlynol.
· Pecynnau Datblygu ESP32: ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R: ESP32-WROVER (PCB ac IPEX) ESP32-WROVER-B (PCB ac IPEX) ESP32-WROVER-E ESP32-WROVER-IE
Am wybodaeth am y modiwlau uchod, cyfeiriwch at Fodiwlau Cyfres ESP32.
Disgrifiad o'r Cydrannau
Systemau Espressif
4 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 1: ESP32-DevKitS – blaen
Systemau Espressif
Ffig. 2: ESP32-DevKitS-R – blaen 5
Cyflwyno Adborth Dogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Pinnau Gwanwyn Cydran Allweddol Penawdau Benywaidd 2.54 mm
Pont USB-i-UART LDO Cysylltydd Micro-USB/Porthladd Micro USB Botwm EN Botwm Cychwyn
Pwer Ar LED
Disgrifiad Cliciwch y modiwl i mewn. Bydd y pinnau'n ffitio i mewn i dyllau castellog y modiwl. Mae'r penawdau benywaidd hyn wedi'u cysylltu â phinnau'r modiwl sydd wedi'u gosod ar y bwrdd hwn. Am ddisgrifiad o benawdau benywaidd, cyfeiriwch at Flociau Pennawd. Mae pont USB i UART sglodion sengl yn darparu cyfraddau trosglwyddo hyd at 3 Mbps.
Cyfaint gollyngiad isel 5V-i-3.3Vtagrheolydd e (LDO).
Rhyngwyneb USB. Cyflenwad pŵer ar gyfer y bwrdd yn ogystal â'r rhyngwyneb cyfathrebu rhwng cyfrifiadur a'r bwrdd.
Botwm ailosod.
Botwm Lawrlwytho. Wrth ddal Boot i lawr ac yna pwyso EN, bydd modd Lawrlwytho Firmware yn cychwyn ar gyfer lawrlwytho firmware drwy'r porthladd cyfresol.
Yn troi ymlaen pan fydd y cyflenwad pŵer neu'r USB wedi'i gysylltu â'r bwrdd.
Sut i Fflachio Bwrdd Cyn troi eich ESP32-DevKitS(-R) ymlaen, gwnewch yn siŵr ei fod mewn cyflwr da heb unrhyw arwyddion amlwg o ddifrod.
Caledwedd Angenrheidiol · Modiwl ESP32 o'ch dewis · Cebl USB 2.0 (Safonol-A i Micro-B) · Cyfrifiadur sy'n rhedeg Windows, Linux, neu macOS
Gosod Caledwedd Gosodwch fodiwl o'ch dewis ar eich ESP32-DevKitS(-R) yn ôl y camau canlynol:
· Rhowch eich modiwl yn ysgafn ar y bwrdd ESP32-DevKitS(-R). Gwnewch yn siŵr bod y tyllau castellog ar eich modiwl wedi'u halinio â phinnau gwanwyn ar y bwrdd.
· Pwyswch eich modiwl i lawr i'r bwrdd nes iddo glicio. · Gwiriwch a yw'r holl binnau gwanwyn wedi'u mewnosod i'r tyllau castellog. Os oes rhai pinnau gwanwyn wedi'u camlinio,
rhowch nhw mewn tyllau castellog gyda gefeiliau.
Gosod Meddalwedd
Y Dull a Ffefrir Mae fframwaith datblygu ESP-IDF yn darparu ffordd a ffefrir o fflachio ffeiliau deuaidd ar ESP32-DevKitS(-R). Ewch ymlaen i Gychwyn Arni, lle bydd yr Adran Gosod yn eich helpu i sefydlu'r amgylchedd datblygu yn gyflym ac yna fflachio enghraifft o gymhwysiad.ample ar eich ESP32-DevKitS(-R).
Dull Amgen Fel dewis arall, gall defnyddwyr Windows fflachio ffeiliau deuaidd gan ddefnyddio'r Offeryn Lawrlwytho Flash. Lawrlwythwch ef, dadsipio ef, a dilynwch y cyfarwyddiadau yn y ffolder doc.
Nodyn: 1. I fflachio ffeil ddeuaidd files, dylid gosod ESP32 i'r modd Lawrlwytho Firmware. Gellir gwneud hyn naill ai gan yr offeryn fflachio yn awtomatig, neu drwy ddal y botwm Boot i lawr a thapio'r botwm EN. 2. Ar ôl fflachio'r ffeil ddeuaidd files, mae'r Offeryn Lawrlwytho Flash yn ailgychwyn eich modiwl ESP32 ac yn cychwyn y rhaglen wedi'i fflachio yn ddiofyn.
Dimensiynau'r Bwrdd Cynnwys a Phecynnu
Systemau Espressif
6 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni Ffig. 3: Dimensiynau bwrdd ESP32-DevKitS – cefn
Systemau Espressif
Ffig. 4: Dimensiynau bwrdd ESP32-DevKitS-R – cefn 7
Cyflwyno Adborth Dogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Archebion manwerthu Os ydych chi'n archebu ychydigamples, mae pob ESP32-DevKitS(-R) yn dod mewn pecyn unigol naill ai mewn bag gwrthstatig neu unrhyw becynnu yn dibynnu ar y manwerthwr. Ar gyfer archebion manwerthu, ewch i https://www.espressif.com/en/contact-us/get-samples.
Archebion Cyfanwerthu Os ydych chi'n archebu mewn swmp, mae'r byrddau'n dod mewn blychau cardbord mawr. Ar gyfer archebion cyfanwerthu, ewch i https://www.espressif.com/en/contact-us/sales-questions.
Cyfeirnod Caledwedd
Diagram Bloc Mae'r diagram bloc isod yn dangos cydrannau ESP32-DevKitS(-R) a'u rhyng-gysylltiadau.
Ffig. 5: ESP32-DevKitS(-R) (cliciwch i ehangu)
Dewisiadau Cyflenwad Pŵer Mae tair ffordd sy'n cyd-anghynhwysol o ddarparu pŵer i'r bwrdd: · Porthladd micro USB, cyflenwad pŵer diofyn · Pinnau pennawd 5V a GND · Pinnau pennawd 3V3 a GND
Cynghorir defnyddio'r opsiwn cyntaf: porthladd micro USB.
Systemau Espressif
.
Signal Label
L1 3V3 VDD 3V3
L2 EN CHIP_PU
SYNWYRYDD_VP L3 VP
SYNWYRYDD_VN L4 VN
L5 34
GPIO34
L6 35
GPIO35
L7 32
GPIO32
L8 33
GPIO33
yn parhau ar y dudalen nesaf
8 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Mae Tabl 1 yn parhau o'r dudalen flaenorol
.
Signal Label
L9 25
GPIO25
L10 26
GPIO26
L11 27
GPIO27
L12 14
GPIO14
L13 12
GPIO12
L14 GND GND
L15 13
GPIO13
L16 D2 SD_DATA2
L17 D3 SD_DATA3
L18 CMD SD_CMD
L19 5V
5V allanol
R1 GND GND
R2 23
GPIO23
R3 22
GPIO22
R4 TX U0TXD
R5 RX U0RXD
R6 21
GPIO21
R7 GND GND
R8 19
GPIO19
R9 18
GPIO18
R10 5
GPIO5
R11 17
GPIO17
R12 16
GPIO16
R13 4
GPIO4
R14 0
GPIO0
R15 2
GPIO2
R16 15
GPIO15
R17 D1 SD_DATA1
R18 D0 SD_DATA0
R19 CLK SD_CLK
Blociau Pennawd Am ddelwedd o flociau pennawd, cyfeiriwch at Ddisgrifiad o Gydrannau.
Dogfennau Cysylltiedig
· Cynlluniau ESP32-DevKitS(-R) (PDF) · Taflen Ddata ESP32 (PDF) · Taflen Ddata ESP32-WROOM-32 (PDF) · Taflen Ddata ESP32-WROOM-32D ac ESP32-WROOM-32U (PDF) · Taflen Ddata ESP32-SOLO-1 (PDF) · Taflen Ddata ESP32-WROVER (PDF) · Taflen Ddata ESP32-WROVER-B (PDF) · Dewisydd Cynnyrch ESP
ESP32-DevKitM-1
Bydd y canllaw defnyddiwr hwn yn eich helpu i ddechrau gydag ESP32-DevKitM-1 a bydd hefyd yn darparu gwybodaeth fanylach.
Mae ESP32-DevKitM-1 yn fwrdd datblygu sy'n seiliedig ar ESP32-MINI-1(1U) a gynhyrchwyd gan Espressif. Mae'r rhan fwyaf o'r pinnau Mewnbwn/Allbwn wedi'u torri allan i'r penawdau pin ar y ddwy ochr er mwyn rhyngwynebu hawdd. Gall defnyddwyr naill ai gysylltu perifferolion â gwifrau neidio neu osod ESP32-DevKitM-1 ar fwrdd bara.
Systemau Espressif
9 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
ESP32-DevKitM-1 – blaen
ESP32-DevKitM-1 – isometrig
Mae'r ddogfen yn cynnwys y prif adrannau canlynol: · Dechrau arni: Yn rhoi trosolwgview o'r ESP32-DevKitM-1 a chyfarwyddiadau gosod caledwedd/meddalwedd i ddechrau arni. · Cyfeirnod caledwedd: Yn darparu gwybodaeth fanylach am galedwedd ESP32-DevKitM-1ns. · Dogfennau Cysylltiedig: Yn rhoi dolenni i ddogfennaeth gysylltiedig.
Dechrau Arni Mae'r adran hon yn disgrifio sut i ddechrau gydag ESP32-DevKitM-1. Mae'n dechrau gydag ychydig o adrannau cyflwyniadol am yr ESP32-DevKitM-1, yna mae'r Adran Dechrau Datblygu Cymwysiadau yn darparu cyfarwyddiadau ar sut i wneud y gosodiad caledwedd cychwynnol ac yna sut i fflachio cadarnwedd ar yr ESP32-DevKitM-1.
Drosoddview Mae hwn yn fwrdd datblygu bach a chyfleus sy'n cynnwys:
· modiwl ESP32-MINI-1, neu ESP32-MINI-1U · rhyngwyneb rhaglennu USB-i-gyfresol sydd hefyd yn darparu cyflenwad pŵer ar gyfer y bwrdd · penawdau pin · botymau gwthio ar gyfer ailosod ac actifadu modd Lawrlwytho Cadarnwedd · ychydig o gydrannau eraill
Cynnwys a Phecynnu
Archebion manwerthu Os ydych chi'n archebu ychydigamples, mae pob ESP32-DevKitM-1 yn dod mewn pecyn unigol naill ai mewn bag gwrthstatig neu unrhyw becynnu yn dibynnu ar eich manwerthwr.
Ar gyfer archebion manwerthu, ewch i https://www.espressif.com/en/contact-us/get-samples.
Archebion Cyfanwerthu Os ydych chi'n archebu mewn swmp, mae'r byrddau'n dod mewn blychau cardbord mawr. Ar gyfer archebion cyfanwerthu, ewch i https://www.espressif.com/en/contact-us/sales-questions.
Disgrifiad o'r Cydrannau Mae'r ffigur canlynol a'r tabl isod yn disgrifio'r cydrannau allweddol, rhyngwynebau a rheolyddion y bwrdd ESP32-DevKitM-1. Rydym yn cymryd y bwrdd gyda modiwl ESP32-MINI-1 fel enghraifftample yn yr adrannau canlynol.
Systemau Espressif
10 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 6: ESP32-DevKitM-1 – blaen
Cydran Allweddol Modiwl ar y bwrdd
Botwm Cychwyn LDO 5 V i 3.3 V
Botwm Ailosod Porthladd Micro-USB
LED Pŵer Ymlaen Pont USB-i-UART 3.3 V
Cysylltydd I/O
Disgrifiad
Modiwl ESP32-MINI-1 neu fodiwl ESP32-MINI-1U. Daw ESP32-MINI-1 gydag antena PCB mewnol. Daw ESP32-MINI-1U gyda chysylltydd antena allanol. Mae gan y ddau fodiwl becyn sglodion fflach 4 MB. Am fanylion, gweler Taflen Ddata ESP32-MINI-1 ac ESP32-MINI-1U.
Mae rheolydd pŵer yn trosi 5 V i 3.3 V.
Botwm Lawrlwytho. Wrth ddal Boot i lawr ac yna pwyso Reset, bydd modd Lawrlwytho Firmware yn cychwyn ar gyfer lawrlwytho firmware drwy'r porthladd cyfresol.
Botwm Ailosod
Rhyngwyneb USB. Cyflenwad pŵer ar gyfer y bwrdd yn ogystal â'r rhyngwyneb cyfathrebu rhwng cyfrifiadur a'r sglodyn ESP32.
Mae sglodion pont USB-UART sengl yn darparu cyfraddau trosglwyddo hyd at 3 Mbps.
Yn troi ymlaen pan fydd y USB wedi'i gysylltu â'r bwrdd. Am fanylion, gweler y sgematigau yn y Dogfennau Perthnasol. Mae'r holl binnau GPIO sydd ar gael (ac eithrio'r bws SPI ar gyfer fflach) wedi'u torri allan i'r penawdau pin ar y bwrdd. Gall defnyddwyr raglennu sglodion ESP32 i alluogi swyddogaethau lluosog.
Dechreuwch Ddatblygu Cymwysiadau Cyn troi eich ESP32-DevKitM-1 ymlaen, gwnewch yn siŵr ei fod mewn cyflwr da heb unrhyw arwyddion amlwg o ddifrod.
Caledwedd Angenrheidiol · ESP32-DevKitM-1 · Cebl USB 2.0 (Safonol-A i Micro-B) · Cyfrifiadur sy'n rhedeg Windows, Linux, neu macOS
Gosod Meddalwedd Ewch ymlaen i Dechrau Arni, lle bydd yr Adran Gosod yn eich helpu i sefydlu'r amgylchedd datblygu yn gyflym ac yna fflachio rhaglen e.e.ampar eich ESP32-DevKitM-1.
Systemau Espressif
11 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Sylw: Mae gan fyrddau ESP32-DevKitM-1 a gynhyrchwyd cyn 2 Rhagfyr, 2021 fodiwl craidd sengl wedi'i osod. I wirio pa fodiwl sydd gennych, gwiriwch wybodaeth marcio modiwl yn PCN-2021-021. Os oes gan eich bwrdd fodiwl craidd sengl wedi'i osod, galluogwch y modd craidd sengl (CONFIG_FREERTOS_UNICORE) yn y menuconfig cyn fflachio'ch cymwysiadau.
Diagram Bloc Cyfeirnod Caledwedd Mae'r diagram bloc isod yn dangos cydrannau ESP32-DevKitM-1 a'u rhyng-gysylltiadau.
Ffig. 7: ESP32-DevKitM-1
Dewis Ffynhonnell Pŵer Mae tair ffordd sy'n cyd-anghynhwysol o ddarparu pŵer i'r bwrdd: · Porthladd micro USB, cyflenwad pŵer diofyn · Pinnau pennawd 5V a GND · Pinnau pennawd 3V3 a GND
Rhybudd: · Rhaid darparu'r cyflenwad pŵer gan ddefnyddio un ac un yn unig o'r opsiynau uchod, fel arall gellir difrodi'r bwrdd a/neu'r ffynhonnell cyflenwad pŵer. · Argymhellir cyflenwad pŵer drwy borthladd micro USB.
Disgrifiadau o'r Pinnau Mae'r tabl isod yn darparu Enw a Swyddogaeth y pinnau ar ddwy ochr y bwrdd. Am gyfluniadau pinnau ymylol, cyfeiriwch at Daflen Ddata ESP32.
Nac ydw.
Enw
Math
1
GND
P
2
3V3
P
Swyddogaeth Cyflenwad pŵer Tir 3.3 V
yn parhau ar y dudalen nesaf
Systemau Espressif
12 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Mae Tabl 2 yn parhau o'r dudalen flaenorol
Nac ydw.
Enw
Math
Swyddogaeth
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
Ail gychwyn; Uchel: galluogi; Isel: pwerau i ffwrdd
8
I34
I
GPIO34, ADC1_CH6, RTC_GPIO4
9
I35
I
GPIO35, ADC1_CH7, RTC_GPIO5
10
IO32
I/O
GPIO32, XTAL_32K_P (mewnbwn osgiliadur crisial 32.768 kHz),
ADC1_CH4, TOUCH9, RTC_GPIO9
11
IO33
I/O
GPIO33, XTAL_32K_N (allbwn osgiliadur grisial 32.768 kHz),
ADC1_CH5, TOUCH8, RTC_GPIO8
12
IO25
I/O
GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EAC_RXD0
13
IO26
I/O
GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EAC_RXD1
14
IO27
I/O
GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EAC_RX_DV
15
IO14
I/O
GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK,
HS2_CLK, SD_CLK, EAC_TXD2
16
5V
P
Cyflenwad pŵer 5 V
17
IO12
I/O
GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ,
HS2_DATA2, SD_DATA2, EAC_TXD3
18
IO13
I/O
GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID,
HS2_DATA3, SD_DATA3, EAC_RX_ER
19
IO15
I/O
GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0,
HS2_CMD, SD_CMD, EAC_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,
EAC_TX_CLK
22
IO4
I/O
GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD,
HS2_DATA1, SD_DATA1, EAC_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, EAC_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, EAC_TXD0
29
IO22
I/O
GPIO22, VSPIWP, U0RTS, EAC_TXD1
30
IO21
I/O
GPIO21, VSPIHD, EAC_TX_CY
31
TXD0
I/O
GPIO1, U0TXD, CLK_OUT3, EAC_RXD2
32
RXD0
I/O
GPIO3, U0RXD, CLK_OUT2
Manylion Diwygiad Caledwedd Dim fersiynau blaenorol ar gael.
Dogfennau Cysylltiedig
· Taflen Ddata ESP32-MINI-1 ac ESP32-MINI-1U (PDF) · Cynlluniau ESP32-DevKitM-1 (PDF) · Cynllun PCB ESP32-DevKitM-1 (PDF) · Cynllun ESP32-DevKitM-1 (DXF) – Gallwch view gyda Autodesk Viewar-lein · Taflen Ddata ESP32 (PDF) · Dewisydd Cynnyrch ESP
Am ddogfennaeth ddylunio arall ar gyfer y bwrdd, cysylltwch â ni yn sales@espressif.com.
Systemau Espressif
13 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
1.2.2 Software
I ddechrau defnyddio ESP-IDF ar ESP32, gosodwch y feddalwedd ganlynol: · Cadwyn Offer i lunio cod ar gyfer ESP32 · Adeiladu offer – CMake a Ninja i adeiladu Cymhwysiad llawn ar gyfer ESP32 · ESP-IDF sydd i bob pwrpas yn cynnwys API (llyfrgelloedd meddalwedd a chod ffynhonnell) ar gyfer ESP32 a sgriptiau i weithredu'r Gadwyn Offer
1.3 Gosod
I osod yr holl feddalwedd sydd ei hangen, rydym yn cynnig rhai ffyrdd gwahanol o hwyluso'r dasg hon. Dewiswch o un o'r opsiynau sydd ar gael.
1.3.1 IDE
Nodyn: Rydym yn argymell yn gryf eich bod yn gosod yr ESP-IDF trwy'ch IDE hoff.
· Ategyn Eclipse · Estyniad VSCode
1.3.2 Gosod â Llaw
Ar gyfer y weithdrefn â llaw, dewiswch yn ôl eich system weithredu.
Systemau Espressif
14 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Gosodiad Safonol Toolchain ar gyfer Windows
Cyflwyniad Mae ESP-IDF angen gosod rhai offer rhagofyniad er mwyn i chi allu adeiladu cadarnwedd ar gyfer sglodion a gefnogir. Mae'r offer rhagofyniad yn cynnwys Python, Git, traws-grynhoyddion, offer adeiladu CMake ac Ninja. Ar gyfer y Dechrau Arni hwn, byddwn yn defnyddio'r Gorchymyn Anogwr, ond ar ôl i ESP-IDF gael ei osod gallwch ddefnyddio Eclipse Plugin neu IDE graffigol arall gyda chefnogaeth CMake yn lle. Nodyn: Cyfyngiadau: – Ni ddylai llwybr gosod ESP-IDF ac Offer ESP-IDF fod yn hirach na 90 nod. Gall llwybrau gosod rhy hir arwain at fethiant yn y gwaith adeiladu. – Ni ddylai llwybr gosod Python neu ESP-IDF gynnwys bylchau gwyn na chromfachau. – Ni ddylai llwybr gosod Python neu ESP-IDF gynnwys nodau arbennig (nonASCII) oni bai bod y system weithredu wedi'i ffurfweddu gyda chefnogaeth oUnicode UTF-8p. Gall Gweinyddwr y System alluogi'r gefnogaeth trwy'r Panel Rheoli – Newid fformatau dyddiad, amser, neu rif – Tab Gweinyddol – Newid lleoliad y system – gwiriwch yr opsiwn oBeta: Defnyddiwch Unicode UTF-8 ar gyfer cefnogaeth iaith ledled y bydp – Iawn ac ailgychwynwch y cyfrifiadur.
Gosodwr Offer ESP-IDF Y ffordd hawsaf o osod rhagofynion ESP-IDFns yw lawrlwytho un o Osodwyr Offer ESP-IDF.
Lawrlwytho Gosodwr Windows
Beth yw'r achos defnydd ar gyfer Gosodwr Ar-lein ac All-lein Mae'r Gosodwr Ar-lein yn fach iawn ac yn caniatáu gosod pob fersiwn sydd ar gael o ESP-IDF. Dim ond dibyniaethau angenrheidiol fydd yn cael eu lawrlwytho gan gynnwys Git For Windows yn ystod y broses osod. Mae'r gosodwr yn storio'r hyn sydd wedi'i lawrlwytho. files yn y cyfeiriadur storfa %userprofile%. espressif
Nid oes angen unrhyw gysylltiad rhwydwaith ar y Gosodwr All-lein. Mae'r gosodwr yn cynnwys yr holl ddibyniaethau gofynnol gan gynnwys Git For Windows.
Cydrannau'r gosodiad Mae'r gosodwr yn defnyddio'r cydrannau canlynol:
· Python Mewnosodedig · Croes-grynhoyddion · OpenOCD · Offer adeiladu CMake a Ninja · ESP-IDF
Mae'r gosodwr hefyd yn caniatáu ailddefnyddio'r cyfeiriadur presennol gydag ESP-IDF. Y cyfeiriadur a argymhellir yw %userprofile%Desktopesp-idf lle mae %userprofile% yw eich cyfeiriadur cartref.
Systemau Espressif
15 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Lansio Amgylchedd ESP-IDF Ar ddiwedd y broses osod gallwch edrych ar yr opsiwn Rhedeg Amgylchedd PowerShell ESP-IDF neu Rhedeg yr Anogwr Gorchymyn ESP-IDF (cmd.exe). Bydd y gosodwr yn lansio amgylchedd ESP-IDF yn yr anogwr a ddewiswyd. Rhedeg Amgylchedd PowerShell ESP-IDF:
Ffig. 8: Cwblhau Dewin Gosod Offer ESP-IDF gyda Rhedeg Amgylchedd PowerShell ESP-IDF
Rhedeg yr Anogwr Gorchymyn ESP-IDF (cmd.exe):
Defnyddio'r Gorchymyn Anogwr Ar gyfer y camau Dechrau Arni sy'n weddill, byddwn yn defnyddio'r Gorchymyn Anogwr Windows. Mae Gosodwr Offer ESP-IDF hefyd yn creu llwybr byr yn y ddewislen Cychwyn i lansio'r Gorchymyn Anogwr ESP-IDF. Mae'r llwybr byr hwn yn lansio'r Gorchymyn Anogwr (cmd.exe) ac yn rhedeg y sgript export.bat i sefydlu'r newidynnau amgylcheddol (PATH, IDF_PATH ac eraill). Y tu mewn i'r gorchymyn anogwr hwn, mae'r holl offer sydd wedi'u gosod ar gael. Sylwch fod y llwybr byr hwn yn benodol i'r cyfeiriadur ESP-IDF a ddewiswyd yn y Gosodwr Offer ESP-IDF. Os oes gennych nifer o gyfeiriaduron ESP-IDF ar y cyfrifiadur (er enghraifftample, i weithio gyda gwahanol fersiynau o ESP-IDF), mae gennych ddau opsiwn i'w defnyddio:
1. Crëwch gopi o'r llwybr byr a grëwyd gan y Gosodwr Offer ESP-IDF, a newidiwch gyfeiriadur gweithio'r llwybr byr newydd i'r cyfeiriadur ESP-IDF yr hoffech ei ddefnyddio.
2. Fel arall, rhedeg cmd.exe, yna newid i'r cyfeiriadur ESP-IDF yr hoffech ei ddefnyddio, a rhedeg export.bat. Nodwch, yn wahanol i'r opsiwn blaenorol, fod y ffordd hon yn gofyn i Python a Git fod yn bresennol yn PATH. Os cewch wallau sy'n gysylltiedig â Python neu Git heb eu canfod, defnyddiwch yr opsiwn cyntaf.
Camau Cyntaf ar ESP-IDF Nawr gan fod yr holl ofynion wedi'u bodloni, bydd y pwnc nesaf yn eich tywys ar sut i ddechrau eich prosiect cyntaf.
Systemau Espressif
16 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni Ffig. 9: ESP-IDF PowerShell
Ffig. 10: Cwblhau Dewin Gosod Offer ESP-IDF gyda Rhedeg yr Anogwr Gorchymyn ESP-IDF (cmd.exe)
Systemau Espressif
17 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 11: Anogwr Gorchymyn ESP-IDF
Systemau Espressif
18 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Bydd y canllaw hwn yn eich helpu gyda'r camau cyntaf wrth ddefnyddio ESP-IDF. Dilynwch y canllaw hwn i ddechrau prosiect newydd ar yr ESP32 ac adeiladu, fflachio a monitro allbwn y ddyfais. Nodyn: Os nad ydych wedi gosod ESP-IDF eto, ewch i Gosod a dilynwch y cyfarwyddiadau er mwyn cael yr holl feddalwedd sydd ei hangen i ddefnyddio'r canllaw hwn.
Dechreuwch Brosiect Nawr rydych chi'n barod i baratoi eich cais ar gyfer ESP32. Gallwch chi ddechrau gyda phrosiect getstarted/hello_world o examples cyfeiriadur yn ESP-IDF.
Pwysig: Nid yw system adeiladu ESP-IDF yn cefnogi bylchau yn y llwybrau i ESP-IDF nac i brosiectau.
Copïwch y prosiect get-started/hello_world i'r cyfeiriadur ~/esp: cd %userprofile%esp xcopy /e /i %IDF_PATH%exampdechrau-leshello_world hello_world
Nodyn: Mae yna ystod o gynampgyda phrosiectau yn y cynamples cyfeiriadur yn ESP-IDF. Gallwch gopïo unrhyw brosiect yn yr un ffordd ag a gyflwynir uchod a'i redeg. Mae hefyd yn bosibl adeiladu examples yn eu lle heb eu copïo yn gyntaf.
Cysylltu Eich Dyfais Nawr cysylltwch eich bwrdd ESP32 â'r cyfrifiadur a gwiriwch o dan ba borth cyfresol y mae'r bwrdd yn weladwy. Mae enwau porthladdoedd cyfresol yn dechrau gyda COM yn Windows. Os nad ydych chi'n siŵr sut i wirio enw'r porthladd cyfresol, cyfeiriwch at Sefydlu Cysylltiad Cyfresol ag ESP32 am fanylion llawn.
Nodyn: Cadwch enw'r porthladd wrth law oherwydd bydd ei angen arnoch yn y camau nesaf.
Ffurfweddu Eich Prosiect Llywiwch i'ch cyfeiriadur hello_world, gosodwch ESP32 fel y targed, a rhedeg y cyfleustodau ffurfweddu prosiect menuconfig.
cd Windows %userprofile%esphello_world idf.py gosod-targed esp32 idf.py dewislenffurfweddu
Ar ôl agor prosiect newydd, dylech chi osod y targed yn gyntaf gydag idf.py set-target esp32. Sylwch y bydd adeiladweithiau a ffurfweddiadau presennol yn y prosiect, os o gwbl, yn cael eu clirio a'u cychwyn yn y broses hon. Gellir cadw'r targed yn y newidyn amgylcheddol i hepgor y cam hwn o gwbl. Gweler Dewis y Sglodion Targed: set-target am wybodaeth ychwanegol. Os yw'r camau blaenorol wedi'u gwneud yn gywir, mae'r ddewislen ganlynol yn ymddangos: Rydych chi'n defnyddio'r ddewislen hon i sefydlu newidynnau penodol i'r prosiect, e.e., enw a chyfrinair rhwydwaith Wi-Fi, cyflymder y prosesydd, ac ati. Gellir hepgor sefydlu'r prosiect gyda menuconfig ar gyfer ohello_wordp, gan fod hyn yn enghraifftampMae le yn rhedeg gyda'r ffurfweddiad diofyn.
Sylw: Os ydych chi'n defnyddio bwrdd ESP32-DevKitC gyda'r modiwl ESP32-SOLO-1, neu fwrdd ESP32-DevKitM-1 gyda'r modiwl ESP32-MIN1-1(1U), galluogwch y modd craidd sengl (CONFIG_FREERTOS_UNICORE) yn y menuconfig cyn fflachio examples.
Systemau Espressif
19 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 12: Ffurfweddiad y prosiect – Ffenestr gartref
Nodyn: Gallai lliwiau'r ddewislen fod yn wahanol yn eich terfynell. Gallwch newid yr ymddangosiad gyda'r opsiwn –style. Rhedwch idf.py menuconfig –help am ragor o wybodaeth.
Os ydych chi'n defnyddio un o'r byrddau datblygu a gefnogir, gallwch chi gyflymu eich datblygiad trwy ddefnyddio Pecyn Cymorth Bwrdd. Gweler Awgrymiadau Ychwanegol am ragor o wybodaeth.
Adeiladu'r Prosiect Adeiladwch y prosiect trwy redeg:
idf.py adeiladu
Bydd y gorchymyn hwn yn llunio'r cais a'r holl gydrannau ESP-IDF, yna bydd yn cynhyrchu'r cychwynnydd, y tabl rhaniad, a'r deuaidd rhaglenni.
$ idf.py build Rhedeg cmake yn y cyfeiriadur /path/to/hello_world/build Yn gweithredu “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… Rhybuddio am werthoedd heb eu cychwyn. — Canfuwyd Git: /usr/bin/git (canfuwyd fersiwn “2.17.0”) — Adeiladu cydran aws_iot wag oherwydd cyfluniad — Enwau cydrannau: … — Llwybrau cydrannau: …
… (mwy o linellau o allbwn system adeiladu)
[527/527] Cynhyrchu hello_world.bin esptool.py v2.3.1
Mae adeiladu'r prosiect wedi'i gwblhau. I fflachio, rhedwch y gorchymyn hwn: ../../../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 neu rhedwch 'idf.py -p PORT flash'
Os nad oes unrhyw wallau, bydd yr adeilad yn gorffen trwy gynhyrchu'r firmware binary .bin files.
Systemau Espressif
20 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Fflachio ar y Dyfais Fflachio'r ffeiliau deuaidd rydych chi newydd eu hadeiladu (bootloader.bin, partition-table.bin a hello_world.bin) ar eich bwrdd ESP32 drwy redeg: idf.py -p PORT [-b BAUD] flash
Amnewidiwch PORT gydag enw porthladd cyfresol eich bwrdd ESP32. Gallwch hefyd newid cyfradd baud y fflachiwr trwy amnewid BAUD gyda'r gyfradd baud sydd ei hangen arnoch. Y gyfradd baud ddiofyn yw 460800. Am ragor o wybodaeth am ddadleuon idf.py, gweler idf.py.
Nodyn: Mae'r opsiwn fflachio yn adeiladu ac yn fflachio'r prosiect yn awtomatig, felly nid oes angen rhedeg idf.py build.
Wedi Cael Problemau Wrth Fflachio? Os ydych chi'n rhedeg y gorchymyn penodol ac yn gweld gwallau fel Methodd cysylltu, gallai fod sawl rheswm dros hyn. Un o'r rhesymau gallai fod problemau a wynebir gan esptool.py, y cyfleustodau a elwir gan y system adeiladu i ailosod y sglodion, rhyngweithio â'r llwythwr cychwyn ROM, a fflachio cadarnwedd. Un ateb syml i roi cynnig arno yw ailosod â llaw a ddisgrifir isod, ac os nad yw'n helpu gallwch ddod o hyd i fwy o fanylion am broblemau posibl yn Datrys Problemau.
Mae esptool.py yn ailosod ESP32 yn awtomatig trwy gadarnhau llinellau rheoli DTR ac RTS y sglodion trawsnewidydd USB i gyfresol, h.y., FTDI neu CP210x (am ragor o wybodaeth, gweler Sefydlu Cysylltiad Cyfresol gydag ESP32). Mae'r llinellau rheoli DTR ac RTS yn eu tro wedi'u cysylltu â phinnau GPIO0 a CHIP_PU (EN) ESP32, felly mae newidiadau yn y gyfaint.tagBydd lefelau e o DTR ac RTS yn cychwyn ESP32 i'r modd Lawrlwytho Cadarnwedd. Fel cynample, gwiriwch y cynllun ar gyfer y bwrdd datblygu ESP32 DevKitC.
Yn gyffredinol, ni ddylech gael unrhyw broblemau gyda'r byrddau datblygu swyddogol esp-idf. Fodd bynnag, nid yw esptool.py yn gallu ailosod eich caledwedd yn awtomatig yn yr achosion canlynol:
· Nid oes gan eich caledwedd y llinellau DTR ac RTS wedi'u cysylltu â GPIO0 a CHIP_PU · Mae'r llinellau DTR ac RTS wedi'u ffurfweddu'n wahanol · Nid oes unrhyw linellau rheoli cyfresol o'r fath o gwbl
Yn dibynnu ar y math o galedwedd sydd gennych, efallai y bydd modd rhoi eich bwrdd ESP32 â llaw yn y modd Lawrlwytho Cadarnwedd (ailosod).
· Ar gyfer byrddau datblygu a gynhyrchwyd gan Espressif, gellir dod o hyd i'r wybodaeth hon yn y canllawiau cychwyn neu'r canllawiau defnyddwyr perthnasol. Er enghraifft.ample, i ailosod bwrdd datblygu ESP-IDF â llaw, daliwch y botwm Cychwyn (GPIO0) i lawr a gwasgwch y botwm EN (CHIP_PU).
· Ar gyfer mathau eraill o galedwedd, ceisiwch dynnu GPIO0 i lawr.
Gweithrediad Arferol Wrth fflachio, fe welwch y log allbwn tebyg i'r canlynol:
… 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 Porthladd cyfresol /dev/ttyUSB0 Cysylltu…….._ Sglodion yw ESP32D0WDQ6 (adolygiad 0) Nodweddion: WiFi, BT, Craidd Deuol, Cynllun Codio Dim Grisial yw 40MHz MAC: 24:0a:c4:05:b9:14 Yn uwchlwytho bonyn… Yn rhedeg bonyn… Yn rhedeg bonyn… Newid cyfradd baud i 460800 Wedi newid.
(yn parhau ar y dudalen nesaf)
Systemau Espressif
21 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
(parhad o'r dudalen flaenorol) Ffurfweddu maint y fflach… Cywasgwyd 3072 beit i 103… Ysgrifennu ar 0x00008000… (100 %) Ysgrifennwyd 3072 beit (103 wedi'u cywasgu) ar 0x00008000 mewn 0.0 eiliad (yn effeithiol 5962.8 kbit/s)… Hash o ddata wedi'i wirio. Cywasgwyd 26096 beit i 15408… Ysgrifennu ar 0x00001000… (100 %) Ysgrifennwyd 26096 beit (15408 wedi'u cywasgu) ar 0x00001000 mewn 0.4 eiliad (yn effeithiol 546.7 kbit/s)… Hash o ddata wedi'i wirio. Cywasgwyd 147104 beit i 77364… Ysgrifennu ar 0x00010000… (20 %) Ysgrifennu ar 0x00014000… (40 %) Ysgrifennu ar 0x00018000… (60 %) Ysgrifennu ar 0x0001c000… (80 %) Ysgrifennu ar 0x00020000… (100 %) Ysgrifennwyd 147104 beit (77364 wedi'u cywasgu) ar 0x00010000 mewn 1.9 eiliad (615.5 kbit/s yn effeithiol)… Hash o ddata wedi'i wirio.
Gadael... ailosod caled drwy RTS pin... Wedi'i wneud
Os nad oes unrhyw broblemau erbyn diwedd y broses fflachio, bydd y bwrdd yn ailgychwyn ac yn cychwyn theohello_worldpapplication. Os hoffech ddefnyddio'r Eclipse neu VS Code IDE yn lle rhedeg idf.py, edrychwch ar Eclipse Plugin, VSCode Extension.
Monitro'r Allbwn I wirio a yw ohello_worldpis yn rhedeg mewn gwirionedd, teipiwch idf.py -p PORT monitor (Peidiwch ag anghofio disodli PORT gyda'ch enw porthladd cyfresol).
Mae'r gorchymyn hwn yn lansio'r cais IDF Monitor:
$ idf.py -p monitro Rhedeg idf_monitor yn y cyfeiriadur […]/esp/hello_world/build Gweithredu “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/build/hello_world.elf”… — idf_monitor ymlaen 115200 —– Ymadael: Ctrl+] | Dewislen: Ctrl+T | Cymorth: Ctrl+T ac yna Ctrl+H –ets 8 Mehefin 2016 00:22:57
cyntaf:0x1 (POWERON_RESET), cychwyn:0x13 (SPI_FAST_FLASH_BOOT) ets 8 Mehefin 2016 00:22:57 …
Ar ôl i logiau cychwyn a diagnostig sgrolio i fyny, dylech weld oHelo byd!p wedi'i argraffu gan y rhaglen.
… Helô byd! Ailgychwyn mewn 10 eiliad… Sglodion esp32 gyda 2 graidd CPU, WiFi/BT/BLE, silicon diwygiad 1, fflach allanol 2MB Maint pentwr rhydd lleiaf: 298968 beit Ailgychwyn mewn 9 eiliad… Ailgychwyn mewn 8 eiliad… Ailgychwyn mewn 7 eiliad…
I adael monitor IDF defnyddiwch y llwybr byr Ctrl+].
Systemau Espressif
22 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Os bydd monitor IDF yn methu yn fuan ar ôl y lanlwytho, neu, os gwelwch chi sbwriel ar hap tebyg i'r hyn a roddir isod yn lle'r negeseuon uchod, mae'n debyg bod eich bwrdd yn defnyddio crisial 26 MHz. Mae'r rhan fwyaf o ddyluniadau byrddau datblygu yn defnyddio 40 MHz, felly mae ESP-IDF yn defnyddio'r amledd hwn fel gwerth diofyn.
Os oes gennych broblem o'r fath, gwnewch y canlynol: 1. Gadewch y monitor. 2. Ewch yn ôl i'r ddewislen/ffurfweddu. 3. Ewch i Ffurfweddu Cydrannau > Gosodiadau Caledwedd > Prif Ffurfweddiad XTAL > Prif amledd XTAL, yna newidiwch CONFIG_XTAL_FREQ_SEL i 26 MHz. 4. Ar ôl hynny, adeiladwch a fflachiwch y rhaglen eto.
Yn y fersiwn gyfredol o ESP-IDF, y prif amleddau XTAL a gefnogir gan ESP32 yw'r canlynol:
· 26 MHz · 40 MHz
Nodyn: Gallwch gyfuno adeiladu, fflachio a monitro i mewn i un cam drwy redeg: idf.py -p PORT flash monitor
Gweler hefyd: · IDF Monitor am lwybrau byr defnyddiol a mwy o fanylion ar ddefnyddio IDF monitor. · idf.py am gyfeiriad llawn at orchmynion ac opsiynau idf.py.
Dyna'r cyfan sydd ei angen arnoch i ddechrau gydag ESP32! Nawr rydych chi'n barod i roi cynnig ar rywbeth arall.amples, neu ewch yn syth i ddatblygu eich cymwysiadau eich hun.
Pwysig: Mae rhai o gyn-ampNid yw ffeiliau'n cefnogi ESP32 oherwydd nad yw'r caledwedd gofynnol wedi'i gynnwys yn ESP32 felly ni ellir ei gefnogi. Os ydych chi'n adeiladu example, gwiriwch y README os gwelwch yn dda file ar gyfer y tabl Targedau a Gefnogir. Os yw hwn yn bresennol gan gynnwys targed ESP32, neu os nad yw'r tabl yn bodoli o gwbl, y cynampBydd yn gweithio ar ESP32.
Cynghorion Ychwanegol
Problemau caniatâd /dev/ttyUSB0 Gyda rhai dosraniadau Linux, efallai y byddwch yn cael y neges gwall Methodd agor porthladd /dev/ttyUSB0 wrth fflachio'r ESP32. Gellir datrys hyn trwy ychwanegu'r defnyddiwr cyfredol at y grŵp deialu allan.
Cydnawsedd Python Mae ESP-IDF yn cefnogi Python 3.7 neu'n fwy diweddar. Argymhellir uwchraddio'ch system weithredu i fersiwn ddiweddar sy'n bodloni'r gofyniad hwn. Mae opsiynau eraill yn cynnwys gosod Python o ffynonellau neu ddefnyddio system rheoli fersiynau Python fel pyenv.
Dechreuwch gyda Phecyn Cymorth Bwrdd I gyflymu creu prototeipiau ar rai byrddau datblygu, gallwch ddefnyddio Pecynnau Cymorth Bwrdd (BSPs), sy'n gwneud cychwyn bwrdd penodol mor hawdd â chyn lleied o alwadau swyddogaeth.
Systemau Espressif
23 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Mae BSP fel arfer yn cefnogi'r holl gydrannau caledwedd a ddarperir ar y bwrdd datblygu. Ar wahân i'r diffiniad pinout a'r swyddogaethau cychwyn, mae BSP yn dod gyda gyrwyr ar gyfer y cydrannau allanol fel synwyryddion, arddangosfeydd, codecs sain ac ati. Mae'r BSPs yn cael eu dosbarthu trwy Reolwr Cydrannau IDF, felly gellir dod o hyd iddynt yn y Gofrestrfa Cydrannau IDF. Dyma un o'r rhai mwyaf poblogaidd.ampsut i ychwanegu ESP-WROVER-KIT BSP at eich prosiect: idf.py add-dependency esp_wrover_kit
Mwy o gynampGellir dod o hyd i fanylion am ddefnydd BSP yn BSP examples ffolder.
Dogfennau Cysylltiedig Ar gyfer defnyddwyr uwch sydd eisiau addasu'r broses osod: · Diweddaru offer ESP-IDF ar Windows · Sefydlu Cysylltiad Cyfresol gydag ESP32 · Ategyn Eclipse · Estyniad VSCode · Monitor IDF
Diweddaru offer ESP-IDF ar Windows
Gosodwch offer ESP-IDF gan ddefnyddio sgript O'r Windows Command Prompt, newidiwch i'r cyfeiriadur lle mae ESPIDF wedi'i osod. Yna rhedeg:
gosod.bat
Ar gyfer Powershell, newidiwch i'r cyfeiriadur lle mae ESP-IDF wedi'i osod. Yna rhedeg:
gosod.ps1
Bydd hyn yn lawrlwytho ac yn gosod yr offer sy'n angenrheidiol i ddefnyddio ESP-IDF. Os yw'r fersiwn benodol o'r offeryn eisoes wedi'i osod, ni fydd unrhyw gamau'n cael eu cymryd. Caiff yr offer eu lawrlwytho a'u gosod mewn cyfeiriadur a bennir yn ystod proses Gosod Offer ESP-IDF. Yn ddiofyn, dyma C:Usersusername.espressif.
Ychwanegu offer ESP-IDF at PATH gan ddefnyddio sgript allforio Mae gosodwr offer ESP-IDF yn creu llwybr byr dewislen Cychwyn ar gyfer oESP-IDF Command Promptp. Mae'r llwybr byr hwn yn agor ffenestr Command Prompt lle mae'r holl offer eisoes wedi'u lleoli.
ar gael. Mewn rhai achosion, efallai yr hoffech weithio gydag ESP-IDF mewn ffenestr Gorchymyn Anogol nad oedd wedi'i gychwyn gan ddefnyddio'r llwybr byr hwnnw. Os felly, dilynwch y cyfarwyddiadau isod i ychwanegu offer ESP-IDF at PATH. Yn y gorchymyn anogol lle mae angen i chi ddefnyddio ESP-IDF, newidiwch i'r cyfeiriadur lle mae ESP-IDF wedi'i osod, yna gweithredwch export.bat:
cd % userprofile%espesp-idf export.bat
Fel arall yn y Powershell lle mae angen i chi ddefnyddio ESP-IDF, newidiwch i'r cyfeiriadur lle mae ESP-IDF wedi'i osod, yna gweithredwch export.ps1:
cd ~/esp/esp-idf allforio.ps1
Pan fydd hyn wedi'i wneud, bydd yr offer ar gael yn yr anogwr gorchymyn hwn.
Sefydlu Cysylltiad Cyfresol gydag ESP32 Mae'r adran hon yn rhoi canllawiau ar sut i sefydlu cysylltiad cyfresol rhwng ESP32 a chyfrifiadur personol.
Systemau Espressif
24 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Cysylltu ESP32 â'r cyfrifiadur Cysylltwch y bwrdd ESP32 â'r cyfrifiadur gan ddefnyddio'r cebl USB. Os nad yw gyrrwr y ddyfais yn gosod yn awtomatig, nodwch y sglodion trawsnewidydd USB i gyfresol ar eich bwrdd ESP32 (neu dongl trawsnewidydd allanol), chwiliwch am yrwyr ar y rhyngrwyd a'u gosod. Isod mae rhestr o sglodion trawsnewidydd USB i gyfresol sydd wedi'u gosod ar y rhan fwyaf o'r byrddau ESP32 a gynhyrchwyd gan Espressif ynghyd â dolenni i'r gyrwyr:
· CP210x: Gyrwyr Pont USB i UART VCP CP210x · FTDI: Gyrwyr Porthladd COM Rhithwir FTDI Gwiriwch ganllaw defnyddiwr y bwrdd am y sglodion trawsnewidydd USB i gyfresol penodol a ddefnyddir. At ddibenion cyfeirio yn bennaf y mae'r gyrwyr uchod. O dan amgylchiadau arferol, dylid bwndelu'r gyrwyr gyda system weithredu a'u gosod yn awtomatig ar ôl cysylltu'r bwrdd â'r cyfrifiadur.
Gwirio porthladd ar Windows Gwiriwch y rhestr o borthladdoedd COM a nodwyd yn Rheolwr Dyfeisiau Windows. Datgysylltwch ESP32 a'i gysylltu yn ôl, i wirio pa borthladd sy'n diflannu o'r rhestr ac yna'n ymddangos yn ôl. Mae'r ffigurau isod yn dangos porthladd cyfresol ar gyfer ESP32 DevKitC ac ESP32 WROVER KIT
Ffig. 13: Pont USB i UART o ESP32-DevKitC yn Rheolwr Dyfeisiau Windows
Gwirio porthladd ar Linux a macOS I wirio enw'r ddyfais ar gyfer porthladd cyfresol eich bwrdd ESP32 (neu dongl trawsnewidydd allanol), rhedeg y gorchymyn hwn ddwywaith, yn gyntaf gyda'r bwrdd / dongl wedi'i ddatgysylltu, yna gyda'r plygio i mewn. Y porthladd sy'n ymddangos yr ail dro yw'r un sydd ei angen arnoch: Linux
ls /dev/tty*
macOS
Systemau Espressif
25 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 14: Dau Borthladd Cyfresol USB ESP-WROVER-KIT yn Rheolwr Dyfeisiau Windows
Systemau Espressif
26 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
ls /dev/cu.* Nodyn: defnyddwyr macOS: os nad ydych chi'n gweld y porthladd cyfresol yna gwiriwch fod y gyrwyr USB/cyfresol wedi'u gosod. Gweler yr Adran Cysylltu ESP32 â PC am ddolenni i yrwyr. Ar gyfer macOS High Sierra (10.13), efallai y bydd yn rhaid i chi ganiatáu i'r gyrwyr lwytho'n benodol hefyd. Agorwch Dewisiadau System -> Diogelwch a Phreifatrwydd -> Cyffredinol a gwiriwch a oes neges yn cael ei dangos yma am Feddalwedd System gan y datblygwr lp lle mae enw'r datblygwr yn Silicon Labs neu FTDI.
Ychwanegu defnyddiwr at ddeialu allan ar Linux Dylai'r defnyddiwr sydd wedi mewngofnodi ar hyn o bryd fod â mynediad darllen ac ysgrifennu i'r porthladd cyfresol dros USB. Ar y rhan fwyaf o ddosraniadau Linux, gwneir hyn trwy ychwanegu'r defnyddiwr at y grŵp deialu allan gyda'r gorchymyn canlynol:
sudo usermod -a -G deialu $USER
ar Arch Linux gwneir hyn trwy ychwanegu'r defnyddiwr at grŵp uucp gyda'r gorchymyn canlynol:
sudo usermod -a -G uucp $USER
Gwnewch yn siŵr eich bod yn ail-fewngofnodi i alluogi caniatâd darllen ac ysgrifennu ar gyfer y porth cyfresol.
Gwirio cysylltiad cyfresol Nawr gwiriwch fod y cysylltiad cyfresol yn weithredol. Gallwch wneud hyn gan ddefnyddio rhaglen derfynell gyfresol drwy wirio a ydych chi'n cael unrhyw allbwn ar y derfynell ar ôl ailosod ESP32. Y gyfradd baud consol ddiofyn ar ESP32 yw 115200.
Windows a Linux Yn yr enghraifft honampbyddwn yn defnyddio Cleient SSH PuTTY sydd ar gael ar gyfer Windows a Linux. Gallwch ddefnyddio rhaglenni cyfresol eraill a gosod paramedrau cyfathrebu fel isod. Rhedeg y derfynell a gosod y porthladd cyfresol a nodwyd. Cyfradd baud = 115200 (os oes angen, newidiwch hwn i gyfradd baud ddiofyn y sglodion sy'n cael ei ddefnyddio), bitiau data = 8, bitiau stop = 1, a pharedd = N. Isod mae enghreifftiauampsgrinluniau o osod y porthladd a pharamedrau trosglwyddo o'r fath (a ddisgrifir yn fyr fel 115200-8-1-N) ar Windows a Linux. Cofiwch ddewis yr un porthladd cyfresol yn union ag yr ydych wedi'i nodi yn y camau uchod. Yna agorwch y porthladd cyfresol yn y derfynell a gwiriwch, a welwch unrhyw log wedi'i argraffu gan ESP32. Bydd cynnwys y log yn dibynnu ar y rhaglen a lwythwyd i ESP32, gweler EnghraifftampAllbwn.
Nodyn: Caewch y derfynell gyfresol ar ôl gwirio bod y cyfathrebu'n gweithio. Os byddwch chi'n cadw'r sesiwn derfynell ar agor, ni fydd y porthladd cyfresol ar gael ar gyfer uwchlwytho cadarnwedd yn ddiweddarach.
macOS Er mwyn arbed y drafferth o osod rhaglen derfynell gyfresol i chi, mae macOS yn cynnig y gorchymyn sgrin. · Fel y trafodwyd yn Gwirio porthladd ar Linux a macOS, rhedeg:
ls /dev/cu.* · Dylech weld allbwn tebyg:
/dev/cu.Porthladd-Mewn-Bluetooth /dev/cu.SLAB_USBtoUART USBtoUART7
/dev/cu.SLAB_
· Bydd yr allbwn yn amrywio yn dibynnu ar y math a nifer y byrddau sydd wedi'u cysylltu â'ch cyfrifiadur. Yna dewiswch enw dyfais eich bwrdd a rhedeg (os oes angen, newidiwch o115200pto y gyfradd baud ddiofyn ar gyfer y sglodion sy'n cael ei ddefnyddio):
screen /dev/cu.device_name 115200 Disodli device_name gyda'r enw a geir wrth rhedeg ls /dev/cu.*.
Systemau Espressif
27 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 15: Gosod Cyfathrebu Cyfresol yn PuTTY ar Windows
Systemau Espressif
28 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Ffig. 16: Gosod Cyfathrebu Cyfresol yn PuTTY ar Linux
Systemau Espressif
29 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
· Yr hyn rydych chi'n chwilio amdano yw rhyw log a ddangosir gan y sgrin. Bydd cynnwys y log yn dibynnu ar y rhaglen a lwythwyd i ESP32, gweler EnghraifftampAllbwn le. I adael y sesiwn sgrin teipiwch Ctrl-A + .
Nodyn: Peidiwch ag anghofio gadael y sesiwn sgrin ar ôl gwirio bod y cyfathrebu'n gweithio. Os na fyddwch yn gwneud hynny ac yn cau ffenestr y derfynell yn unig, ni fydd modd cyrraedd y porthladd cyfresol ar gyfer uwchlwytho cadarnwedd yn ddiweddarach.
ExampAllbwn le An exampDangosir y log isod. Ailosodwch y bwrdd os nad ydych chi'n gweld dim. ets 8 Mehefin 2016 00:22:57
cyntaf:0x5 (DEEPSLEEP_RESET), cychwyn:0x13 (SPI_FAST_FLASH_BOOT) ets 8 Mehefin 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 stagllwythwr cychwyn e I (45) cychwyn: amser llunio 18:48:10
…
Os gallwch weld allbwn log darllenadwy, mae'n golygu bod y cysylltiad cyfresol yn gweithio ac rydych chi'n barod i fwrw ymlaen â'r gosodiad ac yn olaf uwchlwytho'r rhaglen i ESP32.
Nodyn: Ar gyfer rhai ffurfweddiadau gwifrau porthladd cyfresol, mae angen analluogi'r pinnau cyfresol RTS a DTR yn y rhaglen derfynell cyn y bydd yr ESP32 yn cychwyn ac yn cynhyrchu allbwn cyfresol. Mae hyn yn dibynnu ar y caledwedd ei hun, nid oes gan y rhan fwyaf o fyrddau datblygu (gan gynnwys pob bwrdd Espressif) y broblem hon. Mae'r broblem yn bresennol os yw RTS a DTR wedi'u gwifrau'n uniongyrchol i'r pinnau EN a GPIO0. Gweler dogfennaeth esptool am fwy o fanylion.
Os ydych chi wedi cyrraedd yma o Gam 5. Camau Cyntaf ar ESP-IDF wrth osod meddalwedd ar gyfer datblygu ESP32, yna gallwch chi barhau gyda Cham 5. Camau Cyntaf ar ESP-IDF.
Monitor IDF Mae Monitor IDF yn rhaglen derfynell gyfresol yn bennaf sy'n trosglwyddo data cyfresol i ac o borth cyfresol y ddyfais darged. Mae hefyd yn darparu rhai nodweddion penodol i IDF. Gellir lansio Monitor IDF o brosiect IDF trwy redeg idf.py monitor.
Llwybrau Bysellfwrdd Er mwyn rhyngweithio'n hawdd ag IDF Monitor, defnyddiwch y llwybrau byr bysellfwrdd a roddir yn y tabl.
Systemau Espressif
30 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Llwybr Byr Bysellfwrdd Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (neu A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (neu I)
· Ctrl+H (neu H)
· Ctrl+X (neu X)
Ctrl+C
Gweithred
Disgrifiad
Allanfa'r rhaglen Allwedd dianc dewislen Anfonwch y cymeriad dewislen ei hun i'r system o bell
Anfonwch y cymeriad ymadael ei hun i'r pellter
Ailosod y targed i'r llwythwr cychwyn i oedi'r ap trwy linell RTS
Ailosod y bwrdd targed trwy RTS
Adeiladu a fflachio'r prosiect
Adeiladu a fflachio'r ap yn unig
Stopio/ailddechrau argraffu allbwn log ar y sgrin
Allbwn log stopio/ailddechrau wedi'i gadw i file
Amser stopio/ailddechrauamps
argraffu
Arddangos pob llwybr byr bysellfwrdd
Pwyswch a dilynwch hynny gan un o'r allweddi a roddir isod.
Yn ailosod y targed, i'r llwythwr cychwyn trwy'r llinell RTS (os yw wedi'i gysylltu), fel nad yw'r bwrdd yn rhedeg dim. Yn ddefnyddiol pan fydd angen i chi aros i ddyfais arall gychwyn. Yn ailosod y bwrdd targed ac yn ailgychwyn y rhaglen trwy'r llinell RTS (os yw wedi'i gysylltu).
Yn oedi idf_monitor i redeg targed fflach y prosiect, yna'n ailddechrau idf_monitor. Unrhyw ffynhonnell wedi'i newid fileCaiff s eu hail-grynhoi ac yna eu hail-fflachio. Rhedir targed encrypted-flash os cychwynnwyd idf_monitor gyda'r ddadl -E. Yn oedi idf_monitor i redeg y targed app-flash, yna'n ailddechrau idf_monitor. Yn debyg i'r targed flash, ond dim ond yr ap prif sy'n cael ei adeiladu a'i ail-fflachio. Rhedir targed encrypted-app-flash os cychwynnwyd idf_monitor gyda'r ddadl -E. Yn gwaredu'r holl ddata cyfresol sy'n dod i mewn tra ei fod wedi'i actifadu. Yn caniatáu oedi ac archwilio allbwn log yn gyflym heb roi'r gorau i'r monitor. Yn creu file yn y cyfeiriadur prosiect ac mae'r allbwn yn cael ei ysgrifennu i hwnnw file nes bod hyn yn cael ei analluogi gyda'r un llwybr byr bysellfwrdd (neu fod Monitor IDF yn cau). Gall Monitor IDF argraffu amser.amp ar ddechrau pob llinell. Yr amser mwyafamp gellir newid y fformat gan y –timestamp-format dadl llinell orchymyn.
Gadael y rhaglen
Torri ar draws rhaglen sy'n rhedeg
Yn oedi IDF Monitor ac yn rhedeg dadfygiwr prosiect GDB i ddadfygio'r rhaglen yn ystod amser rhedeg. Mae hyn yn gofyn am alluogi'r opsiwn :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME.
Bydd unrhyw allweddi a wasgir, heblaw Ctrl-] a Ctrl-T, yn cael eu hanfon trwy'r porthladd cyfresol.
Nodweddion penodol i'r IDF
Datgodio Cyfeiriadau Awtomatig Pryd bynnag y bydd ESP-IDF yn allbynnu cyfeiriad cod hecsadegol o'r ffurf 0x4_______, mae Monitor IDF yn defnyddio addr2line_ i chwilio am y lleoliad yn y cod ffynhonnell a dod o hyd i enw'r swyddogaeth.
Os bydd ap ESP-IDF yn damwain ac yn mynd i banig, cynhyrchir dymp cofrestr ac ôl-olrhain, fel y canlynol:
Systemau Espressif
31 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Digwyddodd gwall myfyrdod Guru o'r math StoreProhibited ar graidd 0. Yr eithriad oedd
heb ei drin.
Dymp cofrestr:
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 ESGUSOD:
0x0000001d
CYFEIRIAD EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 CYFRIF LC:
0x00000000
Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90
Mae Monitor IDF yn ychwanegu mwy o fanylion at y domen:
Digwyddodd gwall myfyrdod Guru o'r math StoreProhibited ar graidd 0. Yr eithriad oedd
heb ei drin.
Dymp cofrestr:
PC
: 0x400f360d PS
: 0x00060330 A0
: 0x800dbf56 A1
:
0x3ffb7e00
0x400f360d: gwnewch_rhywbeth_i_chwalu yn /home/gus/esp/32/idf/examples/dechrau-ar-y-ffordd/
helo_fyd/prif/./helo_fyd_prif.c:57
(wedi'i fewnlinio gan) inner_dont_crash yn /home/gus/esp/32/idf/examples/dechrau-ar-y-ffordd/helo_
byd/prif/./hello_byd_prif.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 ESGUSOD:
0x0000001d
CYFEIRIAD EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 CYFRIF LC:
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 (wedi'i fewnosod gan) inner_dont_crash yn /home/gus/esp/32/idf/examples/dechrau-ar-y-dechrau/hello_ world/main/./hello_world_main.c:52 0x400dbf56: dal_ddim_yn_damwain yn /home/gus/esp/32/idf/examples/dechrau-ar-y-cychwyn/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: peidiwch_â_damwain yn /home/gus/esp/32/idf/examples/dechrau-ar-y-cychwyn/hello_world/ main/./hello_world_main.c:42 0x400dbf82: app_main yn /home/gus/esp/32/idf/examples/dechrau-ar-y-cychwyn/hello_world/main/ ./hello_world_main.c:33 0x400d071d: prif_dasg yn /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254
I ddadgodio pob cyfeiriad, mae IDF Monitor yn rhedeg y gorchymyn canlynol yn y cefndir: xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS
Nodyn: Gosodwch y newidyn amgylcheddol ESP_MONITOR_DECODE i 0 neu ffoniwch idf_monitor.py gyda llinell orchymyn benodol
Systemau Espressif
32 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
opsiwn: idf_monitor.py –disable-address-decoding i analluogi datgodio cyfeiriadau.
Ailosod Targed wrth Gysylltiad Yn ddiofyn, bydd Monitor IDF yn ailosod y targed wrth gysylltu ag ef. Caiff y sglodion targed ei ailosod gan ddefnyddio'r llinellau cyfresol DTR ac RTS. I atal Monitor IDF rhag ailosod y targed yn awtomatig wrth gysylltu, ffoniwch Monitor IDF gyda'r opsiwn –no-reset (e.e., idf_monitor.py –no-reset).
Nodyn: Mae'r opsiwn –no-reset yn defnyddio'r un ymddygiad hyd yn oed wrth gysylltu Monitor IDF â phorthladd penodol (e.e., idf.py monitor –no-reset -p [PORT]).
Lansio GDB gyda GDBStub Mae GDBStub yn nodwedd ddadfygio amser rhedeg ddefnyddiol sy'n rhedeg ar y targed ac yn cysylltu â'r gwesteiwr dros y porthladd cyfresol i dderbyn gorchmynion dadfygio. Mae GDBStub yn cefnogi gorchmynion fel darllen cof a newidynnau, archwilio fframiau pentwr galwadau ac ati. Er bod GDBStub yn llai amlbwrpas na JTAG dadfygio, nid oes angen unrhyw galedwedd arbennig arno (fel JTAG (i bont USB) gan fod cyfathrebu'n cael ei wneud yn gyfan gwbl dros y porthladd cyfresol. Gellir ffurfweddu targed i redeg GDBStub yn y cefndir trwy osod y CONFIG_ESP_SYSTEM_PANIC i GDBStub ar amser rhedeg. Bydd GDBStub yn rhedeg yn y cefndir nes bod neges Ctrl+C yn cael ei hanfon dros y porthladd cyfresol ac yn achosi i'r GDBStub dorri (h.y., atal gweithredu) y rhaglen, gan ganiatáu i GDBStub drin gorchmynion dadfygio. Ar ben hynny, gellir ffurfweddu'r trinwr panig i redeg GDBStub ar ddamwain trwy osod y CONFIG_ESP_SYSTEM_PANIC i GDBStub ar banig. Pan fydd damwain yn digwydd, bydd GDBStub yn allbynnu patrwm llinyn arbennig dros y porthladd cyfresol i nodi ei fod yn rhedeg. Yn y ddau achos (h.y., anfon y neges Ctrl+C, neu dderbyn y patrwm llinyn arbennig), bydd Monitor IDF yn lansio GDB yn awtomatig er mwyn caniatáu i'r defnyddiwr anfon gorchmynion dadfygio. Ar ôl i GDB adael, caiff y targed ei ailosod trwy'r llinell gyfresol RTS. Os nad yw'r llinell hon wedi'i chysylltu, gall defnyddwyr ailosod eu targed (drwy wasgu'r botwm Ailosod boardns).
Nodyn: Yn y cefndir, mae IDF Monitor yn rhedeg y gorchymyn canlynol i lansio GDB:
xtensa-esp32-elf-gdb -ex “gosod baud cyfresol BAUD” -ex “targedu PORTH pell” -ex ymyrraeth adeiladu/PROJECT.elf :idf_target:`Helo ENW sglodion`
Hidlo Allbwn Gellir galw monitor IDF fel idf.py monitor –print-filter=”xyz”, lle mae –print-filter yn baramedr ar gyfer hidlo allbwn. Y gwerth diofyn yw llinyn gwag, sy'n golygu bod popeth yn cael ei argraffu.
Gellir pennu cyfyngiadau ar yr hyn i'w argraffu fel cyfres otag>: eitemau lletag> yw'r tag llinyn a yn gymeriad o'r set {N, E, W, I, D, V, *} sy'n cyfeirio at lefel ar gyfer logio.
Am gynample, PRINT_FILTER=”tagMae 1:W” yn cyfateb ac yn argraffu dim ond yr allbynnau a ysgrifennwyd gydag ESP_LOGW(“tag1”, …) neu ar lefel geiri is, h.y. ESP_LOGE(“tag1″, …). Heb nodi a neu ddefnyddio * yn ddiofyn i lefel Verbose.
Nodyn: Defnyddiwch logio cynradd i analluogi'r allbynnau nad oes eu hangen arnoch wrth lunio trwy'r llyfrgell logio. Mae hidlo allbynnau gyda monitor IDF yn ateb eilaidd a all fod yn ddefnyddiol ar gyfer addasu'r opsiynau hidlo heb ail-lunio'r rhaglen.
Eich ap tags rhaid iddo beidio â chynnwys bylchau, serennod *, na cholonau : er mwyn bod yn gydnaws â'r nodwedd hidlo allbwn.
Os nad yw llinell olaf yr allbwn yn eich ap yn cael ei dilyn gan ddychweliad cerbyd, gallai'r hidlo allbwn fynd yn ddryslyd, h.y., mae'r monitor yn dechrau argraffu'r llinell ac yn ddiweddarach yn darganfod na ddylai'r llinell fod wedi'i hysgrifennu. Mae hon yn broblem hysbys a gellir ei hosgoi trwy ychwanegu dychweliad cerbyd bob amser (yn enwedig pan nad oes allbwn yn dilyn yn syth wedyn).
Systemau Espressif
33 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
ExampLles Rheolau Hidlo:
· gellir defnyddio * i gyd-fynd ag unrhyw tagsFodd bynnag, mae'r llinyn PRINT_FILTER=”*:I tag1:E” o ran tag1 yn argraffu gwallau yn unig, oherwydd y rheol ar gyfer tagMae gan 1 flaenoriaeth uwch na'r rheol ar gyfer *.
· Mae'r rheol ddiofyn (gwag) yn gyfwerth â *:V oherwydd bod paru pob tag ar y lefel Verbose neu'n is yn golygu paru popeth.
· Mae “*:N” nid yn unig yn atal allbynnau o ffwythiannau logio, ond hefyd yr argraffiadau a wneir gan printf, ac ati. I osgoi hyn, defnyddiwch *:E neu lefel geiri uwch.
· Rheolau “tag1:V”, “tag1:v”, “tag1:”, “tag1:*”, a “tag1” yn gyfwerth. · Rheol “tag1:W tagMae 1:E” yn gyfwerth â “tag1:E” oherwydd unrhyw ddigwyddiad canlyniadol o'r un peth tag
mae enw yn trosysgrifo'r un blaenorol. · Rheol “tag1:wyf tagArgraffiadau 2:W” yn unig tag1 ar lefel geiriol y wybodaeth neu'n is a tag2 wrth y Rhybudd
lefel geiri neu is. · Rheol “tag1:wyf tag2:W tagMae 3:N” yn gyfwerth yn y bôn â'r un blaenorol oherwydd tagMae 3:N yn nodi
hynny tagNi ddylid argraffu 3. · tag3:N yn y rheol “tag1:wyf tag2:W tagMae 3:N *:V” yn fwy ystyrlon oherwydd heb tag3:N y
tagGellid bod wedi argraffu 3 neges; y gwallau ar gyfer tag1 a tagBydd 2 yn cael ei argraffu ar y lefel geiriaeth benodedig (neu is) a bydd popeth arall yn cael ei argraffu yn ddiofyn.
Enghraifft Hidlo Mwy CymhlethampCafwyd y darn log canlynol heb unrhyw opsiynau hidlo:
llwyth:0x40078000,len:13564 cofnod 0x40078d4c E (31) esp_image: mae gan y ddelwedd yn 0x30000 beit hud annilys W (31) esp_image: mae gan y ddelwedd yn 0x30000 fodd SPI annilys 255 E (39) boot: Nid yw rhaniad ap ffatri yn gychwynadwy I (568) cpu_start: Mae'r cpu Pro yn cychwyn. I (569) heap_init: Yn cychwyn. Mae RAM ar gael ar gyfer dyrannu deinamig: I (603) cpu_start: Cod defnyddiwr cychwyn y cpu Pro D (309) light_driver: [light_init, 74]:status: 1, modd: 2 D (318) vfs: mae esp_vfs_register_fd_range yn llwyddiannus ar gyfer yr ystod <54; 64) a VFS ID 1 I (328) wifi: tasg gyrrwr wifi: 3ffdbf84, prio:23, pentwr:4096, craidd=0
Rhoddir yr allbwn a gipiwyd ar gyfer yr opsiynau hidlo PRINT_FILTER=”wifi esp_image:E light_driver:I” isod:
E (31) delwedd_esp: mae gan y ddelwedd yn 0x30000 beit hud annilys I (328) wifi: tasg gyrrwr wifi: 3ffdbf84, prio:23, pentwr:4096, craidd=0
Mae'r opsiynau “PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V” yn dangos yr allbwn canlynol:
llwyth:0x40078000,len:13564 cofnod 0x40078d4c I (569) heap_init: Yn cychwyn. RAM ar gael ar gyfer dyrannu deinamig: D (309) light_driver: [light_init, 74]:status: 1, modd: 2
Problemau Hysbys gyda Monitor IDF
Problemau a Sylwyd ar Windows
· Nid yw bysellau saeth, yn ogystal â rhai bysellau eraill, yn gweithio yn GDB oherwydd cyfyngiadau Consol Windows. · Weithiau, pan fydd oidf.pypexits yn rhedeg, gall oedi am hyd at 30 eiliad cyn i Monitor IDF ailddechrau. · Pan fydd ogdbpis yn rhedeg, gall oedi am gyfnod byr cyn iddo ddechrau cyfathrebu â'r GDBStub.
Systemau Espressif
34 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Gosod Cadwyn Offer Safonol ar gyfer Linux a macOS
Gosod Cam wrth Gam Mae hwn yn fap ffordd manwl i'ch tywys trwy'r broses osod.
Sefydlu Amgylchedd Datblygu Dyma'r camau ar gyfer sefydlu'r ESP-IDF ar gyfer eich ESP32. · Cam 1. Gosod Rhagofynion · Cam 2. Cael ESP-IDF · Cam 3. Sefydlu'r offer · Cam 4. Sefydlu'r newidynnau amgylcheddol · Cam 5. Camau Cyntaf ar ESP-IDF
Cam 1. Gosod Rhagofynion Er mwyn defnyddio ESP-IDF gyda'r ESP32, mae angen i chi osod rhai pecynnau meddalwedd yn seiliedig ar eich System Weithredu. Bydd y canllaw gosod hwn yn eich helpu i osod popeth ar systemau sy'n seiliedig ar Linux a macOS.
I Ddefnyddwyr Linux I lunio gan ddefnyddio ESP-IDF bydd angen i chi gael y pecynnau canlynol. Mae'r gorchymyn i'w redeg yn dibynnu ar ba ddosbarthiad o Linux rydych chi'n ei ddefnyddio:
· Ubuntu a 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 a 8: sudo yum -y diweddaru a sudo yum gosod git wget flex bison gperf python3 cmake ninja-adeiladu ccache dfu-util libusbx
Mae CentOS 7 yn dal i gael ei gefnogi ond argymhellir fersiwn 8 o CentOS ar gyfer profiad defnyddiwr gwell. · Arch: sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
Nodyn: · Mae angen CMake fersiwn 3.16 neu'n fwy newydd i'w ddefnyddio gydag ESP-IDF. Rhedwch otools/idf_tools.py i osod cmakepto i osod fersiwn addas os nad oes gan fersiynau eich system weithredu un. · Os nad ydych chi'n gweld eich dosbarthiad Linux yn y rhestr uchod, gwiriwch ei ddogfennaeth i ddarganfod pa orchymyn i'w ddefnyddio ar gyfer gosod pecynnau.
Ar gyfer Defnyddwyr macOS, bydd ESP-IDF yn defnyddio'r fersiwn o Python sydd wedi'i osod yn ddiofyn ar macOS. · Gosod CMake ac Ninja build: Os oes gennych HomeBrew, gallwch redeg: brew install cmake ninja dfu-util Os oes gennych MacPorts, gallwch redeg: sudo port install cmake ninja dfu-util Fel arall, ymgynghorwch â thudalennau cartref CMake ac Ninja am lawrlwythiadau gosod macOS.
Systemau Espressif
35 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
· Argymhellir yn gryf eich bod hefyd yn gosod ccache ar gyfer adeiladu cyflymach. Os oes gennych HomeBrew, gellir gwneud hyn trwy brew install ccache neu sudo port install ccache ar MacPorts.
Nodyn: Os dangosir gwall fel hwn yn ystod unrhyw gam: xcrun: gwall: llwybr datblygwr gweithredol annilys (/Library/Developer/CommandLineTools), xcrun ar goll yn: /Library/Developer/CommandLineTools/usr/bin/xcrun
Yna bydd angen i chi osod yr offer llinell orchymyn XCode i barhau. Gallwch osod y rhain drwy redeg xcode-select –install.
Defnyddwyr Apple M1 Os ydych chi'n defnyddio platfform Apple M1 ac yn gweld gwall fel hyn: RHYBUDD: mae cyfeiriadur ar gyfer yr offeryn xtensa-esp32-elf fersiwn esp-2021r2-patch3-8.4.0 yn bresennol, ond ni chanfuwyd yr offeryn GWALL: nid oes gan yr offeryn xtensa-esp32-elf unrhyw fersiynau wedi'u gosod. Rhedwch 'install.sh' i'w osod.
neu: zsh: math CPU gwael yn y ffeil weithredadwy: ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Yna bydd angen i chi osod Apple Rosetta 2 drwy redeg /usr/sbin/softwareupdate –install-rosetta –agree-to-license
Gosod Python 3 Yn seiliedig ar nodiadau rhyddhau macOS Catalina 10.15, ni argymhellir defnyddio Python 2.7 ac ni fydd Python 2.7 yn cael ei gynnwys yn ddiofyn mewn fersiynau yn y dyfodol o macOS. Gwiriwch pa Python sydd gennych ar hyn o bryd: python –version
Os yw'r allbwn fel Python 2.7.17, eich dehonglydd diofyn yw Python 2.7. Os felly, gwiriwch hefyd a yw Python 3 eisoes wedi'i osod ar eich cyfrifiadur: python3 –version
Os yw'r gorchymyn uchod yn dychwelyd gwall, mae'n golygu nad yw Python 3 wedi'i osod. Isod mae drosoddview o'r camau i osod Python 3.
· Gellir gosod gyda HomeBrew fel a ganlyn: brew install python3
· Os oes gennych chi MacPorts, gallwch chi redeg: sudo porthladd gosod python38
Cam 2. Cael ESP-IDF I adeiladu cymwysiadau ar gyfer yr ESP32, mae angen y llyfrgelloedd meddalwedd a ddarperir gan Espressif arnoch yn ystorfa ESP-IDF. I gael ESP-IDF, ewch i'ch cyfeiriadur gosod a chlôniwch y storfa gyda git clone, gan ddilyn y cyfarwyddiadau isod sy'n benodol i'ch system weithredu. Agorwch y Derfynell, a rhedeg y gorchmynion canlynol:
Systemau Espressif
36 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –recursive https://github.com/espressif/esp-idf.git
Bydd ESP-IDF yn cael ei lawrlwytho i ~/esp/esp-idf. Ymgynghorwch â Fersiynau ESP-IDF i gael gwybodaeth am ba fersiwn ESP-IDF i'w defnyddio mewn sefyllfa benodol.
Cam 3. Gosod yr offer Ar wahân i'r ESP-IDF, mae angen i chi hefyd osod yr offer a ddefnyddir gan ESP-IDF, fel y crynhoydd, y dadfygiwr, pecynnau Python, ac ati, ar gyfer prosiectau sy'n cefnogi ESP32. cd ~/esp/esp-idf ./install.sh esp32
neu gyda cd cregyn pysgodyn ~/esp/esp-idf ./install.fish esp32
Mae'r gorchmynion uchod yn gosod offer ar gyfer ESP32 yn unig. Os ydych chi'n bwriadu datblygu prosiectau ar gyfer mwy o dargedau sglodion, dylech chi restru pob un ohonyn nhw a'u rhedeg er enghraifft.ample: cd ~/esp/esp-idf ./install.sh esp32,esp32s2
neu gyda cd cragen pysgodyn ~/esp/esp-idf ./install.fish esp32,esp32s2
Er mwyn gosod offer ar gyfer yr holl dargedau a gefnogir, rhedwch y gorchymyn canlynol: cd ~/esp/esp-idf ./install.sh all
neu gyda cd cragen pysgodyn ~/esp/esp-idf ./install.fish all
Nodyn: I ddefnyddwyr macOS, os dangosir gwall fel hyn yn ystod unrhyw gam:urlgwall agored [SSL: CERTIFICATE_VERIFY_FAILED] methodd gwirio tystysgrif: ni allwyd cael tystysgrif y cyhoeddwr lleol (_ssl.c:xxx)
Gallwch redeg y gorchymyn Install Certificates.command yn ffolder Python eich cyfrifiadur i osod tystysgrifau. Am fanylion, gweler Gwall Lawrlwytho Wrth Osod Offer ESP-IDF.
Amgen File Lawrlwythiadau Mae'r gosodwr offer yn lawrlwytho nifer o files ynghlwm wrth Releases GitHub. Os yw mynediad i GitHub yn araf yna mae'n bosibl gosod newidyn amgylcheddol i ffafrio gweinydd lawrlwytho Espressifns ar gyfer lawrlwythiadau asedau GitHub.
Nodyn: Dim ond offer unigol a lawrlwythwyd o fersiynau GitHub y mae'r gosodiad hwn yn eu rheoli, nid yw'n newid y URLa ddefnyddir i gael mynediad i unrhyw ystorfeydd Git.
I ffafrio gweinydd lawrlwytho Espressif wrth osod offer, defnyddiwch y dilyniant canlynol o orchmynion wrth redeg install.sh:
Systemau Espressif
37 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
cd ~/esp/esp-idf allforio IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
Addasu llwybr gosod yr offer Mae'r sgriptiau a gyflwynir yn y cam hwn yn gosod offer llunio sy'n ofynnol gan ESP-IDF y tu mewn i gyfeiriadur cartref y defnyddiwr: $HOME/.espressif ar Linux. Os ydych chi am osod yr offer mewn cyfeiriadur gwahanol, gosodwch y newidyn amgylcheddol IDF_TOOLS_PATH cyn rhedeg y sgriptiau gosod. Gwnewch yn siŵr bod gan eich cyfrif defnyddiwr ddigon o ganiatâd i ddarllen ac ysgrifennu'r llwybr hwn. Os ydych chi'n newid yr IDF_TOOLS_PATH, gwnewch yn siŵr ei fod wedi'i osod i'r un gwerth bob tro y caiff y sgript Gosod (install.bat, install.ps1 neu install.sh) a sgript Allforio (export.bat, export.ps1 neu export.sh) eu gweithredu.
Cam 4. Gosod y newidynnau amgylcheddol Nid yw'r offer sydd wedi'u gosod wedi'u hychwanegu at y newidyn amgylcheddol PATH eto. Er mwyn gwneud yr offer yn ddefnyddiadwy o'r llinell orchymyn, rhaid gosod rhai newidynnau amgylcheddol. Mae ESP-IDF yn darparu sgript arall sy'n gwneud hynny. Yn y derfynfa lle rydych chi'n mynd i ddefnyddio ESP-IDF, rhedeg:
. $HOME/esp/esp-idf/export.sh
neu ar gyfer pysgod (wedi'i gefnogi ers fersiwn 3.0.0 o bysgod yn unig):
$HOME/esp/esp-idf/export.fish
Nodwch y bylchau rhwng y dot blaenllaw a'r llwybr! Os ydych chi'n bwriadu defnyddio esp-idf yn aml, gallwch chi greu alias ar gyfer gweithredu export.sh:
1. Copïwch a gludwch y gorchymyn canlynol i'ch shellns profile (.profile, .bashrc, .zprofile, ac ati)
alias get_idf='. $HOME/esp/esp-idf/export.sh' 2. Adnewyddwch y ffurfweddiad trwy ailgychwyn y sesiwn derfynell neu drwy redeg ffynhonnell [llwybr i profile],
ar gyfer cynample, ffynhonnell ~/.bashrc. Nawr gallwch chi redeg get_idf i sefydlu neu adnewyddu'r amgylchedd esp-idf mewn unrhyw sesiwn derfynell. Yn dechnegol, gallwch chi ychwanegu export.sh at eich shellns profile yn uniongyrchol; fodd bynnag, ni argymhellir. Mae gwneud hynny yn actifadu amgylchedd rhithwir IDF ym mhob sesiwn derfynell (gan gynnwys y rhai lle nad oes angen IDF), gan drechu pwrpas yr amgylchedd rhithwir ac yn debygol o effeithio ar feddalwedd arall.
Cam 5. Camau Cyntaf ar ESP-IDF Gan fod yr holl ofynion wedi'u bodloni nawr, bydd y pwnc nesaf yn eich tywys ar sut i ddechrau eich prosiect cyntaf. Bydd y canllaw hwn yn eich helpu ar y camau cyntaf gan ddefnyddio ESP-IDF. Dilynwch y canllaw hwn i ddechrau prosiect newydd ar yr ESP32 ac adeiladu, fflachio a monitro allbwn y ddyfais.
Nodyn: Os nad ydych wedi gosod ESP-IDF eto, ewch i Gosod a dilynwch y cyfarwyddiadau er mwyn cael yr holl feddalwedd sydd ei hangen i ddefnyddio'r canllaw hwn.
Dechreuwch Brosiect Nawr rydych chi'n barod i baratoi eich cais ar gyfer ESP32. Gallwch chi ddechrau gyda phrosiect getstarted/hello_world o examples cyfeiriadur yn ESP-IDF.
Pwysig: Nid yw system adeiladu ESP-IDF yn cefnogi bylchau yn y llwybrau i ESP-IDF nac i brosiectau.
Copïwch y prosiect get-started/hello_world i'r cyfeiriadur ~/esp:
Systemau Espressif
38 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
Nodyn: Mae yna ystod o gynampgyda phrosiectau yn y cynamples cyfeiriadur yn ESP-IDF. Gallwch gopïo unrhyw brosiect yn yr un ffordd ag a gyflwynir uchod a'i redeg. Mae hefyd yn bosibl adeiladu examples yn eu lle heb eu copïo yn gyntaf.
Cysylltu Eich Dyfais Nawr cysylltwch eich bwrdd ESP32 â'r cyfrifiadur a gwiriwch o dan ba borth cyfresol y mae'r bwrdd yn weladwy. Mae gan borthladdoedd cyfresol y patrymau enwi canlynol:
· Linux: gan ddechrau gyda /dev/tty · macOS: gan ddechrau gyda /dev/cu. Os nad ydych chi'n siŵr sut i wirio enw'r porthladd cyfresol, cyfeiriwch at Sefydlu Cysylltiad Cyfresol gydag ESP32 am fanylion llawn.
Nodyn: Cadwch enw'r porthladd wrth law oherwydd bydd ei angen arnoch yn y camau nesaf.
Ffurfweddu Eich Prosiect Llywiwch i'ch cyfeiriadur hello_world, gosodwch ESP32 fel y targed, a rhedeg y cyfleustodau ffurfweddu prosiect menuconfig.cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
Ar ôl agor prosiect newydd, dylech chi osod y targed yn gyntaf gydag idf.py set-target esp32. Sylwch y bydd adeiladweithiau a ffurfweddiadau presennol yn y prosiect, os o gwbl, yn cael eu clirio a'u cychwyn yn y broses hon. Gellir cadw'r targed yn y newidyn amgylcheddol i hepgor y cam hwn o gwbl. Gweler Dewis y Sglodion Targed: set-target am wybodaeth ychwanegol. Os yw'r camau blaenorol wedi'u gwneud yn gywir, mae'r ddewislen ganlynol yn ymddangos:
Ffig. 17: Ffurfweddiad y prosiect – Ffenestr gartref Rydych chi'n defnyddio'r ddewislen hon i sefydlu newidynnau penodol i'r prosiect, e.e. enw a chyfrinair rhwydwaith Wi-Fi, cyflymder y prosesydd, ac ati. Gellir hepgor sefydlu'r prosiect gyda menuconfig ar gyfer ohello_worldp, gan fod yr enghraifft honampmae'n rhedeg gyda
Systemau Espressif
39 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
cyfluniad rhagosodedig.
Sylw: Os ydych chi'n defnyddio bwrdd ESP32-DevKitC gyda'r modiwl ESP32-SOLO-1, neu fwrdd ESP32-DevKitM-1 gyda'r modiwl ESP32-MIN1-1(1U), galluogwch y modd craidd sengl (CONFIG_FREERTOS_UNICORE) yn y menuconfig cyn fflachio examples.
Nodyn: Gallai lliwiau'r ddewislen fod yn wahanol yn eich terfynell. Gallwch newid yr ymddangosiad gyda'r opsiwn –style. Rhedwch idf.py menuconfig –help am ragor o wybodaeth.
Os ydych chi'n defnyddio un o'r byrddau datblygu a gefnogir, gallwch chi gyflymu eich datblygiad trwy ddefnyddio Pecyn Cymorth Bwrdd. Gweler Awgrymiadau Ychwanegol am ragor o wybodaeth.
Adeiladu'r Prosiect Adeiladwch y prosiect trwy redeg:
idf.py adeiladu
Bydd y gorchymyn hwn yn llunio'r cais a'r holl gydrannau ESP-IDF, yna bydd yn cynhyrchu'r cychwynnydd, y tabl rhaniad, a'r deuaidd rhaglenni.
$ idf.py build Rhedeg cmake yn y cyfeiriadur /path/to/hello_world/build Yn gweithredu “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… Rhybuddio am werthoedd heb eu cychwyn. — Canfuwyd Git: /usr/bin/git (canfuwyd fersiwn “2.17.0”) — Adeiladu cydran aws_iot wag oherwydd cyfluniad — Enwau cydrannau: … — Llwybrau cydrannau: …
… (mwy o linellau o allbwn system adeiladu)
[527/527] Cynhyrchu hello_world.bin esptool.py v2.3.1
Mae adeiladu'r prosiect wedi'i gwblhau. I fflachio, rhedwch y gorchymyn hwn: ../../../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 neu rhedwch 'idf.py -p PORT flash'
Os nad oes unrhyw wallau, bydd yr adeilad yn gorffen trwy gynhyrchu'r firmware binary .bin files.
Fflachio ar y Dyfais Fflachio'r ffeiliau deuaidd rydych chi newydd eu hadeiladu (bootloader.bin, partition-table.bin a hello_world.bin) ar eich bwrdd ESP32 drwy redeg:
idf.py -p PORT [-b BAUD] fflach
Amnewidiwch PORT gydag enw porthladd cyfresol eich bwrdd ESP32. Gallwch hefyd newid cyfradd baud y fflachiwr trwy amnewid BAUD gyda'r gyfradd baud sydd ei hangen arnoch. Y gyfradd baud ddiofyn yw 460800. Am ragor o wybodaeth am ddadleuon idf.py, gweler idf.py.
Nodyn: Mae'r opsiwn fflachio yn adeiladu ac yn fflachio'r prosiect yn awtomatig, felly nid oes angen rhedeg idf.py build.
Systemau Espressif
40 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Wedi Cael Problemau Wrth Fflachio? Os ydych chi'n rhedeg y gorchymyn penodol ac yn gweld gwallau fel Methodd cysylltu, gallai fod sawl rheswm dros hyn. Un o'r rhesymau gallai fod problemau a wynebir gan esptool.py, y cyfleustodau a elwir gan y system adeiladu i ailosod y sglodion, rhyngweithio â'r llwythwr cychwyn ROM, a fflachio cadarnwedd. Un ateb syml i roi cynnig arno yw ailosod â llaw a ddisgrifir isod, ac os nad yw'n helpu gallwch ddod o hyd i fwy o fanylion am broblemau posibl yn Datrys Problemau.
Mae esptool.py yn ailosod ESP32 yn awtomatig trwy gadarnhau llinellau rheoli DTR ac RTS y sglodion trawsnewidydd USB i gyfresol, h.y., FTDI neu CP210x (am ragor o wybodaeth, gweler Sefydlu Cysylltiad Cyfresol gydag ESP32). Mae'r llinellau rheoli DTR ac RTS yn eu tro wedi'u cysylltu â phinnau GPIO0 a CHIP_PU (EN) ESP32, felly mae newidiadau yn y gyfaint.tagBydd lefelau e o DTR ac RTS yn cychwyn ESP32 i'r modd Lawrlwytho Cadarnwedd. Fel cynample, gwiriwch y cynllun ar gyfer y bwrdd datblygu ESP32 DevKitC.
Yn gyffredinol, ni ddylech gael unrhyw broblemau gyda'r byrddau datblygu swyddogol esp-idf. Fodd bynnag, nid yw esptool.py yn gallu ailosod eich caledwedd yn awtomatig yn yr achosion canlynol:
· Nid oes gan eich caledwedd y llinellau DTR ac RTS wedi'u cysylltu â GPIO0 a CHIP_PU · Mae'r llinellau DTR ac RTS wedi'u ffurfweddu'n wahanol · Nid oes unrhyw linellau rheoli cyfresol o'r fath o gwbl
Yn dibynnu ar y math o galedwedd sydd gennych, efallai y bydd modd rhoi eich bwrdd ESP32 â llaw yn y modd Lawrlwytho Cadarnwedd (ailosod).
· Ar gyfer byrddau datblygu a gynhyrchwyd gan Espressif, gellir dod o hyd i'r wybodaeth hon yn y canllawiau cychwyn neu'r canllawiau defnyddwyr perthnasol. Er enghraifft.ample, i ailosod bwrdd datblygu ESP-IDF â llaw, daliwch y botwm Cychwyn (GPIO0) i lawr a gwasgwch y botwm EN (CHIP_PU).
· Ar gyfer mathau eraill o galedwedd, ceisiwch dynnu GPIO0 i lawr.
Gweithrediad Arferol Wrth fflachio, fe welwch y log allbwn tebyg i'r canlynol:
… 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 Porthladd cyfresol /dev/ttyUSB0 Cysylltu…….._ Sglodion yw ESP32D0WDQ6 (adolygiad 0) Nodweddion: WiFi, BT, Craidd Deuol, Cynllun Codio Dim Grisial yw 40MHz MAC: 24:0a:c4:05:b9:14 Yn uwchlwytho bonyn… Yn rhedeg bonyn… Yn rhedeg bonyn… Newid cyfradd baud i 460800 Wedi newid. Ffurfweddu maint y fflach… Cywasgwyd 3072 beit i 103… Ysgrifennu ar 0x00008000… (100 %) Ysgrifennwyd 3072 beit (103 wedi'u cywasgu) ar 0x00008000 mewn 0.0 eiliad (yn effeithiol 5962.8 kbit/s)… Hash o ddata wedi'i wirio. Cywasgwyd 26096 beit i 15408… Ysgrifennu ar 0x00001000… (100 %) Ysgrifennwyd 26096 beit (15408 wedi'u cywasgu) ar 0x00001000 mewn 0.4 eiliad (yn effeithiol 546.7 kbit/s)… Hash o ddata wedi'i wirio. Cywasgwyd 147104 beit i 77364… Yn ysgrifennu ar 0x00010000… (20%) Yn ysgrifennu ar 0x00014000… (40%) Yn ysgrifennu ar 0x00018000… (60%) Yn ysgrifennu ar 0x0001c000… (80%)
(yn parhau ar y dudalen nesaf)
Systemau Espressif
41 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
(parhad o'r dudalen flaenorol) Ysgrifennu ar 0x00020000… (100 %) Ysgrifennu 147104 beit (77364 wedi'u cywasgu) ar 0x00010000 mewn 1.9 eiliad (615.5 kbit/s yn effeithiol)… Hash o ddata wedi'i wirio.
Gadael... ailosod caled drwy RTS pin... Wedi'i wneud
Os nad oes unrhyw broblemau erbyn diwedd y broses fflachio, bydd y bwrdd yn ailgychwyn ac yn cychwyn theohello_worldpapplication. Os hoffech ddefnyddio'r Eclipse neu VS Code IDE yn lle rhedeg idf.py, edrychwch ar Eclipse Plugin, VSCode Extension.
Monitro'r Allbwn I wirio a yw ohello_worldpis yn rhedeg mewn gwirionedd, teipiwch idf.py -p PORT monitor (Peidiwch ag anghofio disodli PORT gyda'ch enw porthladd cyfresol). Mae'r gorchymyn hwn yn lansio'r rhaglen Monitro IDF:
$ idf.py -p monitro Rhedeg idf_monitor yn y cyfeiriadur […]/esp/hello_world/build Gweithredu “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/build/hello_world.elf”… — idf_monitor ymlaen 115200 —– Ymadael: Ctrl+] | Dewislen: Ctrl+T | Cymorth: Ctrl+T ac yna Ctrl+H –ets 8 Mehefin 2016 00:22:57
cyntaf:0x1 (POWERON_RESET), cychwyn:0x13 (SPI_FAST_FLASH_BOOT) ets 8 Mehefin 2016 00:22:57 …
Ar ôl i logiau cychwyn a diagnostig sgrolio i fyny, dylech weld oHelo byd!p wedi'i argraffu gan y rhaglen.
… Helô byd! Ailgychwyn mewn 10 eiliad… Sglodion esp32 gyda 2 graidd CPU, WiFi/BT/BLE, silicon diwygiad 1, fflach allanol 2MB Maint pentwr rhydd lleiaf: 298968 beit Ailgychwyn mewn 9 eiliad… Ailgychwyn mewn 8 eiliad… Ailgychwyn mewn 7 eiliad…
I adael monitor IDF defnyddiwch y llwybr byr Ctrl+]. Os bydd monitor IDF yn methu yn fuan ar ôl yr uwchlwytho, neu, os gwelwch chi sbwriel ar hap tebyg i'r hyn a roddir isod yn lle'r negeseuon uchod, mae'n debyg bod eich bwrdd yn defnyddio crisial 26 MHz. Mae'r rhan fwyaf o ddyluniadau byrddau datblygu yn defnyddio 40 MHz, felly mae ESP-IDF yn defnyddio'r amledd hwn fel gwerth diofyn.
Os oes gennych broblem o'r fath, gwnewch y canlynol:
1. Gadewch y monitor. 2. Ewch yn ôl i'r ddewislen/ffurfweddu. 3. Ewch i Ffurfweddu Cydrannau > Gosodiadau Caledwedd > Prif Ffurfweddiad XTAL > Prif XTAL
amledd, yna newidiwch CONFIG_XTAL_FREQ_SEL i 26 MHz. 4. Ar ôl hynny, adeiladwch a fflachiwch y rhaglen eto.
Systemau Espressif
42 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Yn y fersiwn gyfredol o ESP-IDF, y prif amleddau XTAL a gefnogir gan ESP32 yw'r canlynol:
· 26 MHz · 40 MHz
Nodyn: Gallwch gyfuno adeiladu, fflachio a monitro i mewn i un cam drwy redeg: idf.py -p PORT flash monitor
Gweler hefyd: · IDF Monitor am lwybrau byr defnyddiol a mwy o fanylion ar ddefnyddio IDF monitor. · idf.py am gyfeiriad llawn at orchmynion ac opsiynau idf.py.
Dyna'r cyfan sydd ei angen arnoch i ddechrau gydag ESP32! Nawr rydych chi'n barod i roi cynnig ar rywbeth arall.amples, neu ewch yn syth i ddatblygu eich cymwysiadau eich hun.
Pwysig: Mae rhai o gyn-ampNid yw ffeiliau'n cefnogi ESP32 oherwydd nad yw'r caledwedd gofynnol wedi'i gynnwys yn ESP32 felly ni ellir ei gefnogi. Os ydych chi'n adeiladu example, gwiriwch y README os gwelwch yn dda file ar gyfer y tabl Targedau a Gefnogir. Os yw hwn yn bresennol gan gynnwys targed ESP32, neu os nad yw'r tabl yn bodoli o gwbl, y cynampBydd yn gweithio ar ESP32.
Cynghorion Ychwanegol
Problemau caniatâd /dev/ttyUSB0 Gyda rhai dosraniadau Linux, efallai y byddwch yn cael y neges gwall Methodd agor porthladd /dev/ttyUSB0 wrth fflachio'r ESP32. Gellir datrys hyn trwy ychwanegu'r defnyddiwr cyfredol at y grŵp deialu allan.
Cydnawsedd Python Mae ESP-IDF yn cefnogi Python 3.7 neu'n fwy diweddar. Argymhellir uwchraddio'ch system weithredu i fersiwn ddiweddar sy'n bodloni'r gofyniad hwn. Mae opsiynau eraill yn cynnwys gosod Python o ffynonellau neu ddefnyddio system rheoli fersiynau Python fel pyenv.
Dechreuwch gyda Phecyn Cymorth Bwrdd I gyflymu prototeipio ar rai byrddau datblygu, gallwch ddefnyddio Pecynnau Cymorth Bwrdd (BSPs), sy'n gwneud cychwyn bwrdd penodol mor hawdd â galwadau swyddogaeth ychydig. Mae BSP fel arfer yn cefnogi'r holl gydrannau caledwedd a ddarperir ar y bwrdd datblygu. Ar wahân i'r diffiniad pinout a'r swyddogaethau cychwyn, mae BSP yn dod gyda gyrwyr ar gyfer y cydrannau allanol fel synwyryddion, arddangosfeydd, codecs sain ac ati. Mae'r BSPs yn cael eu dosbarthu trwy Reolwr Cydrannau IDF, felly gellir dod o hyd iddynt yng Nghofrestrfa Cydrannau IDF. Herens an exampsut i ychwanegu ESP-WROVER-KIT BSP at eich prosiect: idf.py add-dependency esp_wrover_kit
Mwy o gynampGellir dod o hyd i fanylion am ddefnydd BSP yn BSP examples ffolder.
Awgrym: Diweddaru ESP-IDF Argymhellir diweddaru ESP-IDF o bryd i'w gilydd, wrth i fersiynau newydd drwsio bygiau a/neu ddarparu nodweddion newydd. Sylwch fod gan bob fersiwn rhyddhau fawr a bach o ESP-IDF gyfnod cymorth cysylltiedig, a phan fydd un gangen rhyddhau yn agosáu at ddiwedd ei hoes, anogir pob defnyddiwr i uwchraddio eu prosiectau i ryddhadau ESP-IDF mwy diweddar, i gael gwybod mwy am gyfnodau cymorth, gweler Fersiynau ESP-IDF.
Systemau Espressif
43 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 1. Dechrau Arni
Y ffordd symlaf o wneud y diweddariad yw dileu'r ffolder esp-idf presennol a'i glonio eto, fel petaech yn cyflawni'r gosodiad cychwynnol a ddisgrifir yng Ngham 2. Cael ESP-IDF. Datrysiad arall yw diweddaru dim ond yr hyn sydd wedi newid. Mae'r weithdrefn ddiweddaru yn dibynnu ar y fersiwn o ESP-IDF rydych chi'n ei defnyddio. Ar ôl diweddaru ESP-IDF, gweithredwch y sgript Gosod eto, rhag ofn bod y fersiwn ESP-IDF newydd angen fersiynau gwahanol o offer. Gweler y cyfarwyddiadau yng Ngham 3. Gosodwch yr offer. Ar ôl i'r offer newydd gael eu gosod, diweddarwch yr amgylchedd gan ddefnyddio'r sgript Allforio. Gweler y cyfarwyddiadau yng Ngham 4. Gosodwch y newidynnau amgylcheddol.
Dogfennau Cysylltiedig · Sefydlu Cysylltiad Cyfresol gydag ESP32 · Ategyn Eclipse · Estyniad VSCode · Monitor IDF
1.4 Adeiladu Eich Prosiect Cyntaf
Os oes gennych chi ESP-IDF eisoes wedi'i osod ac nad ydych chi'n defnyddio IDE, gallwch chi adeiladu eich prosiect cyntaf o'r llinell orchymyn gan ddilyn y camau Dechrau Prosiect ar Windows neu Dechrau Prosiect ar Linux a macOS.
1.5 Dadosod ESP-IDF
Os ydych chi am gael gwared ar ESP-IDF, dilynwch Dadosod ESP-IDF.
Systemau Espressif
44 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 2
Cyfeirnod API
2.1 Confensiynau API
Mae'r ddogfen hon yn disgrifio confensiynau a rhagdybiaethau sy'n gyffredin i Ryngwynebau Rhaglennu Cymwysiadau (APIs) ESP-IDF. Mae ESP-IDF yn darparu sawl math o ryngwynebau rhaglennu:
· Swyddogaethau C, strwythurau, enumiau, diffiniadau math a macros cyn-brosesydd wedi'u datgan yn y pennawd cyhoeddus fileo gydrannau ESPIDF. Mae gwahanol dudalennau yn adran Cyfeirnod API y canllaw rhaglennu yn cynnwys disgrifiadau o'r swyddogaethau, strwythurau a mathau hyn.
· Swyddogaethau system adeiladu, newidynnau wedi'u diffinio ymlaen llaw ac opsiynau. Mae'r rhain wedi'u dogfennu yn y canllaw system adeiladu. · Gellir defnyddio opsiynau Kconfig mewn cod ac yn y system adeiladu (CMakeLists.txt) files. · Mae offer gwesteiwr a'u paramedrau llinell orchymyn hefyd yn rhan o ryngwyneb ESP-IDF. Mae ESP-IDF yn cynnwys cydrannau a ysgrifennwyd yn benodol ar gyfer ESP-IDF yn ogystal â llyfrgelloedd trydydd parti. Mewn rhai achosion, ychwanegir lapio penodol i ESP-IDF at y llyfrgell trydydd parti, gan ddarparu rhyngwyneb sydd naill ai'n symlach neu'n well ei integreiddio â gweddill cyfleusterau ESP-IDF. Mewn achosion eraill, cyflwynir API gwreiddiol y llyfrgell trydydd parti i ddatblygwyr y cymwysiadau. Mae'r adrannau canlynol yn egluro rhai o agweddau APIs ESP-IDF a'u defnydd.
Delio â gwall 2.1.1
Mae'r rhan fwyaf o APIau ESP-IDF yn dychwelyd codau gwall a ddiffinnir gyda'r math esp_err_t. Gweler yr adran Trin Gwallau am ragor o wybodaeth am ddulliau trin gwallau. Mae Cyfeirnod Cod Gwall yn cynnwys y rhestr o godau gwall a ddychwelir gan gydrannau ESP-IDF.
2.1.2 Strwythurau ffurfweddu
Pwysig: Mae cychwyn strwythurau ffurfweddu'n gywir yn rhan bwysig o wneud y rhaglen yn gydnaws â fersiynau yn y dyfodol o ESP-IDF.
Mae'r rhan fwyaf o swyddogaethau cychwyn neu ffurfweddu yn ESP-IDF yn cymryd pwyntydd i strwythur ffurfweddu fel dadl. Er enghraifftample:
45
Pennod 2. Cyfeirnod API
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, .arg = callback_arg, .name = “my_timer”
}; esp_timer_handle_t fy_amserydd; esp_err_t err = esp_timer_create(&my_timer_args, &my_timer);
Nid yw ffwythiannau cychwyn byth yn storio'r pwyntydd i'r strwythur ffurfweddu, felly mae'n ddiogel dyrannu'r strwythur ar y pentwr.
Rhaid i'r rhaglen gychwyn pob maes o'r strwythur. Mae'r canlynol yn anghywir:
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* Anghywir! Nid yw'r meysydd .arg a .name wedi'u cychwyn */ esp_timer_create(&my_timer_args, &my_timer);
Y rhan fwyaf o gyn-ESP-IDFampMae les yn defnyddio cychwynwyr dynodedig C99 ar gyfer cychwyn strwythur, gan eu bod yn darparu ffordd gryno o osod is-set o feysydd, a sero-gychwyn y meysydd sy'n weddill:
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback, /* Cywir, mae'r meysydd .arg a .name wedi'u cychwyn yn sero */
};
Nid yw'r iaith C++ yn cefnogi'r cystrawen cychwynwyr dynodedig tan C++20, fodd bynnag mae crynhoydd GCC yn ei gefnogi'n rhannol fel estyniad. Wrth ddefnyddio APIs ESP-IDF mewn cod C++, efallai y byddwch chi'n ystyried defnyddio'r patrwm canlynol:
esp_timer_create_args_t my_timer_args = {}; /* Mae'r holl feysydd wedi'u cychwyn yn sero */ my_timer_args.callback = &my_timer_callback;
Cychwynwyr diofyn
Ar gyfer rhai strwythurau ffurfweddu, mae ESP-IDF yn darparu macros ar gyfer gosod gwerthoedd diofyn meysydd:
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* Mae HTTPD_DEFAULT_CONFIG yn ehangu i gychwynnydd dynodedig.
Nawr mae pob maes wedi'i osod i'r gwerthoedd diofyn. Mae modd addasu unrhyw faes o hyd: */ config.server_port = 8081; httpd_handle_t server; esp_err_t err = httpd_start(&server, &config);
Argymhellir defnyddio macros cychwyniad diofyn pryd bynnag y cânt eu darparu ar gyfer strwythur ffurfweddu penodol.
2.1.3 APIau Preifat
Pennawd penodol fileMae au yn ESP-IDF yn cynnwys APIs y bwriedir eu defnyddio yng nghod ffynhonnell ESP-IDF yn unig, ac nid gan y cymwysiadau. Mae pennawd o'r fath fileyn aml mae s yn cynnwys private neu esp_private yn eu henw neu lwybr. Dim ond APIs preifat sydd mewn rhai cydrannau, fel hal. Gall APIs preifat gael eu tynnu neu eu newid mewn ffordd anghydnaws rhwng datganiadau bach neu ddarnau.
2.1.4 Cydrannau mewn cynampgyda phrosiectau
ESP-IDF cynampMae ffeiliau'n cynnwys amrywiaeth o brosiectau sy'n dangos defnydd o APIs ESP-IDF. Er mwyn lleihau dyblygu cod yn yr examples, diffinnir ychydig o gynorthwywyr cyffredin y tu mewn i gydrannau a ddefnyddir gan sawl enghraifftamples.
Systemau Espressif
46 Cyflwyno Adborth ar Ddogfen
Rhyddhau v5.0.9
Pennod 2. Cyfeirnod API
Mae hyn yn cynnwys cydrannau sydd wedi'u lleoli
Dogfennau / Adnoddau
![]() |
Bwrdd Datblygu Kitc Dev Systems ESP32 Espressif [pdfCanllaw Defnyddiwr Bwrdd Datblygu Dev Kitc ESP32, ESP32, Bwrdd Datblygu Dev Kitc, Bwrdd Datblygu Kitc, Bwrdd Datblygu, Bwrdd |