Espressif စနစ်များ ESP32 Dev Kitc ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ အသုံးပြုသူလမ်းညွှန်

ESP32 Dev Kitc ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့

ထုတ်ကုန်အချက်အလက်

သတ်မှတ်ချက်များ

  • ထုတ်ကုန်- ESP32
  • ပရိုဂရမ်းမင်းလမ်းညွှန်- ESP-IDF
  • ဖြန့်ချိဗားရှင်း- v5.0.9
  • ထုတ်လုပ်သူ- Espressif စနစ်များ
  • ထုတ်ဝေသည့်ရက်စွဲ- မေ ၁၅၊ ၂၀၂၄

ထုတ်ကုန်အသုံးပြုမှု ညွှန်ကြားချက်များ

1. စတင်လိုက်ပါ။

ESP32 ကို မစတင်မီ၊ ၎င်းနှင့် ရင်းနှီးအောင် သင်ထားပါ။
အောက်ပါ-

1.1 နိဒါန်း

၏ အခြေခံလုပ်ဆောင်ချက်များနှင့် စွမ်းဆောင်ရည်များအကြောင်း လေ့လာပါ။
ESP32

1.2 သင်လိုအပ်သောအရာ

သင့်တွင် လိုအပ်သော ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲလ်များရှိကြောင်း သေချာပါစေ။

  • ဟာ့ဒ်ဝဲ- လိုအပ်သော ဟာ့ဒ်ဝဲများစာရင်းကို စစ်ဆေးပါ။
    အစိတ်အပိုင်းများ။
  • ဆော့ဖ်ဝဲ လိုအပ်သော software ကို install လုပ်ပါ။
    အစိတ်အပိုင်းများ။

1.3 ထည့်သွင်းခြင်း။

IDE ကို ထည့်သွင်းပြီး စနစ်ထည့်သွင်းရန် ဤအဆင့်များကို လိုက်နာပါ။
ပတ်ဝန်းကျင်-

  • IDE- အကြံပြုထားသော IDE ကို ထည့်သွင်းပါ။
    ESP32 ကို ပရိုဂရမ်ရေးဆွဲခြင်း။
  • လက်ဖြင့် တပ်ဆင်ခြင်း- ၎င်းကို ကိုယ်တိုင်သတ်မှတ်ပါ။
    လိုအပ်ရင် ပတ်ဝန်းကျင်။

1.4 သင်၏ပထမဆုံးပရောဂျက်ကိုတည်ဆောက်ပါ။

ESP32 ကို အသုံးပြု၍ သင်၏ကနဦးပရောဂျက်ကို ဖန်တီးတည်ဆောက်ပါ။

1.5 ESP-IDF ကို ဖြုတ်ပါ။

လိုအပ်ပါက၊ သင့်ထံမှ ESP-IDF ကို မည်ကဲ့သို့ ဖြုတ်ရမည်ကို လေ့လာပါ။
စနစ်။

2. API အကိုးအကား

အသေးစိတ်အချက်အလက်များအတွက် API စာရွက်စာတမ်းအား ကိုးကားပါ။
အပလီကေးရှင်း ပရိုတိုကောများ၊ အမှားအယွင်းများကို ကိုင်တွယ်ခြင်းနှင့် ဖွဲ့စည်းမှုပုံစံ
အဆောက်အဦများ။

အမေးများသောမေးခွန်းများ (FAQ)

မေး- ESP32 တွင် အဖြစ်များသော ပြဿနာများကို မည်သို့ဖြေရှင်းနိုင်မည်နည်း။

A- ပရိုဂရမ်းမင်းလမ်းညွှန်ရှိ ပြဿနာဖြေရှင်းခြင်းကဏ္ဍကို ကိုးကားပါ။
သို့မဟုတ် ထုတ်လုပ်သူထံ သွားရောက်ကြည့်ရှုပါ။ webပံ့ပိုးမှုအရင်းအမြစ်များအတွက်ဆိုက်။

မေး- အခြား မိုက်ခရိုကွန်ထရိုလာတွေနဲ့ ESP-IDF ကို သုံးလို့ရပါသလား။

A- ESP-IDF သည် ESP32 အတွက် အထူးဒီဇိုင်းထုတ်ထားသော်လည်း သင်တွေ့နိုင်ပါသည်။
အခြားသော Espressif microcontroller များနှင့် လိုက်ဖက်မှုရှိခြင်း။

ESP32
ESP-IDF ပရိုဂရမ်းမင်းလမ်းညွှန်
v5.0.9 Espressif စနစ်များကို မေလ 16 ရက်၊ 2025 ခုနှစ်တွင် ဖြန့်ချိသည်။

မာတိကာ

မာတိကာ

i

1 စတင်လိုက်ပါ။

3

1.1 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၆

1.2 သင်လိုအပ်သောအရာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃

1.2.1 ဟာ့ဒ်ဝဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃

1.2.2 ဆော့ဖ်ဝဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၄

1.3 တပ်ဆင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၄

1.3.1 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၄

1.3.2 လူကိုယ်တိုင် တပ်ဆင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၄

1.4 သင်၏ပထမဆုံးပရောဂျက်ကိုတည်ဆောက်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၄

1.5 ESP-IDF ကို ဖြုတ်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၄

2 API အကိုးအကား

45

2.1 API သဘောတူညီချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၅

2.1.1 ကိုင်တွယ်မှုအမှား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၅

2.1.2 ဖွဲ့စည်းမှုတည်ဆောက်ပုံများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၅

2.1.3 သီးသန့် API များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၆

2.1.4 ex တွင်ရှိသော အစိတ်အပိုင်းများampစီမံကိန်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၆

2.1.5 API တည်ငြိမ်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၇

2.2 အသုံးချပရိုတိုကောများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၈

2.2.1 ASIO အပေါက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၈

2.2.2 ESP-Modbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၈

2.2.3 ESP-MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၉

2.2.4 ESP-TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၆၄

2.2.5 ESP HTTP ကလိုင်းယင့်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၀

2.2.6 ESP Local Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၉၅

2.2.7 ESP Serial Slave လင့်ခ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၀၄

2.2.8 ESP x509 လက်မှတ် အတွဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၂၁

2.2.9 HTTP ဆာဗာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၂၃

2.2.10 HTTPS ဆာဗာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၅၀

2.2.11 ICMP Echo ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၅၄

2.2.12 mDNS ဝန်ဆောင်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၅၉

2.2.13 Mbed TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၅၉

2.2.14 IP ကွန်ရက်အလွှာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၁

2.3 Bluetooth API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၁

2.3.1 Bluetooth® အဖြစ်များသည်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၁

2.3.2 Bluetooth® စွမ်းအင်နိမ့်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇၁

2.3.3 Bluetooth® ဂန္တဝင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၂၅

2.3.4 ထိန်းချုပ်ကိရိယာနှင့် HCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၇၁

2.3.5 ESP-BLE-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၈၅

2.3.6 NimBLE-based host APIs များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၆၇

2.4 အမှားကုဒ်များ အကိုးအကား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၆၉

2.5 ကွန်ရက်ချိတ်ဆက်ခြင်း API များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၇၆

2.5.1 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၇၆

2.5.2 အီသာနက် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၉၉

2.5.3 ကြိုး။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၉၃၆

i

2.5.4 ESP-NETIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 2.5.5 IP ကွန်ရက်အလွှာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 2.5.6 လျှောက်လွှာ အလွှာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 2.6 Peripherals API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.6.1 Analog to Digital Converter (ADC) Oneshot မုဒ်ဒရိုက်ဗာ။ . . . . . . . . . . . . . . . . 977 2.6.2 Analog to Digital Converter (ADC) Continuous Mode Driver . . . . . . . . . . . . . . 986 2.6.3 Analog to Digital Converter (ADC) Calibration Driver . . . . . . . . . . . . . . . . . . 993 2.6.4 နာရီသစ်ပင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 2.6.5 Digital To Analog Converter (DAC) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 2.6.6 GPIO & RTC GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 2.6.7 အထွေထွေ ရည်ရွယ်ချက် အချိန်တိုင်း (GPTimer) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 2.6.8 Inter-Integrated Circuit (I2C)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1039 2.6.9 Inter-IC အသံ (I2S)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 2.6.10 LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090 2.6.11 LED ထိန်းချုပ်မှု (LEDC) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107 2.6.12 မော်တော်ထိန်းချုပ်ရေး Pulse Width Modulator (MCPWM)။ . . . . . . . . . . . . . . . . . . . . 1126 2.6.13 Pulse Counter (PCNT) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178 2.6.14 အဝေးထိန်းစနစ် Transceiver (RMT)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193 2.6.15 SD Pull-up လိုအပ်ချက်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220 2.6.16 SDMMC Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223 2.6.17 SD SPI Host Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229 2.6.18 SDIO ကတ် Slave Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 2.6.19 Sigma-Delta Modulation (SDM) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 2.6.20 SPI Master Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249 2.6.21 SPI Slave Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274 2.6.22 ESP32-WROOM-32SE (Secure Element)။ . . . . . . . . . . . . . . . . . . . . . . . . 1281 2.6.23 ထိတွေ့အာရုံခံကိရိယာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282 2.6.24 နှစ်ကြိုး မော်တော်ကား အင်တာဖေ့စ် (TWAI)။ . . . . . . . . . . . . . . . . . . . . . . . . . 1299 2.6.25 Universal Asynchronous Receiver/Transmitter (UART)။ . . . . . . . . . . . . . . . . . 1317 ၂.၇ ပရောဂျက်ဖွဲ့စည်းပုံ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.1 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.2 ပရောဂျက်ပြင်ဆင်မှု မီနူး။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.3 sdkconfig.defaults ကိုအသုံးပြုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342 2.7.4 Kconfig ဖော်မတ်ချခြင်း စည်းမျဉ်းများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.5 Kconfig ရွေးချယ်မှုများ၏ နောက်ပြန်လိုက်ဖက်မှု။ . . . . . . . . . . . . . . . . . . . . . . . 1343 2.7.6 ဖွဲ့စည်းမှုရွေးချယ်စရာများ အကိုးအကား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343 2.8 Provisioning API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 2.8.1 ပရိုတိုကော ဆက်သွယ်ရေး။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647 ၂.၈.၂ တစ်စုတစ်စည်းတည်း စီမံဆောင်ရွက်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665 2.8.3 Wi-Fi စီမံဆောင်ရွက်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669 2.9 သိုလှောင်မှု API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fileစနစ်ပံ့ပိုးမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1691 ၂.၉.၂ ကုန်ထုတ်လုပ်မှု အသုံးဝင်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1699 2.9.3 မတည်ငြိမ်သောသိုလှောင်မှုစာကြည့်တိုက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703 2.9.4 NVS Partition Generator အသုံးဝင်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1725 2.9.5 SD/SDIO/MMC ဒရိုက်ဘာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730 2.9.6 SPI Flash API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744 2.9.7 SPIFFS Fileစနစ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1780 2.9.8 အတု fileစနစ်အစိတ်အပိုင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784 2.9.9 Wear Leveling API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800 2.10 စနစ် API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.1 အက်ပ်ရုပ်ပုံဖော်မတ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803 2.10.2 လျှောက်လွှာအဆင့် ခြေရာခံခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808 2.10.3 ပြင်ပ stack ဖြင့် ခေါ်ဆိုမှု လုပ်ဆောင်ချက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1813 2.10.4 ချစ်ပ်ပြန်လည်ပြင်ဆင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815 2.10.5 ကွန်ဆိုးလ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817 2.10.6 eFuse မန်နေဂျာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1826 2.10.7 အမှားကုဒ်များနှင့် အကူအညီပေးသည့်လုပ်ဆောင်ချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၈၄၆
ii

2.10.8 ESP HTTPS OTA ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1849 2.10.9 Event Loop Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 2.10.10 FreeRTOS (ကျော်view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1869 2.10.11 FreeRTOS (ESP-IDF)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871 2.10.12 FreeRTOS (နောက်ထပ် အင်္ဂါရပ်များ)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988 2.10.13 Heap Memory Allocation ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2008 2.10.14 Heap Memory Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021 2.10.15 High Resolution Timer (ESP Timer) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032 2.10.16 အတွင်းပိုင်းနှင့် မတည်ငြိမ်သော API များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038 2.10.17 Inter-Processor ခေါ်ဆိုမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040 2.10.18 ခွဲဝေမှုကို အနှောင့်အယှက်ပေးသည်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2045 2.10.19 မှတ်တမ်းစာကြည့်တိုက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051 2.10.20 အထွေထွေစနစ် APIs များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058 2.10.21 Over The Air Updates (OTA) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073 2.10.22 စွမ်းဆောင်ရည် စောင့်ကြည့်စစ်ဆေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084 2.10.23 ပါဝါစီမံခန့်ခွဲမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2087 2.10.24 POSIX Threads ပံ့ပိုးမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093 2.10.25 ကျပန်း နံပါတ် မျိုးဆက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2097 2.10.26 အိပ်စက်ခြင်းမုဒ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2099 2.10.27 SoC စွမ်းဆောင်ရည်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111 2.10.28 စနစ်အချိန်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2121 2.10.29 heem ခွဲဝေခြင်း API ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2126 2.10.30 ULP Coprocessor ပရိုဂရမ်းမင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2129 2.10.31 စောင့်ကြည့်အဖွဲ့များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၆၁

3 Hardware အကိုးအကား

2167

3.1 ချစ်ပ်စီးရီး နှိုင်းယှဉ်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၆၇

3.1.1 ဆက်စပ်စာရွက်စာတမ်းများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၇၀

API လမ်းညွှန် 4 ခု

2171

4.1 အပလီကေးရှင်း အဆင့် ခြေရာခံ စာကြည့်တိုက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၇၁

4.1.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၅

4.1.2 လုပ်ဆောင်မှုပုံစံများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၇၁

4.1.3 ဖွဲ့စည်းမှုရွေးချယ်စရာများနှင့် မှီခိုမှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၇၂

4.1.4 ဤစာကြည့်တိုက်ကို အသုံးပြုနည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၇၃

4.2 အပလီကေးရှင်းစတင်မှုအသွားအလာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၈၁

4.2.1 ပထမ stage bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၈၂

4.2.2 စက္ကန့် stage bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၈၂

4.2.3 အပလီကေးရှင်း စတင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၈၃

4.3 Bluetooth® ဂန္တဝင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၈၄

4.3.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၅

4.4 Bluetooth® စွမ်းအင်နိမ့်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၈၆

4.4.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၅

4.4.2 စတင်လိုက်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၁၉၁

4.4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၁

4.5 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၄

4.5.1 Bootloader လိုက်ဖက်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၅

4.5.2 မှတ်တမ်းအဆင့် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၅

4.5.3 Factory ပြန်လည်သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၆

4.5.4 Test Firmware မှ Boot လုပ်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၆

4.5.5 ပြန်လှည့်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၇

4.5.6 စောင့်ကြပ်ကြည့်ရှုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၇

4.5.7 Bootloader အရွယ်အစား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၇

4.5.8 Deep Sleep မှ အမြန်ဖွင့်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၇

4.5.9 စိတ်ကြိုက် bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၇

4.6 တည်ဆောက်မှုစနစ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၈

4.6.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၅

4.6.2 Build System ကိုအသုံးပြုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၈၉

iii

၃.၂ ထွampစီမံကိန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.4 ပရောဂျက် CMakeLists File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2291 4.6.5 အစိတ်အပိုင်း CMakeLists Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2293 4.6.6 အစိတ်အပိုင်းဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.7 ကြိုတင်ပရိုဆက်ဆာ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.8 အစိတ်အပိုင်းလိုအပ်ချက်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2295 4.6.9 ပရောဂျက်၏ ပဓာနကျသော အစိတ်အပိုင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2299 4.6.10 ဖွဲ့စည်းမှု-သီးသန့် အစိတ်အပိုင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.11 အမှားရှာပြင်ခြင်း CMake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2300 4.6.12 ထွample Component CMakeLists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2301 4.6.13 စိတ်ကြိုက် sdkconfig ပုံသေများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.14 Flash အကြောင်းပြချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2305 4.6.15 Bootloader တည်ဆောက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.16 စင်စစ် CMake အစိတ်အပိုင်းများကို ရေးသားခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2306 4.6.17 အစိတ်အပိုင်းများဖြင့် Third-Party CMake ပရောဂျက်များကို အသုံးပြုခြင်း။ . . . . . . . . . . . . . . . . . . 2306 4.6.18 အစိတ်အပိုင်းများဖြင့် Prebuilt Libraries ကိုအသုံးပြုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.19 စိတ်ကြိုက် CMake ပရောဂျက်များတွင် ESP-IDF ကိုအသုံးပြုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . 2307 4.6.20 ESP-IDF CMake Build System API ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၃၀၈ ၄.၆.၂၁ File Globbing & Incremental တည်ဆောက်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2312 4.6.22 Build System Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.23 တည်ဆောက်မှုစနစ်အတွင်းပိုင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313 4.6.24 ESP-IDF GNU Make System မှ ပြောင်းရွှေ့ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . 2315 4.7 Core Dump ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2316 4.7.2 သတ်မှတ်ချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.3 core dump ကို flash ရန် သိမ်းဆည်းပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317 4.7.4 UART သို့ ပရင့်ထုတ်ရန် core dump ကို။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.5 ROM လုပ်ဆောင်ချက်များ Backtraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.6 ဝယ်လိုအားပေါ်ရှိ ကိန်းရှင်များကို စွန့်ပစ်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2318 4.7.7 espcoredump.py ကို လုပ်ဆောင်နေသည်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 4.8 နက်ရှိုင်းစွာ အိပ်စက်ခြင်း နိုးထခြင်း စတားများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.1 Wake Stubs အတွက် စည်းမျဉ်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.2 ပုဒ်မတစ်ခုကို အကောင်အထည်ဖော်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.3 ကုဒ်ကို RTC မမ်မိုရီသို့ တင်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322 4.8.4 ဒေတာကို RTC မမ်မိုရီသို့ တင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.5 CRC Wake Stubs အတွက် စစ်ဆေးပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.8.6 ထွample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2323 4.9 အမှားအယွင်း ကိုင်တွယ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.2 အမှားကုဒ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.3 အမှားကုဒ်များကို အမှားစာတိုများအဖြစ် ပြောင်းလဲခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . 2324 4.9.4 ESP_ERROR_CHECK မက်ခရို။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.5 ESP_ERROR_CHECK_WITHOUT_ABORT မက်ခရို။ . . . . . . . . . . . . . . . . . . . . 2325 4.9.6 ESP_RETURN_ON_ERROR ရိုက်ရန် . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.7 ESP_GOTO_ON_ERROR မက်ခရို။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.8 ESP_RETURN_ON_FALSE ရိုက်ရန် . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.9 ESP_GOTO_ON_FALSE မက်ခရို။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2325 4.9.10 MACROS Ex စစ်ဆေးပါ။amples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.11 ပုံစံများကို ကိုင်တွယ်မှု အမှားအယွင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2326 4.9.12 C++ ခြွင်းချက် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10 ESP-WIFI-MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2327 4.10.2 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328 4.10.3 ESP-WIFI-MESH သဘောတရားများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2329 4.10.4 ကွန်ရက်တစ်ခုတည်ဆောက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2334 4.10.5 ကွန်ရက်တစ်ခုကို စီမံခန့်ခွဲခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339 4.10.6 ဒေတာ ပေးပို့ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342 4.10.7 ချန်နယ်ပြောင်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၃၄၄
iv

4.10.8 စွမ်းဆောင်ရည်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2347 4.10.9 နောက်ထပ်မှတ်စုများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11 ပွဲများကို ကိုင်တွယ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.1 Wi-Fi၊ Ethernet နှင့် IP ဖြစ်ရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2348 4.11.2 Mesh ပွဲများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2349 4.11.3 ဘလူးတုသ်ဖြစ်ရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12 ဆိုးရွားသောအမှားများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.2 Panic Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2350 4.12.3 Dump and Backtrace မှတ်ပုံတင်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2351 4.12.4 GDB Stub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353 4.12.5 RTC Watchdog အချိန်ကုန်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.6 Guru တရားထိုင်ခြင်းအမှားများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2354 4.12.7 အခြားပြင်းထန်သောအမှားများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2356 4.13 ဖလက်ရှ် ကုဒ်ဝှက်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2358 4.13.1 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.2 သက်ဆိုင်ရာ eFuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2359 4.13.3 Flash ကုဒ်ဝှက်ခြင်း လုပ်ငန်းစဉ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.4 Flash ကုဒ်ဝှက်ခြင်း ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2360 4.13.5 ဖြစ်နိုင်သော ပျက်ကွက်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2366 4.13.6 ESP32 Flash ကုဒ်ဝှက်ခြင်း အခြေအနေ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.7 ကုဒ်ဝှက်ထားသော ဖလက်ရှ်တွင် ဒေတာဖတ်ရှုခြင်းနှင့် စာရေးခြင်း . . . . . . . . . . . . . . . . . . . . . . 2368 4.13.8 ကုဒ်ဝှက်ထားသော Flash ကို အပ်ဒိတ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.9 Flash ကုဒ်ဝှက်ခြင်းကို ပိတ်ထားခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2369 4.13.10 Flash ကုဒ်ဝှက်ခြင်းဆိုင်ရာ အဓိကအချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.11 Flash Encryption ၏ ကန့်သတ်ချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2370 4.13.12 Flash Encryption နှင့် Secure Boot ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.13 အဆင့်မြင့်အင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2371 4.13.14 နည်းပညာဆိုင်ရာ အသေးစိတ်အချက်အလက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14 Hardware Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2373 4.14.1 ဗိသုကာ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2374 4.14.2 LL (Low Level) အလွှာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2375 4.14.3 HAL (Hardware Abstraction Layer) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2376 4.15 အဆင့်မြင့် နှောင့်ယှက်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.1 ကြားဖြတ်အဆင့်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2377 4.15.2 မှတ်စုများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TAG အမှားပြင်ဆင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.1 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2378 4.16.2 မည်သို့အလုပ်လုပ်သနည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379 4.16.3 J ကို ရွေးချယ်ခြင်းTAG ဒက်တာ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.4 OpenOCD စနစ်ထည့်သွင်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.5 ESP32 ပစ်မှတ်ကို ပြင်ဆင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2380 4.16.6 Debugger ကိုဖွင့်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.7 အမှားရှာပြင်ထွamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.8 အရင်းအမြစ်များမှ OpenOCD တည်ဆောက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2386 4.16.9 အကြံဥာဏ်များနှင့် ထူးဆန်းသောအချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2391 4.16.10 ဆက်စပ်စာရွက်စာတမ်းများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2396 4.17 Linker Script မျိုးဆက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.2 အမြန်စတင်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2421 4.17.3 Linker Script Generation Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2424 4.18 lwIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.1 ပံ့ပိုးထားသော API များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2430 4.18.2 BSD Sockets API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431 4.18.3 Netconn API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.4 lwIP FreeRTOS လုပ်ဆောင်စရာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.5 IPv6 ပံ့ပိုးမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2435 4.18.6 esp-lwip စိတ်ကြိုက်ပြုပြင်မွမ်းမံမှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၄၃၆
v

4.18.7 စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်အောင် ပြုလုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2438 4.19 မှတ်ဉာဏ်အမျိုးအစားများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၄၃၉
4.19.1 DRAM (ဒေတာ RAM)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2439 4.19.2 IRAM (ညွှန်ကြားချက် RAM)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2440 4.19.3 IROM (ကုဒ်ကို flash မှ လုပ်ဆောင်သည်)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.4 DROM (ဖလက်ရှ်တွင် သိမ်းဆည်းထားသော ဒေတာ)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.5 RTC အနှေးမှတ်ဉာဏ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.6 RTC အမြန်မှတ်ဉာဏ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.7 DMA လုပ်ဆောင်နိုင်သော လိုအပ်ချက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2441 4.19.8 DMA Buffer အစုအဝေးတွင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20 OpenThread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2442 4.20.1 OpenThread stack ၏မုဒ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.2 OpenThread အပလီကေးရှင်းကို ဘယ်လိုရေးရမလဲ။ . . . . . . . . . . . . . . . . . . . . . . . . 2443 4.20.3 OpenThread Border Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21 အပိုင်းပိုင်းဇယားများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2444 4.21.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.2 Built-in Partition ဇယားများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.3 စိတ်ကြိုက်ဇယားများ ဖန်တီးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2445 4.21.4 Binary Partition Table ကိုထုတ်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.5 အပိုင်းခွဲအရွယ်အစား စစ်ဆေးမှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2448 4.21.6 partition table ကို ဖလက်ရှ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.21.7 Partition Tool (parttool.py) ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2449 4.22 စွမ်းဆောင်ရည်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.1 စွမ်းဆောင်ရည်ကို အကောင်းဆုံးဖြစ်အောင် လုပ်နည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2450 4.22.2 လမ်းညွှန်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2451 4.23 RF ချိန်ညှိခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.1 တစ်စိတ်တစ်ပိုင်း ချိန်ညှိခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2468 4.23.2 စံကိုက်ညှိခြင်း အပြည့်အစုံ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.3 စံကိုက်ညှိခြင်း မရှိပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.4 PHY အစပြုခြင်းဒေတာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.23.5 API အကိုးအကား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469 4.24 Secure Boot ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.1 နောက်ခံ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2472 4.24.2 Secure Boot Process Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.3 သော့များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2473 4.24.4 Bootloader အရွယ်အစား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.5 Secure Boot ကိုဖွင့်နည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474 4.24.6 Re-Flashable Software Bootloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.7 Secure Boot Signing Key ကိုထုတ်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.8 အဝေးထိန်းရုပ်ပုံများ လက်မှတ်ရေးထိုးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2475 4.24.9 Secure Boot အကောင်းဆုံးအလေ့အကျင့်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.10 နည်းပညာဆိုင်ရာ အသေးစိတ်အချက်အလက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2476 4.24.11 Secure Boot & Flash Encryption ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2477 4.24.12 ဟာ့ဒ်ဝဲ လုံခြုံသော Boot မပါပဲ လက်မှတ်ထိုးထားသော အက်ပ်အတည်ပြုခြင်း။ . . . . . . . . . . . . . . . . . 2478 4.24.13 အဆင့်မြင့်အင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25 Secure Boot V2 ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2478 4.25.1 နောက်ခံ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.2 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.3 Secure Boot V2 လုပ်ငန်းစဉ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2479 4.25.4 Signature Block ဖော်မတ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.5 Secure Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2480 4.25.6 Signature Block တစ်ခုကို အတည်ပြုခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.7 ပုံတစ်ပုံကို အတည်ပြုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.8 Bootloader အရွယ်အစား။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.9 eFuse အသုံးပြုမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.10 Secure Boot V2 ကိုဖွင့်နည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2481 4.25.11 Secure Boot ကိုဖွင့်ပြီးနောက် ကန့်သတ်ချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . 2482 4.25.12 Secure Boot Signing Key ကိုထုတ်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၄၈၂
vi

4.25.13 ရုပ်ပုံများကို အဝေးမှ လက်မှတ်ရေးထိုးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2483 4.25.14 Secure Boot အကောင်းဆုံးအလေ့အကျင့်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.15 နည်းပညာဆိုင်ရာ အသေးစိတ်အချက်အလက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.16 Secure Boot & Flash Encryption ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2484 4.25.17 ဟာ့ဒ်ဝဲ လုံခြုံသော Boot မပါပဲ လက်မှတ်ထိုးထားသော အက်ပ်အတည်ပြုခြင်း။ . . . . . . . . . . . . . . . . . 2484 4.25.18 အဆင့်မြင့်အင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26 ပြင်ပ RAM အတွက် ပံ့ပိုးမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.1 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.2 ဟာ့ဒ်ဝဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2485 4.26.3 ပြင်ပ RAM ကို ပြင်ဆင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2486 4.26.4 ကန့်သတ်ချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2487 4.26.5 စတင်ရန် ပျက်ကွက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.26.6 ချစ်ပ်ပြန်လည်ပြင်ဆင်မှုများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27 Thread Local Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2488 4.27.2 FreeRTOS Native API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.3 Pthread API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.27.4 C11 စံနှုန်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28 ကိရိယာများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.1 IDF Frontend – idf.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2489 4.28.2 IDF Docker ပုံ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2493 4.28.3 IDF Windows Installer ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2495 4.28.4 IDF အစိတ်အပိုင်းမန်နေဂျာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2496 4.28.5 IDF Clang Tidy ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2497 4.28.6 ဒေါင်းလုဒ်လုပ်နိုင်သော ကိရိယာများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2498 4.29 ESP32 တွင် ယူနစ်စမ်းသပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.1 ပုံမှန်စမ်းသပ်မှုကိစ္စများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2512 4.29.2 Multi-device Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2513 4.29.3 Multi-stage စမ်းသပ်မှုကိစ္စများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.4 မတူညီသောပစ်မှတ်များအတွက် စမ်းသပ်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2514 4.29.5 တည်ဆောက်မှုယူနစ် စမ်းသပ်အက်ပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.6 Running Unit Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2515 4.29.7 Cache Compensated Timer ဖြင့် Timing Code . . . . . . . . . . . . . . . . . . . . . . 2516 4.29.8 လှောင်ပြောင်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2517 4.30 Linux တွင် ယူနစ်စမ်းသပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.1 Embedded Software Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 4.30.2 Linux Host တွင် IDF Unit စမ်းသပ်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2520 4.31 Wi-Fi Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.1 ESP32 Wi-Fi အင်္ဂါရပ်စာရင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.2 Wi-Fi အပလီကေးရှင်းကို ဘယ်လိုရေးရမလဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2521 4.31.3 ESP32 Wi-Fi API အမှားကုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.4 ESP32 Wi-Fi API ပါရာမီတာ စတင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.5 ESP32 Wi-Fi ပရိုဂရမ်းမင်းမော်ဒယ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2522 4.31.6 ESP32 Wi-Fi ဖြစ်ရပ် ဖော်ပြချက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2523 4.31.7 ESP32 Wi-Fi ဘူတာရုံ အထွေထွေ မြင်ကွင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . 2526 4.31.8 ESP32 Wi-Fi AP အထွေထွေ မြင်ကွင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.9 ESP32 Wi-Fi စကင်န်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2529 4.31.10 ESP32 Wi-Fi ဘူတာရုံ ချိတ်ဆက်ခြင်း ဇာတ်လမ်း။ . . . . . . . . . . . . . . . . . . . . . . . . 2536 4.31.11 ESP32 Wi-Fi ဘူတာ ချိတ်ဆက်ခြင်း AP အများအပြားကို တွေ့ရှိသောအခါ။ . . . . . . . . . . . . 2543 4.31.12 Wi-Fi ပြန်လည်ချိတ်ဆက်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.13 Wi-Fi Beacon အချိန်ကုန်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.14 ESP32 Wi-Fi ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2543 4.31.15 Wi-Fi လွယ်ကူသောချိတ်ဆက်မှုTM (DPP)။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.16 ကြိုးမဲ့ကွန်ရက်စီမံခန့်ခွဲမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.17 ရေဒီယိုအရင်းအမြစ်တိုင်းတာခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2549 4.31.18 မြန်ဆန်သော BSS အသွင်ကူးပြောင်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.19 ESP32 Wi-Fi ပါဝါချွေတာသည့်မုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2550 4.31.20 ESP32 Wi-Fi ဖြတ်သန်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

4.31.21 Wi-Fi 80211 Packet ပို့ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2552 4.31.22 Wi-Fi Sniffer မုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.23 Wi-Fi များစွာသော အင်တင်နာများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2554 4.31.24 Wi-Fi ချန်နယ် အခြေအနေ အချက်အလက် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2556 4.31.25 Wi-Fi ချန်နယ် အခြေအနေ အချက်အလက် စီစဉ်သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.26 Wi-Fi HT20/40 ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.27 Wi-Fi QoS ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2557 4.31.28 Wi-Fi ASDU ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.29 Wi-Fi Fragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.30 WPS စာရင်းသွင်းသူ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.31 Wi-Fi ကြားခံအသုံးပြုမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558 4.31.32 Wi-Fi စွမ်းဆောင်ရည်ကို မြှင့်တင်နည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2559 4.31.33 Wi-Fi Menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2562 4.31.34 ပြဿနာဖြေရှင်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2565 4.32 Wi-Fi လုံခြုံရေး။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.1 ESP32 Wi-Fi လုံခြုံရေးအင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2568 4.32.2 Protected Management Frames (PMF)။ . . . . . . . . . . . . . . . . . . . . . . . . . . 2571 4.32.3 WiFi လုပ်ငန်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.4 WPA3-ကိုယ်ရေးကိုယ်တာ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2572 4.32.5 Wi-Fi မြှင့်တင်ထားသော OpenTM။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33 RF အတူယှဉ်တွဲနေထိုင်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2573 4.33.1 ကျော်view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.2 ESP32 အတွက် ပံ့ပိုးထားသော အတူယှဉ်တွဲနေထိုင်မှု ဇာတ်လမ်း။ . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.3 အတူယှဉ်တွဲနေထိုင်ရေး ယန္တရားနှင့် မူဝါဒ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2574 4.33.4 အတူယှဉ်တွဲနေထိုင်ခြင်းအင်္ဂါရပ်ကို အသုံးပြုနည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2576 4.34 ပြန်လည်ထုတ်လုပ်နိုင်သော တည်ဆောက်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.1 နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.2 ပြန်လည်ထုတ်လုပ်၍မရသော တည်ဆောက်မှုများအတွက် အကြောင်းရင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.3 ESP-IDF တွင် ပြန်လည်ထုတ်လုပ်နိုင်သော တည်ဆောက်မှုများကို ဖွင့်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . 2577 4.34.4 မျိုးပွားနိုင်သော တည်ဆောက်မှုများကို မည်သို့အောင်မြင်သနည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.5 ပြန်လည်ထုတ်လုပ်နိုင်သော တည်ဆောက်မှုများနှင့် အမှားရှာပြင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578 4.34.6 မျိုးပွားနိုင်သော အဆောက်အအုံများအပေါ် သက်ရောက်မှုရှိနေဆဲအချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . 2578 4.35 အနိမ့်ပါဝါမုဒ် အသုံးပြုသူလမ်းညွှန်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၅၇၈

5 ရွှေ့ပြောင်းနေထိုင်ခြင်းလမ်းညွှန်များ

2579

5.1 ESP-IDF 5.x ရွှေ့ပြောင်းခြင်းလမ်းညွှန်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၅၇၉

5.1.1 4.4 မှ 5.0 သို့ ရွှေ့ပြောင်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၅၇၉

6 စာကြည့်တိုက်များနှင့် မူဘောင်များ

2611

6.1 တိမ်တိုက်ဘောင်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.1 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.2 AWS IoT ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.3 Azure IoT ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.4 Google IoT Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.5 Aliyun IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.6 Joylink IoT ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.1.7 Tencent IoT ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.1.8 Tencentyun IoT ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.1.9 Baidu IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.2 Espressifns မူဘောင်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.2.1 Espressif အသံ ဖွံ့ဖြိုးတိုးတက်မှု မူဘောင်။ . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.2.2 ESP-CSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.2.3 Espressif DSP စာကြည့်တိုက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၂

6.2.4 ESP-WIFI-MESH ဖွံ့ဖြိုးတိုးတက်မှု မူဘောင်။ . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၃

6.2.5 ESP-WHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၃

6.2.6 ESP RainMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၁

6.2.7 ESP-IoT-ဖြေရှင်းချက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၃

6.2.8 ESP-ပရိုတိုကောများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၃

viii

6.2.9 ESP-BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၄

7 ပံ့ပိုးကူညီမှုလမ်းညွှန်

2615

7.1 ပံ့ပိုးကူညီနည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၅

7.2 မပါဝင်မီ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၅

7.3 တောင်းဆိုမှုလုပ်ငန်းစဉ်ကို ဆွဲထုတ်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၅

၇.၄ ဥပဒေအပိုင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၆

7.5 ဆက်စပ်စာရွက်စာတမ်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၁၆

7.5.1 Espressif IoT ဖွံ့ဖြိုးတိုးတက်မှုဘောင်ပုံစံ လမ်းညွှန်။ . . . . . . . . . . . . . . . . . . . ၂၆၁၆

7.5.2 ESP-IDF ပရောဂျက်အတွက် ကြိုတင်ထည့်သွင်းထားသော Hook ကို ထည့်သွင်းပါ။ . . . . . . . . . . . . . . . . . . . . . . ၂၆၂၃

7.5.3 မှတ်တမ်းတင်ကုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၂၄

7.5.4 Ex ဖန်တီးခြင်း။amples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၂၉

7.5.5 API Documentation Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၃၀

7.5.6 ပံ့ပိုးကူညီသူ သဘောတူညီချက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၃၂

7.5.7 မူပိုင်ခွင့် ခေါင်းစီးလမ်းညွှန်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၃၄

7.5.8 Pytest လမ်းညွှန်ဖြင့် ESP-IDF စမ်းသပ်မှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၃၅

8 ESP-IDF ဗားရှင်းများ

2645

8.1 ထုတ်ဝေမှုများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၅

8.2 မည်သည့်ဗားရှင်းဖြင့် စတင်သင့်သနည်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၅

8.3 ဗားရှင်းရေးဆွဲခြင်းအစီအစဉ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၅

8.4 ပံ့ပိုးမှုကာလများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၆

8.5 လက်ရှိဗားရှင်းကို စစ်ဆေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၇

8.6 Git အလုပ်အသွားအလာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၈

8.7 ESP-IDF ကို အပ်ဒိတ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၈

8.7.1 တည်ငြိမ်သောဖြန့်ချိမှုသို့ အပ်ဒိတ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၉

8.7.2 အကြိုထုတ်ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၉

8.7.3 မာစတာဘဏ်ခွဲသို့ အပ်ဒိတ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၄၉

8.7.4 ဖြန့်ချိရေးဌာနခွဲသို့ အပ်ဒိတ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၀

9 အရင်းအမြစ်များ

2651

9.1 ပလပ်ဖောင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၁

9.1.1 PlatformIO ဆိုတာဘာလဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၁

9.1.2 ထည့်သွင်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၁

၉.၁.၃ ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၂

9.1.4 ကျူတိုရီရယ်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၂

9.1.5 ပရောဂျက် Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၉

9.1.6 နောက်အဆင့်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၂

9.2 အသုံးဝင်သောလင့်ခ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၂

မူပိုင်ခွင့်များနှင့် လိုင်စင်များ ၁၀

2653

10.1 ဆော့ဖ်ဝဲ မူပိုင်ခွင့်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၃

10.1.1 Firmware အစိတ်အပိုင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၃

10.1.2 စာရွက်စာတမ်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၄

10.2 ROM အရင်းအမြစ်ကုဒ် မူပိုင်ခွင့်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၄

10.3 Xtensa libhal MIT လိုင်စင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၅

10.4 TinyBasic Plus MIT လိုင်စင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၅

10.5 TJpgDec လိုင်စင်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၅၅

11 အကြောင်း

2657

12 ဘာသာစကားများအကြား ပြောင်းပါ။

2659

အညွှန်း

2661

အညွှန်း

2661

ix

x

မာတိကာ
ဤသည်မှာ Espressif IoT ဖွံ့ဖြိုးတိုးတက်မှုဘောင် (esp-idf) အတွက် စာရွက်စာတမ်းဖြစ်သည်။ ESP-IDF သည် ESP32၊ ESP32-S နှင့် ESP32-C Series SoCs အတွက်တရားဝင်ဖွံ့ဖြိုးတိုးတက်မှုမူဘောင်ဖြစ်သည်။ ဤစာတမ်းတွင် ESP-IDF ကို ESP32 SoC ဖြင့် ဖော်ပြထားပါသည်။

စတင်လိုက်ပါ။

API အကိုးအကား

API လမ်းညွှန်များ

Espressif စနစ်များ

1 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

မာတိကာ

Espressif စနစ်များ

2 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၄
စတင်လိုက်ပါ။
ဤစာရွက်စာတမ်းသည် Espressif မှ ESP32 ချစ်ပ်ကိုအခြေခံ၍ ဟာ့ဒ်ဝဲအတွက် ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ရာတွင် ကူညီရန် ရည်ရွယ်ပါသည်။ အဲဒီနောက်မှာတော့ ရိုးရိုး exampမီနူးဖွဲ့စည်းပုံအတွက် ESP-IDF (Espressif IoT ဖွံ့ဖြိုးတိုးတက်မှုမူဘောင်) ကိုအသုံးပြုပုံ၊ ထို့နောက် ESP32 ဘုတ်ပေါ်တွင် firmware တည်ဆောက်ခြင်းနှင့် မှိတ်တုတ်မှိတ်တုတ်လုပ်ခြင်းတို့ကို သင်ပြသပါမည်။
မှတ်ချက်- ဤသည်မှာ ESP-IDF ၏ တည်ငြိမ်သောဗားရှင်း v5.0.9 အတွက် စာရွက်စာတမ်းဖြစ်သည်။ အခြားသော ESP-IDF ဗားရှင်းများလည်း ရရှိနိုင်ပါသည်။
1.1 နိဒါန်း
ESP32 သည် အောက်ပါအင်္ဂါရပ်များကို ပေါင်းစပ်ထားသည့် ချစ်ပ်တစ်ခုပေါ်ရှိ စနစ်တစ်ခုဖြစ်သည်- · Wi-Fi (2.4 GHz လှိုင်းနှုန်း) · Bluetooth · Dual စွမ်းဆောင်ရည်မြင့် Xtensa® 32-bit LX6 CPU cores · Ultra Low Power co-processor · အရံကိရိယာများစွာ
40 nm နည်းပညာဖြင့် စွမ်းဆောင်ထားသည့် ESP32 သည် အားကောင်းပြီး မြင့်မားသော ပေါင်းစပ်ပလပ်ဖောင်းကို ပံ့ပိုးပေးသည်၊ ၎င်းသည် ထိရောက်သော ပါဝါအသုံးပြုမှု၊ ကျစ်လစ်သော ဒီဇိုင်း၊ လုံခြုံရေး၊ မြင့်မားသော စွမ်းဆောင်ရည်နှင့် ယုံကြည်စိတ်ချရမှုအတွက် စဉ်ဆက်မပြတ် တောင်းဆိုချက်များကို ဖြည့်ဆည်းပေးပါသည်။ Espressif သည် ESP32 စီးရီး ဟာ့ဒ်ဝဲကို အသုံးပြု၍ အပလီကေးရှင်း developer များအား ၎င်းတို့၏ စိတ်ကူးများကို နားလည်သဘောပေါက်စေရန် ကူညီပေးရန် Espressif သည် အခြေခံ ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲအရင်းအမြစ်များကို ပံ့ပိုးပေးပါသည်။ Espressif မှ ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်ရေးမူဘောင်သည် Wi-Fi၊ Bluetooth၊ ပါဝါစီမံခန့်ခွဲမှုနှင့် အခြားစနစ်အင်္ဂါရပ်များစွာပါရှိသော Internetof-Things (IoT) အပလီကေးရှင်းများ ဖွံ့ဖြိုးတိုးတက်ရန်အတွက် ရည်ရွယ်ပါသည်။
1.2 သင်လိုအပ်သောအရာ
1.2.1 ဟာ့ဒ်ဝဲ
· ESP32 ဘုတ်တစ်ခု။ · USB ကြိုး – USB A / micro USB B ။ · Windows၊ Linux သို့မဟုတ် macOS အသုံးပြုသည့် ကွန်ပျူတာ။
မှတ်ချက်- လက်ရှိတွင်၊ အချို့သော ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့များသည် USB Type C ချိတ်ဆက်မှုများကို အသုံးပြုနေပါသည်။ သင့်ဘုတ်အဖွဲ့ကို ချိတ်ဆက်ရန် သင့်တွင် မှန်ကန်သော ကေဘယ်ရှိထားကြောင်း သေချာပါစေ။
သင့်တွင်အောက်တွင်ဖော်ပြထားသော ESP32 တရားဝင်ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်များထဲမှတစ်ခုရှိပါက၊ ဟာ့ဒ်ဝဲအကြောင်းပိုမိုလေ့လာရန် လင့်ခ်ကိုနှိပ်ပါ။
3

အခန်း ၁။ စတင်လိုက်ပါ။
ESP32-DevKitS(-R)
ဤအသုံးပြုသူလမ်းညွှန်သည် Espressif မှထုတ်လုပ်သော ESP32-DevKitS(-R) တွင် အချက်အလက်များကို ပေးဆောင်သည်။ ESP32-DevKitS(-R) သည် ESP32-DevKitS နှင့် ESP32-DevKitS-R ဘုတ်အမည်နှစ်ခုပေါင်းစပ်ထားသည်။ S သည် springs များအတွက်ဖြစ်ပြီး R သည် WROVER ဖြစ်သည်။

ESP32-DevKitS

ESP32-DevKitS-R

စာတမ်းတွင် အောက်ပါ အဓိက ကဏ္ဍများ ပါဝင်သည်- · စတင်ခြင်း- ပြီးဆုံးအောင် ပံ့ပိုးပေးသည်။view စတင်ရန် ESP32-DevKitS(-R) နှင့် ဟာ့ဒ်ဝဲ/ဆော့ဖ်ဝဲလ် စနစ်ထည့်သွင်းမှု ညွှန်ကြားချက်များ။ · ဟာ့ဒ်ဝဲရည်ညွှန်းချက်- ESP32-DevKitS(-R)ns ဟာ့ဒ်ဝဲအကြောင်း နောက်ထပ်အသေးစိတ်အချက်အလက်ကို ပေးပါသည်။ · သက်ဆိုင်ရာစာရွက်စာတမ်းများ- သက်ဆိုင်ရာစာရွက်စာတမ်းများသို့ လင့်ခ်များပေးသည်။

စတင်ခြင်း ဤကဏ္ဍသည် ESP32-DevKitS(-R) ဖြင့် စတင်ပုံကို ဖော်ပြထားပါသည်။ ၎င်းသည် ESP32-DevKitS(-R) နှင့် ပတ်သက်သော နိဒါန်း အပိုင်း အနည်းငယ်ဖြင့် အစပြုကာ၊ ထို့နောက် ဘုတ်အဖွဲ့ကို ဖလက်ရှ်လုပ်နည်း အပိုင်းသည် ESP32-DevKitS(-R) တွင် မော်ဂျူးတစ်ခုကို တပ်ဆင်ရပုံ၊ အဆင်သင့်ဖြစ်အောင်၊ ၎င်းကို ဖိုင်းဝဲကို ဖလက်ရှ်လုပ်ပါ။

ကျော်view ESP32-DevKitS(-R) သည် ESP32 အတွက် အထူးထုတ်လုပ်ထားသော Espressifns flashing board ဖြစ်သည်။ ပါဝါထောက်ပံ့မှုနှင့် အချက်ပြလိုင်းများသို့ မော်ဂျူးအား ဂဟေဆက်ခြင်းမပြုဘဲ ESP32 မော်ဂျူးကို ဖလက်ရှ်ရန် အသုံးပြုနိုင်သည်။ မော်ဂျူးတစ်ခုတပ်ဆင်ထားခြင်းဖြင့် ESP32-DevKitS(-R) ကို ESP32-DevKitC ကဲ့သို့သော အသေးစားဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့အဖြစ်လည်း အသုံးပြုနိုင်ပါသည်။
ESP32-DevKitS နှင့် ESP32-DevKitS-R ဘုတ်များသည် အောက်ပါ ESP32 မော်ဂျူးများနှင့် အံဝင်ခွင်ကျဖြစ်ရန် စပရိန်ပင်များ၏ အပြင်အဆင်တွင်သာ ကွဲပြားပါသည်။
· ESP32-DevKitS- ESP32-WROOM-32 ESP32-WROOM-32D ESP32-WROOM-32U ESP32-SOLO-1 ESP32-WROOM-32E ESP32-WROOM-32UE
· ESP32-DevKitS-R- ESP32-WROVER (PCB & IPEX) ESP32-WROVER-B (PCB & IPEX) ESP32-WROVER-E ESP32-WROVER-IE
အထက်ဖော်ပြပါ မော်ဂျူးများအကြောင်း အချက်အလက်အတွက်၊ ကျေးဇူးပြု၍ ESP32 Series Modules ကို ကိုးကားပါ။

Components ၏ ရှင်းလင်းချက်

Espressif စနစ်များ

4 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 1- ESP32-DevKitS – ရှေ့

Espressif စနစ်များ

ပုံ 2- ESP32-DevKitS-R – ရှေ့ 5
စာရွက်စာတမ်း အကြံပြုချက် တင်ပြပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

အဓိကအစိတ်အပိုင်း Spring Pins 2.54 မီလီမီတာ အမျိုးသမီး ခေါင်းစီးများ
USB-to-UART တံတား LDO Micro-USB ချိတ်ဆက်ကိရိယာ/မိုက်ခရို USB အပေါက် EN ခလုတ် boot ခလုတ်
LED On ပါ

ဖော်ပြချက် အတွင်းရှိ module ကို နှိပ်ပါ။ ပင်များသည် modulens castellated hole များတွင် အံဝင်ခွင်ကျဖြစ်ပါမည်။ အဆိုပါ အမျိုးသမီး ခေါင်းစီးများကို ဤဘုတ်ပေါ်တွင် တပ်ဆင်ထားသော မော်ဂျူး၏ ပင်နံပါတ်များနှင့် ချိတ်ဆက်ထားသည်။ အမျိုးသမီး ခေါင်းစီးများ၏ ဖော်ပြချက်အတွက်၊ Header Blocks ကို ကျေးဇူးပြု၍ ဖတ်ရှုပါ။ Single-chip USB မှ UART တံတားသည် လွှဲပြောင်းနှုန်း 3 Mbps အထိ ပေးသည်။
5V မှ 3.3V နိမ့်သော ကျောင်းထွက်မှု voltage regulator (LDO)။
USB မျက်နှာပြင်။ ဘုတ်အတွက် ပါဝါထောက်ပံ့မှုအပြင် ကွန်ပြူတာနှင့် ဘုတ်အဖွဲ့ကြား ဆက်သွယ်မှု ကြားခံ။
ပြန်လည်သတ်မှတ်ပေးလိုက်ပါ။
ဒေါင်းလုဒ်လုပ်ပါ။ Boot ကိုဖိထားပြီး EN ကိုနှိပ်ပါက serial port မှတဆင့် firmware ကိုဒေါင်းလုဒ်လုပ်ရန်အတွက် Firmware Download mode ကိုစတင်သည်။
USB သို့မဟုတ် ပါဝါထောက်ပံ့မှုကို ဘုတ်သို့ ချိတ်ဆက်သောအခါတွင် ဖွင့်ပါ။

သင့် ESP32-DevKitS(-R) ကို ပါဝါမဖွင့်မီ ဘုတ်ပြားတစ်ခုအား မီးထိုးနည်း၊ ကျေးဇူးပြု၍ ၎င်းသည် ပျက်စီးမှုလက္ခဏာများ သိသာထင်ရှားသော အခြေအနေတွင် ရှိနေကြောင်း သေချာပါစေ။
လိုအပ်သော ဟာ့ဒ်ဝဲ · သင်နှစ်သက်ရာ ESP32 မော်ဂျူး · USB 2.0 ကြိုး (Standard-A မှ Micro-B) · Windows၊ Linux သို့မဟုတ် macOS အသုံးပြုသည့် ကွန်ပျူတာ
ဟာ့ဒ်ဝဲစနစ်ထည့်သွင်းခြင်း ကျေးဇူးပြု၍ အောက်ပါအဆင့်များအတိုင်း သင်၏ ESP32-DevKitS(-R) တွင် သင်ရွေးချယ်ထားသော မော်ဂျူးတစ်ခုကို တပ်ဆင်ပါ-
· သင့် module ကို ESP32-DevKitS(-R) ဘုတ်ပေါ်တွင် ညင်သာစွာထားပါ။ သင့် module ရှိ castellated hole များကို board ပေါ်ရှိ spring pins များနှင့် ချိန်ညှိထားကြောင်း သေချာပါစေ။
· ကလစ်မနှိပ်မချင်း သင့်မော်ဂျူးကို ဘုတ်ပြားထဲသို့ ဖိပါ။ · စပရိန်တံများအားလုံးကို castellated အပေါက်များတွင် ထည့်သွင်းထားခြင်း ရှိမရှိ စစ်ဆေးပါ။ လွဲမှားနေတဲ့ စပရိန်တံတွေရှိရင်၊
၎င်းတို့ကို တုတ်ဖြင့်ပြုလုပ်ထားသော အပေါက်များတွင် ချထားပါ။
Software ကို setup ကို
နှစ်သက်သောနည်းလမ်း ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုမူဘောင်သည် ESP32-DevKitS(-R) တွင် binaries ကို flashing လုပ်ရန် နှစ်သက်သောနည်းလမ်းကို ပံ့ပိုးပေးပါသည်။ ကျေးဇူးပြု၍ စတင်ခြင်းသို့ ဆက်သွားပါ၊ အပိုင်း တပ်ဆင်ခြင်းသည် သင့်အား ဖွံ့ဖြိုးတိုးတက်ရေးဆိုင်ရာ ပတ်ဝန်းကျင်ကို သတ်မှတ်ပြီးနောက် အက်ပလီကေးရှင်းဟောင်းကို ဖလက်ရှ်လုပ်ရန် လျင်မြန်စွာ ကူညီပေးပါမည်။ampသင်၏ ESP32-DevKitS(-R) ပေါ်တွင် အသုံးပြုပါ။
အခြားရွေးချယ်စရာနည်းလမ်းတစ်ခုအနေဖြင့်၊ Windows အသုံးပြုသူများသည် Flash Download Tool ကိုအသုံးပြု၍ binaries ကို flash နိုင်သည်။ ၎င်းကို ဒေါင်းလုဒ်ဆွဲပါ၊ ဇစ်ဖွင့်ပြီး doc ဖိုင်တွဲအတွင်းရှိ ညွှန်ကြားချက်များကို လိုက်နာပါ။
မှတ်ချက်- 1. binary ကို flash ရန် files၊ ESP32 ကို Firmware Download mode သို့ သတ်မှတ်သင့်သည်။ ၎င်းကို flash tool အလိုအလျောက်ဖြစ်စေ သို့မဟုတ် Boot ခလုတ်ကိုဖိထားပြီး EN ခလုတ်ကိုနှိပ်ခြင်းဖြင့်ဖြစ်စေ လုပ်ဆောင်နိုင်သည်။ 2. မှိတ်တုတ်မှိတ်တုတ် binary ပြီးနောက် files၊ Flash Download Tool သည် သင်၏ ESP32 module ကို ပြန်လည်စတင်ပြီး flashed application ကို မူရင်းအတိုင်းဖွင့်သည်။

Board Dimensions အကြောင်းအရာများနှင့် ထုပ်ပိုးမှု

Espressif စနစ်များ

6 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း 1. စတင်ရန် ပုံ 3- ESP32-DevKitS ဘုတ်အတိုင်းအတာများ – နောက်ကျော

Espressif စနစ်များ

ပုံ 4- ESP32-DevKitS-R ဘုတ်အတိုင်းအတာများ – နောက်ကျော 7
စာရွက်စာတမ်း အကြံပြုချက် တင်ပြပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
လက်လီအော်ဒါများ မှာယူပါက ၎amples၊ ESP32-DevKitS(-R) တစ်ခုစီသည် လက်လီရောင်းချသူပေါ်မူတည်၍ antistatic အိတ် သို့မဟုတ် မည်သည့်ထုပ်ပိုးမှုတွင်မဆို တစ်ဦးချင်းအထုပ်တစ်ခုဖြင့် လာပါသည်။ လက်လီအော်ဒါများအတွက် https://www.espressif.com/en/contact-us/get-s သို့သွားပါ။amples
လက်ကားအမှာစာများ အစုလိုက်မှာယူပါက ပျဉ်ပြားများသည် ကတ်ထူသေတ္တာကြီးများဖြင့် ရောက်ရှိလာပါသည်။ လက်ကားအော်ဒါများအတွက်၊ https://www.espressif.com/en/contact-us/sales-questions သို့သွားပါ။
Hardware အကိုးအကား
Block Diagram အောက်တွင်ရှိသော ဘလောက်ပြပုံသည် ESP32-DevKitS(-R) နှင့် ၎င်းတို့၏ အပြန်အလှန်ချိတ်ဆက်မှုများကို ပြသသည်။

ပုံ 5- ESP32-DevKitS(-R) (ချဲ့ရန် နှိပ်ပါ)
Power Supply Options ဘုတ်အား ပါဝါပေးဆောင်ရန် နှစ်ဦးနှစ်ဖက် သီးသန့်နည်းလမ်းသုံးမျိုး ရှိသည်- · Micro USB ပေါက်၊ မူရင်း ပါဝါထောက်ပံ့မှု · 5V နှင့် GND ခေါင်းစီးတံများ · 3V3 နှင့် GND ခေါင်းစီးတံများ
ပထမဆုံးရွေးချယ်မှု- micro USB port ကို အသုံးပြုရန် အကြံပြုထားသည်။

Espressif စနစ်များ

.

အညွှန်းအချက်ပြ

L1 3V3 VDD 3V3

L2 EN CHIP_PU

L3 VP SENSOR_VP

L4 VN SENSOR_VN

L5 ၁

GPIO ၃၇

L6 ၁

GPIO ၃၇

L7 ၁

GPIO ၃၇

L8 ၁

GPIO ၃၇

နောက်စာမျက်နှာတွင် ဆက်လက်ဖော်ပြထားသည်။

8 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ဇယား 1 ကို ယခင်စာမျက်နှာမှ ဆက်လက်ဖော်ပြသည်။

.

အညွှန်းအချက်ပြ

L9 ၁

GPIO ၃၇

L10 ၁

GPIO ၃၇

L11 ၁

GPIO ၃၇

L12 ၁

GPIO ၃၇

L13 ၁

GPIO ၃၇

L14 GND GND

L15 ၁

GPIO ၃၇

L16 D2 SD_DATA2

L17 D3 SD_DATA3

L18 CMD SD_CMD

L19 5V

ပြင်ပ 5V

R1 GND GND

R2 23

GPIO ၃၇

R3 22

GPIO ၃၇

R4 TX U0TXD

R5 RX U0RXD

R6 21

GPIO ၃၇

R7 GND GND

R8 19

GPIO ၃၇

R9 18

GPIO ၃၇

R10 5

GPIO ၃၇

R11 17

GPIO ၃၇

R12 16

GPIO ၃၇

R13 4

GPIO ၃၇

R14 0

GPIO ၃၇

R15 2

GPIO ၃၇

R16 15

GPIO ၃၇

R17 D1 SD_DATA1

R18 D0 SD_DATA0

R19 CLK SD_CLK

Header Blocks သည် header blocks ပုံအတွက်၊ Components ၏ ဖော်ပြချက်ကို ကိုးကားပါ။

ဆက်စပ်စာရွက်စာတမ်းများ
· ESP32-DevKitS(-R) Schematics (PDF) · ESP32 ဒေတာစာရွက် (PDF) · ESP32-WROOM-32 ဒေတာစာရွက် (PDF) · ESP32-WROOM-32D & ESP32-WROOM-32U ဒေတာစာရွက် (PDF) · ESP32-SOLO-1 ဒေတာစာရွက်) ·PDF (3PDFP ဒေတာစာရွက်) · 2PDFP ဒေတာစာရွက် ESP32-WROVER-B ဒေတာစာရွက် (PDF) · ESP ထုတ်ကုန်ရွေးချယ်မှု

ESP32-DevKitM-1

ဤအသုံးပြုသူလမ်းညွှန်သည် ESP32-DevKitM-1 ဖြင့် စတင်ရန် ကူညီပေးမည်ဖြစ်ပြီး ပိုမိုနက်ရှိုင်းသော အချက်အလက်များကိုလည်း ပေးဆောင်မည်ဖြစ်သည်။
ESP32-DevKitM-1 သည် Espressif မှထုတ်လုပ်သော ESP32-MINI-1(1U) အခြေခံ ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ဖြစ်သည်။ I/O pin အများစုကို လွယ်ကူစွာ ချိတ်ဆက်နိုင်စေရန် နှစ်ဖက်စလုံးရှိ ပင်ခေါင်းများဆီသို့ ကျိုးသွားပါသည်။ အသုံးပြုသူများသည် အရံပစ္စည်းများကို jumper ဝါယာများဖြင့် ချိတ်ဆက်နိုင်သည် သို့မဟုတ် ESP32-DevKitM-1 ကို ပေါင်မုန့်ဘုတ်ပေါ်တွင် တပ်ဆင်နိုင်သည်။

Espressif စနစ်များ

9 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ESP32-DevKitM-1 – ရှေ့

ESP32-DevKitM-1 – isometric

စာတမ်းတွင် အောက်ပါ အဓိက ကဏ္ဍများ ပါဝင်သည်- · စတင်ခြင်း- ပြီးဆုံးအောင် ပံ့ပိုးပေးသည်။view စတင်ရန် ESP32-DevKitM-1 နှင့် ဟာ့ဒ်ဝဲ/ဆော့ဖ်ဝဲလ် စနစ်ထည့်သွင်းမှု ညွှန်ကြားချက်များ။ · ဟာ့ဒ်ဝဲရည်ညွှန်းချက်- ESP32-DevKitM-1ns ဟာ့ဒ်ဝဲအကြောင်း ပိုမိုအသေးစိတ်အချက်အလက်ကို ပေးပါသည်။ · သက်ဆိုင်ရာစာရွက်စာတမ်းများ- သက်ဆိုင်ရာ documentaiton သို့ လင့်ခ်များပေးသည်။

စတင်ခြင်း ဤကဏ္ဍသည် ESP32-DevKitM-1 ဖြင့် စတင်ပုံကို ဖော်ပြထားပါသည်။ ၎င်းသည် ESP32-DevKitM-1 နှင့်ပတ်သက်သည့် နိဒါန်းကဏ္ဍအနည်းငယ်ဖြင့် စတင်ကာ၊ ထို့နောက် Section Start Application Development သည် ကနဦး ဟာ့ဒ်ဝဲထည့်သွင်းနည်းနှင့် ESP32-DevKitM-1 တွင် Firmware တင်နည်းကို လမ်းညွှန်ပေးပါသည်။

ကျော်view ၎င်းသည် သေးငယ်ပြီး အဆင်ပြေသော ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့တစ်ခုဖြစ်သည်။
· ESP32-MINI-1 သို့မဟုတ် ESP32-MINI-1U မော်ဂျူး · ဘုတ်အတွက် ပါဝါထောက်ပံ့မှုပေးသည့် USB-to-serial ပရိုဂရမ်အင်တာဖေ့စ် · pin headers · Firmware ဒေါင်းလုဒ်မုဒ်ကို ပြန်လည်သတ်မှတ်ရန်နှင့် အသက်သွင်းရန်အတွက် ခလုတ်များ · အခြားအစိတ်အပိုင်းအချို့

မာတိကာနှင့်ထုပ်ပိုးမှု

လက်လီအော်ဒါများ မှာယူပါက ၎amples၊ ESP32-DevKitM-1 တစ်ခုစီသည် သင့်လက်လီရောင်းချသူအပေါ် မူတည်၍ antistatic အိတ် သို့မဟုတ် မည်သည့်ထုပ်ပိုးမှုတွင်မဆို တစ်ဦးချင်းအထုပ်တစ်ခုဖြင့် လာပါသည်။
လက်လီအော်ဒါများအတွက် https://www.espressif.com/en/contact-us/get-s သို့သွားပါ။amples

လက်ကားအမှာစာများ အစုလိုက်မှာယူပါက ပျဉ်ပြားများသည် ကတ်ထူသေတ္တာကြီးများဖြင့် ရောက်ရှိလာပါသည်။ လက်ကားအော်ဒါများအတွက်၊ https://www.espressif.com/en/contact-us/sales-questions သို့သွားပါ။

အစိတ်အပိုင်းများ၏ ဖော်ပြချက် အောက်ပါပုံနှင့် အောက်ဖော်ပြပါဇယားသည် ESP32-DevKitM-1 ဘုတ်၏ အဓိကအစိတ်အပိုင်းများ၊ အင်တာဖေ့စ်များနှင့် ထိန်းချုပ်မှုများကို ဖော်ပြသည်။ ကျွန်ုပ်တို့သည် ESP32-MINI-1 module တစ်ခုနှင့် ဘုတ်ကို ဟောင်းတစ်ခုအဖြစ် ယူပါသည်။ampအောက်ပါ ကဏ္ဍများတွင် ဖော်ပြပါရှိသည်။

Espressif စနစ်များ

10 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 6- ESP32-DevKitM-1 – ရှေ့

ကီးအစိတ်အပိုင်း On-board module
5 V မှ 3.3 V LDO Boot ခလုတ်
ခလုတ်ကို Micro-USB Port ကို ပြန်လည်သတ်မှတ်ပါ။
USB-to-UART တံတား 3.3 V LED မီးဖွင့်ထားသည်။
I/O ချိတ်ဆက်ကိရိယာ

ဖော်ပြချက်
ESP32-MINI-1 မော်ဂျူး သို့မဟုတ် ESP32-MINI-1U မော်ဂျူး။ ESP32-MINI-1 တွင် on-board PCB အင်တင်နာတစ်ခုပါရှိသည်။ ESP32-MINI-1U တွင် ပြင်ပအင်တင်နာချိတ်ဆက်ကိရိယာပါရှိသည်။ module နှစ်ခုစလုံးတွင် chip package တွင် 4 MB flash တစ်ခုရှိသည်။ အသေးစိတ်အတွက်၊ ESP32-MINI-1 & ESP32-MINI-1U ဒေတာစာရွက်ကို ကြည့်ပါ။
Power regulator သည် 5 V သို့ 3.3 V သို့ပြောင်းသည်။
ဒေါင်းလုဒ်လုပ်ပါ။ Boot ကိုဖိထားပြီး Reset ကိုနှိပ်ပါက serial port မှတဆင့် firmware ကိုဒေါင်းလုဒ်လုပ်ရန်အတွက် Firmware Download mode ကိုစတင်သည်။
Reset ခလုတ်
USB မျက်နှာပြင်။ ဘုတ်အတွက် ပါဝါထောက်ပံ့မှုအပြင် ကွန်ပျူတာနှင့် ESP32 ချစ်ပ်ကြားရှိ ဆက်သွယ်မှုကြားခံ။
တစ်ခုတည်းသော USB-UART တံတားချစ်ပ်သည် လွှဲပြောင်းနှုန်း 3 Mbps အထိ ပေးသည်။
USB ဘုတ်ကို ချိတ်ဆက်သောအခါတွင် ဖွင့်သည်။ အသေးစိတ်အတွက်၊ သက်ဆိုင်ရာစာရွက်စာတမ်းများတွင် ဇယားကွက်များကို ကြည့်ပါ။ ရရှိနိုင်သော GPIO ပင်နံပါတ်များ (flash အတွက် SPI bus မှလွဲ၍) အားလုံးကို ဘုတ်ပေါ်ရှိ ပင်ခေါင်းခေါင်းများသို့ ဖောက်ခွဲထားသည်။ အသုံးပြုသူများသည် လုပ်ဆောင်ချက်များစွာကို ဖွင့်ရန် ESP32 ချစ်ပ်ကို ပရိုဂရမ်ပြုလုပ်နိုင်သည်။

သင်၏ ESP32-DevKitM-1 ကို ပါဝါမဖွင့်မီ အက်ပလီကေးရှင်း ဖွံ့ဖြိုးတိုးတက်မှု စတင်မီ၊ ပျက်စီးမှု လက္ခဏာများ ထင်ရှားစွာ မရှိဘဲ အခြေအနေ ကောင်းမွန်ကြောင်း သေချာပါစေ။
လိုအပ်သော ဟာ့ဒ်ဝဲ · ESP32-DevKitM-1 · USB 2.0 ကြိုး (Standard-A မှ Micro-B) · Windows၊ Linux သို့မဟုတ် macOS အသုံးပြုသည့် ကွန်ပျူတာ
ဆော့ဖ်ဝဲထည့်သွင်းခြင်းအား ကျေးဇူးပြု၍ စတင်ခြင်းသို့ ဆက်သွားပါ၊ အပိုင်းထည့်သွင်းခြင်းသည် သင့်အား ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို သတ်မှတ်ပြီးနောက် အပလီကေးရှင်းဟောင်းကို ဖလက်ရှ်လုပ်ရန် လျင်မြန်စွာကူညီပေးမည့်နေရာတွင် ကျေးဇူးပြု၍ စတင်ပါ။ampသင်၏ ESP32-DevKitM-1 ပေါ်သို့ တင်ပါ။

Espressif စနစ်များ

11 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
သတိပြုရန်- ဒီဇင်ဘာလ 2 ရက်၊ 2021 ခုနှစ်မတိုင်မီ ထုတ်လုပ်ခဲ့သော ESP32-DevKitM-1 ဘုတ်များတွင် core module တစ်ခုတပ်ဆင်ထားသည်။ သင့်တွင် မည်သည့် module ရှိသည်ကို စစ်ဆေးရန်၊ ကျေးဇူးပြု၍ PCN-2021-021 တွင် မော်ဂျူးအမှတ်အသား အချက်အလက်ကို စစ်ဆေးပါ။ သင့်ဘုတ်တွင် single core module တစ်ခုထည့်သွင်းထားပါက၊ ကျေးဇူးပြု၍ single core mode (CONFIG_FREERTOS_UNICORE) ကို သင့်အပလီကေးရှင်းများကို flash မလုပ်မီ menuconfig တွင်ဖွင့်ပါ။
ဟာ့ဒ်ဝဲအကိုးအကား ပိတ်ဆို့ခြင်း ဇယား အောက်ဖော်ပြပါ ဘလောက်ပုံစံတစ်ခုသည် ESP32-DevKitM-1 ၏ အစိတ်အပိုင်းများနှင့် ၎င်းတို့၏ အပြန်အလှန်ချိတ်ဆက်မှုများကို ပြသသည်။

ပုံ။ 7- ESP32-DevKitM-1
ပါဝါရင်းမြစ်ကို ရွေးချယ်ပါ ဘုတ်အား ပါဝါပေးဆောင်ရန် နှစ်ဦးနှစ်ဖက် သီးသန့်နည်းလမ်း သုံးမျိုးရှိသည်- · Micro USB ပေါက်၊ မူရင်း ပါဝါထောက်ပံ့မှု · 5V နှင့် GND ခေါင်းစီးတံများ · 3V3 နှင့် GND ခေါင်းစီးတံများ
သတိပေးချက်- · အထက်ဖော်ပြပါ ရွေးချယ်စရာများထဲမှ တစ်ခုနှင့် တစ်ခုသာ ပါဝါထောက်ပံ့မှုကို ပံ့ပိုးပေးရမည်၊ သို့မဟုတ်ပါက ဘုတ်နှင့်/သို့မဟုတ် ပါဝါထောက်ပံ့မှု အရင်းအမြစ် ပျက်စီးသွားနိုင်သည်။ · micro USB ပေါက်ဖြင့် ပါဝါထောက်ပံ့မှုကို အကြံပြုထားသည်။

ပင်အသေးစိတ်ဖော်ပြချက်များ အောက်ဖော်ပြပါဇယားသည် ဘုတ်၏နှစ်ဖက်စလုံးရှိ ပင်များ၏အမည်နှင့် လုပ်ဆောင်ချက်ကို ပေးဆောင်သည်။ Peripheral Pin ဖွဲ့စည်းမှုများအတွက်၊ ESP32 ဒေတာစာရွက်ကို ဖတ်ရှုပါ။

မရှိ

နာမည်

ရိုက်ပါ။

1

GND

P

2

3V3

P

Function Ground 3.3 V ပါဝါထောက်ပံ့ထားပါတယ်။

နောက်စာမျက်နှာတွင် ဆက်လက်ဖော်ပြထားသည်။

Espressif စနစ်များ

12 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ဇယား 2 ကို ယခင်စာမျက်နှာမှ ဆက်လက်ဖော်ပြသည်။

မရှိ

နာမည်

ရိုက်ပါ။

လုပ်ဆောင်ချက်

3

I36

I

GPIO36၊ ADC1_CH0၊ RTC_GPIO0

4

I37

I

GPIO37၊ ADC1_CH1၊ RTC_GPIO1

5

I38

I

GPIO38၊ ADC1_CH2၊ RTC_GPIO2

6

I39

I

GPIO39၊ ADC1_CH3၊ RTC_GPIO3

7

RST

I

ပြန်လည်သတ်မှတ်ရန်; မြင့်မားသော: enable; နိမ့်- ပါဝါပိတ်သည်။

8

I34

I

GPIO34၊ ADC1_CH6၊ RTC_GPIO4

9

I35

I

GPIO35၊ ADC1_CH7၊ RTC_GPIO5

10

IO32

I/O

GPIO32၊ XTAL_32K_P (32.768 kHz crystal oscillator input)၊

ADC1_CH4၊ TOUCH9၊ RTC_GPIO9

11

IO33

I/O

GPIO33၊ XTAL_32K_N (32.768 kHz crystal oscillator အထွက်)၊

ADC1_CH5၊ TOUCH8၊ RTC_GPIO8

12

IO25

I/O

GPIO25၊ DAC_1၊ ADC2_CH8၊ RTC_GPIO6၊ EMAC_RXD0

13

IO26

I/O

GPIO26၊ DAC_2၊ ADC2_CH9၊ RTC_GPIO7၊ EMAC_RXD1

14

IO27

I/O

GPIO27၊ ADC2_CH7၊ TOUCH7၊ RTC_GPIO17၊ EMAC_RX_DV

15

IO14

I/O

GPIO14၊ ADC2_CH6၊ TOUCH6၊ RTC_GPIO16၊ MTMS၊ HSPICLK၊

HS2_CLK၊ SD_CLK၊ EMAC_TXD2

16

5V

P

5 V ပါဝါထောက်ပံ့သည်။

17

IO12

I/O

GPIO12၊ ADC2_CH5၊ TOUCH5၊ RTC_GPIO15၊ MTDI၊ HSPIQ၊

HS2_DATA2၊ SD_DATA2၊ EMAC_TXD3

18

IO13

I/O

GPIO13၊ ADC2_CH4၊ TOUCH4၊ RTC_GPIO14၊ MTCK၊ HSPID၊

HS2_DATA3၊ SD_DATA3၊ EMAC_RX_ER

19

IO15

I/O

GPIO15၊ ADC2_CH3၊ TOUCH3၊ RTC_GPIO13၊ MTDO၊ HSPICS0၊

HS2_CMD၊ SD_CMD၊ EMAC_RXD3

20

IO2

I/O

GPIO2၊ ADC2_CH2၊ TOUCH2၊ RTC_GPIO12၊ HSPIWP၊

HS2_DATA0၊ SD_DATA0

21

IO0

I/O

GPIO0၊ ADC2_CH1၊ TOUCH1၊ RTC_GPIO11၊ CLK_OUT1၊

EMAC_TX_CLK

22

IO4

I/O

GPIO4၊ ADC2_CH0၊ TOUCH0၊ RTC_GPIO10၊ HSPIHD၊

HS2_DATA1၊ SD_DATA1၊ EMAC_TX_ER

23

IO9

I/O

GPIO9၊ HS1_DATA2၊ U1RXD၊ SD_DATA2

24

IO10

I/O

GPIO10၊ HS1_DATA3၊ U1TXD၊ SD_DATA3

25

IO5

I/O

GPIO5၊ HS1_DATA6၊ VSPICS0၊ EMAC_RX_CLK

26

IO18

I/O

GPIO18၊ HS1_DATA7၊ VSPICLK

27

IO23

I/O

GPIO23၊ HS1_STROBE၊ VSPID

28

IO19

I/O

GPIO19၊ VSPIQ၊ U0CTS၊ EMAC_TXD0

29

IO22

I/O

GPIO22၊ VSPIWP၊ U0RTS၊ EMAC_TXD1

30

IO21

I/O

GPIO21၊ VSPIHD၊ EMAC_TX_EN

31

TXD0

I/O

GPIO1၊ U0TXD၊ CLK_OUT3၊ EMAC_RXD2

32

RXD0

I/O

GPIO3၊ U0RXD၊ CLK_OUT2

ဟာ့ဒ်ဝဲ ပြန်လည်ပြင်ဆင်မှုအသေးစိတ် အချက်အလက်များကို ယခင်ဗားရှင်းများ မရရှိနိုင်ပါ။
ဆက်စပ်စာရွက်စာတမ်းများ
· ESP32-MINI-1 & ESP32-MINI-1U ဒေတာစာရွက် (PDF) · ESP32-DevKitM-1 Schematics (PDF) · ESP32-DevKitM-1 PCB အပြင်အဆင် (PDF) · ESP32-DevKitM-1 အပြင်အဆင် (DXF) – သင်လုပ်နိုင်သည် view Autodesk နဲ့ပါ။ Viewအွန်လိုင်း · ESP32 ဒေတာစာရွက် (PDF) · ESP ထုတ်ကုန် ရွေးချယ်မှု
ဘုတ်အဖွဲ့အတွက် အခြားဒီဇိုင်းစာရွက်စာတမ်းများအတွက်၊ sales@espressif.com တွင် ကျွန်ုပ်တို့ထံ ဆက်သွယ်ပါ။

Espressif စနစ်များ

13 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
1.2.2 Software များ
ESP32 တွင် ESP-IDF ကိုစတင်အသုံးပြုရန် အောက်ပါဆော့ဖ်ဝဲကိုထည့်သွင်းပါ- · ESP32 အတွက်ကုဒ်ကိုစုစည်းရန် Toolchain · ESP32 အတွက် လျှောက်လွှာအပြည့်အစုံကိုတည်ဆောက်ရန် CMake နှင့် Ninja ကိရိယာများတည်ဆောက်ခြင်း · ESP-IDF အတွက် မရှိမဖြစ်လိုအပ်သော API (ဆော့ဖ်ဝဲစာကြည့်တိုက်များနှင့် အရင်းအမြစ်ကုဒ်များ) ESP32 အတွက် ESP32 နှင့် Toolchain ကိုလည်ပတ်ရန်အတွက် scripts များပါရှိသည်။

1.3 ထည့်သွင်းခြင်း။
လိုအပ်သောဆော့ဖ်ဝဲလ်အားလုံးကို ထည့်သွင်းရန်၊ ဤလုပ်ငန်းကို အဆင်ပြေချောမွေ့စေရန် မတူညီသောနည်းလမ်းအချို့ကို ကျွန်ုပ်တို့ ပေးဆောင်ထားပါသည်။ ရနိုင်သောရွေးချယ်မှုများထဲမှ တစ်ခုကို ရွေးပါ။
1.3.1 IDE

မှတ်ချက်- သင့်စိတ်ကြိုက် IDE မှတစ်ဆင့် ESP-IDF ကို ထည့်သွင်းရန် ကျွန်ုပ်တို့ အထူးအကြံပြုလိုပါသည်။
· Eclipse Plugin · VSCode တိုးချဲ့မှု

1.3.2 လူကိုယ်တိုင် တပ်ဆင်ခြင်း။
လက်စွဲလုပ်ထုံးလုပ်နည်းအတွက်၊ သင်၏လည်ပတ်မှုစနစ်အတိုင်း ရွေးချယ်ပါ။

Espressif စနစ်များ

14 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
Windows အတွက် Toolchain ၏ စံသတ်မှတ်မှု
နိဒါန်းတွင် ESP-IDF သည် ပံ့ပိုးထားသော ချစ်ပ်များအတွက် firmware ကို ထည့်သွင်းရန် လိုအပ်သော ကိရိယာအချို့ လိုအပ်ပါသည်။ ကြိုတင်လိုအပ်သောကိရိယာများတွင် Python၊ Git၊ cross-compilers၊ CMake နှင့် Ninja build tools များပါဝင်သည်။ ဤစတင်ခြင်းအတွက် Command Prompt ကိုအသုံးပြုသွားမည်ဖြစ်သော်လည်း ESP-IDF ကိုထည့်သွင်းပြီးနောက်တွင် သင်သည် Eclipse Plugin သို့မဟုတ် CMake ပံ့ပိုးမှုဖြင့် အခြားဂရပ်ဖစ် IDE ကိုသုံးနိုင်သည်။ မှတ်ချက်- ကန့်သတ်ချက်များ- ESP-IDF နှင့် ESP-IDF Tools များ၏ တပ်ဆင်မှုလမ်းကြောင်းသည် စာလုံးရေ 90 ထက်မပိုရပါ။ တပ်ဆင်မှုလမ်းကြောင်းများ ရှည်လွန်းသဖြင့် တည်ဆောက်မှု မအောင်မြင်နိုင်ပါ။ - Python သို့မဟုတ် ESP-IDF ၏ တပ်ဆင်မှုလမ်းကြောင်းတွင် အဖြူရောင်နေရာများ သို့မဟုတ် ကွင်းစဥ်များ မပါဝင်ရပါ။ - Python သို့မဟုတ် ESP-IDF ၏ တပ်ဆင်မှုလမ်းကြောင်းတွင် လည်ပတ်မှုစနစ်အား oUnicode UTF-8p ပံ့ပိုးမှုဖြင့် ပြင်ဆင်သတ်မှတ်မထားပါက အထူးဇာတ်ကောင်များ (nonASCII) မပါဝင်သင့်ပါ။ စနစ်စီမံခန့်ခွဲသူသည် Control Panel မှတစ်ဆင့် ပံ့ပိုးကူညီမှုကို ဖွင့်နိုင်သည် - ရက်စွဲ၊ အချိန် သို့မဟုတ် နံပါတ်ဖော်မတ်များ ပြောင်းလဲခြင်း - စီမံခန့်ခွဲရေးတက်ဘ် - စနစ်ဒေသကို ပြောင်းလဲခြင်း - oBeta ရွေးချယ်မှုကို စစ်ဆေးပါ- ကမ္ဘာတစ်ဝှမ်း ဘာသာစကားပံ့ပိုးမှုအတွက် Unicode UTF-8 ကို အသုံးပြုပါ - OK လုပ်ပြီး ကွန်ပျူတာကို ပြန်လည်စတင်ပါ။
ESP-IDF Tools Installer ESP-IDFns တပ်ဆင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ ESP-IDF Tools တပ်ဆင်သူများထဲမှ တစ်ခုကို ဒေါင်းလုဒ်လုပ်ရန်ဖြစ်သည်။

Windows Installer ဒေါင်းလုဒ်လုပ်ပါ။
အွန်လိုင်း နှင့် အော့ဖ်လိုင်း တပ်ဆင်သူ အတွက် အသုံးပြုမှု ကိစ္စ က ဘာလဲ Online Installer သည် အလွန်သေးငယ်ပြီး ရရှိနိုင်သော ESP-IDF ၏ ထွက်ရှိမှုအားလုံးကို တပ်ဆင်ခွင့်ပြုသည်။ တပ်ဆင်သူသည် တပ်ဆင်မှုလုပ်ငန်းစဉ်အတွင်း Git For Windows အပါအဝင် လိုအပ်သောမှီခိုမှုများကိုသာ ဒေါင်းလုဒ်လုပ်မည်ဖြစ်သည်။ တပ်ဆင်သူသည် ဒေါင်းလုဒ်လုပ်ထားသော ဆိုင်များဖြစ်သည်။ filecache directory တွင် %userprofile% espressif
အော့ဖ်လိုင်းထည့်သွင်းသူသည် မည်သည့်ကွန်ရက်ချိတ်ဆက်မှုမှ မလိုအပ်ပါ။ တပ်ဆင်သူတွင် Windows အတွက် Git အပါအဝင် လိုအပ်သော မှီခိုမှုအားလုံးပါရှိသည်။
တပ်ဆင်ခြင်း၏ အစိတ်အပိုင်းများ တပ်ဆင်သူသည် အောက်ပါ အစိတ်အပိုင်းများကို အသုံးချသည်-
· Embedded Python · Cross-compilers · OpenOCD · CMake နှင့် Ninja တည်ဆောက်ရေးကိရိယာ · ESP-IDF
ထည့်သွင်းသူသည် ESP-IDF ဖြင့် ရှိပြီးသား လမ်းညွှန်ကို ပြန်သုံးခွင့်ပြုသည်။ အကြံပြုထားသောလမ်းညွှန်မှာ %userpro ဖြစ်သည်။file%userpro နေရာတွင် %Desktopesp-idffile% သည် သင့်အိမ်လမ်းညွှန်ဖြစ်သည်။

Espressif စနစ်များ

15 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
ESP-IDF ပတ်ဝန်းကျင်ကို စတင်ခြင်း တပ်ဆင်ခြင်းလုပ်ငန်းစဉ်အဆုံးတွင် သင်သည် ESP-IDF PowerShell Environment ကိုဖွင့်ပါ သို့မဟုတ် ESP-IDF Command Prompt (cmd.exe) ကို စစ်ဆေးနိုင်ပါသည်။ ထည့်သွင်းသူသည် ရွေးချယ်ထားသော အမှာစာတွင် ESP-IDF ပတ်ဝန်းကျင်ကို စတင်ပါမည်။ ESP-IDF PowerShell ပတ်ဝန်းကျင်ကို ဖွင့်ပါ-

ပုံ 8- ESP-IDF PowerShell ပတ်ဝန်းကျင်ကို Run ခြင်းဖြင့် ESP-IDF Tools Setup Wizard ကို ပြီးအောင်လုပ်ခြင်း
ESP-IDF Command Prompt (cmd.exe) ကိုဖွင့်ပါ။
Command Prompt ကိုအသုံးပြုခြင်းဖြင့် လက်ကျန်စတင်ခြင်းအဆင့်များအတွက် Windows Command Prompt ကိုအသုံးပြုသွားပါမည်။ ESP-IDF Tools Installer သည် ESP-IDF Command Prompt ကိုစတင်ရန် Start menu တွင် ဖြတ်လမ်းတစ်ခု ဖန်တီးပေးပါသည်။ ဤဖြတ်လမ်းလင့်ခ်သည် Command Prompt (cmd.exe) ကိုဖွင့်ပြီး ပတ်၀န်းကျင် ပြောင်းလဲနိုင်သော ကိန်းရှင်များ (PATH၊ IDF_PATH နှင့် အခြားအရာများ) ကို စနစ်ထည့်သွင်းရန် export.bat script ကို လုပ်ဆောင်သည်။ ဤ command prompt အတွင်းတွင် ထည့်သွင်းထားသော ကိရိယာများအားလုံး ရနိုင်ပါသည်။ ဤဖြတ်လမ်းလင့်ခ်သည် ESP-IDF Tools Installer တွင် ရွေးချယ်ထားသော ESP-IDF လမ်းညွှန်အတွက် သီးသန့်ဖြစ်ကြောင်း သတိပြုပါ။ သင့်တွင် ကွန်ပျူတာတွင် ESP-IDF လမ်းညွှန်များစွာရှိလျှင် (ဥပမာample၊ ESP-IDF ၏ မတူညီသော ဗားရှင်းများနှင့် အလုပ်လုပ်ရန်)၊ ၎င်းတို့ကို အသုံးပြုရန် ရွေးချယ်ခွင့် နှစ်ခုရှိသည်။
1. ESP-IDF Tools Installer မှ ဖန်တီးထားသော ဖြတ်လမ်းလင့်ခ်ကို ဖန်တီးပြီး ဖြတ်လမ်းအသစ်၏ အလုပ်လမ်းညွှန်ကို သင်အသုံးပြုလိုသော ESP-IDF လမ်းညွှန်သို့ ပြောင်းပါ။
2. တနည်းအားဖြင့် cmd.exe ကိုဖွင့်ပါ၊ ထို့နောက် သင်အသုံးပြုလိုသော ESP-IDF လမ်းညွှန်သို့ပြောင်းကာ export.bat ကိုဖွင့်ပါ။ ယခင်ရွေးချယ်စရာနှင့်မတူဘဲ၊ ဤနည်းအားဖြင့် Python နှင့် Git သည် PATH တွင် ရှိနေရန် လိုအပ်ကြောင်း သတိပြုပါ။ Python သို့မဟုတ် Git နှင့် ပတ်သက်သော အမှားများကို ရှာမတွေ့ပါက၊ ပထမရွေးချယ်မှုကို အသုံးပြုပါ။
ESP-IDF ၏ပထမခြေလှမ်းများ လိုအပ်ချက်များအားလုံးပြည့်မီပြီဖြစ်သောကြောင့် ယခုနောက်အကြောင်းအရာသည် သင့်ပထမဆုံးပရောဂျက်ကိုမည်သို့စတင်ရမည်ကို လမ်းညွှန်ပေးမည်ဖြစ်ပါသည်။

Espressif စနစ်များ

16 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်ရန် ပုံ ၉- ESP-IDF PowerShell

ပုံ 10- ESP-IDF Tools Setup Wizard ကို Run ESP-IDF Command Prompt (cmd.exe) ဖြင့် ပြီးအောင်လုပ်ခြင်း

Espressif စနစ်များ

17 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 11- ESP-IDF Command Prompt

Espressif စနစ်များ

18 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
ဤလမ်းညွှန်ချက်သည် ESP-IDF ကို အသုံးပြု၍ ပထမအဆင့်တွင် သင့်အား ကူညီပေးပါမည်။ ESP32 တွင် ပရောဂျက်အသစ်တစ်ခုစတင်ရန်နှင့် တည်ဆောက်ရန်၊ flash နှင့် ကိရိယာ၏အထွက်ကို စောင့်ကြည့်ရန် ဤလမ်းညွှန်ချက်ကို လိုက်နာပါ။ မှတ်ချက်- ESP-IDF ကို သင် မထည့်သွင်းရသေးပါက၊ ကျေးဇူးပြု၍ တပ်ဆင်ခြင်းသို့ သွားကာ ဤလမ်းညွှန်ချက်ကို အသုံးပြုရန် လိုအပ်သော ဆော့ဖ်ဝဲလ်အားလုံးကို ရယူရန်အတွက် ညွှန်ကြားချက်ကို လိုက်နာပါ။

ပရောဂျက်တစ်ခုကို စတင်လိုက်ပါ ယခု ESP32 အတွက် သင်၏လျှောက်လွှာကို ပြင်ဆင်ရန် အသင့်ဖြစ်နေပါပြီ။ ဟောင်းထံမှ getstarted/hello_world ပရောဂျက်ဖြင့် စတင်နိုင်သည်။ampESP-IDF ရှိ les လမ်းညွှန်။
အရေးကြီးသည်- ESP-IDF တည်ဆောက်မှုစနစ်သည် ESP-IDF သို့မဟုတ် ပရောဂျက်များသို့ လမ်းကြောင်းများရှိ နေရာလွတ်များကို မပံ့ပိုးပါ။
ပရောဂျက် get-started/hello_world ကို ~/esp လမ်းညွှန်သို့ ကူးယူပါ- cd %userprofile%esp xcopy /e /i %IDF_PATH%examplesget-startedhello_world hello_world
မှတ်ချက်- ex အမျိုးအစားများစွာရှိသည်။ample ပရောဂျက်တွေဆိုရင်ampESP-IDF ရှိ les လမ်းညွှန်။ အထက်ဖော်ပြပါအတိုင်း မည်သည့်ပရောဂျက်ကိုမဆို ကူးယူနိုင်ပြီး ၎င်းကို လုပ်ဆောင်နိုင်သည်။ ex ဆောက်လို့လည်း ဖြစ်နိုင်တယ်။amp၎င်းတို့ကို ဦးစွာကူးယူခြင်းမပြုဘဲ les in-place။

သင့်စက်ပစ္စည်းကို ချိတ်ဆက်ပါ ယခု သင်၏ ESP32 ဘုတ်ကို ကွန်ပျူတာနှင့် ချိတ်ဆက်ပြီး မည်သည့် အမှတ်စဉ် အပေါက်ကို မြင်နိုင်သည်ကို စစ်ဆေးပါ။ Serial port အမည်များသည် Windows တွင် COM ဖြင့် စတင်သည်။ အမှတ်စဉ် ပို့တ်အမည်ကို မည်သို့စစ်ဆေးရမည်ကို မသေချာပါက၊ အသေးစိတ် အချက်အလက်အပြည့်အစုံအတွက် ESP32 နှင့် Establish Serial Connection ကို ဖတ်ရှုပါ။
မှတ်ချက်- နောက်အဆင့်များတွင် သင်လိုအပ်မည့်အတိုင်း ပို့တ်အမည်ကို အဆင်သင့်ထားပါ။

သင့်ပရောဂျက်ကို ပြင်ဆင်သတ်မှတ်ပါ သင်၏ hello_world လမ်းညွှန်သို့ သွားပါ၊ ESP32 ကို ပစ်မှတ်အဖြစ် သတ်မှတ်ကာ ပရောဂျက်ဖွဲ့စည်းပုံ အသုံးဝင်မှု menuconfig ကို ဖွင့်ပါ။
Windows cd %userprofile%esphello_world idf.py set-target esp32 idf.py menuconfig
ပရောဂျက်အသစ်တစ်ခုဖွင့်ပြီးနောက်၊ သင်သည် idf.py set-target esp32 ဖြင့် ပစ်မှတ်ကို ဦးစွာ သတ်မှတ်သင့်သည်။ ပရောဂျက်ရှိ ရှိပြီးသား တည်ဆောက်မှုများနှင့် ဖွဲ့စည်းမှုပုံစံများရှိပါက ရှင်းလင်းပြီး ဤလုပ်ငန်းစဉ်တွင် စတင်လုပ်ဆောင်မည်ဖြစ်ကြောင်း သတိပြုပါ။ ဤအဆင့်ကို လုံးဝကျော်သွားရန်အတွက် ပစ်မှတ်ကို ပတ်၀န်းကျင်ပြောင်းလဲနိုင်သော ကိန်းရှင်တွင် သိမ်းဆည်းထားနိုင်သည်။ ထပ်လောင်းအချက်အလက်များအတွက် ပစ်မှတ် Chip ကို ရွေးချယ်ပါ- သတ်မှတ်ပစ်မှတ်ကို ကြည့်ပါ။ ယခင်အဆင့်များ မှန်ကန်စွာ လုပ်ဆောင်ခဲ့လျှင် အောက်ပါ မီနူး ပေါ်လာသည်- သင်သည် ပရောဂျက် သတ်သတ်မှတ်မှတ် ပြောင်းလွဲမှုများကို စနစ်ထည့်သွင်းရန် ဤမီနူးကို အသုံးပြုနေပါသည်၊ ဥပမာ၊ Wi-Fi ကွန်ရက်အမည်နှင့် စကားဝှက်၊ ပရိုဆက်ဆာ အမြန်နှုန်း စသည်ဖြင့် ပရောဂျက်ကို သတ်မှတ်ခြင်း menuconfig ဖြင့် ohello_wordp အတွက် ကျော်သွားနိုင်ပါသည်။ampပုံသေပုံစံဖြင့် အလုပ်လုပ်သည်။
သတိပြုရန်- အကယ်၍ သင်သည် ESP32-DevKitC ဘုတ်အား ESP32-SOLO-1 မော်ဂျူးဖြင့် သို့မဟုတ် ESP32-DevKitM-1 ဘုတ်နှင့်အတူ ESP32-MIN1-1(1U) မော်ဂျူးကို အသုံးပြုပါက၊ ကျေးဇူးပြု၍ မမှိတ်တုတ်မပြမီ single core မုဒ် (CONFIG_FREERTOS_UNICORE) ကို menuconfig တွင် ဖွင့်ပါ။amples

Espressif စနစ်များ

19 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 12- ပရောဂျက်ဖွဲ့စည်းပုံ – ပင်မဝင်းဒိုး
မှတ်ချက်- မီနူး၏အရောင်များသည် သင့်စက်စက်တွင် ကွဲပြားနိုင်သည်။ ရွေးချယ်မှု –style ဖြင့် အသွင်အပြင်ကို ပြောင်းလဲနိုင်သည်။ နောက်ထပ်အချက်အလက်များအတွက် idf.py menuconfig –help ကိုဖွင့်ပါ။
အကယ်၍ သင်သည် ပံ့ပိုးပေးထားသော ဖွံ့ဖြိုးရေးဘုတ်များထဲမှ တစ်ခုကို အသုံးပြုနေပါက Board Support Package ကို အသုံးပြု၍ သင်၏ ဖွံ့ဖြိုးတိုးတက်မှုကို အရှိန်မြှင့်နိုင်ပါသည်။ နောက်ထပ်အချက်အလက်များအတွက် ထပ်လောင်းအကြံပြုချက်များကို ကြည့်ပါ။
ပရောဂျက်ကိုတည်ဆောက်ပါ လည်ပတ်ခြင်းဖြင့် ပရောဂျက်ကိုတည်ဆောက်ပါ-
idf.py ကိုတည်ဆောက်ပါ။
ဤအမိန့်သည် အပလီကေးရှင်းနှင့် ESP-IDF အစိတ်အပိုင်းများအားလုံးကို စုစည်းထားမည်ဖြစ်ပြီး၊ ထို့နောက် ၎င်းသည် bootloader၊ အခန်းကန့်ဇယားနှင့် အပလီကေးရှင်း binaries ကို ထုတ်လုပ်ပေးမည်ဖြစ်သည်။
$idf.py build Running cmake directory /path/to/hello_world/build "cmake -G Ninja –warn-unitialized /path/to/hello_world" ကို အကောင်အထည်ဖော်နေသည်… မရှိသေးသော တန်ဖိုးများအကြောင်း သတိပေးပါ။ — Git ကိုတွေ့ရှိသည်- /usr/bin/git (ဗားရှင်း “2.17.0” ကိုတွေ့သည်) — ဖွဲ့စည်းမှုပုံစံကြောင့် ဗလာ aws_iot အစိတ်အပိုင်းများကို တည်ဆောက်ခြင်း — အစိတ်အပိုင်းအမည်များ- … — အစိတ်အပိုင်းလမ်းကြောင်းများ-…
… (တည်ဆောက်မှုစနစ် အထွက်လိုင်းများ)
[527/527] hello_world.bin esptool.py v2.3.1 ကို ထုတ်လုပ်နေသည်
ပရောဂျက်တည်ဆောက်မှုပြီးပါပြီ။ ဖလက်ရှ်လုပ်ရန်၊ ဤအမိန့်ကို ဖွင့်ပါ- ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world။ bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin သို့မဟုတ် 'idf.py -p PORT flash' ကို run ပါ။
အမှားအယွင်းများမရှိပါက၊ firmware binary .bin ကိုထုတ်ပေးခြင်းဖြင့် တည်ဆောက်မှုပြီးဆုံးပါမည်။ files.

Espressif စနစ်များ

20 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
စက်ပစ္စည်းပေါ်တွင် ဖလက်ရှ်မီးလင်းပါ - သင်ခုလေးတင်တည်ဆောက်ခဲ့သော binaries (bootloader.bin၊ partition-table.bin နှင့် hello_world.bin) ကို run ခြင်းဖြင့် သင်၏ ESP32 ဘုတ်ပေါ်တွင် flash ပါ- idf.py -p PORT [-b BAUD] flash
PORT ကို သင်၏ ESP32 ဘုတ်ပြား အမှတ်စဉ် ပို့တ်အမည်ဖြင့် အစားထိုးပါ။ BAUD ကို သင်လိုအပ်သော baud နှုန်းဖြင့် အစားထိုးခြင်းဖြင့် flasher baud နှုန်းကိုလည်း သင်ပြောင်းလဲနိုင်သည်။ မူရင်း baud နှုန်းသည် 460800 ဖြစ်သည်။ idf.py အကြောင်းပြချက်များအတွက် နောက်ထပ်အချက်အလက်များအတွက် idf.py ကိုကြည့်ပါ။
မှတ်ချက်- ရွေးချယ်ခွင့် flash သည် ပရောဂျက်ကို အလိုအလျောက် တည်ဆောက်ပြီး flash စေသောကြောင့် idf.py တည်ဆောက်မှုကို လုပ်ဆောင်ရန် မလိုအပ်ပါ။

Flashing လုပ်နေစဉ် ပြဿနာများ ကြုံတွေ့နေရပါသလား။ အကယ်၍ သင်သည် ပေးထားသော command ကို run ပြီး connectp toFailed ကဲ့သို့သော Error များကိုတွေ့ပါက၊ ၎င်းအတွက် အကြောင်းပြချက်များစွာရှိနိုင်ပါသည်။ အကြောင်းရင်းများထဲမှတစ်ခုမှာ chip ကိုပြန်လည်သတ်မှတ်ရန်၊ ROM bootloader နှင့် flash firmware တို့ကိုတည်ဆောက်ရန်စနစ်မှခေါ်သော utility မှ esptool.py မှကြုံတွေ့ရသောပြဿနာများဖြစ်နိုင်သည်။ စမ်းကြည့်ရန် ရိုးရှင်းသော ဖြေရှင်းချက်တစ်ခုမှာ အောက်တွင်ဖော်ပြထားသော လူကိုယ်တိုင် ပြန်လည်သတ်မှတ်ခြင်းဖြစ်ပြီး ၎င်းသည် မကူညီပါက ပြဿနာဖြေရှင်းခြင်းတွင် ဖြစ်နိုင်သောအသေးစိတ်အချက်အလက်များကို သင်ရှာဖွေနိုင်ပါသည်။
esptool.py သည် USB ၏ DTR နှင့် RTS ထိန်းချုပ်မှုလိုင်းများကို အမှတ်စဉ်ပြောင်းပေးသည့် ချစ်ပ်၊ ဆိုလိုသည်မှာ FTDI သို့မဟုတ် CP210x (အသေးစိတ်အချက်အလက်များအတွက် ESP32 ဖြင့် Serial Connection ကိုတည်ဆောက်ခြင်းအား ကြည့်ပါ။ DTR နှင့် RTS ထိန်းချုပ်မှုလိုင်းများသည် ESP32 ၏ GPIO0 နှင့် CHIP_PU (EN) pins များနှင့် ချိတ်ဆက်ထားသောကြောင့် vol တွင် ပြောင်းလဲသွားသည်tagDTR နှင့် RTS ၏ e အဆင့်များသည် ESP32 ကို Firmware ဒေါင်းလုဒ်မုဒ်သို့ စတင်ပါမည်။ ဟောင်းတစ်ယောက်အနေနဲ့ampLe၊ ESP32 DevKitC ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့အတွက် ဇယားကွက်ကို စစ်ဆေးပါ။
ယေဘုယျအားဖြင့်၊ သင်သည် တရားဝင် esp-idf ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်များနှင့် ပြဿနာမရှိသင့်ပါ။ သို့သော်၊ esptool.py သည် အောက်ပါကိစ္စများတွင် သင့် hardware ကို အလိုအလျောက် ပြန်လည်သတ်မှတ်နိုင်ခြင်း မရှိပါ-
· သင်၏ ဟာ့ဒ်ဝဲတွင် GPIO0 နှင့် CHIP_PU နှင့် ချိတ်ဆက်ထားသော DTR နှင့် RTS လိုင်းများ မပါရှိပါ။
သင့်တွင်ရှိသော ဟာ့ဒ်ဝဲအမျိုးအစားပေါ် မူတည်၍ သင်၏ ESP32 ဘုတ်အား Firmware ဒေါင်းလုဒ်မုဒ် (ပြန်လည်သတ်မှတ်ခြင်း) တွင် ကိုယ်တိုင်ထည့်သွင်းနိုင်သည်။
· Espressif မှထုတ်လုပ်သော ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့များအတွက်၊ ဤအချက်အလက်ကို သက်ဆိုင်ရာ စတင်ခြင်းလမ်းညွှန်များ သို့မဟုတ် အသုံးပြုသူလမ်းညွှန်များတွင် တွေ့ရှိနိုင်ပါသည်။ ဟောင်းအတွက်ample၊ ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ကို ကိုယ်တိုင်ပြန်လည်သတ်မှတ်ရန်၊ Boot ခလုတ် (GPIO0) ကို ဖိထားပြီး EN ခလုတ် (CHIP_PU) ကို နှိပ်ပါ။
· အခြားသော ဟာ့ဒ်ဝဲအမျိုးအစားများအတွက် GPIO0 ကို အောက်သို့ ဆွဲချကြည့်ပါ။

ပုံမှန်လုပ်ဆောင်ချက် မှိတ်တုတ်မှိတ်တုတ်မှိတ်တုတ်ပြသောအခါ၊ အောက်ပါနှင့်ဆင်တူသော output log ကိုတွေ့ရပါမည်။
… 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 partition00xtable. bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 ချိတ်ဆက်နေသည်…….._ Chip သည် ESP32D0WDQ6 (ပြန်လည်ပြင်ဆင်မှု 0) အင်္ဂါရပ်များ- WiFi၊ BT၊ Dual Core၊ Coding Scheme None MAC 24:0a:c4:05:b9:14 ဆောင်းပါးတိုကို အပ်လုဒ်လုပ်နေသည်… ဆောင်းပါးတိုကို လည်ပတ်နေသည်… ပင်တိုင်ကို လည်ပတ်နေသည်… ဖြတ်ပိုင်းကို လည်ပတ်နေသည်… baud နှုန်းကို 460800 သို့ ပြောင်းလဲခြင်းသို့ ပြောင်းလဲခဲ့သည်။
(နောက်စာမျက်နှာတွင် ဆက်ရန်)

Espressif စနစ်များ

21 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
(ယခင်စာမျက်နှာမှ ဆက်လက်ဖော်ပြသည်) flash အရွယ်အစားကို ပြင်ဆင်ခြင်း… 3072 bytes မှ 103 သို့ ဖိသိပ်ထားသည်… 0x00008000… (100%) တွင် 3072 bytes (103 compressed) ကို 0x00008000 ဖြင့် 0.0 စက္ကန့်အတွင်း 0x00008000 ဖြင့် ရေးသားခဲ့သည်… (ထိရောက်သော 59662s.8 ဒေတာကို အတည်ပြုပြီးဖြစ်သည်) 26096 bytes ကို 15408 သို့ ဖိသိပ်ထားသည်… 0x00001000… (100%) တွင် 26096 bytes (15408 compressed) ကို 0x00001000 ဖြင့် 0.4 စက္ကန့်အတွင်း 0x00001000 (ဒေတာ 546.7 kbit/s ထိရောက်စွာ အတည်ပြုထားသည်)… 147104 bytes ကို 77364 သို့ ချုံ့ထားသည်… 0x00010000… (20%) ဖြင့် 0x00014000… (40%) 0x00018000… (60%) ဖြင့်ရေးနေသည်… (20%) at 0x00018000… 0x00020000… (100%) သည် 147104 bytes (77364 ချုံ့ထားသည်) 1.9 စက္ကန့်အတွင်း 0x00010000 (ထိရောက်သော 615. 5 kbit/s)… ဒေတာ hash ကို အတည်ပြုပြီးပါပြီ။
ထွက်နေသည်… RTS ပင်နံပါတ်မှတစ်ဆင့် ပြန်လည်သတ်မှတ်ခြင်း… ပြီးပါပြီ။
Flash လုပ်ငန်းစဉ်အဆုံးတွင် ပြဿနာတစ်စုံတစ်ရာမရှိပါက၊ ဘုတ်သည် ပြန်လည်စတင်ပြီး theohello_worldpapplication ကို စတင်မည်ဖြစ်သည်။ idf.py ကိုအသုံးပြုမည့်အစား Eclipse သို့မဟုတ် VS Code IDE ကိုအသုံးပြုလိုပါက Eclipse Plugin၊ VSCode Extension ကိုကြည့်ပါ။
အထွက်ကို စောင့်ကြည့်ပါ ohello_worldpis အမှန်တကယ် လည်ပတ်ခြင်း ရှိ၊ မရှိ စစ်ဆေးရန်၊ idf.py -p PORT monitor ကို ရိုက်ထည့်ပါ (သင်၏ အမှတ်စဉ် ပို့တ်အမည်ဖြင့် PORT ကို အစားထိုးရန် မမေ့ပါနှင့်)။
ဤအမိန့်တော်သည် IDF Monitor အပလီကေးရှင်းကို စတင်သည်-
$idf.py -p လမ်းညွှန်တွင် idf_monitor အလုပ်လုပ်နေခြင်းကို စောင့်ကြည့် […]/esp/hello_world/build “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor ကိုဖွင့်ပါ 115200 —– ထွက်ရန်- Ctrl+] | မီနူး- Ctrl+T | အကူအညီ- Ctrl+T ၏နောက်တွင် Ctrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 …
စတင်ပြီး ရောဂါရှာဖွေရေး မှတ်တမ်းများကို ရွှေ့ပြီးနောက်၊ oHello world! အပလီကေးရှင်းမှ ပရင့်ထုတ်ထားသည်ကို သင်တွေ့ရပါမည်။
… မင်္ဂလာပါကမ္ဘာလောက! 10 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်… ၎င်းသည် CPU core(များ) 2 ခု၊ WiFi/BT/BLE၊ ဆီလီကွန်ပြန်လည်ပြင်ဆင်မှု 1၊ 2MB ပြင်ပဖလက်ရှ် အနိမ့်ဆုံးအခမဲ့ heap အရွယ်အစား- 298968 bytes 9 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်… 8 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်… 7 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်…
IDF မော်နီတာမှ ထွက်ရန် ဖြတ်လမ်းလင့်ခ် Ctrl+] ကို အသုံးပြုပါ။

Espressif စနစ်များ

22 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
အကယ်၍ IDF မော်နီတာသည် အပ်လုဒ်လုပ်ပြီးနောက် မကြာမီ ပျက်ကွက်ပါက သို့မဟုတ် အထက်ဖော်ပြပါ မက်ဆေ့ချ်များအစား အောက်တွင်ဖော်ပြထားသော ကျပန်းအမှိုက်များနှင့် ဆင်တူသည်ကို သင်တွေ့မြင်ရပါက သင့်ဘုတ်သည် 26 MHz ပုံဆောင်ခဲကို အသုံးပြုထားနိုင်ဖွယ်ရှိသည်။ ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့ ဒီဇိုင်းအများစုသည် 40 MHz ကိုအသုံးပြုသောကြောင့် ESP-IDF သည် ဤအကြိမ်ရေကို မူရင်းတန်ဖိုးအဖြစ် အသုံးပြုသည်။

သင့်တွင်ထိုကဲ့သို့သောပြဿနာရှိပါက၊ အောက်ပါတို့ကိုလုပ်ဆောင်ပါ- 1. မော်နီတာမှထွက်ပါ။ 2. menuconfig သို့ပြန်သွားပါ။ 3. Component config > Hardware Settings > Main XTAL Config > Main XTAL frequency သို့သွားပါ၊ ထို့နောက် CONFIG_XTAL_FREQ_SEL သို့ 26 MHz သို့ပြောင်းပါ။ 4. ထို့နောက် အပလီကေးရှင်းကို တည်ဆောက်ပြီး ထပ်မံ flash လုပ်ပါ။
ESP-IDF ၏ လက်ရှိဗားရှင်းတွင်၊ ESP32 မှပံ့ပိုးပေးသော ပင်မ XTAL ကြိမ်နှုန်းများမှာ အောက်ပါအတိုင်းဖြစ်သည်-
· 26 MHz · 40 MHz
မှတ်ချက်- တည်ဆောက်ခြင်း၊ မှိတ်တုတ်မှိတ်တုတ်နှင့် စောင့်ကြည့်ခြင်းတို့ကို အဆင့်တစ်ဆင့်သို့ ပေါင်းစပ်နိုင်သည်- idf.py -p PORT flash monitor
ကိုလည်းကြည့်ပါ- · IDF Monitor အသုံးပြုခြင်းအတွက် လွယ်ကူသောဖြတ်လမ်းများနှင့် နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက် IDF Monitor။ · idf.py ညွှန်ကြားချက်များနှင့် ရွေးချယ်စရာများ အပြည့်အစုံကို ကိုးကားရန်အတွက် idf.py
ESP32 ဖြင့် စတင်ရန် လိုအပ်သည်များ အားလုံးပင်ဖြစ်သည်။ အခု သင်ဟာ တခြားရည်းစားဟောင်းကို စမ်းကြည့်ဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။amples၊ သို့မဟုတ် သင့်ကိုယ်ပိုင်အက်ပ်လီကေးရှင်းကို ဖော်ဆောင်ရန် တိုက်ရိုက်သွားပါ။
အရေးကြီးသည်- အချို့သော exampလိုအပ်သော ဟာ့ဒ်ဝဲသည် ESP32 တွင် မပါဝင်သောကြောင့် ESP32 ကို မပံ့ပိုးနိုင်သောကြောင့် ၎င်းကို ပံ့ပိုးမပေးနိုင်ပါ။ ex ဆောက်ရင်ampကျေးဇူးပြု၍ README ကိုစစ်ဆေးပါ။ file Supported Targets ဇယားအတွက်။ အကယ်၍ ၎င်းသည် ESP32 ပစ်မှတ် အပါအဝင် သို့မဟုတ် ဇယား လုံးဝမရှိပါက၊ ဥပမာample သည် ESP32 တွင်အလုပ်လုပ်လိမ့်မည်။
ထပ်လောင်းအကြံပြုချက်များ
ခွင့်ပြုချက်ပြဿနာများ /dev/ttyUSB0 အချို့သော Linux ဖြန့်ဖြူးမှုများနှင့်အတူ ESP32 ကို flashing လုပ်သောအခါ port /dev/ttyUSB0 ကိုဖွင့်ရန် မအောင်မြင်သော အမှားသတင်းကို သင်ရရှိနိုင်ပါသည်။ ဒိုင်ယာလက်အဖွဲ့သို့ လက်ရှိအသုံးပြုသူကို ပေါင်းထည့်ခြင်းဖြင့် ၎င်းကို ဖြေရှင်းနိုင်ပါသည်။
Python နှင့် လိုက်ဖက်သော ESP-IDF သည် Python 3.7 သို့မဟုတ် ၎င်းထက် ပိုအသစ်များကို ပံ့ပိုးပေးသည်။ ဤလိုအပ်ချက်ကို ဖြည့်ဆည်းပေးသည့် သင်၏လည်ပတ်မှုစနစ်ကို မကြာသေးမီကဗားရှင်းသို့ အဆင့်မြှင့်ရန် အကြံပြုထားသည်။ အခြားရွေးချယ်စရာများတွင် ရင်းမြစ်များမှ Python ကို တပ်ဆင်ခြင်း သို့မဟုတ် pyenv ကဲ့သို့သော Python ဗားရှင်းစီမံခန့်ခွဲမှုစနစ် အသုံးပြုခြင်း။
ဘုတ်အဖွဲ့ပံ့ပိုးမှုပက်ကေ့ချ်ဖြင့် စတင်ပါ အချို့သော ဖွံ့ဖြိုးရေးဘုတ်အဖွဲ့များတွင် ပုံတူပုံစံရိုက်ခြင်းကို အရှိန်မြှင့်ရန်၊ ဘုတ်အဖွဲ့ပံ့ပိုးမှုပက်ကေ့ခ်ျများ (BSPs) ကို အသုံးပြု၍ လုပ်ဆောင်ချက်အနည်းငယ်သာခေါ်ဆိုမှုများကဲ့သို့ ဘုတ်အဖွဲ့တစ်ခု၏ ကနဦးအစပြုခြင်းကို လွယ်ကူစေသည်။

Espressif စနစ်များ

23 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

BSP သည် ပုံမှန်အားဖြင့် developer board တွင်ပေးထားသော hardware အစိတ်အပိုင်းအားလုံးကို ပံ့ပိုးပေးပါသည်။ pinout အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် ကနဦးလုပ်ဆောင်ချက်များအပြင် BSP သည် အာရုံခံကိရိယာများ၊ ပြသမှုများ၊ အော်ဒီယိုကုဒ်ဒစ်များကဲ့သို့သော ပြင်ပအစိတ်အပိုင်းများအတွက် ယာဉ်မောင်းများပါရှိသည်။ BSP များကို IDF Component Manager မှတစ်ဆင့် ဖြန့်ဝေထားသောကြောင့် ၎င်းတို့ကို IDF Component Registry တွင် တွေ့ရှိနိုင်ပါသည်။ Herens က ရည်းစားဟောင်းampသင့်ပရောဂျက်သို့ ESP-WROVER-KIT BSP ထည့်နည်း၏ idf.py add-dependency esp_wrover_kit
ပိုပိုampBSP အသုံးပြုမှုကို BSP ဟောင်းတွင် တွေ့ရှိနိုင်သည်။amples ဖိုဒါ။
ဆက်စပ်စာရွက်စာတမ်းများ ထည့်သွင်းခြင်းလုပ်ငန်းစဉ်ကို စိတ်ကြိုက်ပြင်ဆင်လိုသော အဆင့်မြင့်အသုံးပြုသူများအတွက်- · Windows တွင် ESP-IDF ကိရိယာများကို အပ်ဒိတ်လုပ်ခြင်း · ESP32 ဖြင့် Serial Connection ကို တည်ဆောက်ခြင်း · Eclipse Plugin · VSCode Extension · IDF Monitor
Windows တွင် ESP-IDF ကိရိယာများကို အပ်ဒိတ်လုပ်နေသည်။
Windows Command Prompt မှ script ကို အသုံးပြု၍ ESP-IDF ကိရိယာများကို ထည့်သွင်းပါ၊ ESPIDF ထည့်သွင်းသည့် လမ်းညွှန်သို့ ပြောင်းပါ။ ထို့နောက် run
install.bat
Powershell အတွက် ESP-IDF ထည့်သွင်းသည့် လမ်းညွှန်သို့ ပြောင်းပါ။ ထို့နောက် run
install.ps1
၎င်းသည် ESP-IDF အသုံးပြုရန် လိုအပ်သော ကိရိယာများကို ဒေါင်းလုဒ်လုပ်ပြီး တပ်ဆင်ပါမည်။ ကိရိယာ၏ သီးခြားဗားရှင်းကို ထည့်သွင်းပြီးဖြစ်ပါက မည်သည့်လုပ်ဆောင်မှုမျှ လုပ်ဆောင်မည်မဟုတ်ပါ။ ကိရိယာများကို ESP-IDF Tools Installer လုပ်ငန်းစဉ်အတွင်း သတ်မှတ်ထားသည့် လမ်းညွှန်တစ်ခုတွင် ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းထားသည်။ မူရင်းအားဖြင့်၊ ၎င်းသည် C:Userusername.espressif ဖြစ်သည်။
ပို့ကုန် script ESP-IDF ကိရိယာများ ထည့်သွင်းသူအား အသုံးပြု၍ PATH သို့ ESP-IDF ကိရိယာများကို ပေါင်းထည့်ခြင်းသည် oESP-IDF Command Promptp အတွက် Start menu ဖြတ်လမ်းကို ဖန်တီးပေးသည်။ ဤဖြတ်လမ်းလင့်ခ်သည် ကိရိယာအားလုံးရှိပြီးသားဖြစ်သော Command Prompt ဝင်းဒိုးကို ဖွင့်ပေးသည်။
ရရှိနိုင် အချို့ကိစ္စများတွင်၊ သင်သည် ထိုဖြတ်လမ်းကို စတင်အသုံးပြုခြင်းမရှိသည့် Command Prompt ဝင်းဒိုးတွင် ESP-IDF နှင့် လုပ်ဆောင်လိုပေမည်။ ထိုသို့ဖြစ်လျှင် ESP-IDF ကိရိယာများကို PATH သို့ထည့်ရန် အောက်ပါညွှန်ကြားချက်များကို လိုက်နာပါ။ သင် ESP-IDF ကိုအသုံးပြုရန်လိုအပ်သည့် command prompt တွင်၊ ESP-IDF ထည့်သွင်းထားသည့် directory သို့ပြောင်းပါ၊ ထို့နောက် export.bat ကိုလုပ်ဆောင်ပါ-
cd %userprofile%espesp-idf export.bat
တစ်နည်းအားဖြင့် သင် ESP-IDF ကိုအသုံးပြုရန်လိုအပ်သည့် Powershell တွင်၊ ESP-IDF ထည့်သွင်းသည့်လမ်းညွှန်သို့ပြောင်းပါ၊ ထို့နောက် export.ps1 ကိုလုပ်ဆောင်ပါ-
cd ~/esp/esp-idf export.ps1
၎င်းကိုပြီးသောအခါ၊ ကိရိယာများကို ဤ command prompt တွင် ရနိုင်မည်ဖြစ်သည်။
ESP32 ဖြင့် Serial Connection ကိုတည်ဆောက်ပါ ဤအပိုင်းသည် ESP32 နှင့် PC အကြား serial connection ကိုတည်ဆောက်နည်း လမ်းညွှန်ပေးပါသည်။

Espressif စနစ်များ

24 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
ESP32 ကို PC နှင့် ချိတ်ဆက်ပါ USB ကြိုးကို အသုံးပြု၍ ESP32 ဘုတ်အား PC သို့ ချိတ်ဆက်ပါ။ စက်ပစ္စည်းဒရိုက်ဗာသည် အလိုအလျောက်ထည့်သွင်းခြင်းမရှိပါက၊ သင်၏ ESP32 ဘုတ်ပေါ်တွင် USB to serial converter chip ကို ခွဲခြားသတ်မှတ်ပါ၊ အင်တာနက်ရှိ ဒရိုက်ဘာများကို ရှာဖွေပြီး ၎င်းတို့ကို ထည့်သွင်းပါ။ အောက်တွင် Espressif မှ ထုတ်လုပ်သော ESP32 ဘုတ်အများစုတွင် ထည့်သွင်းထားသည့် USB to serial converter ချစ်ပ်များစာရင်းသည် ဒရိုက်ဗာများသို့ လင့်ခ်များနှင့်အတူ-
· CP210x: CP210x USB to UART Bridge VCP Drivers · FTDI: FTDI Virtual COM Port Drivers ကျေးဇူးပြု၍ သတ်မှတ်ထားသော USB to serial converter ချစ်ပ်ကို အသုံးပြုထားသော ဘုတ်အဖွဲ့အသုံးပြုသူလမ်းညွှန်ကို စစ်ဆေးပါ။ အထက်ဖော်ပြပါ ယာဉ်မောင်းများသည် အဓိက ရည်ညွှန်းချက်ဖြစ်သည်။ ပုံမှန်အခြေအနေများတွင်၊ ယာဉ်မောင်းများကို လည်ပတ်မှုစနစ်တစ်ခုဖြင့် ထုပ်ပိုးထားသင့်ပြီး ဘုတ်ကို PC နှင့်ချိတ်ဆက်သည့်အခါ အလိုအလျောက်ထည့်သွင်းသင့်သည်။
Windows ပေါ်ရှိ port ကိုစစ်ဆေးပါ Windows Device Manager ရှိ သတ်မှတ်ထားသော COM port များစာရင်းကို စစ်ဆေးပါ။ ESP32 ကို ချိတ်ဆက်မှုဖြုတ်ပြီး ပြန်ချိတ်ဆက်ပါ၊ မည်သည့် port သည် စာရင်းမှ ပျောက်ကွယ်သွားသည်ကို စစ်ဆေးပြီးနောက် ထပ်မံပြသသည်။ အောက်ဖော်ပြပါပုံများသည် ESP32 DevKitC နှင့် ESP32 WROVER KIT အတွက် အမှတ်စဉ်အပေါက်ကို ပြသည်

ပုံ 13- Windows Device Manager ရှိ ESP32-DevKitC ၏ USB မှ UART တံတား

Linux နှင့် macOS ပေါ်ရှိ port ကိုစစ်ဆေးရန် သင်၏ ESP32 ဘုတ် (သို့မဟုတ် ပြင်ပ converter dongle) ၏ အမှတ်စဉ်အပေါက်အတွက် စက်ပစ္စည်းအမည်ကို စစ်ဆေးရန်၊ ဤအမိန့်ကို နှစ်ကြိမ်ဖွင့်ပါ၊ ပထမအကြိမ် board/dongle ကို ပလပ်ဖြုတ်ထားပြီး၊ ထို့နောက် ပလပ်ထိုးသွင်းပါ။ ဒုတိယအကြိမ်တွင် ပေါ်လာသည့် port သည် သင်လိုအပ်သည့်အရာဖြစ်သည်- Linux
ls /dev/tty*
macOS

Espressif စနစ်များ

25 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 14- Windows Device Manager ရှိ ESP-WROVER-KIT ၏ USB Serial Ports နှစ်ခု

Espressif စနစ်များ

26 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ls /dev/cu.* မှတ်ချက်- macOS အသုံးပြုသူများ- serial port ကို မတွေ့ပါက၊ USB/serial drivers များ ထည့်သွင်းထားကြောင်း စစ်ဆေးပါ။ ယာဉ်မောင်းများနှင့် လင့်ခ်များအတွက် ESP32 ကို PC သို့ ချိတ်ဆက်ပါ အပိုင်းကို ကြည့်ပါ။ macOS High Sierra (10.13) အတွက်၊ သင်သည် ဒရိုက်ဗာများကို တင်ရန် အတိအလင်း ခွင့်ပြုရန် လိုအပ်ပါသည်။ System Preferences -> Security & Privacy -> General ကိုဖွင့်ပြီး ဆော့ဖ်ဝဲအမည် Silicon Labs သို့မဟုတ် FTDI ဟူသော ဆော့ဖ်ဝဲရေးသားသူထံမှ oSystem Software အကြောင်း ဤနေရာတွင် ပြသထားသော မက်ဆေ့ချ်ရှိမရှိ စစ်ဆေးပါ။

Linux တွင် ဒိုင်ယာလော့ခ်ဖွင့်ရန် အသုံးပြုသူကို ပေါင်းထည့်ခြင်း လက်ရှိ လော့ဂ်လုပ်ထားသော အသုံးပြုသူသည် USB မှတဆင့် အမှတ်စဉ်အပေါက်ကို ဖတ်ရှုပြီး စာရေးခွင့်ရှိသင့်သည်။ Linux ဖြန့်ဝေမှုအများစုတွင်၊ အသုံးပြုသူကို အောက်ပါ command ဖြင့် dialout group သို့ ထည့်ခြင်းဖြင့် ၎င်းကို လုပ်ဆောင်သည်-
sudo usermod -a -G dialout $USER
Arch Linux တွင် အောက်ပါ command ဖြင့် အသုံးပြုသူကို uucp အဖွဲ့သို့ ပေါင်းထည့်ခြင်းဖြင့် လုပ်ဆောင်သည်-
sudo usermod -a -G uucp $USER
နံပါတ်စဉ်အပေါက်အတွက် ဖတ်ရှုခြင်းနှင့် ရေးခြင်းခွင့်ပြုချက်များကို ဖွင့်ရန် သင်သည် ပြန်လည်ဝင်ရောက်ကြောင်း သေချာပါစေ။
အမှတ်စဉ်ချိတ်ဆက်မှုကို စစ်ဆေးအတည်ပြုပါ ယခု အမှတ်စဉ်ချိတ်ဆက်မှု လည်ပတ်နေပြီဖြစ်ကြောင်း စစ်ဆေးပါ။ ESP32 ကိုပြန်လည်သတ်မှတ်ပြီးနောက် သင်သည် terminal တွင် output တစ်ခုခုရလာသလားစစ်ဆေးခြင်းဖြင့် အမှတ်စဉ် terminal ပရိုဂရမ်ကို အသုံးပြု၍ ၎င်းကို သင်လုပ်ဆောင်နိုင်သည်။ ESP32 ရှိ မူရင်းကွန်ဆိုးလ် baud နှုန်းသည် 115200 ဖြစ်သည်။
Windows နှင့် Linux တွင် ဤ exampWindows နှင့် Linux နှစ်မျိုးလုံးအတွက် ရနိုင်သော PuTTY SSH Client ကို အသုံးပြုပါမည်။ သင်သည် အခြား အမှတ်စဉ် ပရိုဂရမ်များကို သုံးနိုင်ပြီး အောက်ပါကဲ့သို့ ဆက်သွယ်မှု ဘောင်များကို သတ်မှတ်နိုင်သည်။ Terminal ကို run ပြီး identified serial port ကို သတ်မှတ်ပါ။ Baud နှုန်း = 115200 (လိုအပ်ပါက ၎င်းကို အသုံးပြုနေသည့် ချစ်ပ်၏ မူရင်း baud နှုန်းသို့ ပြောင်းပါ)၊ ဒေတာဘစ် = 8၊ ရပ်တန့်ဘစ် = 1၊ နှင့် ပါရီ = N။ အောက်တွင် ဟောင်းများဖြစ်သည်။ampWindows နှင့် Linux ရှိ 115200-8-1-N အဖြစ် အတိုချုံးဖော်ပြသော port နှင့် ထိုကဲ့သို့သော ထုတ်လွှင့်မှုဘောင်များ သတ်မှတ်ခြင်းဆိုင်ရာ ဖန်သားပြင်ဓာတ်ပုံများ။ အထက်ဖော်ပြပါ အဆင့်များတွင် သင်သတ်မှတ်ထားသော တူညီသော အမှတ်စဉ် ဆိပ်ကမ်းကို ရွေးရန် မမေ့ပါနှင့်။ ထို့နောက် terminal တွင် serial port ကိုဖွင့်ပြီး ESP32 ဖြင့် ရိုက်နှိပ်ထားသော မှတ်တမ်းကိုတွေ့ပါက စစ်ဆေးပါ။ မှတ်တမ်းအကြောင်းအရာများသည် ESP32 သို့ တင်ထားသော အပလီကေးရှင်းပေါ်တွင် မူတည်လိမ့်မည်၊ Ex တွင်ကြည့်ပါ။ample Output ။
မှတ်ချက်- ဆက်သွယ်မှုလုပ်ဆောင်နေကြောင်း အတည်ပြုပြီးနောက် အမှတ်စဉ်ဂိတ်ကို ပိတ်ပါ။ အကယ်၍ သင်သည် terminal စက်ရှင်ကိုဖွင့်ထားပါက၊ နောက်ပိုင်းတွင် ဖိုင်းဝဲကို အပ်လုဒ်တင်ရန်အတွက် နံပါတ်စဉ်အပေါက်သည် မရနိုင်တော့ပါ။

macOS နံပါတ်စဉ် terminal ပရိုဂရမ်ကို တပ်ဆင်ရာတွင် ပြဿနာကို ကင်းဝေးစေရန် macOS သည် မျက်နှာပြင် အမိန့်ပေးသည်။ · Linux နှင့် macOS ရှိ Check port တွင် ဆွေးနွေးထားသည့်အတိုင်း run သည်-

ls /dev/cu.* · အလားတူ output ကို သင်တွေ့ရပါမည်။

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

/dev/cu.SLAB_

· သင့် PC သို့ ချိတ်ဆက်ထားသော ဘုတ်အမျိုးအစားနှင့် ဘုတ်အရေအတွက်ပေါ်မူတည်၍ အထွက်သည် ကွဲပြားလိမ့်မည်။ ထို့နောက် သင့်ဘုတ်၏ စက်ပစ္စည်းအမည်ကို ရွေးပြီး run (လိုအပ်ပါက၊ အသုံးပြုနေသော ချစ်ပ်၏ မူရင်း baud နှုန်းသို့ o115200p သို့ ပြောင်းပါ)

စခရင် /dev/cu.device_name 115200 ls /dev/cu.* ဖြင့် အလုပ်လုပ်သည်ကို တွေ့ရသော အမည်ဖြင့် device_name ကို အစားထိုးပါ။

Espressif စနစ်များ

27 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 15- Windows တွင် PuTTY တွင် Serial Communication ကို သတ်မှတ်ခြင်း။

Espressif စနစ်များ

28 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ပုံ 16- Linux တွင် PuTTY တွင် Serial Communication ကို သတ်မှတ်ခြင်း။

Espressif စနစ်များ

29 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
· သင်ရှာဖွေနေသည့်အရာသည် မျက်နှာပြင်မှပြသထားသည့် မှတ်တမ်းအချို့ဖြစ်သည်။ မှတ်တမ်းအကြောင်းအရာများသည် ESP32 သို့ တင်ထားသော အပလီကေးရှင်းပေါ်တွင် မူတည်လိမ့်မည်၊ Ex တွင်ကြည့်ပါ။ample Output ။ စခရင်စက်ရှင်မှထွက်ရန် Ctrl-A+ ကိုရိုက်ထည့်ပါ။
မှတ်ချက်- ဆက်သွယ်မှု အလုပ်လုပ်ကြောင်း အတည်ပြုပြီးနောက် ဖန်သားပြင်စက်ရှင်မှ ထွက်ရန် မမေ့ပါနှင့်။ ၎င်းကို သင်လုပ်ဆောင်ရန် ပျက်ကွက်ပြီး terminal window ကို ပိတ်လိုက်ပါက၊ serial port သည် နောက်ပိုင်းတွင် firmware တင်ခြင်းအတွက် မရနိုင်ပါ။
Example Output An example log ကို အောက်မှာ ပြထားပါတယ်။ ဘာမှမတွေ့ပါက ဘုတ်ကို ပြန်လည်သတ်မှတ်ပါ။ ets Jun 8 2016 00:22:57
ပထမအကြိမ်- 0x5 (DEEPSLEEP_RESET), boot-0x13 (SPI_FAST_FLASH_BOOT) et ဇွန် 8 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0008,len:8 load:0x3fff0010,len:3464 load:0x40078000,len:7828 load:0x40080000,len:252 entry 0x40080034 I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader I (45) boot: compile time 18:48:10

ဖတ်ရှုနိုင်သော မှတ်တမ်းအထွက်ကို သင်မြင်နိုင်ပါက၊ နံပါတ်စဉ်ချိတ်ဆက်မှု အလုပ်လုပ်နေပြီဟု ဆိုလိုပြီး သင်ထည့်သွင်းခြင်းအား ဆက်လက်လုပ်ဆောင်ရန် အဆင်သင့်ဖြစ်နေပြီဖြစ်ပြီး နောက်ဆုံးတွင် အပလီကေးရှင်းကို ESP32 သို့ အပ်လုဒ်လုပ်ပါ။
မှတ်ချက်- အချို့သော serial port wiring configurations အတွက်၊ ESP32 ကို စတင်ပြီး serial output မထုတ်မီ serial RTS နှင့် DTR pins များကို terminal program တွင် disable လုပ်ထားရန်လိုအပ်ပါသည်။ ၎င်းသည် ဟာ့ဒ်ဝဲပေါ်တွင်မူတည်သည်၊ ဖွံ့ဖြိုးရေးဘုတ်များ (Espressif ဘုတ်များ အားလုံးအပါအဝင်) အများစုသည် ဤပြဿနာမရှိပါ။ RTS & DTR သည် EN & GPIO0 pins များသို့ တိုက်ရိုက် ကြိုးတပ်ပါက ပြဿနာရှိနေပါသည်။ အသေးစိတ်အချက်အလက်များအတွက် esptool စာရွက်စာတမ်းကို ကြည့်ပါ။
အကယ်၍ သင်သည် အဆင့် 5 မှ ဤနေရာသို့ ရောက်ရှိခဲ့သည်။ ESP-IDF အတွက် ပထမအဆင့်များ ESP32 ဖွံ့ဖြိုးတိုးတက်မှုအတွက် s/w ကို ထည့်သွင်းသည့်အခါ၊ ထို့နောက် အဆင့် 5 ဖြင့် ဆက်လက်လုပ်ဆောင်နိုင်သည်။ ESP-IDF ၏ ပထမအဆင့်များ။
IDF Monitor IDF Monitor သည် အဓိကအားဖြင့် serial data များကို ပစ်မှတ် devicens serial port သို့ relay ပေးသည့် serial terminal program တစ်ခုဖြစ်သည်။ ၎င်းသည် IDF ၏ သီးခြားအင်္ဂါရပ်အချို့ကိုလည်း ပေးဆောင်သည်။ IDF Monitor ကို idf.py မော်နီတာကို အသုံးပြုခြင်းဖြင့် IDF ပရောဂျက်တစ်ခုမှ စတင်နိုင်သည်။
ကီးဘုတ်ဖြတ်လမ်းများ IDF Monitor နှင့် လွယ်ကူစွာ အပြန်အလှန်ဆက်သွယ်နိုင်စေရန်၊ ဇယားတွင်ပေးထားသည့် ကီးဘုတ်ဖြတ်လမ်းများကို အသုံးပြုပါ။

Espressif စနစ်များ

30 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

ကီးဘုတ်ဖြတ်လမ်း Ctrl+] Ctrl+T
· Ctrl+T
· Ctrl+] · Ctrl+P
· Ctrl+R
· Ctrl+F
· Ctrl+A (သို့မဟုတ် A)
· Ctrl+Y
· Ctrl+L
· Ctrl+I (သို့မဟုတ် I)
· Ctrl+H (သို့မဟုတ် H)
· Ctrl+X (သို့မဟုတ် X)
Ctrl+C

အက်ရှင်

ဖော်ပြချက်

ပရိုဂရမ်မီနူးအလွတ်ခလုတ်မှထွက်ပြီး မီနူးဇာတ်ကောင်ကို အဝေးထိန်းထံ ပေးပို့ပါ။
ထွက်ပေါက်ဇာတ်ကောင်ကို အဝေးထိန်းသို့ ပို့ပါ။
RTS လိုင်းမှတစ်ဆင့် အက်ပ်ကိုခေတ္တရပ်ရန် ပစ်မှတ်အား bootloader သို့ ပြန်လည်သတ်မှတ်ပါ။
ပစ်မှတ်ဘုတ်အား RTS မှတစ်ဆင့် ပြန်လည်သတ်မှတ်ပါ။
ပရောဂျက်ကို တည်ဆောက်ပြီး flash လုပ်ပါ။

အက်ပ်ကို တည်ဆောက်ပြီး ဖလက်ရှ်လုပ်ပါ။

မျက်နှာပြင်ပေါ်တွင် မှတ်တမ်းအထွက်ကို ပုံနှိပ်ခြင်းကို ရပ်ရန်/ပြန်စပါ။

သိမ်းဆည်းထားသော မှတ်တမ်းအထွက်ကို ရပ်ရန်/ပြန်လည်စတင်ပါ။ file

အချိန်အကြာဆုံး ရပ်/ပြန်စပါ။amps

ပုံနှိပ်ခြင်း။

ကီးဘုတ်ဖြတ်လမ်းများအားလုံးကို ပြသပါ။

အောက်ဖော်ပြပါ သော့များထဲမှ တစ်ခုကို နှိပ်ပြီး လိုက်နာပါ။
ပစ်မှတ်ကို RTS လိုင်း (ချိတ်ဆက်ထားလျှင်) မှတဆင့် bootloader သို့ ပြန်လည်သတ်မှတ်ပြီး board သည် ဘာမျှမလည်ပတ်နိုင်ပါ။ အခြားစက်ပစ္စည်းတစ်ခု စတင်ရန်စောင့်ဆိုင်းရန် လိုအပ်သည့်အခါ အသုံးဝင်သည်။ ပစ်မှတ်ဘုတ်အား ပြန်လည်သတ်မှတ်ပြီး RTS လိုင်း (ချိတ်ဆက်ထားပါက) မှတစ်ဆင့် အပလီကေးရှင်းကို ပြန်လည်စတင်ပါ။
ပရောဂျက် flash ပစ်မှတ်ကိုလည်ပတ်ရန် idf_monitor ကိုခေတ္တရပ်ပြီး idf_monitor ကိုပြန်လည်စတင်ပါ။ မည်သည့်အရင်းအမြစ်ကိုမဆို ပြောင်းလဲထားသည်။ files ကို ပြန်လည် စုစည်းပြီး ပြန် လည် flashed သည် ။ idf_monitor ကို အငြင်းအခုံ-E ဖြင့် စတင်ပါက ပစ်မှတ်ကို ကုဒ်ဝှက်ထားသော-ဖလက်ရှ်ကို လုပ်ဆောင်သည်။ အက်ပ်-ဖလက်ရှ်ပစ်မှတ်ကိုလည်ပတ်ရန် idf_monitor ကို ခဏရပ်လိုက်ပြီး idf_monitor ကို ပြန်လည်စတင်ပါ။ Flash ပစ်မှတ်နှင့် ဆင်တူသော်လည်း ပင်မအက်ပ်ကိုသာ တည်ဆောက်ပြီး ပြန်လည် flashed လုပ်ထားသည်။ idf_monitor ကို အငြင်းအခုံ-E ဖြင့် စတင်ပါက ပစ်မှတ်သည် ကုဒ်ဝှက်ထားသော-အက်ပ်-ဖလက်ရှ်ကို လုပ်ဆောင်သည်။ အသက်သွင်းနေစဉ်အတွင်း ဝင်လာသော အမှတ်စဉ်ဒေတာအားလုံးကို ဖယ်ပစ်ပါ။ မော်နီတာမှ မဖြုတ်ဘဲ အမြန်ခေတ္တရပ်ပြီး မှတ်တမ်းထွက်ရှိမှုကို စစ်ဆေးရန် ခွင့်ပြုသည်။ ဖန်တီးပေးသည်။ file ပရောဂျက်လမ်းညွှန်တွင် နှင့် output ကို ၎င်းတွင်ရေးထားသည်။ file တူညီသော ကီးဘုတ်ဖြတ်လမ်း (သို့မဟုတ် IDF Monitor ထွက်သည်) ဖြင့် ၎င်းကို ပိတ်မထားပါ။ IDF Monitor သည် အကြိမ်အများဆုံး ပရင့်ထုတ်နိုင်သည်။amp စာကြောင်းတစ်ခုစီ၏အစတွင်။ အခေါက်ဆုံးamp ဖော်မတ်ကို -timest ဖြင့် ပြောင်းလဲနိုင်သည်။amp-format command line argument ။

အစီအစဉ်မှထွက်ပါ။

အပလီကေးရှင်း လည်ပတ်မှုကို အနှောင့်အယှက်ပေးသည်။

IDF Monitor ကို ခေတ္တရပ်ပြီး runtime တွင် အပလီကေးရှင်းကို အမှားရှာရန် GDB ပရောဂျက် အမှားဘာဂဂါကို ဖွင့်ပါ။ ၎င်းသည် :ref:CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME ရွေးချယ်မှုကို ဖွင့်ထားရန် လိုအပ်သည်။

Ctrl-] နှင့် Ctrl-T မှလွဲ၍ အခြားမည်သည့်သော့များကိုမဆို serial port မှတဆင့် ပေးပို့ပါမည်။

IDF ၏ သီးခြားအင်္ဂါရပ်များ

အလိုအလျောက် လိပ်စာကို ကုဒ်ဆွဲခြင်း ESP-IDF သည် ပုံစံ 0x4____ ၏ ဆယ်ဂဏန်းကုဒ်လိပ်စာကို ထုတ်သည့်အခါတိုင်း၊ IDF Monitor သည် အရင်းအမြစ်ကုဒ်ရှိ တည်နေရာကို ရှာဖွေရန်နှင့် လုပ်ဆောင်ချက်အမည်ကို ရှာဖွေရန် addr2line_ ကို အသုံးပြုသည်။
ESP-IDF အက်ပ်တစ်ခု ပျက်ကျပြီး ထိတ်လန့်သွားပါက၊ အောက်ပါကဲ့သို့ မှတ်ပုံတင်ထားသော အမှိုက်ပုံနှင့် backtrace ကို ထုတ်လုပ်သည်-

Espressif စနစ်များ

31 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

Guru တရားထိုင်ခြင်း Error သည် StoreProhibited အမျိုးအစား၏ core 0 တွင် ဖြစ်ပွားခဲ့ပါသည်။ ခြွင်းချက်ဖြစ်ခဲ့ပါသည်။

unhandled

အမှိုက်ပုံးကို မှတ်ပုံတင်ပါ-

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

က0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

: 0x0000000f SAR

: 0x00000019 အကြောင်းပြချက်-

0x0000001d

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

က0x00000000

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

IDF Monitor သည် အမှိုက်ပုံသို့ နောက်ထပ်အသေးစိတ်အချက်အလက်များကို ပေါင်းထည့်သည်-

Guru တရားထိုင်ခြင်း Error သည် StoreProhibited အမျိုးအစား၏ core 0 တွင် ဖြစ်ပွားခဲ့ပါသည်။ ခြွင်းချက်ဖြစ်ခဲ့ပါသည်။

unhandled

အမှိုက်ပုံးကို မှတ်ပုံတင်ပါ-

PC

: 0x400f360d PS

: 0x00060330 A0

: 0x800dbf56 A1

:

0x3ffb7e00

0x400f360d- /home/gus/esp/32/idf/ex တွင် do_something_to_crashamples/get-start/

hello_world/main/./hello_world_main.c:57

/home/gus/esp/32/idf/ex တွင် (inlined by) inner_dont_crashamples/get-started/hello_

world/main/./hello_world_main.c:52

A2

: 0x3ffb136c A3

: 0x00000005 A4

: 0x00000000 A5

:

က0x00000000

A6

: 0x00000000 A7

: 0x00000080 A8

: 0x00000000 A9

:

0x3ffb7dd0

A10

: 0x00000003 A11

: 0x00060f23 A12

: 0x00060f20 A13

:

0x3ffba6d0

A14

: 0x00000047 A15

: 0x0000000f SAR

: 0x00000019 အကြောင်းပြချက်-

0x0000001d

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

က0x00000000

Backtrace: 0x400f360d:0x3ffb7e00 0x400dbf56:0x3ffb7e20 0x400dbf5e:0x3ffb7e40 0x400dbf82:0x3ffb7e60 0x400d071d:0x3ffb7e90 0x400f360d: do_something_to_crash at /home/gus/esp/32/idf/examples/get-started/ hello_world/main/./hello_world_main.c:57 (inlined by) inner_dont_crash at /home/gus/esp/32/idf/examples/get-started/hello_ world/main/./hello_world_main.c:52 0x400dbf56: /home/gus/esp/32/idf/ex တွင် still_dont_crashamples/get-started/hello_ world/main/./hello_world_main.c:47 0x400dbf5e: /home/gus/esp/32/idf/ex တွင် dont_crashamples/get-started/hello_world/ main/./hello_world_main.c:42 0x400dbf82: /home/gus/esp/32/idf/ex တွင် app_mainamples/get-started/hello_world/main/ ./hello_world_main.c:33 0x400d071d: main_task at /home/gus/esp/32/idf/components/esp32/./cpu_start.c:254

လိပ်စာတစ်ခုစီကို ကုဒ်ဖော်ရန်၊ IDF Monitor သည် အောက်ပါ command ကို နောက်ခံတွင် လုပ်ဆောင်သည်- xtensa-esp32-elf-addr2line -pfiaC -e build/PROJECT.elf ADDRESS

မှတ်ချက်- ပတ်ဝန်းကျင်ပြောင်းလဲနိုင်သော ESP_MONITOR_DECODE ကို 0 သို့ သတ်မှတ်ပါ သို့မဟုတ် idf_monitor.py ကို သီးခြား command line ဖြင့် ခေါ်ပါ

Espressif စနစ်များ

32 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
ရွေးချယ်မှု- idf_monitor.py –disable-address-decoding လိပ်စာကုဒ်ကို ပိတ်ရန်။
ချိတ်ဆက်မှုတွင် ပစ်မှတ်ကို ပြန်လည်သတ်မှတ်ခြင်း မူရင်းအားဖြင့်၊ IDF Monitor သည် ၎င်းနှင့်ချိတ်ဆက်သည့်အခါ ပစ်မှတ်ကို ပြန်လည်သတ်မှတ်မည်ဖြစ်သည်။ ပစ်မှတ်ချစ်ပ်၏ ပြန်လည်သတ်မှတ်ခြင်းကို DTR နှင့် RTS အမှတ်စဉ်လိုင်းများကို အသုံးပြု၍ လုပ်ဆောင်သည်။ IDF Monitor ချိတ်ဆက်မှုပေါ်ရှိ ပစ်မှတ်ကို အလိုအလျောက် ပြန်လည်သတ်မှတ်ခြင်းမှ ကာကွယ်ရန် -no-reset option (ဥပမာ idf_monitor.py –no-reset) ဖြင့် IDF Monitor ကိုခေါ်ဆိုပါ။
မှတ်ချက်- -no-reset option သည် IDF Monitor ကို သီးခြား port တစ်ခုနှင့် ချိတ်ဆက်ထားသော်လည်း (ဥပမာ၊ idf.py monitor –no-reset -p [PORT]) တွင် တူညီသော အပြုအမူကို သက်ရောက်ပါသည်။
GDBStub ဖြင့် GDBStub ကိုဖွင့်ခြင်းသည် ပစ်မှတ်ပေါ်တွင်အလုပ်လုပ်ပြီး အမှားရှာပြင်ခြင်းအမိန့်များကိုလက်ခံရရှိရန် နံပါတ်စဉ်ပေါ်ရှိ host သို့ချိတ်ဆက်ပေးသည့် အသုံးဝင်သော runtime debugging အင်္ဂါရပ်တစ်ခုဖြစ်သည်။ GDBStub သည် J ထက် စွယ်စုံရနည်းသော်လည်း၊ GDBStub သည် memory နှင့် variable များ၊ call stack frames များကို စစ်ဆေးခြင်းစသည့် command များကို ပံ့ပိုးပေးပါသည်။TAG အမှားရှာပြင်ခြင်း ၊ ၎င်းသည် အထူးဟာ့ဒ်ဝဲ မလိုအပ်ပါ (ဥပမာ JTAG ဆက်သွယ်မှုအား နံပါတ်စဉ်အပေါက်ပေါ်တွင် လုံးလုံးလျားလျားလုပ်ဆောင်သောကြောင့် USB တံတားသို့)။ CONFIG_ESP_SYSTEM_PANIC ကို runtime တွင် GDBStub သို့ သတ်မှတ်ခြင်းဖြင့် နောက်ခံတွင် GDBStub ကိုဖွင့်ရန် ပစ်မှတ်တစ်ခုကို ပုံဖော်နိုင်သည်။ GDBStub သည် Ctrl+C မက်ဆေ့ဂျ်ကို နံပါတ်စဉ်အပေါက်ကိုဖြတ်ပြီး GDBStub ကို ပျက်သွားစေသည် (ဆိုလိုသည်မှာ၊ ပရိုဂရမ်၏လုပ်ဆောင်မှုကို ရပ်သွားသည်အထိ) နောက်ခံတွင် အလုပ်လုပ်မည်ဖြစ်ပြီး၊ ထို့ကြောင့် GDBStub သည် အမှားရှာပြင်ခြင်းဆိုင်ရာ ညွှန်ကြားချက်များကို ကိုင်တွယ်ရန် ခွင့်ပြုမည်ဖြစ်သည်။ ထို့အပြင်၊ အထိတ်တလန့်ကိုင်တွယ်ဖြေရှင်းသူအား CONFIG_ESP_SYSTEM_PANIC အား ထိတ်လန့်မှုတွင် GDBStub သို့ သတ်မှတ်ခြင်းဖြင့် ပျက်စီးမှုတစ်ခုတွင် GDBStub ကို ဖွင့်ရန် စီစဉ်သတ်မှတ်နိုင်သည်။ ပျက်စီးမှုတစ်ခုဖြစ်ပွားသောအခါ၊ GDBStub သည် ၎င်းသည်လည်ပတ်နေကြောင်းညွှန်ပြရန်အတွက် နံပါတ်စဉ်အပေါက်တွင် အထူးကြိုးပုံစံပုံစံတစ်ခုထုတ်ပေးပါမည်။ ဖြစ်ရပ်နှစ်ခုစလုံးတွင် (ဆိုလိုသည်မှာ၊ Ctrl+C မက်ဆေ့ချ်ပို့ခြင်း၊ သို့မဟုတ် အထူးစာကြောင်းပုံစံကို လက်ခံခြင်း)၊ IDF Monitor သည် အသုံးပြုသူအား အမှားရှာပြင်ခြင်းဆိုင်ရာ ညွှန်ကြားချက်များ ပေးပို့ခွင့်ပြုရန်အတွက် GDB ကို အလိုအလျောက် စတင်မည်ဖြစ်သည်။ GDB ထွက်ပြီးနောက်၊ ပစ်မှတ်ကို RTS အမှတ်စဉ်လိုင်းမှတစ်ဆင့် ပြန်လည်သတ်မှတ်သည်။ ဤလိုင်းကို မချိတ်ဆက်ထားပါက၊ အသုံးပြုသူများသည် ၎င်းတို့၏ ပစ်မှတ်ကို ပြန်လည်သတ်မှတ်နိုင်သည် (ဘုတ်ပြားများကို ပြန်လည်သတ်မှတ်ရန် ခလုတ်ကို နှိပ်ခြင်းဖြင့်)။
မှတ်ချက်- နောက်ခံတွင်၊ IDF Monitor သည် GDB ကိုဖွင့်ရန် အောက်ပါ command ကို လုပ်ဆောင်သည်-
xtensa-esp32-elf-gdb -ex "အမှတ်စဉ် baud BAUD သတ်မှတ်ပါ" -ex "ပစ်မှတ် အဝေးထိန်း PORT" -ex နှောင့်ယှက်သော တည်ဆောက်မှု/PROJECT.elf :idf_target:`မင်္ဂလာပါ NAME ချစ်ပ်`

အထွက်စစ်ထုတ်ခြင်း IDF မော်နီတာကို idf.py မော်နီတာ –print-filter=”xyz” အဖြစ် ခေါ်ဆိုနိုင်ပြီး၊ -print-filter သည် အထွက်စစ်ထုတ်ခြင်းအတွက် ကန့်သတ်ချက်ဖြစ်သည်။ မူရင်းတန်ဖိုးသည် စာလုံးအလွတ်တစ်ခုဖြစ်ပြီး၊ ဆိုလိုသည်မှာ အရာအားလုံးကို ရိုက်နှိပ်ထားသည်။
ပုံနှိပ်ရမည့်အရာအပေါ် ကန့်သတ်ချက်များကို အတွဲလိုက်အဖြစ် သတ်မှတ်နိုင်သည်။tag>: ပစ္စည်းဘယ်မှာလဲ။tag> ဖြစ်၏။ tag ကြိုးတစ်ချောင်းနှင့် မှတ်တမ်းတင်ခြင်းအဆင့်ကို ရည်ညွှန်းသည့် {N, E, W, I, D, V, *} မှ ဇာတ်ကောင်တစ်ခုဖြစ်သည်။
ဟောင်းအတွက်ample၊ PRINT_FILTER=”tag1:W” သည် ESP_LOGW ဖြင့် ရေးသားထားသော အထွက်များကိုသာ တိုက်ဆိုင်ပြီး ပရင့်ထုတ်သည်tag1”၊ …) သို့မဟုတ် စကားလုံးအသုံးအနှုန်း နိမ့်သောအဆင့်တွင်၊ ဆိုလိုသည်မှာ ESP_LOGE(“tag1″၊…) တစ်ခုသတ်မှတ်ခြင်းမဟုတ်ပါ။ သို့မဟုတ် Verbose အဆင့်သို့ * မူရင်းများကို အသုံးပြုခြင်း။
မှတ်ချက်- မှတ်တမ်းစာကြည့်တိုက်မှတဆင့် သင်မလိုအပ်သော အထွက်များကို စုစည်းရာတွင် ပင်မမှတ်တမ်းကို အသုံးပြုပါ။ IDF မော်နီတာဖြင့် အထွက်စစ်ထုတ်ခြင်းသည် အပလီကေးရှင်းကို ပြန်လည်ပေါင်းစည်းခြင်းမပြုဘဲ စစ်ထုတ်ခြင်းရွေးချယ်မှုများကို ချိန်ညှိရန်အတွက် အသုံးဝင်နိုင်သည့် ဒုတိယဖြေရှင်းချက်ဖြစ်သည်။
သင့်အက်ပ် tags ကွက်လပ်များ၊ ကြယ်ပွင့်များ * သို့မဟုတ် ကော်လံများ မပါဝင်ရ − အထွက်စစ်ထုတ်ခြင်း အင်္ဂါရပ်နှင့် တွဲဖက်အသုံးပြုနိုင်ရန်။
သင့်အက်ပ်ရှိ output ၏နောက်ဆုံးစာကြောင်းကို carriage return ဖြင့်မလိုက်နာပါက၊ output filtering သည် ရှုပ်ထွေးသွားလိမ့်မည်၊ ဆိုလိုသည်မှာ မော်နီတာသည် လိုင်းကို print ထုတ်ပြီး နောက်ပိုင်းတွင် လိုင်းမရေးသင့်သည်ကို သိရှိလာပါသည်။ ဤသည်မှာ လူသိများသော ပြဿနာတစ်ခုဖြစ်ပြီး ရထားပြန်အလာကို အမြဲထည့်ခြင်းဖြင့် ရှောင်ရှားနိုင်သည် (အထူးသဖြင့် နောက်ပိုင်းတွင် ထွက်ပေါက်မရှိသည့်အခါ)။

Espressif စနစ်များ

33 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
Exampစစ်ထုတ်ခြင်းဆိုင်ရာ စည်းမျဉ်းများ-
· *မည်သည့်ပွဲကိုမဆို အသုံးပြုနိုင်ပါသည်။ tags. သို့သော်၊ စာကြောင်း PRINT_FILTER=”*:I tag1:E” နှင့် ပတ်သက် tag1 သည် စည်းမျဉ်းဖြစ်သောကြောင့် အမှားအယွင်းများကိုသာ ရိုက်နှိပ်သည်။ tag1 သည် * အတွက် စည်းမျဉ်းထက် ပိုမိုဦးစားပေးပါသည်။
· ပုံသေ (ဗလာ) စည်းမျဉ်းသည် *:V နှင့် ညီမျှသောကြောင့် တစ်ခုချင်းစီနှင့် ကိုက်ညီပါသည်။ tag Verbose အဆင့် သို့မဟုတ် နိမ့်သည် အရာအားလုံးနှင့် ကိုက်ညီသည်ဟု ဆိုလိုသည်။
· “*:N” သည် မှတ်တမ်းလုပ်ဆောင်ချက်များမှ ထွက်ပေါက်များကိုသာမက printf ဖြင့်ပြုလုပ်ထားသော ပရင့်များကိုပါ ဖိနှိပ်သည်။ ၎င်းကိုရှောင်ရှားရန်၊ *:E သို့မဟုတ် ပိုမိုမြင့်မားသော စကားအသုံးအနှုန်းအဆင့်ကို အသုံးပြုပါ။
· စည်းကမ်းများtag1:V”၊tag1:v”၊tag1:""tag1:*” နှင့် “tag1” သည် ညီမျှသည်။ · စည်းမျဉ်း “tag1:W tag1:E" သည် "" နှင့် ညီမျှသည်tag1:E” ၏ နောက်ဆက်တွဲ တစ်စုံတစ်ရာ ဖြစ်ပေါ်လာခြင်းကြောင့် ဖြစ်သည်။ tag
အမည်သည် ယခင်တစ်ခုကို ထပ်ရေးသည်။ · စည်းကမ်း "tag1:I tag2:W” သာ ပုံနှိပ်သည်။ tag1 မှာ Info verbosity အဆင့် သို့မဟုတ် အောက်နှင့် tag2 ရက်သတိပေးချက်
verbosity အဆင့် သို့မဟုတ် အောက်။ · စည်းကမ်း "tag1:I tag2:W tag3:N” သည် ယခင်တစ်ခုနှင့် ညီမျှသောကြောင့် ဖြစ်သည်။ tag3:N သတ်မှတ်သည်။
အဲဒါ tag3 ကို ရိုက်နှိပ်ခြင်းမပြုသင့်ပါ။ · tag3:N စည်းမျဉ်းတွင် "tag1:I tag2:W tag3:N*:V” သည် မလိုအပ်သောကြောင့် ပို၍အဓိပ္ပါယ်ရှိသည်။ tag3:N အဆိုပါ
tagစာ ၃ စောင် ရိုက်နှိပ်နိုင်သည် ။ အမှားများ tag၁ နှင့် tag2 ကို သတ်မှတ်ထားသော (သို့မဟုတ်) အနိမ့်ဆုံးအဆင့်တွင် ပုံနှိပ်မည်ဖြစ်ပြီး ကျန်အရာအားလုံးကို ပုံသေဖြင့် ရိုက်နှိပ်မည်ဖြစ်သည်။
ပိုမိုရှုပ်ထွေးသော စစ်ထုတ်ခြင်း Example အောက်ပါ မှတ်တမ်း အတိုအထွာကို စစ်ထုတ်ခြင်း ရွေးစရာများ မပါဘဲ ရယူခဲ့သည်-
load:0x40078000,len:13564 entry 0x40078d4c E (31) esp_image: 0x30000 ရှိ ပုံတွင် မမှန်ကန်သော magic byte W (31) esp_image: 0x30000 ရှိ ပုံတွင် မမှန်ကန်သော SPI မုဒ် 255 bootable အပိုင်းဖြစ်သည် (39) (568) cpu_start: Pro cpu တက်လာသည်။ ငါ (569) heap_init- စတင်ခြင်း။ ဒိုင်းနမစ်ခွဲဝေမှုအတွက် ရနိုင်သော RAM- I (603) cpu_start- Pro cpu စတင်အသုံးပြုသူကုဒ် D (309) light_driver- [light_init, 74]:status: 1၊ မုဒ်- 2 D (318) vfs: esp_vfs_register_fd_range အပိုင်းအခြား <54; 64) နှင့် VFS ID 1 I (328) wifi- wifi driver အလုပ်- 3ffdbf84၊ prio:23၊ stack-4096၊ core=0
စစ်ထုတ်ခြင်းရွေးချယ်စရာများအတွက် ဖမ်းယူထားသော အထွက်အား PRINT_FILTER=”wifi esp_image:E light_driver:I” ကို အောက်တွင်ပေးထားပါသည်။
E (31) esp_image- 0x30000 ရှိ ပုံတွင် မမှန်ကန်သော magic byte I (328) wifi ရှိသည်- wifi driver အလုပ်- 3ffdbf84, prio:23, stack:4096, core=0
ရွေးချယ်စရာများ “PRINT_FILTER=”light_driver:D esp_image:N boot:N cpu_start:N vfs:N wifi:N *:V” သည် အောက်ပါအထွက်ကို ပြသသည်-
load:0x40078000,len:13564 entry 0x40078d4c I (569) heap_init- စတင်ခြင်း။ ဒိုင်းနမစ်ခွဲဝေမှုအတွက် ရနိုင်သော RAM: D (309) light_driver- [light_init, 74]: အခြေအနေ- 1၊ မုဒ်- 2
IDF Monitor ဖြင့် သိထားသော ပြဿနာများ
Windows တွင် တွေ့ရှိထားသော ပြဿနာများ
· မြှားခလုတ်များအပြင် အခြားသော့အချို့သည် Windows Console ကန့်သတ်ချက်များကြောင့် GDB တွင် အလုပ်မလုပ်ပါ။ · ရံဖန်ရံခါ၊ oidf.pypexits သည် IDF Monitor မစတင်မီ စက္ကန့် 30 အထိ ရပ်တန့်သွားနိုင်သည်။ · ogdbpis အလုပ်လုပ်သောအခါ၊ ၎င်းသည် GDBStub နှင့် မဆက်သွယ်မီ အချိန်တိုအတွင်း ရပ်တန့်သွားနိုင်သည်။

Espressif စနစ်များ

34 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း 1. Linux နှင့် macOS အတွက် Standard Toolchain Setup ကို စတင်လိုက်ပါ။

တပ်ဆင်ခြင်း အဆင့်အလိုက် ဤသည် တပ်ဆင်ခြင်းလုပ်ငန်းစဉ်တစ်လျှောက် သင့်အား လမ်းလျှောက်ရန် အသေးစိတ်လမ်းပြမြေပုံဖြစ်သည်။
ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ဤအရာများသည် သင့် ESP32 အတွက် ESP-IDF ကို သတ်မှတ်ခြင်းအတွက် အဆင့်များဖြစ်သည်။ · အဆင့် 1။ လိုအပ်ချက်များ ထည့်သွင်းပါ · အဆင့် 2။ ESP-IDF ရယူပါ · အဆင့် 3။ ကိရိယာများကို စနစ်ထည့်သွင်းခြင်း · အဆင့် 4။ ပတ်၀န်းကျင်ဆိုင်ရာ ကိန်းရှင်များကို စနစ်ထည့်သွင်းခြင်း · အဆင့် 5။ ESP-IDF တွင် ပထမအဆင့်များ
အဆင့် 1. ကြိုတင်လိုအပ်ချက်များ ထည့်သွင်းခြင်း ESP-IDF ကို ESP32 ဖြင့်အသုံးပြုရန်အတွက်၊ သင်၏လည်ပတ်ရေးစနစ်အပေါ်အခြေခံသည့် ဆော့ဖ်ဝဲလ်ပက်ကေ့ဂျ်အချို့ကို ထည့်သွင်းရန်လိုအပ်ပါသည်။ ဤစနစ်ထည့်သွင်းခြင်းလမ်းညွှန်သည် Linux နှင့် macOS အခြေခံစနစ်များပေါ်တွင် ထည့်သွင်းထားသည့်အရာအားလုံးကို ရရှိစေရန် ကူညီပေးပါမည်။
Linux အသုံးပြုသူများအတွက် ESP-IDF ကို အသုံးပြု၍ စုစည်းရန် အောက်ပါ ပက်ကေ့ဂျ်များကို ရရှိရန် လိုအပ်ပါသည်။ လုပ်ဆောင်ရန် အမိန့်သည် သင်အသုံးပြုနေသည့် Linux ၏ဖြန့်ချီမှုအပေါ် မူတည်သည်-
· Ubuntu နှင့် Debian- sudo apt-get install git wget flex bison gperf python3 python3-pip python3venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
· CentOS 7 & 8- sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache dfu-util libusbx
CentOS 7 ကို ပံ့ပိုးထားဆဲဖြစ်သော်လည်း ပိုမိုကောင်းမွန်သော အသုံးပြုသူအတွေ့အကြုံအတွက် CentOS ဗားရှင်း 8 ကို အကြံပြုထားသည်။ · Arch- sudo pacman -S –needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb
မှတ်ချက်- · ESP-IDF ဖြင့်အသုံးပြုရန်အတွက် CMake ဗားရှင်း 3.16 နှင့်အထက် လိုအပ်သည်။ သင့် OS ဗားရှင်းများတွင် တစ်ခုမှမရှိပါက otools/idf_tools.py install cmakepto ကို run ပါ။ · အထက်ဖော်ပြပါစာရင်းတွင် သင်၏ Linux ဖြန့်ဖြူးမှုကို သင်မတွေ့ပါက ပက်ကေ့ဂျ်တပ်ဆင်ခြင်းအတွက် မည်သည့် command ကိုအသုံးပြုရမည်ကို သိရှိနိုင်ရန် ၎င်း၏စာရွက်စာတမ်းများကို စစ်ဆေးပါ။
macOS အသုံးပြုသူများအတွက် ESP-IDF သည် macOS တွင် ပုံသေထည့်သွင်းထားသည့် Python ဗားရှင်းကို အသုံးပြုမည်ဖြစ်သည်။ · CMake & Ninja build ကို ထည့်သွင်းပါ- သင့်တွင် HomeBrew ရှိပါက၊ သင် run နိုင်သည်- brew install cmake ninja dfu-util သင့်တွင် MacPorts ရှိပါက၊ သင် run နိုင်သည်- sudo port install cmake ninja dfu-util မဟုတ်ပါက macOS တပ်ဆင်မှုဒေါင်းလုဒ်များအတွက် CMake နှင့် Ninja ပင်မစာမျက်နှာများကို တိုင်ပင်ပါ။

Espressif စနစ်များ

35 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
· ပိုမိုမြန်ဆန်သောတည်ဆောက်မှုများအတွက် ccache ကိုထည့်သွင်းရန် အထူးအကြံပြုလိုပါသည်။ သင့်တွင် HomeBrew ရှိပါက၊ ၎င်းကို MacPorts တွင် ချက်လုပ်ထည့်သွင်းသည့် ccache သို့မဟုတ် sudo port install ccache မှတစ်ဆင့် လုပ်ဆောင်နိုင်သည်။
မှတ်ချက်- ဤကဲ့သို့သော အမှားအယွင်းတစ်ခုခုကို အဆင့်တိုင်းတွင် ပြနေပါက- xcrun: အမှား- မမှန်ကန်သော တက်ကြွသော ဆော့ဖ်ဝဲရေးသားသူ လမ်းကြောင်း (/Library/Developer/CommandLineTools) တွင် xcrun ပျောက်နေသည်- /Library/Developer/CommandLineTools/usr/bin/xcrun
ထို့နောက် ဆက်လက်ဆောင်ရွက်ရန် သင်သည် XCode command line tools များကို ထည့်သွင်းရန် လိုအပ်မည်ဖြစ်သည်။ xcode-select –install ကို run ခြင်းဖြင့် ၎င်းတို့ကို ထည့်သွင်းနိုင်သည်။
Apple M1 အသုံးပြုသူများ သင်သည် Apple M1 ပလပ်ဖောင်းကို အသုံးပြု၍ ဤကဲ့သို့သော အမှားအယွင်းကို တွေ့ပါက- သတိပေးချက်- tool xtensa-esp32-elf ဗားရှင်း esp-2021r2-patch3-8.4.0 အတွက် လမ်းညွှန်တွင် ရှိနေသော်လည်း ကိရိယာမှာ အမှားအယွင်း မတွေ့ပါ- tool xtensa-esp32-elf တွင် ထည့်သွင်းထားသော ဗားရှင်းများ မရှိပါ။ ၎င်းကိုထည့်သွင်းရန် 'install.sh' ကိုဖွင့်ပါ။
သို့မဟုတ်: zsh: executable လုပ်နိုင်သော မကောင်းသော CPU အမျိုးအစား- ~/.espressif/tools/xtensa-esp32-elf/esp-2021r2patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
ထို့နောက် သင်သည် /usr/sbin/softwareupdate –install-rosetta –agree-to-license ကို run ခြင်းဖြင့် Apple Rosetta 2 ကို ထည့်သွင်းရန် လိုအပ်မည်ဖြစ်ပါသည်။
Python 3 ကို ထည့်သွင်းခြင်း macOS Catalina 10.15 ထုတ်ဝေမှုမှတ်စုများကို အခြေခံ၍ Python 2.7 ကိုအသုံးပြုခြင်းကို အကြံပြုထားခြင်းမရှိဘဲ Python 2.7 ကို macOS ၏အနာဂတ်ဗားရှင်းများတွင် မူရင်းအတိုင်းထည့်သွင်းမည်မဟုတ်ပါ။ သင့်လက်ရှိ Python တွင်ရှိသောအရာကို စစ်ဆေးပါ- python –version
အထွက်သည် Python 2.7.17 နှင့်တူပါက၊ သင်၏မူရင်းစကားပြန်သည် Python 2.7 ဖြစ်သည်။ သို့ဆိုလျှင်၊ Python 3 ကို သင့်ကွန်ပြူတာတွင် ထည့်သွင်းပြီးမဟုတ်ပါ- python3 –version ကို စစ်ဆေးပါ။
အထက်ဖော်ပြပါ command သည် error တစ်ခုပြန်ပေါ်လာပါက၊ Python 3 ကို install လုပ်မထားဟု ဆိုလိုသည်။ အောက်မှာ တစ်ခုပြီးတစ်ခု ရေးထားပါတယ်။view Python 3 ကို ထည့်သွင်းရန် အဆင့်များ။
· HomeBrew ဖြင့် ထည့်သွင်းခြင်းကို အောက်ပါအတိုင်း လုပ်ဆောင်နိုင်သည်- brew install python3
· သင့်တွင် MacPorts ရှိပါက၊ sudo port install python38 ကို run နိုင်ပါသည်။
အဆင့် 2. ESP-IDF ကိုရယူပါ ESP32 အတွက် အပလီကေးရှင်းများတည်ဆောက်ရန်အတွက် ESP-IDF သိုလှောင်မှုတွင် Espressif မှ ပံ့ပိုးပေးသော ဆော့ဖ်ဝဲလ်စာကြည့်တိုက်များ လိုအပ်ပါသည်။ ESP-IDF ကိုရယူရန်၊ သင်၏ တပ်ဆင်မှုလမ်းညွှန်သို့ သွား၍ သင်၏လည်ပတ်မှုစနစ်နှင့်သက်ဆိုင်သော အောက်ဖော်ပြပါ ညွှန်ကြားချက်များကို လိုက်နာပြီး git clone ဖြင့် သိုလှောင်ခန်းကို ပွားပါ။ Terminal ကိုဖွင့်ပြီး အောက်ပါ command များကို လုပ်ဆောင်ပါ။

Espressif စနစ်များ

36 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

mkdir -p ~/esp cd ~/esp git clone -b v5.0.9 –recursive https://github.com/espressif/esp-idf.git
ESP-IDF ကို ~/esp/esp-idf တွင် ဒေါင်းလုဒ်လုပ်ပါမည်။ ပေးထားသည့်အခြေအနေတစ်ခုတွင် မည်သည့် ESP-IDF ဗားရှင်းကို အသုံးပြုရမည်အကြောင်း အချက်အလက်အတွက် ESP-IDF ဗားရှင်းများနှင့် တိုင်ပင်ပါ။
အဆင့် 3. ESP-IDF မှလွဲ၍ ESP32 ကိုပံ့ပိုးပေးသည့် ပရောဂျက်များအတွက် ESP-IDF မှအသုံးပြုသည့်ကိရိယာများဖြစ်သည့် compiler၊ debugger၊ Python packages စသည်တို့ကို ထည့်သွင်းရန်လိုအပ်ပါသည်။ cd ~/esp/esp-idf ./install.sh esp32
သို့မဟုတ် Fish shell cd ~/esp/esp-idf ./install.fish esp32 ဖြင့်
အထက်ဖော်ပြပါ အမိန့်များသည် ESP32 အတွက်သာ ကိရိယာများကို ထည့်သွင်းပါ။ သင်ပိုမိုချစ်ပ်ပစ်မှတ်များအတွက် ပရောဂျက်များကို တီထွင်ရန် ရည်ရွယ်ပါက ၎င်းတို့အားလုံးကို စာရင်းပြုစုပြီး ဟောင်းအတွက် လုပ်ဆောင်သင့်သည်။ample- cd ~/esp/esp-idf ./install.sh esp32၊esp32s2
သို့မဟုတ် Fish shell cd ဖြင့် ~/esp/esp-idf ./install.fish esp32၊esp32s2
ပံ့ပိုးထားသောပစ်မှတ်များအားလုံးအတွက် ကိရိယာများကို တပ်ဆင်ရန်အတွက် အောက်ပါအမိန့်ကို ကျေးဇူးပြု၍ လုပ်ဆောင်ပါ- cd ~/esp/esp-idf ./install.sh all
သို့မဟုတ် Fish shell cd ဖြင့် ~/esp/esp-idf ./install.fish all
မှတ်ချက်- macOS အသုံးပြုသူများအတွက်၊ မည်သည့်အဆင့်တွင်မဆို ဤကဲ့သို့သော error ပြပါက-urlအမှားဖွင့်ခြင်း [SSL: CERTIFICATE_VERIFY_FAILED] အသိအမှတ်ပြုလက်မှတ်ကို အတည်ပြုရန် မအောင်မြင်ပါ- ပြည်တွင်းထုတ်ထုတ်ပေးသည့် လက်မှတ် (_ssl.c:xxx) ကို မရခဲ့ပါ။
လက်မှတ်များကို ထည့်သွင်းရန် သင့်ကွန်ပျူတာ၏ Python ဖိုဒါတွင် Install Certificates.command ကို သင် run နိုင်ပါသည်။ အသေးစိတ်အတွက် ESP-IDF ကိရိယာများကို ထည့်သွင်းနေစဉ် ဒေါင်းလုဒ်အမှားကို ကြည့်ပါ။

အခြားရွေးချယ်စရာ File ဒေါင်းလုဒ်များ Tools installer အများအပြားဒေါင်းလုဒ်လုပ်သည်။ fileGitHub ထုတ်ဝေမှုများနှင့် တွဲထားသည်။ GitHub ကိုအသုံးပြုခြင်းသည် နှေးနေပါက၊ GitHub ပိုင်ဆိုင်မှုဒေါင်းလုဒ်များအတွက် Espressifns ဒေါင်းလုဒ်ဆာဗာကို နှစ်သက်စေရန် ပတ်၀န်းကျင်ပြောင်းလွဲပြောင်းကို သတ်မှတ်နိုင်သည်။

မှတ်ချက်- ဤဆက်တင်သည် GitHub ထုတ်ဝေမှုများမှ ဒေါင်းလုဒ်လုပ်ထားသော ကိရိယာတစ်ခုစီကိုသာ ထိန်းချုပ်သည်၊ ၎င်းသည် ပြောင်းလဲမည်မဟုတ်ပါ။ URLGit repositories တစ်ခုခုကို ဝင်ကြည့်ဖို့ သုံးတယ်။

ကိရိယာများထည့်သွင်းသည့်အခါ Espressif ဒေါင်းလုဒ်ဆာဗာကို ပိုမိုနှစ်သက်ရန် install.sh ကိုအသုံးပြုသည့်အခါ အောက်ပါ command များကိုအသုံးပြုပါ။

Espressif စနစ်များ

37 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

cd ~/esp/esp-idf တင်ပို့မှု IDF_GITHUB_ASSETS=”dl.espressif.com/github_assets” ./install.sh
ကိရိယာများ တပ်ဆင်ခြင်းလမ်းကြောင်းကို စိတ်ကြိုက်ပြင်ဆင်ခြင်း ဤအဆင့်တွင် မိတ်ဆက်ထားသော scripts များကို အသုံးပြုသူ home directory အတွင်းရှိ ESP-IDF မှ လိုအပ်သော စုစည်းမှုကိရိယာများကို ထည့်သွင်းပါ- Linux တွင် $HOME/.espressif။ ကိရိယာများကို မတူညီသော လမ်းညွှန်တစ်ခုတွင် ထည့်သွင်းလိုပါက၊ တပ်ဆင်မှု scripts များကို မလည်ပတ်မီ ပတ်ဝန်းကျင် variable IDF_TOOLS_PATH ကို သတ်မှတ်ပါ။ သင့်အသုံးပြုသူအကောင့်တွင် ဤလမ်းကြောင်းကို ဖတ်ရန်နှင့် ရေးရန် လုံလောက်သောခွင့်ပြုချက်များရှိကြောင်း သေချာပါစေ။ IDF_TOOLS_PATH ကိုပြောင်းလဲပါက၊ ထည့်သွင်းစခရစ် (install. bat၊ install.ps1 သို့မဟုတ် install.sh) နှင့် ပို့ကုန် script (export.bat၊ export.ps1 သို့မဟုတ် export.sh) ကို လုပ်ဆောင်သည့်အခါတိုင်း ၎င်းကို တူညီသောတန်ဖိုးအဖြစ် သတ်မှတ်ထားကြောင်း သေချာပါစေ။
အဆင့် 4. ပတ်၀န်းကျင်ပြောင်းလွဲချက်များကို စနစ်ထည့်သွင်းပါ တပ်ဆင်ထားသော ကိရိယာများသည် PATH ပတ်ဝန်းကျင် ကိန်းရှင်သို့ မထည့်ရသေးပါ။ ကိရိယာများကို command line မှအသုံးပြုနိုင်စေရန်၊ အချို့သော ပတ်ဝန်းကျင်ပြောင်းလဲမှုများကို သတ်မှတ်ရပါမည်။ ESP-IDF သည် ၎င်းကိုလုပ်ဆောင်သည့် အခြားသော script ကိုပေးသည်။ သင် ESP-IDF ကိုအသုံးပြုမည့် terminal တွင်၊ run ပါ။
. $HOME/esp/esp-idf/export.sh
သို့မဟုတ် ငါးအတွက် (fish ဗားရှင်း 3.0.0 မှစ၍သာ ပံ့ပိုးထားသည်)
. $HOME/esp/esp-idf/export.fish
ဦးဆောင်အစက်နှင့် လမ်းကြောင်းကြားရှိ နေရာလွတ်ကို မှတ်သားပါ။ esp-idf ကို မကြာခဏ အသုံးပြုရန် စီစဉ်ပါက၊ export.sh ကို လုပ်ဆောင်ရန်အတွက် alias တစ်ခု ဖန်တီးနိုင်သည်-
1. သင့် shellns pro သို့ အောက်ပါ command ကို ကူးယူပြီး ကူးထည့်ပါ။file (.profile, .bashrc, .zprofileစသည်ဖြင့်)
get_idf=' အမည်များ။ $HOME/esp/esp-idf/export.sh' 2။ terminal စက်ရှင်ကို ပြန်လည်စတင်ခြင်းဖြင့် သို့မဟုတ် အရင်းအမြစ်ကို လုပ်ဆောင်ခြင်းဖြင့် [လမ်းကြောင်းမှ လိုလားသူထံသို့ လမ်းကြောင်းကို ပြန်လည်စတင်ခြင်းဖြင့် ဖွဲ့စည်းမှုပုံစံကို ပြန်လည်စတင်ပါ။file],
ex အတွက်ample, source ~/.bashrc. ယခု သင်သည် မည်သည့် terminal session တွင်မဆို esp-idf ပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းရန် သို့မဟုတ် ပြန်လည်စတင်ရန် get_idf ကို အသုံးပြုနိုင်သည်။ နည်းပညာအရ၊ သင်သည်သင်၏ shellns pro သို့ export.sh ကိုထည့်နိုင်သည်။file တိုက်ရိုက်; သို့ရာတွင်၊ ၎င်းကို မထောက်ခံပါ။ ထိုသို့ပြုလုပ်ခြင်းဖြင့် terminal session တစ်ခုစီတိုင်းတွင် (IDF မလိုအပ်သည့်အရာများအပါအဝင်)၊ virtual environment ၏ရည်ရွယ်ချက်ကို ချေမှုန်းနိုင်ပြီး အခြားသောဆော့ဖ်ဝဲလ်များကို ထိခိုက်စေနိုင်ဖွယ်ရှိသည်။
အဆင့် 5. ESP-IDF ၏ပထမခြေလှမ်းများ လိုအပ်ချက်များအားလုံးပြည့်မီပြီဖြစ်သောကြောင့် ယခုနောက်အကြောင်းအရာသည် သင်၏ပထမဆုံးပရောဂျက်ကိုမည်သို့စတင်ရမည်ကိုလမ်းညွှန်ပေးမည်ဖြစ်ပါသည်။ ဤလမ်းညွှန်ချက်သည် ESP-IDF ကို အသုံးပြု၍ ပထမအဆင့်တွင် သင့်အား ကူညီပေးပါမည်။ ESP32 တွင် ပရောဂျက်အသစ်တစ်ခုစတင်ရန်နှင့် တည်ဆောက်ရန်၊ flash နှင့် ကိရိယာ၏အထွက်ကို စောင့်ကြည့်ရန် ဤလမ်းညွှန်ချက်ကို လိုက်နာပါ။
မှတ်ချက်- ESP-IDF ကို သင် မထည့်သွင်းရသေးပါက၊ ကျေးဇူးပြု၍ တပ်ဆင်ခြင်းသို့ သွားကာ ဤလမ်းညွှန်ချက်ကို အသုံးပြုရန် လိုအပ်သော ဆော့ဖ်ဝဲလ်အားလုံးကို ရယူရန်အတွက် ညွှန်ကြားချက်ကို လိုက်နာပါ။

ပရောဂျက်တစ်ခုကို စတင်လိုက်ပါ ယခု ESP32 အတွက် သင်၏လျှောက်လွှာကို ပြင်ဆင်ရန် အသင့်ဖြစ်နေပါပြီ။ ဟောင်းထံမှ getstarted/hello_world ပရောဂျက်ဖြင့် စတင်နိုင်သည်။ampESP-IDF ရှိ les လမ်းညွှန်။

အရေးကြီးသည်- ESP-IDF တည်ဆောက်မှုစနစ်သည် ESP-IDF သို့မဟုတ် ပရောဂျက်များသို့ လမ်းကြောင်းများရှိ နေရာလွတ်များကို မပံ့ပိုးပါ။

ပရောဂျက် get-started/hello_world ကို ~/esp လမ်းညွှန်သို့ ကူးယူပါ-

Espressif စနစ်များ

38 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
မှတ်ချက်- ex အမျိုးအစားများစွာရှိသည်။ample ပရောဂျက်တွေဆိုရင်ampESP-IDF ရှိ les လမ်းညွှန်။ အထက်ဖော်ပြပါအတိုင်း မည်သည့်ပရောဂျက်ကိုမဆို ကူးယူနိုင်ပြီး ၎င်းကို လုပ်ဆောင်နိုင်သည်။ ex ဆောက်လို့လည်း ဖြစ်နိုင်တယ်။amp၎င်းတို့ကို ဦးစွာကူးယူခြင်းမပြုဘဲ les in-place။
သင့်စက်ပစ္စည်းကို ချိတ်ဆက်ပါ ယခု သင်၏ ESP32 ဘုတ်ကို ကွန်ပျူတာနှင့် ချိတ်ဆက်ပြီး မည်သည့် အမှတ်စဉ် အပေါက်ကို မြင်နိုင်သည်ကို စစ်ဆေးပါ။ Serial Port များတွင် အောက်ပါ အမည်ပေးပုံစံများ ရှိသည်-
· Linux- /dev/tty ဖြင့် စတင်သည် · macOS: /dev/cu ဖြင့် စတင်သည်။ အမှတ်စဉ် ပို့တ်အမည်ကို မည်သို့စစ်ဆေးရမည်ကို မသေချာပါက၊ အသေးစိတ် အချက်အလက်အပြည့်အစုံအတွက် ESP32 နှင့် Establish Serial Connection ကို ဖတ်ရှုပါ။
မှတ်ချက်- နောက်အဆင့်များတွင် သင်လိုအပ်မည့်အတိုင်း ပို့တ်အမည်ကို အဆင်သင့်ထားပါ။
သင့်ပရောဂျက်ကို ပြင်ဆင်သတ်မှတ်ပါ သင်၏ hello_world လမ်းညွှန်သို့ သွားပါ၊ ESP32 ကို ပစ်မှတ်အဖြစ် သတ်မှတ်ကာ ပရောဂျက်ဖွဲ့စည်းပုံ အသုံးဝင်မှု menuconfig ကို ဖွင့်ပါ။ cd ~/esp/hello_world idf.py set-target esp32 idf.py menuconfig
ပရောဂျက်အသစ်တစ်ခုဖွင့်ပြီးနောက်၊ သင်သည် idf.py set-target esp32 ဖြင့် ပစ်မှတ်ကို ဦးစွာ သတ်မှတ်သင့်သည်။ ပရောဂျက်ရှိ ရှိပြီးသား တည်ဆောက်မှုများနှင့် ဖွဲ့စည်းမှုပုံစံများရှိပါက ရှင်းလင်းပြီး ဤလုပ်ငန်းစဉ်တွင် စတင်လုပ်ဆောင်မည်ဖြစ်ကြောင်း သတိပြုပါ။ ဤအဆင့်ကို လုံးဝကျော်သွားရန်အတွက် ပစ်မှတ်ကို ပတ်၀န်းကျင်ပြောင်းလဲနိုင်သော ကိန်းရှင်တွင် သိမ်းဆည်းထားနိုင်သည်။ ထပ်လောင်းအချက်အလက်များအတွက် ပစ်မှတ် Chip ကို ရွေးချယ်ပါ- သတ်မှတ်ပစ်မှတ်ကို ကြည့်ပါ။ ယခင်အဆင့်များ မှန်ကန်စွာ လုပ်ဆောင်ပြီးပါက၊ အောက်ပါ မီနူး ပေါ်လာပါမည်။

ပုံ 17- ပရောဂျက်ပုံစံဖွဲ့စည်းမှု – ပင်မဝင်းဒိုး သင်သည် ပရောဂျက်သတ်မှတ်ထားသော ကိန်းရှင်များကို စနစ်ထည့်သွင်းရန် ဤမီနူးကို အသုံးပြုနေသည်၊ ဥပမာ၊ Wi-Fi ကွန်ရက်အမည်နှင့် စကားဝှက်၊ ပရိုဆက်ဆာအမြန်နှုန်း စသည်ဖြင့် ပရောဂျက်ကို စတင်သတ်မှတ်ခြင်း menuconfig ဖြင့် ပရောဂျက်ကို သတ်မှတ်ခြင်းမှာ ဤ ex ကြောင့် forohello_worldp ကို ကျော်သွားနိုင်သည်။ample နဲ့ ပြေးတယ်။

Espressif စနစ်များ

39 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
ပုံသေဖွဲ့စည်းမှု။
သတိပြုရန်- အကယ်၍ သင်သည် ESP32-DevKitC ဘုတ်အား ESP32-SOLO-1 မော်ဂျူးဖြင့် သို့မဟုတ် ESP32-DevKitM-1 ဘုတ်နှင့်အတူ ESP32-MIN1-1(1U) မော်ဂျူးကို အသုံးပြုပါက၊ ကျေးဇူးပြု၍ မမှိတ်တုတ်မပြမီ single core မုဒ် (CONFIG_FREERTOS_UNICORE) ကို menuconfig တွင် ဖွင့်ပါ။amples
မှတ်ချက်- မီနူး၏အရောင်များသည် သင့်စက်စက်တွင် ကွဲပြားနိုင်သည်။ ရွေးချယ်မှု –style ဖြင့် အသွင်အပြင်ကို ပြောင်းလဲနိုင်သည်။ နောက်ထပ်အချက်အလက်များအတွက် idf.py menuconfig –help ကိုဖွင့်ပါ။
အကယ်၍ သင်သည် ပံ့ပိုးပေးထားသော ဖွံ့ဖြိုးရေးဘုတ်များထဲမှ တစ်ခုကို အသုံးပြုနေပါက Board Support Package ကို အသုံးပြု၍ သင်၏ ဖွံ့ဖြိုးတိုးတက်မှုကို အရှိန်မြှင့်နိုင်ပါသည်။ နောက်ထပ်အချက်အလက်များအတွက် ထပ်လောင်းအကြံပြုချက်များကို ကြည့်ပါ။
ပရောဂျက်ကိုတည်ဆောက်ပါ လည်ပတ်ခြင်းဖြင့် ပရောဂျက်ကိုတည်ဆောက်ပါ-
idf.py ကိုတည်ဆောက်ပါ။
ဤအမိန့်သည် အပလီကေးရှင်းနှင့် ESP-IDF အစိတ်အပိုင်းများအားလုံးကို စုစည်းထားမည်ဖြစ်ပြီး၊ ထို့နောက် ၎င်းသည် bootloader၊ အခန်းကန့်ဇယားနှင့် အပလီကေးရှင်း binaries ကို ထုတ်လုပ်ပေးမည်ဖြစ်သည်။
$idf.py build Running cmake directory /path/to/hello_world/build "cmake -G Ninja –warn-unitialized /path/to/hello_world" ကို အကောင်အထည်ဖော်နေသည်… မရှိသေးသော တန်ဖိုးများအကြောင်း သတိပေးပါ။ — Git ကိုတွေ့ရှိသည်- /usr/bin/git (ဗားရှင်း “2.17.0” ကိုတွေ့သည်) — ဖွဲ့စည်းမှုပုံစံကြောင့် ဗလာ aws_iot အစိတ်အပိုင်းများကို တည်ဆောက်ခြင်း — အစိတ်အပိုင်းအမည်များ- … — အစိတ်အပိုင်းလမ်းကြောင်းများ-…
… (တည်ဆောက်မှုစနစ် အထွက်လိုင်းများ)
[527/527] hello_world.bin esptool.py v2.3.1 ကို ထုတ်လုပ်နေသည်
ပရောဂျက်တည်ဆောက်မှုပြီးပါပြီ။ ဖလက်ရှ်လုပ်ရန်၊ ဤအမိန့်ကို ဖွင့်ပါ- ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello_world။ bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/ partition-table.bin သို့မဟုတ် 'idf.py -p PORT flash' ကို run ပါ။
အမှားအယွင်းများမရှိပါက၊ firmware binary .bin ကိုထုတ်ပေးခြင်းဖြင့် တည်ဆောက်မှုပြီးဆုံးပါမည်။ files.
စက်ပစ္စည်းပေါ်တွင် ဖလက်ရှ်မီးလင်းခြင်းဖြင့် သင်ခုလေးတင်တည်ဆောက်ခဲ့သော binaries (bootloader.bin၊ partition-table.bin နှင့် hello_world.bin) ကို သင်၏ ESP32 ဘုတ်ပေါ်တွင် ဖွင့်ပါ-
idf.py -p PORT [-b BAUD] flash
PORT ကို သင်၏ ESP32 ဘုတ်ပြား အမှတ်စဉ် ပို့တ်အမည်ဖြင့် အစားထိုးပါ။ BAUD ကို သင်လိုအပ်သော baud နှုန်းဖြင့် အစားထိုးခြင်းဖြင့် flasher baud နှုန်းကိုလည်း သင်ပြောင်းလဲနိုင်သည်။ မူရင်း baud နှုန်းသည် 460800 ဖြစ်သည်။ idf.py အကြောင်းပြချက်များအတွက် နောက်ထပ်အချက်အလက်များအတွက် idf.py ကိုကြည့်ပါ။
မှတ်ချက်- ရွေးချယ်ခွင့် flash သည် ပရောဂျက်ကို အလိုအလျောက် တည်ဆောက်ပြီး flash စေသောကြောင့် idf.py တည်ဆောက်မှုကို လုပ်ဆောင်ရန် မလိုအပ်ပါ။

Espressif စနစ်များ

40 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။

Flashing လုပ်နေစဉ် ပြဿနာများ ကြုံတွေ့နေရပါသလား။ အကယ်၍ သင်သည် ပေးထားသော command ကို run ပြီး connectp toFailed ကဲ့သို့သော Error များကိုတွေ့ပါက၊ ၎င်းအတွက် အကြောင်းပြချက်များစွာရှိနိုင်ပါသည်။ အကြောင်းရင်းများထဲမှတစ်ခုမှာ chip ကိုပြန်လည်သတ်မှတ်ရန်၊ ROM bootloader နှင့် flash firmware တို့ကိုတည်ဆောက်ရန်စနစ်မှခေါ်သော utility မှ esptool.py မှကြုံတွေ့ရသောပြဿနာများဖြစ်နိုင်သည်။ စမ်းကြည့်ရန် ရိုးရှင်းသော ဖြေရှင်းချက်တစ်ခုမှာ အောက်တွင်ဖော်ပြထားသော လူကိုယ်တိုင် ပြန်လည်သတ်မှတ်ခြင်းဖြစ်ပြီး ၎င်းသည် မကူညီပါက ပြဿနာဖြေရှင်းခြင်းတွင် ဖြစ်နိုင်သောအသေးစိတ်အချက်အလက်များကို သင်ရှာဖွေနိုင်ပါသည်။
esptool.py သည် USB ၏ DTR နှင့် RTS ထိန်းချုပ်မှုလိုင်းများကို အမှတ်စဉ်ပြောင်းပေးသည့် ချစ်ပ်၊ ဆိုလိုသည်မှာ FTDI သို့မဟုတ် CP210x (အသေးစိတ်အချက်အလက်များအတွက် ESP32 ဖြင့် Serial Connection ကိုတည်ဆောက်ခြင်းအား ကြည့်ပါ။ DTR နှင့် RTS ထိန်းချုပ်မှုလိုင်းများသည် ESP32 ၏ GPIO0 နှင့် CHIP_PU (EN) pins များနှင့် ချိတ်ဆက်ထားသောကြောင့် vol တွင် ပြောင်းလဲသွားသည်tagDTR နှင့် RTS ၏ e အဆင့်များသည် ESP32 ကို Firmware ဒေါင်းလုဒ်မုဒ်သို့ စတင်ပါမည်။ ဟောင်းတစ်ယောက်အနေနဲ့ampLe၊ ESP32 DevKitC ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့အတွက် ဇယားကွက်ကို စစ်ဆေးပါ။
ယေဘုယျအားဖြင့်၊ သင်သည် တရားဝင် esp-idf ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်များနှင့် ပြဿနာမရှိသင့်ပါ။ သို့သော်၊ esptool.py သည် အောက်ပါကိစ္စများတွင် သင့် hardware ကို အလိုအလျောက် ပြန်လည်သတ်မှတ်နိုင်ခြင်း မရှိပါ-
· သင်၏ ဟာ့ဒ်ဝဲတွင် GPIO0 နှင့် CHIP_PU နှင့် ချိတ်ဆက်ထားသော DTR နှင့် RTS လိုင်းများ မပါရှိပါ။
သင့်တွင်ရှိသော ဟာ့ဒ်ဝဲအမျိုးအစားပေါ် မူတည်၍ သင်၏ ESP32 ဘုတ်အား Firmware ဒေါင်းလုဒ်မုဒ် (ပြန်လည်သတ်မှတ်ခြင်း) တွင် ကိုယ်တိုင်ထည့်သွင်းနိုင်သည်။
· Espressif မှထုတ်လုပ်သော ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့များအတွက်၊ ဤအချက်အလက်ကို သက်ဆိုင်ရာ စတင်ခြင်းလမ်းညွှန်များ သို့မဟုတ် အသုံးပြုသူလမ်းညွှန်များတွင် တွေ့ရှိနိုင်ပါသည်။ ဟောင်းအတွက်ample၊ ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ကို ကိုယ်တိုင်ပြန်လည်သတ်မှတ်ရန်၊ Boot ခလုတ် (GPIO0) ကို ဖိထားပြီး EN ခလုတ် (CHIP_PU) ကို နှိပ်ပါ။
· အခြားသော ဟာ့ဒ်ဝဲအမျိုးအစားများအတွက် GPIO0 ကို အောက်သို့ ဆွဲချကြည့်ပါ။

ပုံမှန်လုပ်ဆောင်ချက် မှိတ်တုတ်မှိတ်တုတ်မှိတ်တုတ်ပြသောအခါ၊ အောက်ပါနှင့်ဆင်တူသော output log ကိုတွေ့ရပါမည်။
… 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 partition0.0xtable. bootloader/bootloader.bin 0x10000 hello_world.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 ချိတ်ဆက်နေသည်…….._ Chip သည် ESP32D0WDQ6 (ပြန်လည်ပြင်ဆင်မှု 0) အင်္ဂါရပ်များ- WiFi၊ BT၊ Dual Core၊ Coding Scheme None MAC 24:0a:c4:05:b9:14 ဆောင်းပါးတိုကို အပ်လုဒ်လုပ်နေသည်… ဆောင်းပါးတိုကို လည်ပတ်နေသည်… ပင်တိုင်ကို လည်ပတ်နေသည်… ဖြတ်ပိုင်းကို လည်ပတ်နေသည်… baud နှုန်းကို 460800 သို့ ပြောင်းလဲခြင်းသို့ ပြောင်းလဲခဲ့သည်။ ဖလက်ရှ် အရွယ်အစားကို သတ်မှတ်ခြင်း… 3072 bytes မှ 103 အထိ ဖိသိပ်ထားသည်… 0x00008000… (100%) တွင် 3072 bytes (103 compressed) ကို 0x00008000 0.0 စက္ကန့်တွင် 0x00008000 ဖြင့် 0x00008000 (ထိရောက်သောဒေတာ 5962.8 kbit/s တွင် အတည်ပြုထားသည်) 26096 bytes ကို 15408 သို့ ဖိသိပ်ထားသည်… 0x00001000… (100%) တွင် 26096 bytes (15408 compressed) ကို 0x00001000 ဖြင့် 0.4 စက္ကန့်အတွင်း 0x00001000 (ဒေတာ 546.7 kbit/s ထိရောက်စွာ အတည်ပြုထားသည်)… 147104 bytes ကို 77364 သို့ ချုံ့ထားသည်… 0x00010000… (20%) ဖြင့် 0x00014000… (40%) 0x00018000… (60%) ဖြင့်ရေးနေသည် 0x00018000… (40%)
(နောက်စာမျက်နှာတွင် ဆက်ရန်)

Espressif စနစ်များ

41 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
(ယခင်စာမျက်နှာမှ ဆက်လက်ဖော်ပြသည်) 0x00020000… (100%) တွင် 147104 bytes (77364 ချုံ့ထားသည်) 0x00010000 တွင် 1.9 စက္ကန့်အတွင်း (ထိရောက်သော 615. 5 kbit/s)… ဒေတာ hash of verified.
ထွက်နေသည်… RTS ပင်နံပါတ်မှတစ်ဆင့် ပြန်လည်သတ်မှတ်ခြင်း… ပြီးပါပြီ။
Flash လုပ်ငန်းစဉ်အဆုံးတွင် ပြဿနာတစ်စုံတစ်ရာမရှိပါက၊ ဘုတ်သည် ပြန်လည်စတင်ပြီး theohello_worldpapplication ကို စတင်မည်ဖြစ်သည်။ idf.py ကိုအသုံးပြုမည့်အစား Eclipse သို့မဟုတ် VS Code IDE ကိုအသုံးပြုလိုပါက Eclipse Plugin၊ VSCode Extension ကိုကြည့်ပါ။
အထွက်ကို စောင့်ကြည့်ပါ ohello_worldpis အမှန်တကယ် လည်ပတ်ခြင်း ရှိ၊ မရှိ စစ်ဆေးရန်၊ idf.py -p PORT monitor ကို ရိုက်ထည့်ပါ (သင်၏ အမှတ်စဉ် ပို့တ်အမည်ဖြင့် PORT ကို အစားထိုးရန် မမေ့ပါနှင့်)။ ဤအမိန့်တော်သည် IDF Monitor အပလီကေးရှင်းကို စတင်သည်-
$idf.py -p လမ်းညွှန်တွင် idf_monitor အလုပ်လုပ်နေခြင်းကို စောင့်ကြည့် […]/esp/hello_world/build “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_ world/build/hello_world.elf”… — idf_monitor ကိုဖွင့်ပါ 115200 —– ထွက်ရန်- Ctrl+] | မီနူး- Ctrl+T | အကူအညီ- Ctrl+T ၏နောက်တွင် Ctrl+H –ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 …
စတင်ပြီး ရောဂါရှာဖွေရေး မှတ်တမ်းများကို ရွှေ့ပြီးနောက်၊ oHello world! အပလီကေးရှင်းမှ ပရင့်ထုတ်ထားသည်ကို သင်တွေ့ရပါမည်။
… မင်္ဂလာပါကမ္ဘာလောက! 10 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်… ၎င်းသည် CPU core(များ) 2 ခု၊ WiFi/BT/BLE၊ ဆီလီကွန်ပြန်လည်ပြင်ဆင်မှု 1၊ 2MB ပြင်ပဖလက်ရှ် အနိမ့်ဆုံးအခမဲ့ heap အရွယ်အစား- 298968 bytes 9 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်… 8 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်… 7 စက္ကန့်အတွင်း ပြန်လည်စတင်နေသည်…
IDF မော်နီတာမှ ထွက်ရန် ဖြတ်လမ်းလင့်ခ် Ctrl+] ကို အသုံးပြုပါ။ အကယ်၍ IDF မော်နီတာသည် အပ်လုဒ်လုပ်ပြီးနောက် မကြာမီ ပျက်ကွက်ပါက သို့မဟုတ် အထက်ဖော်ပြပါ မက်ဆေ့ချ်များအစား အောက်တွင်ဖော်ပြထားသော ကျပန်းအမှိုက်များနှင့် ဆင်တူသည်ကို သင်တွေ့မြင်ရပါက သင့်ဘုတ်သည် 26 MHz ပုံဆောင်ခဲကို အသုံးပြုထားနိုင်ဖွယ်ရှိသည်။ ဖွံ့ဖြိုးတိုးတက်မှုဘုတ်အဖွဲ့ ဒီဇိုင်းအများစုသည် 40 MHz ကိုအသုံးပြုသောကြောင့် ESP-IDF သည် ဤအကြိမ်ရေကို မူရင်းတန်ဖိုးအဖြစ် အသုံးပြုသည်။

သင့်တွင်ထိုကဲ့သို့သောပြဿနာတစ်ခုရှိပါက၊ အောက်ပါတို့ကိုလုပ်ဆောင်ပါ။
1. မော်နီတာမှ ထွက်ပါ။ 2. menuconfig သို့ပြန်သွားပါ။ 3. Component config > Hardware Settings > Main XTAL Config > Main XTAL သို့ သွားပါ။
ကြိမ်နှုန်း၊ ထို့နောက် CONFIG_XTAL_FREQ_SEL ကို 26 MHz သို့ပြောင်းပါ။ 4. ထို့နောက် အပလီကေးရှင်းကို တည်ဆောက်ပြီး ထပ်မံ flash လုပ်ပါ။

Espressif စနစ်များ

42 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
ESP-IDF ၏ လက်ရှိဗားရှင်းတွင်၊ ESP32 မှပံ့ပိုးပေးသော ပင်မ XTAL ကြိမ်နှုန်းများမှာ အောက်ပါအတိုင်းဖြစ်သည်-
· 26 MHz · 40 MHz
မှတ်ချက်- တည်ဆောက်ခြင်း၊ မှိတ်တုတ်မှိတ်တုတ်နှင့် စောင့်ကြည့်ခြင်းတို့ကို အဆင့်တစ်ဆင့်သို့ ပေါင်းစပ်နိုင်သည်- idf.py -p PORT flash monitor
ကိုလည်းကြည့်ပါ- · IDF Monitor အသုံးပြုခြင်းအတွက် လွယ်ကူသောဖြတ်လမ်းများနှင့် နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက် IDF Monitor။ · idf.py ညွှန်ကြားချက်များနှင့် ရွေးချယ်စရာများ အပြည့်အစုံကို ကိုးကားရန်အတွက် idf.py
ESP32 ဖြင့် စတင်ရန် လိုအပ်သည်များ အားလုံးပင်ဖြစ်သည်။ အခု သင်ဟာ တခြားရည်းစားဟောင်းကို စမ်းကြည့်ဖို့ အဆင်သင့်ဖြစ်နေပါပြီ။amples၊ သို့မဟုတ် သင့်ကိုယ်ပိုင်အက်ပ်လီကေးရှင်းကို ဖော်ဆောင်ရန် တိုက်ရိုက်သွားပါ။
အရေးကြီးသည်- အချို့သော exampလိုအပ်သော ဟာ့ဒ်ဝဲသည် ESP32 တွင် မပါဝင်သောကြောင့် ESP32 ကို မပံ့ပိုးနိုင်သောကြောင့် ၎င်းကို ပံ့ပိုးမပေးနိုင်ပါ။ ex ဆောက်ရင်ampကျေးဇူးပြု၍ README ကိုစစ်ဆေးပါ။ file Supported Targets ဇယားအတွက်။ အကယ်၍ ၎င်းသည် ESP32 ပစ်မှတ် အပါအဝင် သို့မဟုတ် ဇယား လုံးဝမရှိပါက၊ ဥပမာample သည် ESP32 တွင်အလုပ်လုပ်လိမ့်မည်။
ထပ်လောင်းအကြံပြုချက်များ
ခွင့်ပြုချက်ပြဿနာများ /dev/ttyUSB0 အချို့သော Linux ဖြန့်ဖြူးမှုများနှင့်အတူ ESP32 ကို flashing လုပ်သောအခါ port /dev/ttyUSB0 ကိုဖွင့်ရန် မအောင်မြင်သော အမှားသတင်းကို သင်ရရှိနိုင်ပါသည်။ ဒိုင်ယာလက်အဖွဲ့သို့ လက်ရှိအသုံးပြုသူကို ပေါင်းထည့်ခြင်းဖြင့် ၎င်းကို ဖြေရှင်းနိုင်ပါသည်။
Python နှင့် လိုက်ဖက်သော ESP-IDF သည် Python 3.7 သို့မဟုတ် ၎င်းထက် ပိုအသစ်များကို ပံ့ပိုးပေးသည်။ ဤလိုအပ်ချက်ကို ဖြည့်ဆည်းပေးသည့် သင်၏လည်ပတ်မှုစနစ်ကို မကြာသေးမီကဗားရှင်းသို့ အဆင့်မြှင့်ရန် အကြံပြုထားသည်။ အခြားရွေးချယ်စရာများတွင် ရင်းမြစ်များမှ Python ကို တပ်ဆင်ခြင်း သို့မဟုတ် pyenv ကဲ့သို့သော Python ဗားရှင်းစီမံခန့်ခွဲမှုစနစ် အသုံးပြုခြင်း။
ဘုတ်အဖွဲ့ပံ့ပိုးမှုပက်ကေ့ချ်ဖြင့် စတင်ပါ အချို့သော ဖွံ့ဖြိုးရေးဘုတ်အဖွဲ့များတွင် ပုံတူပုံစံရိုက်ခြင်းကို အရှိန်မြှင့်ရန်၊ ဘုတ်အဖွဲ့ပံ့ပိုးမှုပက်ကေ့ခ်ျများ (BSPs) ကို အသုံးပြု၍ လုပ်ဆောင်ချက်အနည်းငယ်သာခေါ်ဆိုမှုများကဲ့သို့ ဘုတ်အဖွဲ့တစ်ခု၏ ကနဦးအစပြုခြင်းကို လွယ်ကူစေသည်။ BSP သည် ပုံမှန်အားဖြင့် developer board တွင်ပေးထားသော hardware အစိတ်အပိုင်းအားလုံးကို ပံ့ပိုးပေးပါသည်။ pinout အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် ကနဦးလုပ်ဆောင်ချက်များအပြင် BSP သည် အာရုံခံကိရိယာများ၊ ပြသမှုများ၊ အော်ဒီယိုကုဒ်ဒစ်များကဲ့သို့သော ပြင်ပအစိတ်အပိုင်းများအတွက် ယာဉ်မောင်းများပါရှိသည်။ BSP များကို IDF Component Manager မှတစ်ဆင့် ဖြန့်ဝေထားသောကြောင့် ၎င်းတို့ကို IDF Component Registry တွင် တွေ့ရှိနိုင်ပါသည်။ Herens က ရည်းစားဟောင်းampသင့်ပရောဂျက်သို့ ESP-WROVER-KIT BSP ထည့်နည်း၏ idf.py add-dependency esp_wrover_kit
ပိုပိုampBSP အသုံးပြုမှုကို BSP ဟောင်းတွင် တွေ့ရှိနိုင်သည်။amples ဖိုဒါ။
အကြံပြုချက်- ESP-IDF ကို အပ်ဒိတ်လုပ်ခြင်း ဗားရှင်းအသစ်များသည် ချို့ယွင်းချက်များနှင့်/သို့မဟုတ် အင်္ဂါရပ်အသစ်များကို ပံ့ပိုးပေးသောကြောင့် ESP-IDF ကို အခါအားလျော်စွာ အပ်ဒိတ်လုပ်ရန် အကြံပြုအပ်ပါသည်။ ESP-IDF အကြီးစားနှင့် အသေးစားထုတ်လွှတ်မှုဗားရှင်းတစ်ခုစီတွင် ဆက်စပ်ပံ့ပိုးပေးသည့်ကာလတစ်ခုရှိပြီး ထုတ်ဝေမှုဌာနခွဲတစ်ခုသည် သက်တမ်းကုန်ဆုံးချိန် (EOL) နီးကပ်လာသောအခါ၊ အသုံးပြုသူများအားလုံးကို ၎င်းတို့၏ ပရောဂျက်များကို မကြာသေးမီက ESP-IDF ထုတ်ဝေမှုများသို့ အဆင့်မြှင့်တင်ရန် တိုက်တွန်းထားပြီး ပံ့ပိုးမှုကာလများအကြောင်း ပိုမိုသိရှိနိုင်ရန် ESP-IDF ဗားရှင်းများကို ကြည့်ပါ။

Espressif စနစ်များ

43 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၁။ စတင်လိုက်ပါ။
အပ်ဒိတ်လုပ်ရန် အရိုးရှင်းဆုံးနည်းလမ်းမှာ အဆင့် 2 တွင်ဖော်ပြထားသော ကနဦးထည့်သွင်းမှုကို လုပ်ဆောင်သကဲ့သို့ ရှိပြီးသား esp-idf ဖိုင်တွဲကို ဖျက်ကာ ၎င်းကို ထပ်ကာပွားရန်ဖြစ်သည်။ ESP-IDF ကို ရယူပါ။ အခြားဖြေရှင်းချက်မှာ ပြောင်းလဲသွားသောအရာများကိုသာ အပ်ဒိတ်လုပ်ရန်ဖြစ်သည်။ အပ်ဒိတ်လုပ်ထုံးလုပ်နည်းသည် သင်အသုံးပြုနေသော ESP-IDF ဗားရှင်းပေါ်တွင် မူတည်သည်။ ESP-IDF ကို အပ်ဒိတ်လုပ်ပြီးနောက်၊ ESP-IDF ဗားရှင်းအသစ်သည် မတူညီသော ကိရိယာများ၏ ဗားရှင်းများ လိုအပ်လာသောအခါတွင် ထည့်သွင်းရန် script ကို ထပ်မံလုပ်ဆောင်ပါ။ အဆင့် 3 တွင် ညွှန်ကြားချက်များကို ကြည့်ပါ။ ကိရိယာများကို စနစ်ထည့်သွင်းပါ။ ကိရိယာအသစ်များကို ထည့်သွင်းပြီးသည်နှင့်၊ Export script ကို အသုံးပြု၍ ပတ်ဝန်းကျင်ကို အပ်ဒိတ်လုပ်ပါ။ အဆင့် 4 တွင် ညွှန်ကြားချက်များကို ကြည့်ပါ။
ဆက်စပ်စာရွက်စာတမ်းများ · ESP32 ဖြင့် Serial ချိတ်ဆက်မှုကို ထူထောင်ပါ · Eclipse Plugin · VSCode Extension · IDF Monitor
1.4 သင်၏ပထမဆုံးပရောဂျက်ကိုတည်ဆောက်ပါ။
အကယ်၍ သင့်တွင် ESP-IDF ကိုထည့်သွင်းထားပြီး IDE ကိုအသုံးမပြုပါက၊ Windows ပေါ်ရှိ ပရောဂျက်တစ်ခုစတင်ပြီးနောက် သို့မဟုတ် Linux နှင့် macOS တွင် ပရောဂျက်တစ်ခုစတင်ပြီးနောက် သင်၏ပထမဆုံးပရောဂျက်ကို command line မှတည်ဆောက်နိုင်သည်။
1.5 ESP-IDF ကို ဖြုတ်ပါ။
ESP-IDF ကို ဖယ်ရှားလိုပါက Uninstall ESP-IDF ကို လိုက်နာပါ။

Espressif စနစ်များ

44 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း ၄
API အကိုးအကား
2.1 API သဘောတူညီချက်များ
ဤစာတမ်းသည် ESP-IDF Application Programming Interfaces (APIs) များအတွက် အသုံးများသော သဘောတူညီချက်များနှင့် ယူဆချက်များကို ဖော်ပြသည်။ ESP-IDF သည် ပရိုဂရမ်းမင်း၏ အင်တာဖေ့စ် အမျိုးအစားများစွာကို ပံ့ပိုးပေးသည်-
· C လုပ်ဆောင်ချက်များ၊ ဖွဲ့စည်းပုံများ၊ enums၊ အမျိုးအစား အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် အများသူငှာ ခေါင်းစီးတွင် ကြေညာထားသော preprocessor macro fileESPIDF အစိတ်အပိုင်းများ။ ပရိုဂရမ်းမင်းလမ်းညွှန်၏ API ကိုးကားမှုကဏ္ဍရှိ စာမျက်နှာအမျိုးမျိုးတွင် ဤလုပ်ဆောင်ချက်များ၊ ဖွဲ့စည်းပုံများနှင့် အမျိုးအစားများ၏ ဖော်ပြချက်ပါရှိသည်။
· စနစ်လုပ်ဆောင်ချက်များ၊ ကြိုတင်သတ်မှတ်ထားသော ကိန်းရှင်များနှင့် ရွေးချယ်မှုများကို တည်ဆောက်ပါ။ ဒါတွေကို တည်ဆောက်မှုစနစ်လမ်းညွှန်မှာ မှတ်တမ်းတင်ထားပါတယ်။ · Kconfig ရွေးချယ်မှုများကို ကုဒ်နှင့် တည်ဆောက်မှုစနစ် (CMakeLists.txt) တွင် အသုံးပြုနိုင်သည်။ file၎။ · လက်ခံကိရိယာများနှင့် ၎င်းတို့၏ command line parameter များသည် ESP-IDF interface ၏ တစ်စိတ်တစ်ပိုင်းလည်းဖြစ်သည်။ ESP-IDF တွင် ESP-IDF အတွက် အထူးရေးသားထားသော အစိတ်အပိုင်းများအပြင် ပြင်ပအဖွဲ့အစည်း စာကြည့်တိုက်များ ပါဝင်သည်။ အချို့သောကိစ္စများတွင်၊ ESP-IDF သီးသန့်ထုပ်ပိုးခြင်းကို ပြင်ပအဖွဲ့အစည်းစာကြည့်တိုက်သို့ ပေါင်းထည့်ထားပြီး ကျန် ESP-IDF အဆောက်အအုံများနှင့် ပိုမိုရိုးရှင်းသော သို့မဟုတ် ပိုမိုကောင်းမွန်သော ပေါင်းစည်းမှုဖြစ်စေသည့် အင်တာဖေ့စ်ကို ပေးဆောင်သည်။ အခြားကိစ္စများတွင်၊ ပြင်ပအဖွဲ့အစည်းစာကြည့်တိုက်၏မူရင်း API ကို အပလီကေးရှင်းဆော့ဖ်ဝဲရေးသားသူများထံ တင်ပြသည်။ အောက်ဖော်ပြပါ ကဏ္ဍများတွင် ESP-IDF API များနှင့် ၎င်းတို့၏အသုံးပြုမှုဆိုင်ရာ ရှုထောင့်အချို့ကို ရှင်းပြထားသည်။
၁၅ အမှားကိုင်တွယ်ခြင်း
ESP-IDF API အများစုသည် esp_err_t အမျိုးအစားဖြင့် သတ်မှတ်ထားသော အမှားကုဒ်များကို ပြန်ပေးသည်။ အမှားအယွင်း ကိုင်တွယ်ဖြေရှင်းနည်းများအကြောင်း နောက်ထပ်အချက်အလက်များအတွက် Error Handling ကဏ္ဍကို ကြည့်ပါ။ အမှားကုဒ်ရည်ညွှန်းချက်တွင် ESP-IDF အစိတ်အပိုင်းများမှ ပြန်ပေးသော အမှားကုဒ်များစာရင်းပါရှိသည်။
2.1.2 ဖွဲ့စည်းမှုပုံစံများ
အရေးကြီးသည်- ဖွဲ့စည်းမှုဖွဲ့စည်းပုံများကို မှန်ကန်စွာ အစပြုခြင်းသည် အပလီကေးရှင်း ESP-IDF ၏ အနာဂတ်ဗားရှင်းများနှင့် သဟဇာတဖြစ်စေရန်အတွက် အရေးကြီးသော အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။
ESP-IDF တွင် ကနဦးသတ်မှတ်ခြင်း သို့မဟုတ် ဖွဲ့စည်းမှုဆိုင်ရာ လုပ်ဆောင်ချက်များ အများစုသည် ဖွဲ့စည်းမှုဖွဲ့စည်းပုံသို့ ညွှန်ပြချက်တစ်ခုအဖြစ် အငြင်းအခုံအဖြစ် ယူသည်။ ဟောင်းအတွက်ample-
45

အခန်း 2. API အကိုးအကား

const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback၊ .arg = callback_arg၊ .name = "my_timer"
}; esp_timer_handle_t my_timer; esp_err_t err = esp_timer_create(&my_timer_args၊ &my_timer);
အစပြုခြင်း လုပ်ဆောင်ချက်များသည် ညွှန်ပြချက်ကို ဖွဲ့စည်းမှုဖွဲ့စည်းပုံတွင် ဘယ်သောအခါမှ မသိမ်းဆည်းပါ၊ ထို့ကြောင့် စထရပ်ပေါ်တွင် ဖွဲ့စည်းပုံကို ခွဲဝေချထားရန် ဘေးကင်းပါသည်။
အပလီကေးရှင်းသည် ဖွဲ့စည်းပုံ၏ အကွက်အားလုံးကို အစပြုရပါမည်။ အောက်ပါတို့သည် မမှန်ပါ
esp_timer_create_args_t my_timer_args; my_timer_args.callback = &my_timer_callback; /* မမှန်ပါ။ အကွက်များ .arg နှင့် .name ကို အစပျိုးမထားပါ။ */ esp_timer_create(&my_timer_args, &my_timer);
ESP-IDF အများစုမှာ examples သည် အကွက်များ၏ အပိုင်းခွဲတစ်ခုကို သတ်မှတ်ခြင်းနှင့် ကျန်အကွက်များကို သုညအစပြုခြင်းအတွက် အတိုချုံးကျစ်ကျစ်လျစ်လျစ်နည်းလမ်းကို ပံ့ပိုးပေးသောကြောင့် ဖွဲ့စည်းတည်ဆောက်ပုံ အစပြုခြင်းအတွက် C99 သတ်မှတ်ထားသော ကနဦးစာများကို အသုံးပြုပါသည်။
const esp_timer_create_args_t my_timer_args = { .callback = &my_timer_callback၊ /* မှန်သည်၊ အကွက် .arg နှင့် .name ကို သုည-အစပြုထားသည် */
};
C++ ဘာသာစကားသည် C++20 အထိ သတ်မှတ်ထားသော ကနဦးအစီအမံများကို ပံ့ပိုးမပေးသော်လည်း GCC compiler သည် ၎င်းအား တိုးချဲ့မှုအဖြစ် တစ်စိတ်တစ်ပိုင်း ပံ့ပိုးပေးသည်။ C++ ကုဒ်တွင် ESP-IDF APIs ကိုအသုံးပြုသောအခါ၊ သင်သည် အောက်ပါပုံစံကို အသုံးပြုရန် စဉ်းစားနိုင်သည်-
esp_timer_create_args_t my_timer_args = {}; /* အကွက်များအားလုံးသည် သုညအစပြုထားသည် */ my_timer_args.callback = &my_timer_callback;

မူလအစပြုသူများ
အချို့သော configuration တည်ဆောက်ပုံများအတွက် ESP-IDF သည် အကွက်များ၏ ပုံသေတန်ဖိုးများကို သတ်မှတ်ရန်အတွက် မက်ခရိုကို ပေးသည်-
httpd_config_t config = HTTPD_DEFAULT_CONFIG(); /* HTTPD_DEFAULT_CONFIG သည် သတ်မှတ်ထားသော ကနဦးစနစ်သို့ ချဲ့သည်။
ယခုအခါ အကွက်အားလုံးကို ပုံသေတန်ဖိုးများအဖြစ် သတ်မှတ်ထားသည်။ မည်သည့်အကွက်ကိုမဆို ပြုပြင်နိုင်ဆဲဖြစ်သည်- */ config.server_port = 8081; httpd_handle_t ဆာဗာ; esp_err_t err = httpd_start(&server၊ &config);
သီးခြားဖွဲ့စည်းပုံဖွဲ့စည်းပုံအတွက် ၎င်းတို့ကို ပံ့ပိုးပေးသည့်အခါတိုင်း မူရင်းအစနမိတ်ဖတ်ခြင်း မက်ခရိုကို အသုံးပြုရန် အကြံပြုထားသည်။

2.1.3 သီးသန့် API များ
သေချာတဲ့ ခေါင်းစီး fileESP-IDF တွင် ESP-IDF ရင်းမြစ်ကုဒ်တွင်သာ အသုံးပြုရန် ရည်ရွယ်ထားသော API များ ပါဝင်ပြီး အပလီကေးရှင်းများမှ မဟုတ်ဘဲ၊ အဲဒီလို ခေါင်းစီး files တွင် ၎င်းတို့၏အမည် သို့မဟုတ် လမ်းကြောင်းတွင် လျှို့ဝှက် သို့မဟုတ် esp_private ပါဝင်လေ့ရှိသည်။ hal ကဲ့သို့သော အချို့သော အစိတ်အပိုင်းများတွင် သီးသန့် API များသာ ပါဝင်ပါသည်။ သီးသန့် API များကို အသေးအမွှား သို့မဟုတ် patch ထုတ်ဝေမှုများကြားတွင် သဟဇာတမဖြစ်သောနည်းလမ်းဖြင့် ဖယ်ရှားနိုင်သည် သို့မဟုတ် ပြောင်းလဲနိုင်သည်။

2.1.4 ex တွင်ရှိသော အစိတ်အပိုင်းများample စီမံကိန်းများ
ESP-IDF ဟောင်းamples တွင် ESP-IDF API များကို အသုံးပြုမှု သရုပ်ပြသည့် ပရောဂျက်မျိုးစုံ ပါဝင်သည်။ ex တွင် ကုဒ်ပွားခြင်းကို လျှော့ချရန်amples၊ များစွာသော ex မှအသုံးပြုသော အစိတ်အပိုင်းများအတွင်းတွင် အသုံးများသော အထောက်အကူအနည်းငယ်ကို သတ်မှတ်ထားပါသည်။amples

Espressif စနစ်များ

46 စာရွက်စာတမ်း အကြံပြုချက်ကို တင်သွင်းပါ။

ထုတ်ဝေမှု v5.0.9

အခန်း 2. API အကိုးအကား
၎င်းတွင်တည်ရှိသောအစိတ်အပိုင်းများပါဝင်သည်။

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

Espressif စနစ်များ ESP32 Dev Kitc ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့ [pdf] အသုံးပြုသူလမ်းညွှန်
ESP32 Dev Kitc ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့၊ ESP32၊ Dev Kitc ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့၊ Kitc ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့၊ ဖွံ့ဖြိုးတိုးတက်ရေးဘုတ်အဖွဲ့၊ ဘုတ်အဖွဲ့

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *