မာတိကာ ပုန်း
2 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု
2.1 IoT အတွက် ပြည့်စုံသော လမ်းညွှန်ချက်

ESP32-C3 ကြိုးမဲ့စွန့်စားမှု

ESP32-C3 ကြိုးမဲ့စွန့်စားမှု

IoT အတွက် ပြည့်စုံသော လမ်းညွှန်ချက်

Espressif စနစ်များ ဇွန်လ 12 ရက်၊ 2023 ခုနှစ်

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

  • ထုတ်ကုန်- ESP32-C3 ကြိုးမဲ့စွန့်စားမှု
  • ထုတ်လုပ်သူ- Espressif စနစ်များ
  • ရက်စွဲ- ဇွန်လ 12 ရက် 2023 ခုနှစ်

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

ဘိတ်

ESP32-C3 Wireless Adventure ကိုအသုံးမပြုမီ၊ သင်သည်သေချာပါစေ။
IoT ၏ သဘောတရားများနှင့် ဗိသုကာလက်ရာများနှင့် ရင်းနှီးသည်။ ကူညီပေးပါမည်။
စက်ပစ္စည်းသည် ပိုမိုကြီးမားသော IoT ဂေဟစနစ်နှင့် မည်သို့ကိုက်ညီကြောင်း သင်နားလည်ပါသည်။
စမတ်အိမ်များတွင်၎င်း၏အလားအလာရှိသောအသုံးချပရိုဂရမ်များ။

IoT ပရောဂျက်များကို မိတ်ဆက်ခြင်းနှင့် လက်တွေ့လုပ်ဆောင်ခြင်း။

ဤကဏ္ဍတွင်၊ ပုံမှန် IoT ပရောဂျက်များအကြောင်း လေ့လာနိုင်ပါမည်၊
အသုံးများသော IoT စက်များအတွက် အခြေခံ module များ၊ အခြေခံ module များ ပါဝင်သည်။
ကလိုင်းယင့်အပလီကေးရှင်းများနှင့် ဘုံ IoT cloud ပလပ်ဖောင်းများ။ ဒီလိုလုပ်မယ်။
သင့်အား နားလည်မှုနှင့် ဖန်တီးမှုအတွက် အခြေခံအုတ်မြစ်ကို ပေးဆောင်ပါ။
ကိုယ်ပိုင် IoT ပရောဂျက်များ။

လေ့ကျင့်မှု- စမတ်အလင်းပရောဂျက်

ဤအလေ့အကျင့်ပရောဂျက်တွင်၊ သင်သည် စမတ်ကျပုံကို ဖန်တီးနည်းကို သင်လေ့လာလိမ့်မည်။
ESP32-C3 Wireless Adventure ကို အသုံးပြု၍ အလင်းရောင်။ စီမံကိန်းဖွဲ့စည်းပုံ၊
လုပ်ဆောင်ချက်များ၊ ဟာ့ဒ်ဝဲပြင်ဆင်မှုနှင့် ဖွံ့ဖြိုးတိုးတက်မှု လုပ်ငန်းစဉ်များ ဖြစ်လိမ့်မည်။
အသေးစိတ်ရှင်းပြထားပါတယ်။

စီမံကိန်းဖွဲ့စည်းပုံ

ပရောဂျက်တွင် အစိတ်အပိုင်းများစွာ ပါဝင်ပါသည်။
ESP32-C3 ကြိုးမဲ့စွန့်စားမှု၊ LED များ၊ အာရုံခံကိရိယာများနှင့် တိမ်တိုက်တစ်ခု
နောက်ခံပစ္စည်း။

ပရောဂျက်လုပ်ဆောင်ချက်များ

စမတ်အလင်းပရောဂျက်သည် သင့်အား တောက်ပမှုနှင့် ထိန်းချုပ်နိုင်စေမည်ဖြစ်သည်။
မိုဘိုင်းအက်ပ်မှတဆင့် သို့မဟုတ် အဝေးမှ LED မီးများအရောင် web
ကြားခံ။

ဟာ့ဒ်ဝဲပြင်ဆင်ခြင်း။

ပရောဂျက်အတွက်ပြင်ဆင်ရန်၊ သင်စုဆောင်းရန်လိုအပ်လိမ့်မည်။
ESP32-C3 Wireless ကဲ့သို့သော လိုအပ်သော ဟာ့ဒ်ဝဲ အစိတ်အပိုင်းများ
Adventure board၊ LEDs၊ resistors နှင့် power supply တစ်ခု။

ဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်

ဖွံ့ဖြိုးတိုးတက်ရေး လုပ်ငန်းစဉ်တွင် ဖွံ့ဖြိုးတိုးတက်မှု ထူထောင်ခြင်း ပါဝင်သည်။
ပတ်ဝန်းကျင်တွင် LEDs များကို ထိန်းချုပ်ရန် ကုဒ်ရေးပြီး ချိတ်ဆက်နေသည်။
cloud backend နှင့် smart ၏လုပ်ဆောင်နိုင်စွမ်းကိုစမ်းသပ်ခြင်း။
အလင်း။

ESP RainMaker မိတ်ဆက်

ESP RainMaker သည် IoT တီထွင်မှုအတွက် အားကောင်းသော မူဘောင်တစ်ခုဖြစ်သည်။
စက်ပစ္စည်းများ။ ဤကဏ္ဍတွင်၊ ESP RainMaker သည် အဘယ်အရာဖြစ်သည်ကို သင်လေ့လာနိုင်မည်ဖြစ်သည်။
သင့်ပရောဂျက်များတွင် မည်သို့အကောင်အထည်ဖော်နိုင်မည်နည်း။

ESP RainMaker ဆိုတာဘာလဲ။

ESP RainMaker သည် အစုံလိုက်ကို ပံ့ပိုးပေးသည့် cloud-based platform တစ်ခုဖြစ်သည်။
IoT စက်ပစ္စည်းများကို တည်ဆောက်ခြင်းနှင့် စီမံခန့်ခွဲခြင်းအတွက် ကိရိယာများနှင့် ဝန်ဆောင်မှုများ။

ESP RainMaker ၏အကောင်အထည်ဖော်မှု

ဤကဏ္ဍတွင် ပါဝင်သည့် အစိတ်အပိုင်းအမျိုးမျိုးကို ရှင်းပြထားသည်။
ဝန်ဆောင်မှု အပါအဝင် ESP RainMaker ကို အကောင်အထည်ဖော်ခြင်း၊
RainMaker Agent၊ cloud backend နှင့် RainMaker Client တို့။

အလေ့အကျင့်- ESP RainMaker ဖြင့် ဖော်ဆောင်ရန်အတွက် အဓိကအချက်များ

ဤအလေ့အကျင့်ကဏ္ဍတွင် သင်လုပ်ဆောင်ရမည့် အဓိကအချက်များအကြောင်း လေ့လာပါမည်။
ESP RainMaker ဖြင့် တီထွင်သည့်အခါ ထည့်သွင်းစဉ်းစားပါ။ ၎င်းတွင် စက်ပစ္စည်း ပါဝင်သည်။
တောင်းဆိုခြင်း၊ ဒေတာထပ်တူပြုခြင်းနှင့် အသုံးပြုသူစီမံခန့်ခွဲမှု။

ESP RainMaker ၏အင်္ဂါရပ်များ

ESP RainMaker သည် အသုံးပြုသူစီမံခန့်ခွဲမှုအတွက် အမျိုးမျိုးသောအင်္ဂါရပ်များကို ပံ့ပိုးပေးပါသည်။
သုံးစွဲသူများနှင့် စီမံခန့်ခွဲသူများ။ ဤအင်္ဂါရပ်များသည် စက်ပစ္စည်းကို လွယ်ကူစေရန် ခွင့်ပြုသည်။
စနစ်ထည့်သွင်းခြင်း၊ အဝေးထိန်းခလုတ်နှင့် စောင့်ကြည့်ခြင်း။

ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း။

ဒီပုဒ်မကို လွှမ်းခြုံပေးထားတယ်။view ESP-IDF (Espressif IoT
ဖွံ့ဖြိုးတိုးတက်ရေးမူဘောင်)၊ တရားဝင်ဖွံ့ဖြိုးတိုးတက်မှုမူဘောင်ဖြစ်သည့်
ESP32 အခြေခံ စက်ပစ္စည်းများအတွက်။ ဗားရှင်းအမျိုးမျိုးကို ရှင်းပြထားပါတယ်။
ESP-IDF နှင့် ဖွံ့ဖြိုးတိုးတက်ရေးဆိုင်ရာ ပတ်ဝန်းကျင်ကို မည်သို့သတ်မှတ်မည်နည်း။

Hardware နှင့် Driver ဖွံ့ဖြိုးတိုးတက်ရေး

ESP32-C3 ကိုအခြေခံ၍ Smart Light ထုတ်ကုန်များ၏ ဟာ့ဒ်ဝဲဒီဇိုင်း

ဤအပိုင်းသည် စမတ်အလင်း၏ ဟာ့ဒ်ဝဲဒီဇိုင်းကို အလေးပေးသည်။
ESP32-C3 Wireless Adventure ကို အခြေခံထားသော ထုတ်ကုန်များ။ ၎င်းသည် အကျုံးဝင်သည်။
စမတ်အလင်းထုတ်ကုန်များ၏ အင်္ဂါရပ်များနှင့် ဖွဲ့စည်းမှုတို့အပြင်၊
ESP32-C3 core စနစ်၏ ဟာ့ဒ်ဝဲဒီဇိုင်း။

Smart Light ထုတ်ကုန်များ၏ အင်္ဂါရပ်များနှင့် ပေါင်းစပ်ဖွဲ့စည်းမှု

ဤအပိုင်းခွဲတွင် ပြုလုပ်သည့် အင်္ဂါရပ်များနှင့် အစိတ်အပိုင်းများကို ရှင်းပြထားသည်။
စမတ်အလင်းထုတ်ကုန်များတက်။ မတူညီသောလုပ်ဆောင်ချက်များကို ဆွေးနွေးသည်။
နှင့် စမတ်မီးလုံးများ ဖန်တီးရန်အတွက် ထည့်သွင်းစဉ်းစားထားသော ဒီဇိုင်း။

ESP32-C3 Core စနစ်၏ ဟာ့ဒ်ဝဲဒီဇိုင်း

ESP32-C3 core system ၏ hardware design တွင် power ပါဝင်ပါသည်။
ထောက်ပံ့မှု၊ ပါဝါဖွင့်ခြင်း အစီအစဉ်၊ စနစ်ပြန်လည်သတ်မှတ်မှု၊ SPI ဖလက်ရှ်၊ နာရီရင်းမြစ်၊
နှင့် RF နှင့် အင်တင်နာ ထည့်သွင်းစဉ်းစားမှုများ။ ဒီပုဒ်မခွဲက ပေးထားပါတယ်။
ဤကဏ္ဍများအတွက် အသေးစိတ်အချက်အလက်များ။

အမြဲမေးလေ့ရှိသောမေးခွန်းများ

မေး- ESP RainMaker ဆိုတာဘာလဲ။

A- ESP RainMaker သည် ကိရိယာများကို ပံ့ပိုးပေးသည့် cloud-based platform တစ်ခုဖြစ်သည်။
IoT စက်များကို တည်ဆောက်ခြင်းနှင့် စီမံခန့်ခွဲခြင်းအတွက် ဝန်ဆောင်မှုများ။ ရိုးရှင်းပါသည်။
ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်ကို လွယ်ကူသော စက်တပ်ဆင်မှု၊ အဝေးထိန်းစနစ်ဖြင့် ခွင့်ပြုသည်။
ထိန်းချုပ်မှု၊ စောင့်ကြည့်မှု။

မေး- ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်ကို ဘယ်လိုတည်ဆောက်မလဲ။
ESP32-C3?

A- ESP32-C3 အတွက် ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို သတ်မှတ်ရန်၊ သင်လိုအပ်သည်။
ESP-IDF (Espressif IoT Development Framework) နှင့် ထည့်သွင်းရန်
ပေးထားသော ညွှန်ကြားချက်များအတိုင်း ၎င်းကို configure လုပ်ပါ။ ESP-IDF သည်
ESP32 အခြေခံစက်ပစ္စည်းများအတွက်တရားဝင်ဖွံ့ဖြိုးတိုးတက်မှုမူဘောင်။

မေး- ESP RainMaker ရဲ့ အင်္ဂါရပ်တွေက ဘာတွေလဲ။

A- ESP RainMaker သည် အသုံးပြုသူအပါအဝင် အင်္ဂါရပ်အမျိုးမျိုးကို ပေးဆောင်သည်။
စီမံခန့်ခွဲမှု၊ အသုံးပြုသူအင်္ဂါရပ်များနှင့် စီမံခန့်ခွဲရေးအင်္ဂါရပ်များ။ အသုံးပြုသူစီမံခန့်ခွဲမှု
စက်ကို လွယ်ကူစွာ တောင်းဆိုခြင်းနှင့် ဒေတာ ထပ်တူပြုခြင်းအတွက် ခွင့်ပြုသည်။ အသုံးပြုသူ
ဝန်ဆောင်မှုများသည် မိုဘိုင်းအက်ပ်မှတစ်ဆင့် စက်ပစ္စည်းများ၏ အဝေးထိန်းခလုတ်ကို ဖွင့်ပေးနိုင်သည်။
web ကြားခံ။ စီမံခန့်ခွဲသူအင်္ဂါရပ်များသည် စက်ပစ္စည်းစောင့်ကြည့်ခြင်းအတွက် ကိရိယာများကို ပေးဆောင်သည်။
နှင့်စီမံခန့်ခွဲမှု။

ESP32-C3 ကြိုးမဲ့စွန့်စားမှု
IoT အတွက် ပြည့်စုံသော လမ်းညွှန်ချက်
Espressif စနစ်များ ဇွန်လ 12 ရက်၊ 2023 ခုနှစ်

မာတိကာ

ငါဘိတ်

1

1 IoT မိတ်ဆက်

3

1.1 IoT ဗိသုကာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃

1.2 Smart Homes ရှိ IoT လျှောက်လွှာ။ . . . . . . . . . . . . . . . . . . . . . . . . . ၆

2 IoT ပရောဂျက်များ၏ နိဒါန်းနှင့် အလေ့အကျင့်

9

2.1 ပုံမှန် IoT ပရောဂျက်များအကြောင်း နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . ၉

2.1.1 အသုံးများသော IoT စက်များအတွက် အခြေခံ မော်ဂျူးများ။ . . . . . . . . . . . . . . . . ၉

2.1.2 Client အပလီကေးရှင်းများ၏ အခြေခံ မော်ဂျူးများ . . . . . . . . . . . . . . . . . . ၁၀

2.1.3 အသုံးများသော IoT Cloud ပလပ်ဖောင်းများအကြောင်း နိဒါန်း။ . . . . . . . . . . . . . ၁၁

2.2 အလေ့အကျင့်- Smart Light ပရောဂျက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၂

2.2.1 ပရောဂျက်ဖွဲ့စည်းပုံ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃

2.2.2 ပရောဂျက်လုပ်ဆောင်ချက်များ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃

2.2.3 ဟာ့ဒ်ဝဲပြင်ဆင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၄

2.2.4 ဖွံ့ဖြိုးတိုးတက်ရေး လုပ်ငန်းစဉ် . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆

2.3 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

3 ESP RainMaker မိတ်ဆက်

19

3.1 ESP RainMaker ဆိုတာဘာလဲ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၀

3.2 ESP RainMaker ကို အကောင်အထည်ဖော်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . ၂၁

3.2.1 တောင်းဆိုခြင်းဝန်ဆောင်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂

3.2.2 RainMaker အေးဂျင့်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂

3.2.3 Cloud Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၃

3.2.4 RainMaker ဖောက်သည် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၄

3.3 အလေ့အကျင့်- ESP RainMaker ဖြင့် ဖော်ဆောင်ရန်အတွက် အဓိကအချက်များ။ . . . . . . . . . . . ၂၅

3.4 ESP RainMaker ၏အင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆

3.4.1 အသုံးပြုသူစီမံခန့်ခွဲမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆

3.4.2 နောက်ဆုံးအသုံးပြုသူအင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၇

3.4.3 စီမံခန့်ခွဲရေးအင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၈

3.5 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

4 ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း။

31

4.1 ESP-IDF ကျော်သွားပါပြီ။view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃၃

4.1.1 ESP-IDF ဗားရှင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၂

3

4.1.2 ESP-IDF Git အလုပ်အသွားအလာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.3 သင့်လျော်သောဗားရှင်းကို ရွေးချယ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.4 ကျော်view ESP-IDF SDK လမ်းညွှန်။ . . . . . . . . . . . . . . . . . . . 34 4.2 ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . . 38 4.2.1 Linux တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းခြင်း။ . . . . . . . 38 4.2.2 Windows တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းခြင်း။ . . . . . 40 4.2.3 Mac တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းခြင်း။ . . . . . . . . 45 4.2.4 VS ကုဒ်ကို ထည့်သွင်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.2.5 Third-Party Development Environments နိဒါန်း။ . . . . . . . 46 4.3 ESP-IDF စုစည်းမှုစနစ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.1 စုစည်းမှုစနစ်၏ အခြေခံသဘောတရားများ။ . . . . . . . . . . . . . . . . . 47 ၄.၃.၂ စီမံကိန်း File ဖွဲ့စည်းပုံ . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 စုစည်းမှုစနစ်၏ ပုံသေတည်ဆောက်မှုစည်းမျဉ်းများ။ . . . . . . . . . . . . 50 4.3.4 Compilation Script ကို နိဒါန်း။ . . . . . . . . . . . . . . . . . 51 4.3.5 ဘုံအမိန့်များ နိဒါန်း။ . . . . . . . . . . . . . . . . . . 52 4.4 အလေ့အကျင့်- စုစည်းခြင်း ထွampပရိုဂရမ် “Blink”။ . . . . . . . . . . . . . . . . . 53 4.4.1 ထွampလေ့လာဆန်းစစ်မှု . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4.2 Blink ပရိုဂရမ်ကို ပြုစုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . 56 4.4.3 Blink ပရိုဂရမ်ကို ဖလက်ရှ်လုပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . 59 4.4.4 Blink ပရိုဂရမ်၏ Serial Port မှတ်တမ်းကို လေ့လာခြင်း . . . . . . . . . . . . . 60 4.5 အကျဉ်းချုပ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၆၃

II Hardware နှင့် Driver ဖွံ့ဖြိုးတိုးတက်ရေး

65

5 ESP32-C3 ကိုအခြေခံ၍ Smart Light ထုတ်ကုန်များ၏ ဟာ့ဒ်ဝဲဒီဇိုင်း

67

5.1 Smart Light ထုတ်ကုန်များ၏ အင်္ဂါရပ်များနှင့် ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . ၆၇

5.2 ESP32-C3 Core စနစ်၏ ဟာ့ဒ်ဝဲဒီဇိုင်း။ . . . . . . . . . . . . . . . . . . ၇၀

5.2.1 ပါဝါထောက်ပံ့မှု . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၄

5.2.2 Power-on Sequence နှင့် System Reset ။ . . . . . . . . . . . . . . . . . ၇၄

5.2.3 SPI Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၅

5.2.4 နာရီအရင်းအမြစ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၅

5.2.5 RF နှင့် အင်တင်နာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၆

5.2.6 Strapping Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၇၉

5.2.7 GPIO နှင့် PWM Controller ။ . . . . . . . . . . . . . . . . . . . . . . . . ၇၉

5.3 အလေ့အကျင့်- ESP32-C3 ဖြင့် Smart Light System တစ်ခုကို တည်ဆောက်ခြင်း။ . . . . . . . . . . . . ၈၀

5.3.1 မော်ဂျူးများကို ရွေးချယ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၀

5.3.2 PWM Signals များ၏ GPIO များကို ပြင်ဆင်ခြင်း . . . . . . . . . . . . . . . . . . . ၈၂

5.3.3 Firmware နှင့် Debugging Interface ကိုဒေါင်းလုဒ်လုပ်ခြင်း။ . . . . . . . . . . . ၈၂

5.3.4 RF ဒီဇိုင်းအတွက် လမ်းညွှန်ချက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.5 ပါဝါထောက်ပံ့မှုဒီဇိုင်းအတွက် လမ်းညွှန်ချက်များ။ . . . . . . . . . . . . . . . . . . 86 5.4 အကျဉ်းချုပ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၆

6 Driver Development

87

6.1 ယာဉ်မောင်းဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၇

6.2 ESP32-C3 အရံအပလီကေးရှင်းများ။ . . . . . . . . . . . . . . . . . . . . . . . . ၈၈

6.3 LED Driver အခြေခံများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၉

6.3.1 အရောင်နေရာများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၈၉

6.3.2 LED Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၉၄

6.3.3 LED အလင်းမှိန်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၉၄

6.3.4 PWM နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၉၅

6.4 LED Dimming Driver ဖွံ့ဖြိုးတိုးတက်မှု။ . . . . . . . . . . . . . . . . . . . . . . . ၉၆

6.4.1 Non-Volatile Storage (NVS)။ . . . . . . . . . . . . . . . . . . . . . . . ၉၇

6.4.2 LED PWM ထိန်းချုပ်ကိရိယာ (LEDC) ။ . . . . . . . . . . . . . . . . . . . . . . ၉၈

6.4.3 LED PWM ပရိုဂရမ်ရေးဆွဲခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . ၁၀၀

6.5 အလေ့အကျင့်- Smart Light ပရောဂျက်သို့ ယာဉ်မောင်းများ ပေါင်းထည့်ခြင်း။ . . . . . . . . . . . . . . . . ၁၀၃

6.5.1 ခလုတ်မောင်းသူ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၀၃

6.5.2 LED အမှိန်သောဒရိုက်ဗာ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၀၄

6.6 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

III ကြိုးမဲ့ဆက်သွယ်ရေးနှင့် ထိန်းချုပ်မှု

109

7 Wi-Fi ဖွဲ့စည်းမှုနှင့် ချိတ်ဆက်မှု

111

7.1 Wi-Fi အခြေခံများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၁၁

7.1.1 Wi-Fi နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၁၁

7.1.2 IEEE 802.11 ၏ ဆင့်ကဲဖြစ်စဉ်။ . . . . . . . . . . . . . . . . . . . . . . . . ၁၁၁

7.1.3 Wi-Fi အယူအဆများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၁၂

7.1.4 Wi-Fi ချိတ်ဆက်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၁၅

7.2 Bluetooth အခြေခံများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၂၂

7.2.1 Bluetooth ကို မိတ်ဆက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . ၁၂၃

7.2.2 Bluetooth အယူအဆများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၂၄

7.2.3 ဘလူးတုသ်ချိတ်ဆက်မှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၂၇

7.3 Wi-Fi ကွန်ရက် ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃၁

7.3.1 Wi-Fi ကွန်ရက်ဖွဲ့စည်းပုံလမ်းညွှန်။ . . . . . . . . . . . . . . . . . . . ၁၃၁

7.3.2 SoftAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃၂

7.3.3 SmartConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃၂

7.3.4 ဘလူးတုသ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃၅

7.3.5 အခြားနည်းလမ်းများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၃၇

7.4 Wi-Fi ပရိုဂရမ်ရေးဆွဲခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4.1 ESP-IDF ရှိ Wi-Fi အစိတ်အပိုင်းများ။ . . . . . . . . . . . . . . . . . . . . . . 139 7.4.2 လေ့ကျင့်ခန်း- Wi-Fi ချိတ်ဆက်မှု။ . . . . . . . . . . . . . . . . . . . . . . . 141 7.4.3 လေ့ကျင့်ခန်း- စမတ် Wi-Fi ချိတ်ဆက်မှု။ . . . . . . . . . . . . . . . . . . . . ၁၄၅
7.5 အလေ့အကျင့်- Smart Light ပရောဂျက်တွင် Wi-Fi ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . 156 7.5.1 Smart Light ပရောဂျက်တွင် Wi-Fi ချိတ်ဆက်မှု။ . . . . . . . . . . . . . . . . 156 7.5.2 စမတ် Wi-Fi ဖွဲ့စည်းမှု။ . . . . . . . . . . . . . . . . . . . . . . . . ၁၅၇
7.6 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

၃ ဒေသခံထိန်းချုပ်မှု

159

8.1 Local Control နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၅၉

8.1.1 Local Control အသုံးချမှု။ . . . . . . . . . . . . . . . . . . . . . . . ၁၆၁

8.1.2 AdvantagLocal Control ၏ . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၁

8.1.3 စမတ်ဖုန်းများမှတစ်ဆင့် ထိန်းချုပ်ထားသော စက်ပစ္စည်းများကို ရှာဖွေခြင်း။ . . . . . . . . . ၁၆၁

8.1.4 စမတ်ဖုန်းများနှင့် စက်ပစ္စည်းများအကြား ဒေတာဆက်သွယ်ရေး။ . . . . . . . ၁၆၂

8.2 ဘုံဒေသရှာဖွေတွေ့ရှိမှုနည်းလမ်းများ။ . . . . . . . . . . . . . . . . . . . . . . . ၁၆၂

8.2.1 အသံလွှင့်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၃

8.2.2 Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၆၉

8.2.3 Broadcast နှင့် Multicast အကြား နှိုင်းယှဉ်မှု။ . . . . . . . . . . . . . ၁၇၆

8.2.4 Local Discovery အတွက် Multicast Application Protocol mDNS . . . . . . . ၁၇၆

8.3 ဒေသဆိုင်ရာဒေတာအတွက် ဘုံဆက်သွယ်ရေးပရိုတိုကောများ . . . . . . . . . . . . . . ၁၇၉

8.3.1 ဂီယာထိန်းချုပ်ရေးပရိုတိုကော (TCP)။ . . . . . . . . . . . . . . . . . . ၁၇၉

8.3.2 HyperText Transfer Protocol (HTTP)။ . . . . . . . . . . . . . . . . . . ၁၈၅

8.3.3 အသုံးပြုသူ Datagram Protocol (UDP)။ . . . . . . . . . . . . . . . . . . . . . ၁၈၉

8.3.4 ကန့်သတ်အသုံးချပရိုတိုကော (CoAP)။ . . . . . . . . . . . . . . . ၁၉၂

8.3.5 ဘလူးတုသ် ပရိုတိုကော။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၉၇

8.3.6 ဒေတာဆက်သွယ်ရေးပရိုတိုကောများ၏ အကျဉ်းချုပ်။ . . . . . . . . . . . . . . ၂၀၃

8.4 ဒေတာလုံခြုံရေးအာမခံချက်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၀၅

8.4.1 ပို့ဆောင်ရေးအလွှာလုံခြုံရေး (TLS) နိဒါန်း။ . . . . . . . . . . . . ၂၀၇

8.4.2 Da ကို မိတ်ဆက်ခြင်း။tagram Transport Layer Security (DTLS)။ . . . . . . ၂၁၃

8.5 အလေ့အကျင့်- Smart Light ပရောဂျက်တွင် ဒေသဆိုင်ရာ ထိန်းချုပ်မှု။ . . . . . . . . . . . . . . . . . ၂၁၇

8.5.1 Wi-Fi အခြေပြု Local Control ဆာဗာကို ဖန်တီးခြင်း။ . . . . . . . . . . . . . . ၂၁၇

8.5.2 Scripts များကို အသုံးပြု၍ Local Control လုပ်ဆောင်နိုင်စွမ်းကို အတည်ပြုခြင်း။ . . . . . . . . . . ၂၂၁

8.5.3 Bluetooth အခြေပြု Local Control ဆာဗာကို ဖန်တီးခြင်း။ . . . . . . . . . . . ၂၂၂

8.6 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

9 တိမ်တိုက်ထိန်းချုပ်မှု

225

9.1 အဝေးထိန်းစနစ် နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . ၂၂၅

9.2 Cloud Data ဆက်သွယ်ရေး ပရိုတိုကောများ . . . . . . . . . . . . . . . . . . . . . ၂၂၆

9.2.1 MQTT နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 9.2.2 MQTT အခြေခံမူများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 9.2.3 MQTT မက်ဆေ့ချ်ဖော်မတ်။ . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.2.4 ပရိုတိုကော နှိုင်းယှဉ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.2.5 Linux နှင့် Windows တွင် MQTT ပွဲစားကို စနစ်ထည့်သွင်းခြင်း။ . . . . . . . . . . . 233 9.2.6 ESP-IDF ကိုအခြေခံ၍ MQTT ကလိုင်းယင့်ကို သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . 235 9.3 MQTT ဒေတာလုံခြုံရေးကို သေချာစေခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . 237 9.3.1 လက်မှတ်များ၏ အဓိပ္ပါယ်နှင့် လုပ်ဆောင်ချက်။ . . . . . . . . . . . . . . . . . . 237 ၉.၃.၂ ဒေသအလိုက် လက်မှတ်များထုတ်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . 9.3.2 239 MQTT ပွဲစားကို ပြင်ဆင်သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3 241 MQTT Client ကို ပြင်ဆင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . 9.3.4 241 အလေ့အကျင့်- ESP RainMaker မှတဆင့် အဝေးထိန်းစနစ်။ . . . . . . . . . . . . . . . 9.4 243 ESP RainMaker အခြေခံများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 243 Node နှင့် Cloud Backend ဆက်သွယ်ရေး ပရိုတိုကော။ . . . . . . . . . . 9.4.2 244 Client နှင့် Cloud Backend အကြား ဆက်သွယ်မှု။ . . . . . . . . . . 9.4.3 ၉.၄.၄ အသုံးပြုသူ ရာထူးများ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 9.4.4 အခြေခံဝန်ဆောင်မှုများ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.4.5 Smart Light Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.4.7 RainMaker အက်ပ်နှင့် Third-Party ပေါင်းစပ်မှုများ။ . . . . . . . . . . . . . . 262 9.5 အကျဉ်းချုပ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၂၆၇

စမတ်ဖုန်း အက်ပ် ဖွံ့ဖြိုးတိုးတက်ရေး ၁၀

269

10.1 စမတ်ဖုန်းအက်ပ် ဖွံ့ဖြိုးတိုးတက်မှုအတွက် နိဒါန်း။ . . . . . . . . . . . . . . . . . ၂၆၉

10.1.1 ကျော်view စမတ်ဖုန်း App ဖွံ့ဖြိုးတိုးတက်မှု။ . . . . . . . . . . . . . . ၂၇၀

10.1.2 Android ပရောဂျက်၏ ဖွဲ့စည်းပုံ။ . . . . . . . . . . . . . . . . . . . . . ၂၇၀

10.1.3 iOS ပရောဂျက်၏ ဖွဲ့စည်းပုံ။ . . . . . . . . . . . . . . . . . . . . . . . ၂၇၁

10.1.4 Android လုပ်ဆောင်ချက်တစ်ခု၏ ဘဝသံသရာ။ . . . . . . . . . . . . . . . . . . . . . ၂၇၂

iOS ၏ 10.1.5 ဘဝသံသရာ Viewထိန်းချုပ်သူ။ . . . . . . . . . . . . . . . . . . . . . ၂၇၃

10.2 စမတ်ဖုန်းအက်ပ်အသစ် ပရောဂျက်တစ်ခု ဖန်တီးခြင်း။ . . . . . . . . . . . . . . . . . . . . ၂၇၅

10.2.1 Android ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ပြင်ဆင်နေသည်။ . . . . . . . . . . . . . . . . . . ၂၇၅

10.2.2 Android ပရောဂျက်အသစ်ကို ဖန်တီးခြင်း။ . . . . . . . . . . . . . . . . . . . . . ၂၇၅

10.2.3 MyRainmaker အတွက်မှီခိုမှုပေါင်းထည့်ခြင်း။ . . . . . . . . . . . . . . . . ၂၇၆

Android တွင် 10.2.4 ခွင့်ပြုချက်တောင်းခံခြင်း။ . . . . . . . . . . . . . . . . . . . . . ၂၇၇

10.2.5 iOS ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ပြင်ဆင်နေသည်။ . . . . . . . . . . . . . . . . . . . . . ၂၇၇

10.2.6 iOS ပရောဂျက်အသစ် ဖန်တီးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . ၂၇၈

10.2.7 MyRainmaker အတွက်မှီခိုမှုပေါင်းထည့်ခြင်း။ . . . . . . . . . . . . . . . . ၂၇၆

iOS တွင် 10.2.8 ခွင့်ပြုချက်တောင်းခံခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . ၂၈၀

10.3 အက်ပ်၏လုပ်ဆောင်ချက်ဆိုင်ရာ လိုအပ်ချက်များကို ပိုင်းခြားစိတ်ဖြာခြင်း။ . . . . . . . . . . . . . . . . . ၂၈၁

10.3.1 ပရောဂျက်၏ လုပ်ငန်းဆောင်တာ လိုအပ်ချက်များကို လေ့လာခြင်း ။ . . . . . . . . . . . ၂၈၂

10.3.2 အသုံးပြုသူစီမံခန့်ခွဲမှု လိုအပ်ချက်များကို လေ့လာခြင်း . . . . . . . . . . . . . . 282 10.3.3 စက်ပစ္စည်း ပံ့ပိုးခြင်းနှင့် စည်းနှောင်ခြင်း လိုအပ်ချက်များကို လေ့လာခြင်း ။ . . . . . . 283 10.3.4 အဝေးထိန်းထိန်းချုပ်မှု လိုအပ်ချက်များကို လေ့လာခြင်း . . . . . . . . . . . . . . . 283 10.3.5 အချိန်ဇယားလိုအပ်ချက်များကို လေ့လာခြင်း . . . . . . . . . . . . . . . . . . 284 10.3.6 အသုံးပြုသူစင်တာ လိုအပ်ချက်များကို လေ့လာခြင်း ။ . . . . . . . . . . . . . . . . . 285 10.4 အသုံးပြုသူစီမံခန့်ခွဲမှု ဖွံ့ဖြိုးတိုးတက်ရေး။ . . . . . . . . . . . . . . . . . . . . . . . 285 10.4.1 RainMaker APIs များအကြောင်း နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . 285 10.4.2 စမတ်ဖုန်းမှတစ်ဆင့် ဆက်သွယ်ရေး စတင်ခြင်း . . . . . . . . . . . . . . . 286 10.4.3 အကောင့် မှတ်ပုံတင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 10.4.4 အကောင့်ဝင်ပါ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 10.5 စက်ပစ္စည်း စီမံဆောင်ရွက်ပေးခြင်း ဖွံ့ဖြိုးတိုးတက်ရေး။ . . . . . . . . . . . . . . . . . . . . . . 292 10.5.1 စကင်န်ဖတ်စက်များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 10.5.2 စက်ပစ္စည်းများကို ချိတ်ဆက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 10.5.3 လျှို့ဝှက်သော့များ ထုတ်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.4 Node ID ရယူခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 10.5.5 စက်ပစ္စည်းများကို စီမံဆောင်ရွက်ပေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 10.6 စက်ပစ္စည်းထိန်းချုပ်မှု ဖွံ့ဖြိုးတိုးတက်ရေး။ . . . . . . . . . . . . . . . . . . . . . . . . . 302 10.6.1 စက်ပစ္စည်းများကို Cloud အကောင့်များသို့ ချိတ်ဆက်ခြင်း။ . . . . . . . . . . . . . . . . . . . 303 10.6.2 စက်ပစ္စည်းများစာရင်း ရယူခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . 305 10.6.3 စက်ပစ္စည်းအခြေအနေ ရယူခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . 308 10.6.4 စက်ပစ္စည်းအခြေအနေ ပြောင်းလဲခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . 310 10.7 အချိန်ဇယားနှင့် အသုံးပြုသူစင်တာ ဖွံ့ဖြိုးတိုးတက်ရေး။ . . . . . . . . . . . . . . . . . . 313 10.7.1 အချိန်ဇယားဆွဲခြင်းလုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ခြင်း။ . . . . . . . . . . . . . . . . . . . 313 10.7.2 အသုံးပြုသူစင်တာကို အကောင်အထည်ဖော်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . 315 10.7.3 နောက်ထပ် Cloud API များ။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 10.8 အကျဉ်းချုပ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၁၉

11 Firmware အဆင့်မြှင့်တင်ခြင်းနှင့် ဗားရှင်းစီမံခန့်ခွဲမှု

321

11.1 Firmware အဆင့်မြှင့်တင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၂၁

11.1.1 ကျော်view အပိုင်းပိုင်းဇယားများ။ . . . . . . . . . . . . . . . . . . . . . . . ၃၂၂

11.1.2 Firmware Boot Process ။ . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၂၄

11.1.3 ကျော်view OTA Mechanism ၏ . . . . . . . . . . . . . . . . . . . . ၃၂၆

11.2 Firmware ဗားရှင်းစီမံခန့်ခွဲမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . ၃၂၉

11.2.1 Firmware အမှတ်အသားပြုခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၂၉

11.2.2 Rollback နှင့် Anti-Rollback . . . . . . . . . . . . . . . . . . . . . . . ၃၃၁

11.3 လေ့ကျင့်မှု- လေထဲတွင် (OTA) Example . . . . . . . . . . . . . . . . . . . . . . ၃၃၂

11.3.1 Local Host မှတဆင့် Firmware ကို အဆင့်မြှင့်ပါ။ . . . . . . . . . . . . . . . . ၃၃၂

11.3.2 ESP RainMaker မှတဆင့် Firmware ကို အဆင့်မြှင့်ပါ။ . . . . . . . . . . . . . . ၃၃၅

11.4 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

IV Optimization နှင့် Mass Production

343

12 Power Management နှင့် Low-Power Optimization

345

12.1 ESP32-C3 ပါဝါစီမံခန့်ခွဲမှု။ . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၄၅

12.1.1 Dynamic Frequency ချဲ့ထွင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . ၃၄၆

12.1.2 ပါဝါစီမံခန့်ခွဲမှုဖွဲ့စည်းပုံ . . . . . . . . . . . . . . . . . . . . ၃၄၈

12.2 ESP32-C3 Low-Power မုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၄၈

12.2.1 မိုဒမ်-အိပ်စက်ခြင်းမုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၄၉

12.2.2 အလင်း-အိပ်မုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၅၁

12.2.3 နက်ရှိုင်းစွာ အိပ်စက်ခြင်း မုဒ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၅၆

12.2.4 မတူညီသော ပါဝါမုဒ်များတွင် လက်ရှိစားသုံးမှု။ . . . . . . . . . . . . ၃၅၈

12.3 ပါဝါစီမံခန့်ခွဲမှုနှင့် ပါဝါနည်းသောအမှားရှာပြင်ခြင်း။ . . . . . . . . . . . . . . . . ၃၅၉

12.3.1 မှတ်တမ်းအမှားရှာခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၆၀

12.3.2 GPIO အမှားရှာပြင်ခြင်း . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၆၂

12.4 အလေ့အကျင့်- Smart Light ပရောဂျက်တွင် ပါဝါစီမံခန့်ခွဲမှု။ . . . . . . . . . . . . . . ၃၆၃

12.4.1 ပါဝါစီမံခန့်ခွဲမှုအင်္ဂါရပ်ကို ပြင်ဆင်သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . . ၃၆၄

12.4.2 ပါဝါစီမံခန့်ခွဲမှုလော့ခ်များကို အသုံးပြုပါ။ . . . . . . . . . . . . . . . . . . . . . ၃၆၅

12.4.3 ပါဝါစားသုံးမှုကို စစ်ဆေးခြင်း။ . . . . . . . . . . . . . . . . . . . . . . ၃၆၆

12.5 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

13 အဆင့်မြှင့်ထားသော စက်ပစ္စည်းလုံခြုံရေးအင်္ဂါရပ်များ

369

13.1 ကျော်view IoT Device Data Security ၏ . . . . . . . . . . . . . . . . . . . . . . ၃၆၉

13.1.1 အဘယ်ကြောင့် IoT စက်ပစ္စည်းဒေတာကို လုံခြုံစေသနည်း။ . . . . . . . . . . . . . . . . . . . . . . ၃၇၀

13.1.2 IoT စက်ပစ္စည်းဒေတာလုံခြုံရေးအတွက် အခြေခံလိုအပ်ချက်များ။ . . . . . . . . . . . ၃၇၁

13.2 ဒေတာ ခိုင်မာမှု ကာကွယ်ရေး။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၇၂

13.2.1 Integrity Verification Method နိဒါန်း။ . . . . . . . . . . . . . ၃၇၂

13.2.2 Firmware ဒေတာ၏ ခိုင်မာမှု အတည်ပြုခြင်း . . . . . . . . . . . . . . . . . ၃၇၃

၃.၂ ထွample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၇၄

13.3 ဒေတာ လျှို့ဝှက်မှု ကာကွယ်ရေး။ . . . . . . . . . . . . . . . . . . . . . . . . . ၃၇၄

13.3.1 ဒေတာ ကုဒ်ဝှက်ခြင်းဆိုင်ရာ နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . ၃၇၄

13.3.2 Flash Encryption Scheme နိဒါန်း။ . . . . . . . . . . . . . . . . ၃၇၆

13.3.3 Flash ကုဒ်ဝှက်ခြင်းကီး သိုလှောင်မှု။ . . . . . . . . . . . . . . . . . . . . . . ၃၇၉

13.3.4 Flash ကုဒ်ဝှက်ခြင်း၏ အလုပ်မုဒ်။ . . . . . . . . . . . . . . . . . . . ၃၈၀

13.3.5 Flash ကုဒ်ဝှက်ခြင်းလုပ်ငန်းစဉ်။ . . . . . . . . . . . . . . . . . . . . . . . . . ၃၈၁

13.3.6 NVS ကုဒ်ဝှက်ခြင်းဆိုင်ရာ နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . ၃၈၃

၃.၂ ထွampFlash Encryption နှင့် NVS Encryption များ . . . . . . . . . . . ၃၈၄

13.4 ဒေတာတရားဝင်မှုကာကွယ်ရေး။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၈၆

13.4.1 ဒစ်ဂျစ်တယ်လက်မှတ်ကို မိတ်ဆက်ခြင်း။ . . . . . . . . . . . . . . . . . . . . ၃၈၆

13.4.2 ကျော်view Secure Boot Scheme ၏ . . . . . . . . . . . . . . . . . . . . ၃၈၈

13.4.3 Software Secure Boot ကို နိဒါန်း။ . . . . . . . . . . . . . . . . . . 388 13.4.4 Hardware Secure Boot ကို နိဒါန်း။ . . . . . . . . . . . . . . . . . 390 13.4.5 ထွamples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 13.5 အလေ့အကျင့်- အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုတွင် လုံခြုံရေးအင်္ဂါရပ်များ။ . . . . . . . . . . . . . . . . . 396 13.5.1 Flash Encryption နှင့် Secure Boot ။ . . . . . . . . . . . . . . . . . . . . 396 13.5.2 Batch Flash Tools ဖြင့် Flash Encryption ကိုဖွင့်ခြင်းနှင့် လုံခြုံသော Boot ကိုဖွင့်ခြင်း။ . 397 13.5.3 Smart Light ပရောဂျက်တွင် Flash Encryption ကိုဖွင့်ခြင်းနှင့် လုံခြုံသော Boot ကိုဖွင့်ခြင်း။ . . 398 13.6 အကျဉ်းချုပ် . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၃၉၈

14 အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုအတွက် ဖမ်ဝဲလောင်ကျွမ်းခြင်းနှင့် စမ်းသပ်ခြင်း

399

14.1 အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုတွင် ဖမ်ဝဲလောင်ကျွမ်းခြင်း။ . . . . . . . . . . . . . . . . . . . . . ၃၉၉

14.1.1 ဒေတာ အပိုင်းများကို သတ်မှတ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . ၃၉၉

14.1.2 Firmware မီးလောင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၀၂

14.2 အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှု စမ်းသပ်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၀၃

14.3 အလေ့အကျင့်- Smart Light ပရောဂျက်တွင် အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုဒေတာ။ . . . . . . . . . . . . ၄၀၄

14.4 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

15 ESP Insights- အဝေးထိန်းစောင့်ကြည့်ရေး ပလပ်ဖောင်း

405

15.1 ESP Insights နိဒါန်း။ . . . . . . . . . . . . . . . . . . . . . . . . . . . ၄၀၅

15.2 ESP Insights ဖြင့် စတင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . ၄၀၉

15.2.1 esp-ထိုးထွင်းသိမြင်မှု ပရောဂျက်ရှိ ESP Insights ဖြင့် စတင်လိုက်ပါ။ . . . . . ၄၀၉

15.2.2 အပြေးထွampesp-insights ပရောဂျက်တွင် ပါဝင်ခဲ့သည်။ . . . . . . . . . . . . . . ၄၁၁

15.2.3 Coredump အချက်အလက် အစီရင်ခံခြင်း။ . . . . . . . . . . . . . . . . . . . . ၄၁၁

15.2.4 စိတ်ဝင်စားမှုမှတ်တမ်းများကို စိတ်ကြိုက်ပြင်ဆင်ခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . ၄၁၂

15.2.5 ပြန်လည်စတင်ခြင်း အကြောင်းရင်းကို အစီရင်ခံခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . ၄၁၃

15.2.6 စိတ်ကြိုက်မက်ထရစ်များကို အစီရင်ခံခြင်း။ . . . . . . . . . . . . . . . . . . . . . . . . ၄၁၃

15.3 အလေ့အကျင့်- Smart Light ပရောဂျက်တွင် ESP Insights ကို အသုံးပြုခြင်း။ . . . . . . . . . . . . . . ၄၁၆

15.4 အကျဉ်းချုပ်။ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ၁၇

နိဒါန်း
ESP32-C3 သည် open-source RISC-V ဗိသုကာကိုအခြေခံ၍ single-core Wi-Fi နှင့် Bluetooth 5 (LE) microcontroller SoC ဖြစ်သည်။ ၎င်းသည် မှန်ကန်သော ပါဝါချိန်ခွင်လျှာ၊ I/O စွမ်းရည်များနှင့် လုံခြုံရေးတို့ကို ထိခိုက်စေသောကြောင့် ချိတ်ဆက်ထားသော စက်များအတွက် အကောင်းဆုံး ကုန်ကျစရိတ်သက်သာသော ဖြေရှင်းချက်ကို ပေးဆောင်ပါသည်။ ESP32-C3 မိသားစု၏ အမျိုးမျိုးသော အသုံးချပလီကေးရှင်းများကို ပြသရန် Espressif မှ ဤစာအုပ်သည် IoT ပရောဂျက်၏ အခြေခံများနှင့် ပတ်ဝန်းကျင်တည်ဆောက်မှု၏ အခြေခံမှအစ လက်တွေ့ဘဝအထိ AIoT မှတစ်ဆင့် စိတ်ဝင်စားဖွယ်ကောင်းသော ခရီးတစ်ခုဆီသို့ ပို့ဆောင်ပေးမည်ဖြစ်သည်။amples။ ပထမအခန်း လေးခုတွင် IoT၊ ESP RainMaker နှင့် ESP-IDF အကြောင်း ဆွေးနွေးသည်။ ဟာ့ဒ်ဝဲဒီဇိုင်းနှင့် ယာဉ်မောင်းဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ အကျဉ်းချုပ် အခန်း ၅ နှင့် ၆။ သင်လုပ်ဆောင်လာသည်နှင့်အမျှ၊ Wi-Fi ကွန်ရက်များနှင့် မိုဘိုင်းအက်ပ်များမှတစ်ဆင့် သင့်ပရောဂျက်ကို မည်သို့စီစဉ်သတ်မှတ်ရမည်ကို သင်တွေ့ရှိပါလိမ့်မည်။ နောက်ဆုံးအနေနဲ့ သင့်ပရောဂျက်ကို အကောင်းဆုံးဖြစ်အောင်လုပ်ပြီး အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုအဖြစ် ထည့်သွင်းဖို့ သင်ယူရမှာပါ။
အကယ်၍ သင်သည် သက်ဆိုင်ရာနယ်ပယ်များတွင် အင်ဂျင်နီယာတစ်ဦး၊ ဆော့ဖ်ဝဲလ်ဗိသုကာပညာရှင်၊ ဆရာ၊ ကျောင်းသား၊ သို့မဟုတ် IoT ကို စိတ်ဝင်စားသူ မည်သူမဆို၊ ဤစာအုပ်သည် သင့်အတွက်ဖြစ်သည်။
ကုဒ် ex ကိုဒေါင်းလုဒ်လုပ်နိုင်သည်။ampGitHub ရှိ Espressif ၏ဆိုက်မှ ဤစာအုပ်တွင် အသုံးပြုခဲ့သည်။ IoT ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ နောက်ဆုံးအချက်အလက်များအတွက်၊ ကျွန်ုပ်တို့၏တရားဝင်အကောင့်ကို လိုက်နာပါ။

နိမိတ်ဖတ်
သတင်းပေးကမ္ဘာ
အင်တာနက်လှိုင်းကိုစီးပြီး Internet of Things (IoT) သည် ဒစ်ဂျစ်တယ်စီးပွားရေးတွင် အခြေခံအဆောက်အအုံ အမျိုးအစားသစ်တစ်ခုဖြစ်လာစေရန် ကြီးကျယ်ခမ်းနားစွာ ပွဲဦးထွက်ပြုလုပ်ခဲ့သည်။ နည်းပညာကို အများသူငှာ ပိုမိုနီးစပ်စေရန်အတွက် Espressif Systems သည် ကျွန်ုပ်တို့ခေတ်၏ အပြင်းထန်ဆုံးပြဿနာအချို့ကို ဖြေရှင်းရန် လူနေမှုအလွှာပေါင်းစုံမှ developer များသည် IoT ကို အသုံးပြုနိုင်သည့် မျှော်မှန်းချက်အတွက် လုပ်ဆောင်ပါသည်။ “အရာအားလုံး၏ ဉာဏ်ရည်ထက်မြက်သောကွန်ရက်” ၏ကမ္ဘာသည် ကျွန်ုပ်တို့မျှော်လင့်ထားသည့်အရာဖြစ်သည်။
ကျွန်ုပ်တို့၏ကိုယ်ပိုင်ချစ်ပ်များကို ဒီဇိုင်းထုတ်ခြင်းသည် ထိုအမြင်၏ အရေးကြီးသောအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ နည်းပညာနယ်နိမိတ်များကို အဆက်မပြတ် ထိုးဖောက်ဝင်ရောက်ရန် လိုအပ်သော မာရသွန်ပြိုင်ပွဲတစ်ခုဖြစ်သည်။ "Game Changer" ESP8266 မှ Wi-Fi နှင့် Bluetoothr (LE) ချိတ်ဆက်မှုကို ပေါင်းစပ်ထားသော ESP32 စီးရီးအထိ၊ AI အရှိန်မြှင့်ခြင်းဖြင့် တပ်ဆင်ထားသော ESP32-S3 ဖြင့် Espressif သည် AIoT ဖြေရှင်းချက်များအတွက် ထုတ်ကုန်များကို သုတေသနပြုခြင်းနှင့် တီထွင်ခြင်းများကို ဘယ်သောအခါမှ မရပ်တန့်ပါ။ ကျွန်ုပ်တို့၏ open-source software ဖြစ်သည့် IoT Development Framework ESP-IDF၊ Mesh Development Framework ESP-MDF နှင့် Device Connectivity Platform ESP RainMaker တို့နှင့်အတူ၊ ကျွန်ုပ်တို့သည် AIoT အပလီကေးရှင်းများတည်ဆောက်ရန်အတွက် သီးခြားဘောင်တစ်ခုကို ဖန်တီးထားပါသည်။
2022 ခုနှစ် ဇူလိုင်လအထိ Espressif ၏ IoT ချစ်ပ်ဆက်များ စုစည်းတင်ပို့ရောင်းချမှုသည် သန်း 800 ကျော်လွန်သွားခဲ့ပြီး Wi-Fi MCU စျေးကွက်တွင် ဦးဆောင်ကာ ကမ္ဘာတစ်ဝှမ်းရှိ ချိတ်ဆက်စက်ပစ္စည်းအများအပြားကို စွမ်းအားမြှင့်ပေးခဲ့ပါသည်။ ထူးချွန်မှုအတွက် လိုက်ရှာခြင်းသည် Espressif ထုတ်ကုန်တိုင်းကို ၎င်း၏မြင့်မားသောပေါင်းစပ်မှုနှင့် ကုန်ကျစရိတ်သက်သာမှုအတွက် ကြီးမားသောထိခိုက်မှုဖြစ်စေသည်။ ESP32-C3 ထုတ်ဝေမှုသည် Espressif ၏ ကိုယ်တိုင်ဖန်တီးထားသော နည်းပညာ၏ အရေးပါသော မှတ်တိုင်တစ်ခုဖြစ်သည်။ ၎င်းသည် SRAM 32KB ပါရှိသော single-core၊ 400-bit၊ RISC-V-based MCU ဖြစ်ပြီး၊ 160MHz ဖြင့်လည်ပတ်နိုင်သည်။ ၎င်းတွင် 2.4 GHz Wi-Fi နှင့် Bluetooth 5 (LE) တို့ကို တာဝေးအကွာအဝေး ပံ့ပိုးမှုဖြင့် ပေါင်းစပ်ထားသည်။ ၎င်းသည် ကောင်းမွန်သော ပါဝါချိန်ခွင်လျှာ၊ I/O စွမ်းရည်များနှင့် လုံခြုံရေးတို့ကို ဖြည့်ဆည်းပေးသောကြောင့် ချိတ်ဆက်ထားသော စက်များအတွက် အကောင်းဆုံး ကုန်ကျစရိတ်သက်သာသော ဖြေရှင်းချက်ကို ပေးဆောင်ပါသည်။ ဤကဲ့သို့သောအားကောင်းသည့် ESP32-C3 ကိုအခြေခံ၍ ဤစာအုပ်သည် စာဖတ်သူများ IoT နှင့်ပတ်သက်သည့် အသိပညာကို အသေးစိတ်သရုပ်ဖော်ပုံနှင့် လက်တွေ့ကျသော ဥပမာများဖြင့် နားလည်နိုင်စေရန် ရည်ရွယ်ပါသည်။amples
ဒီစာအုပ်ကို ဘာကြောင့်ရေးတာလဲ။
Espressif Systems သည် ဆီမီးကွန်ဒတ်တာ ကုမ္ပဏီတစ်ခုထက် ပိုပါသည်။ ၎င်းသည် နည်းပညာနယ်ပယ်တွင် အောင်မြင်မှုများနှင့် ဆန်းသစ်တီထွင်မှုများကို အမြဲကြိုးစားနေသည့် IoT ပလပ်ဖောင်းကုမ္ပဏီလည်းဖြစ်သည်။ တစ်ချိန်တည်းမှာပင်၊ Espressif သည် ၎င်း၏ကိုယ်ပိုင်တီထွင်ထားသောလည်ပတ်မှုစနစ်နှင့် ဆော့ဖ်ဝဲမူဘောင်ကို ပွင့်လင်းမြင်သာစွာရရှိထားပြီး ထူးခြားသောဂေဟစနစ်တစ်ခုကို လူ့အဖွဲ့အစည်းနှင့် မျှဝေထားသည်။ အင်ဂျင်နီယာများ၊ ထုတ်လုပ်သူများနှင့် နည်းပညာ ဝါသနာရှင်များသည် Espressif ၏ ထုတ်ကုန်များအပေါ် အခြေခံ၍ ဆော့ဖ်ဝဲလ်အပလီကေးရှင်းအသစ်များကို တက်ကြွစွာ တီထွင်ကြပြီး လွတ်လပ်စွာ ဆက်သွယ်ပြောဆိုကာ ၎င်းတို့၏ အတွေ့အကြုံကို မျှဝေကြသည်။ YouTube နှင့် GitHub ကဲ့သို့သော platform အမျိုးမျိုးတွင် developer များ၏ စွဲမက်ဖွယ်ကောင်းသော အကြံဉာဏ်များကို အချိန်တိုင်း မြင်တွေ့နိုင်သည်။ Espressif ၏ ထုတ်ကုန်များ၏ ကျော်ကြားမှုသည် အင်္ဂလိပ်၊ တရုတ်၊ ဂျာမန်၊ ပြင်သစ်၊ ဂျပန်နှင့် ဂျပန်တို့အပါအဝင် ဘာသာစကား ဆယ်မျိုးကျော်ဖြင့် Espressif ချစ်ပ်ဆက်များကို အခြေခံ၍ စာအုပ်ပေါင်း 100 ကျော်ကို ထုတ်လုပ်ခဲ့သော စာရေးဆရာအရေအတွက် တိုးလာစေသည်။

Espressif ၏ စဉ်ဆက်မပြတ် ဆန်းသစ်တီထွင်မှုကို အားပေးသည့် ရပ်ရွာမိတ်ဖက်များ၏ ပံ့ပိုးမှုနှင့် ယုံကြည်မှု။ “ကျွန်ုပ်တို့၏ ချစ်ပ်များ၊ လည်ပတ်မှုစနစ်များ၊ မူဘောင်များ၊ ဖြေရှင်းချက်များ၊ Cloud၊ လုပ်ငန်းအလေ့အကျင့်များ၊ ကိရိယာများ၊ စာရွက်စာတမ်းများ၊ အရေးအသားများ၊ အိုင်ဒီယာများ အစရှိသည်တို့ကို ခေတ်ပြိုင်ဘဝ၏ အပြင်းထန်ဆုံးပြဿနာများတွင် လူတို့လိုအပ်သော အဖြေများနှင့် ပိုမိုဆီလျော်အောင် ကျွန်ုပ်တို့ ကြိုးစားအားထုတ်ပါသည်။ ဒါက Espressif ရဲ့ အမြင့်ဆုံးရည်မှန်းချက်နဲ့ ကိုယ်ကျင့်တရားအိမ်မြှောင်ပါပဲ။” Espressif ၏တည်ထောင်သူနှင့် CEO ဖြစ်သူ Mr. Teo Swee Ann ကပြောသည်။
Espressif သည် စာဖတ်ခြင်းနှင့် စိတ်ကူးများကို တန်ဖိုးထားသည်။ IoT နည်းပညာကို စဉ်ဆက်မပြတ် အဆင့်မြှင့်တင်ခြင်းသည် အင်ဂျင်နီယာများအတွက် ပိုမိုမြင့်မားသော လိုအပ်ချက်များကို ဖြစ်ပေါ်စေသည်နှင့်အမျှ IoT ချစ်ပ်များ၊ လည်ပတ်မှုစနစ်များ၊ ဆော့ဖ်ဝဲလ်ဘောင်များ၊ အပလီကေးရှင်းအစီအစဉ်များနှင့် cloud ဝန်ဆောင်မှုထုတ်ကုန်များကို လျင်မြန်စွာကျွမ်းကျင်စေရန် နောက်ထပ်လူများကို ကျွန်ုပ်တို့ မည်သို့ကူညီနိုင်မည်နည်း။ ဆိုရိုးစကားအတိုင်း ယောက်ျားကို ငါးမျှားပေးခြင်းထက် ငါးမျှားနည်းကို သင်ပေးခြင်းသည် သာ၍ကောင်း၏။ ဦးနှောက်ဖောက်စားသည့် ကဏ္ဍတစ်ခုတွင်၊ ကျွန်ုပ်တို့သည် IoT ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ အဓိက အသိပညာကို စနစ်တကျ ခွဲထုတ်ရန် စာအုပ်တစ်အုပ်ကို ရေးသားနိုင်ခဲ့ပါသည်။ ကျွန်ုပ်တို့သည် ၎င်းကို ဖြတ်ကျော်ကာ အကြီးတန်းအင်ဂျင်နီယာအဖွဲ့တစ်ဖွဲ့ကို လျင်မြန်စွာစုရုံးကာ embedded programming၊ IoT ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် နည်းပညာအဖွဲ့၏အတွေ့အကြုံများကို ပေါင်းစပ်ကာ ဤစာအုပ်ကို ထုတ်ဝေရာတွင် အထောက်အကူဖြစ်စေပါသည်။ စာရေးခြင်းလုပ်ငန်းစဉ်တွင်၊ ကျွန်ုပ်တို့သည် ရည်မှန်းချက်နှင့် တရားမျှတရန် အစွမ်းကုန်ကြိုးစားခဲ့ပြီး ပိုးအိမ်အား ဖယ်ရှားကာ အင်တာနက်၏ ရှုပ်ထွေးမှုနှင့် ကျက်သရေရှိမှုတို့ကို ပြောပြရန် တိုတိုတုတ်တုတ်အသုံးအနှုန်းများကို အသုံးပြုခဲ့သည်။ ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင် ကြုံတွေ့ရသည့်မေးခွန်းများကို ရှင်းလင်းစွာဖြေကြားနိုင်ရန်နှင့် သက်ဆိုင်ရာ နည်းပညာရှင်များနှင့် ဆုံးဖြတ်ချက်ချမှတ်သူများအတွက် လက်တွေ့ကျသော IoT ဖွံ့ဖြိုးတိုးတက်ရေးလမ်းညွှန်ချက်များကို ပေးဆောင်ရန်အတွက် ကွန်မြူနတီ၏ တုံ့ပြန်ချက်နှင့် အကြံပြုချက်များကို ကိုးကားထားသော ဘုံမေးခွန်းများကို ဂရုတစိုက် အကျဉ်းချုပ်ဖော်ပြပါသည်။
စာအုပ်ဖွဲ့စည်းပုံ
ဤစာအုပ်သည် အင်ဂျင်နီယာဗဟိုပြုအမြင်ကိုယူဆောင်ထားပြီး IoT ပရောဂျက်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် လိုအပ်သောအသိပညာများကို အဆင့်ဆင့်ဖော်ပြပါသည်။ ၎င်းကို အောက်ပါအတိုင်း အပိုင်းလေးပိုင်းဖြင့် ဖွဲ့စည်းထားသည်။
· ကြိုတင်ပြင်ဆင်မှု (အခန်း 1)- ဤအပိုင်းသည် IoT ပရောဂျက်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ခိုင်မာသောအခြေခံအုတ်မြစ်ချရန်အတွက် IoT ပရောဂျက်ဘောင်၊ ESP RainMakerr cloud ပလပ်ဖောင်းနှင့် ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင် ESP-IDF တို့ကို မိတ်ဆက်ပေးပါသည်။
· ဟာ့ဒ်ဝဲနှင့် ဒရိုက်ဗာ ဖွံ့ဖြိုးတိုးတက်ရေး (အခန်း 5)- ESP6-C32 ချစ်ပ်ဆက်ကို အခြေခံ၍ ဤအပိုင်းသည် အနိမ့်ဆုံး ဟာ့ဒ်ဝဲစနစ်နှင့် ယာဉ်မောင်းဖွံ့ဖြိုးတိုးတက်မှုတို့ကို အသေးစိတ်ဖော်ပြထားပြီး မှိန်မှိန်၊ အရောင်အဆင့်သတ်မှတ်ခြင်းနှင့် ကြိုးမဲ့ဆက်သွယ်မှုတို့ကို ထိန်းချုပ်ပေးပါသည်။
· ကြိုးမဲ့ဆက်သွယ်ရေးနှင့် ထိန်းချုပ်မှု (အခန်း 7)- ဤအပိုင်းသည် ESP11-C32 ချစ်ပ်၊ ဒေသန္တရနှင့် cloud ထိန်းချုပ်မှုပရိုတိုကောများနှင့် စက်ကိရိယာများ၏ ဒေသတွင်းနှင့် အဝေးထိန်းစနစ်အပေါ် အခြေခံသည့် အသိဉာဏ်ရှိသော Wi-Fi ဖွဲ့စည်းမှုပုံစံကို ရှင်းပြထားသည်။ ၎င်းသည် စမတ်ဖုန်းအက်ပ်များကို တီထွင်ခြင်း၊ firmware အဆင့်မြှင့်တင်ခြင်းနှင့် ဗားရှင်းစီမံခန့်ခွဲမှုအတွက် အစီအမံများကို ပံ့ပိုးပေးပါသည်။
· ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနှင့် အစုလိုက်အပြုံလိုက်ထုတ်လုပ်မှု (အခန်း 12-15): ဤအပိုင်းသည် ပါဝါစီမံခန့်ခွဲမှုတွင် ထုတ်ကုန်များကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်း၊ ပါဝါပိုကောင်းအောင်လုပ်ဆောင်ခြင်းနှင့် လုံခြုံရေးတိုးမြှင့်ခြင်းတို့ကို အာရုံစိုက်သည့် အဆင့်မြင့် IoT အပလီကေးရှင်းများအတွက် ရည်ရွယ်ပါသည်။ ၎င်းသည် အမြောက်အများထုတ်လုပ်ရာတွင် firmware လောင်ကျွမ်းခြင်းနှင့် စမ်းသပ်ခြင်းတို့ကို မိတ်ဆက်ပေးပြီး အဝေးထိန်းစောင့်ကြည့်ရေးပလပ်ဖောင်း ESP Insights မှတဆင့် စက်၏ firmware ၏ လည်ပတ်မှုအခြေအနေနှင့် မှတ်တမ်းများကို မည်ကဲ့သို့သိရှိနိုင်မည်နည်း။

Source Code အကြောင်း
စာဖတ်သူတွေဆိုရင် သုံးလို့ရတယ်။ampကုဒ်ကို ကိုယ်တိုင်ရိုက်ထည့်ခြင်းဖြင့်ဖြစ်စေ စာအုပ်တွင်ပါရှိသော အရင်းအမြစ်ကုဒ်ကို အသုံးပြုခြင်းဖြင့်ဖြစ်စေ ဤစာအုပ်ရှိ ပရိုဂရမ်များ။ ကျွန်ုပ်တို့သည် သီအိုရီနှင့် လက်တွေ့ပေါင်းစပ်မှုကို အလေးထားပြီး အခန်းတိုင်းနီးပါးရှိ Smart Light ပရောဂျက်ကို အခြေခံ၍ လက်တွေ့လုပ်ဆောင်မှုအပိုင်းကို သတ်မှတ်ခဲ့သည်။ ကုဒ်များအားလုံးသည် open-sourced ဖြစ်သည်။ စာဖတ်သူများသည် အရင်းအမြစ်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ပြီး GitHub နှင့် ကျွန်ုပ်တို့၏တရားဝင်ဖိုရမ် esp32.com ရှိ ဤစာအုပ်နှင့်သက်ဆိုင်သည့် ကဏ္ဍများတွင် ၎င်းကို ဆွေးနွေးရန် ကြိုဆိုပါသည်။ ဤစာအုပ်၏ open-sourced code သည် Apache License 2.0 ၏ သတ်မှတ်ချက်များနှင့်အညီ ဖြစ်သည်။
စာရေးသူ၏မှတ်ချက်
ဤစာအုပ်ကို Espressif Systems မှတရားဝင်ထုတ်လုပ်ထားပြီး ကုမ္ပဏီ၏အကြီးတန်းအင်ဂျင်နီယာများမှရေးသားထားသည်။ ၎င်းသည် IoT ဆက်စပ်စက်မှုလုပ်ငန်းများရှိ မန်နေဂျာများနှင့် R&D ဝန်ထမ်းများ၊ ဆက်စပ်မေဂျာများ၏ ဆရာများနှင့် ကျောင်းသားများနှင့် Internet of Things နယ်ပယ်ရှိ ဝါသနာရှင်များအတွက် သင့်လျော်ပါသည်။ ဤစာအုပ်သည် အလုပ်လက်စွဲ၊ ကိုးကားချက်၊ ကျူရှင်ဆရာကောင်းတစ်ဦးနှင့် မိတ်ဆွေကောင်းတစ်ဦးအဖြစ် အိပ်ယာဘေးစာအုပ်တစ်အုပ်အဖြစ် ကျွန်ုပ်တို့ မျှော်လင့်ပါသည်။
ဤစာအုပ်ကို ပြုစုနေစဉ်အတွင်း ပြည်တွင်းပြည်ပရှိ ကျွမ်းကျင်သူများ၊ ပညာရှင်များနှင့် နည်းပညာရှင်များ၏ သက်ဆိုင်ရာ သုတေသနရလဒ်အချို့ကို ကိုးကားပြီး ပညာရပ်ဆိုင်ရာ စံနှုန်းများအတိုင်း ကိုးကားရန် ကျွန်ုပ်တို့ အစွမ်းကုန် လုပ်ဆောင်ခဲ့ပါသည်။ သို့သော်လည်း အချို့သော ချန်လှပ်မှုများ ရှိသင့်သည်ကို ရှောင်လွှဲ၍မရနိုင်သောကြောင့် သက်ဆိုင်ရာ စာရေးဆရာများအားလုံးကို လေးစားစွာဖြင့် ကျေးဇူးတင်ကြောင်း ဖော်ပြလိုပါသည်။ ထို့အပြင်၊ ကျွန်ုပ်တို့သည် အင်တာနက်မှ အချက်အလက်များကို ကိုးကားထားသောကြောင့် မူရင်းရေးသားသူများနှင့် ထုတ်ဝေသူများကို ကျေးဇူးတင်ရှိပြီး အချက်အလက်တိုင်း၏ အရင်းအမြစ်ကို မဖော်ပြနိုင်သည့်အတွက် တောင်းပန်အပ်ပါသည်။
အရည်အသွေးမြင့် စာအုပ်တစ်အုပ်ကို ထုတ်လုပ်ရန်အတွက် ကျွန်ုပ်တို့သည် အတွင်းပိုင်းဆွေးနွေးမှုများကို ဝိုင်းဖွဲ့ထားပြီး အစမ်းဖတ်သူများနှင့် ထုတ်ဝေသူ တည်းဖြတ်သူများ၏ အကြံပြုချက်များနှင့် အကြံပြုချက်များမှ သင်ယူခဲ့ပါသည်။ ဤတွင်၊ ဤအောင်မြင်သောအလုပ်အတွက် ပံ့ပိုးပေးခဲ့သော သင်၏အကူအညီအတွက် ကျွန်ုပ်တို့မှ ထပ်မံကျေးဇူးတင်ရှိပါသည်။
နောက်ဆုံး၊ သို့သော် အရေးအကြီးဆုံးမှာ၊ ကျွန်ုပ်တို့၏ထုတ်ကုန်များကိုမွေးဖွားပြီး လူကြိုက်များလာစေရန် အလွန်ကြိုးစားလုပ်ဆောင်ပေးသော Espressif မှ လူတိုင်းကို ကျေးဇူးတင်ပါသည်။
IoT ပရောဂျက်များ ဖွံ့ဖြိုးတိုးတက်ရေးတွင် ဗဟုသုတများစွာ ပါဝင်ပါသည်။ စာအုပ်၏ အရှည်နှင့် စာရေးဆရာ၏ အဆင့်နှင့် အတွေ့အကြုံအရ ကန့်သတ်ထားသောကြောင့် ချန်လှပ်ခြင်းမှာ ရှောင်လွှဲ၍မရပါ။ သို့ပါ၍ ကျွန်ုပ်တို့၏အမှားများကို ပညာရှင်များနှင့် စာဖတ်သူများ ဝေဖန်အကြံပြုပေးကြပါရန် မေတ္တာရပ်ခံအပ်ပါသည်။ ဤစာအုပ်အတွက် အကြံပြုချက်များရှိပါက book@espressif.com တွင် ကျွန်ုပ်တို့ထံ ဆက်သွယ်ပါ။ သင့်တုံ့ပြန်ချက်ကို ကျွန်ုပ်တို့ မျှော်လင့်ပါသည်။

ဒီစာအုပ်ကို ဘယ်လိုသုံးမလဲ။
ဤစာအုပ်ရှိ ပရောဂျက်များ၏ ကုဒ်များကို ပွင့်လင်းမြင်သာစွာ ထုတ်ပေးထားပါသည်။ ၎င်းကို ကျွန်ုပ်တို့၏ GitHub သိုလှောင်မှုမှ ဒေါင်းလုဒ်လုပ်ပြီး ကျွန်ုပ်တို့၏တရားဝင်ဖိုရမ်တွင် သင့်အတွေးအမြင်များနှင့် မေးခွန်းများကို မျှဝေနိုင်ပါသည်။ GitHub- https://github.com/espressif/book-esp32c3-iot-projects ဖိုရမ်- https://www.esp32.com/bookc3 စာအုပ်တစ်အုပ်လုံး၊ အောက်တွင်ဖော်ပြထားသည့်အတိုင်း မီးမောင်းထိုးပြထားသည့် အပိုင်းများ ရှိပါမည်။
အရင်းအမြစ်ကုဒ် ဤစာအုပ်တွင်၊ ကျွန်ုပ်တို့သည် သီအိုရီနှင့် လက်တွေ့ပေါင်းစပ်မှုကို အလေးပေးကာ အခန်းတိုင်းလိုလိုတွင် Smart Light ပရောဂျက်နှင့်ပတ်သက်သည့် လက်တွေ့လုပ်ဆောင်မှုအပိုင်းကို သတ်မှတ်ပေးထားသည်။ သက်ဆိုင်ရာ အဆင့်များနှင့် ရင်းမြစ်စာမျက်နှာကို ဟူသော စာကြောင်းနှစ်ကြောင်းကြားတွင် အမှတ်အသားပြုပါမည်။ tag အရင်းအမြစ်ကုဒ်။
မှတ်ချက်/အကြံပြုချက်များ ဤနေရာတွင် သင်သည် အရေးကြီးသော အချက်အလက်အချို့ကို တွေ့ရှိနိုင်ပြီး သင့်ပရိုဂရမ်ကို အောင်မြင်စွာ အမှားရှာခြင်းအတွက် သတိပေးချက်ဖြစ်သည်။ ၎င်းတို့ကို အထူမျဉ်းနှစ်ခုကြားတွင် အမှတ်အသားပြုပါမည်။ tag မှတ်ချက် သို့မဟုတ် အကြံပြုချက်များ။
ဤစာအုပ်ရှိ command အများစုကို “$” စာလုံးဖြင့် အချက်ပြသော Linux အောက်တွင် လုပ်ဆောင်ပါသည်။ အမိန့်ကိုလုပ်ဆောင်ရန် superuser အခွင့်ထူးများ လိုအပ်ပါက၊ prompt ကို “#” ဖြင့် အစားထိုးပါမည်။ Mac စနစ်များပေါ်ရှိ အမိန့်ပေးစာမှာ “%” ဖြစ်ပြီး၊ အပိုင်း 4.2.3 တွင် Mac တွင် ESP-IDF ထည့်သွင်းခြင်းတွင် အသုံးပြုသည့်အတိုင်း ဖြစ်သည်။
ဤစာအုပ်ရှိ စာကိုယ်စာအား Charter ဖြင့် ရိုက်နှိပ်မည်ဖြစ်ပြီး ကုဒ် examples, components, functions, variables, code file အမည်များ၊ ကုဒ်လမ်းညွှန်များနှင့် စာကြောင်းများသည် Courier New တွင် ရှိပါမည်။
အသုံးပြုသူမှ ထည့်သွင်းရန်လိုအပ်သည့် ညွှန်ကြားချက်များ သို့မဟုတ် စာသားများနှင့် “Enter” ခလုတ်ကို နှိပ်ခြင်းဖြင့် ထည့်သွင်းနိုင်သည့် အမိန့်များကို Courier New မှ ရဲရင့်စွာ ရိုက်နှိပ်မည်ဖြစ်သည်။ မှတ်တမ်းများနှင့် ကုဒ်တုံးများကို အပြာနုရောင် အကွက်များဖြင့် ပြသပါမည်။
Example-
ဒုတိယ၊ NVS အခန်းကန့် binary ကိုထုတ်လုပ်ရန် esp-idf/components/nvs flash/nvs partition generator/nvs partition gen.py ကိုသုံးပါ။ file အောက်ပါ command ဖြင့် developer host ပေါ်တွင်
$ python $IDF PATH/components/nvs flash/nvs partition generator/nvs partition gen.py –input mass prod.csv –output mass prod.bin –size NVS PARTITION SIZE

အခန်း ၄

နိဒါန်း

ရန်

IoT

20 ရာစုအကုန်တွင် ကွန်ပျူတာကွန်ရက်များနှင့် ဆက်သွယ်ရေးနည်းပညာများ ထွန်းကားလာသဖြင့် အင်တာနက်သည် လူတို့၏ဘဝထဲသို့ လျင်မြန်စွာ ပေါင်းစည်းလာခဲ့သည်။ အင်တာနက်နည်းပညာများ ဆက်လက် ရင့်ကျက်လာသည်နှင့်အမျှ Internet of Things (IoT) အယူအဆ ပေါ်ပေါက်လာသည်။ စာသားအရ IoT ဆိုသည်မှာ အရာများ ချိတ်ဆက်နေသည့် အင်တာနက်ကို ဆိုလိုသည်။ မူလအင်တာနက်သည် နေရာနှင့်အချိန်၏ကန့်သတ်ချက်များကိုချိုးဖျက်ကာ "လူနှင့်လူ" အကြားအကွာအဝေးကိုကျဉ်းမြောင်းစေသော်လည်း IoT သည် "အရာ" ကိုအရေးကြီးသောပါဝင်သူအဖြစ်ပြုလုပ်ပြီး "လူ" နှင့် "အရာ" ကိုပိုမိုနီးကပ်စေသည်။ မကြာမီအနာဂတ်တွင် IoT သည် သတင်းအချက်အလက်လုပ်ငန်း၏ မောင်းနှင်အားဖြစ်လာမည်ဖြစ်သည်။
ဒါဆို Internet of Things ဆိုတာဘာလဲ။
Internet of Things ၏ အဓိပ္ပါယ်နှင့် နယ်ပယ်သည် အဆက်မပြတ် ပြောင်းလဲနေသောကြောင့် တိကျစွာ သတ်မှတ်ရန် ခက်ခဲသည်။ 1995 ခုနှစ်တွင် Bill Gates သည် ၎င်း၏ စာအုပ် The Road Ahead တွင် IoT ၏ စိတ်ကူးကို ပထမဆုံး ထုတ်ဖော်ခဲ့သည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင် IoT သည် အရာဝတ္ထုများကို အင်တာနက်မှတဆင့် သတင်းအချက်အလက်ဖလှယ်နိုင်စေပါသည်။ ၎င်း၏ အန္တိမရည်မှန်းချက်မှာ “အရာရာတိုင်း၏အင်တာနက်” ကို တည်ထောင်ရန်ဖြစ်သည်။ ၎င်းသည် IoT ၏ အစောပိုင်း အဓိပ္ပာယ်ဖွင့်ဆိုချက်ဖြစ်ပြီး အနာဂတ်နည်းပညာ၏ စိတ်ကူးယဉ်မှုတစ်ခုဖြစ်သည်။ အနှစ်သုံးဆယ်ကြာပြီးနောက်၊ စီးပွားရေးနှင့် နည်းပညာများ လျင်မြန်စွာ ဖွံ့ဖြိုးတိုးတက်လာမှုနှင့်အတူ စိတ်ကူးယဉ်သည် လက်တွေ့ဖြစ်လာသည်။ စမတ်ကိရိယာများ၊ စမတ်အိမ်များ၊ စမတ်မြို့များ၊ မော်တော်ယာဉ်များ၏ အင်တာနက်နှင့် ဝတ်ဆင်နိုင်သော စက်ပစ္စည်းများမှသည် IoT နည်းပညာများကို ပံ့ပိုးပေးသည့် “metaverse” အထိ၊ အယူအဆသစ်များသည် အဆက်မပြတ်ထွက်ပေါ်လာလျက်ရှိသည်။ ဤအခန်းတွင်၊ ကျွန်ုပ်တို့သည် Internet of Things ၏ဗိသုကာလက်ရာကို ရှင်းလင်းချက်ဖြင့် စတင်မည်ဖြစ်ပြီး၊ ထို့နောက် IoT အကြောင်းကို ရှင်းလင်းစွာနားလည်နိုင်ရန် ကူညီပေးရန်အတွက် အသုံးအများဆုံး IoT အက်ပလီကေးရှင်းဖြစ်သည့် smart home ကိုမိတ်ဆက်ပေးပါမည်။
1.1 IoT ဗိသုကာ
Internet of Things သည် မတူညီသော လုပ်ငန်းများတွင် မတူညီသော လျှောက်လွှာလိုအပ်ချက်များနှင့် ပုံစံများပါရှိသော နည်းပညာများစွာ ပါဝင်ပါသည်။ ဖွဲ့စည်းတည်ဆောက်ပုံ၊ IoT ၏ အဓိကနည်းပညာများနှင့် အသုံးချလက္ခဏာများကို ခွဲထုတ်ရန်အတွက် ပေါင်းစည်းထားသော ဗိသုကာပညာနှင့် စံနည်းပညာပိုင်းဆိုင်ရာစနစ်ကို တည်ထောင်ရန် လိုအပ်ပါသည်။ ဤစာအုပ်တွင်၊ IoT ၏ တည်ဆောက်ပုံအား အလွှာလေးခုဖြင့် ရိုးရှင်းစွာ ခွဲခြားထားပါသည်- ခံယူချက်နှင့် ထိန်းချုပ်မှုအလွှာ၊ ကွန်ရက်အလွှာ၊ ပလပ်ဖောင်းအလွှာနှင့် အပလီကေးရှင်းအလွှာ။
Perception & Control Layer သည် IoT ဗိသုကာ၏ အခြေခံအကျဆုံး ဒြပ်စင်ဖြစ်သောကြောင့်၊ ခံယူချက်နှင့် ထိန်းချုပ်မှုအလွှာသည် IoT ၏ ကျယ်ကျယ်ပြန့်ပြန့် အာရုံခံမှုကို သိရှိနားလည်ရန် အဓိကဖြစ်သည်။ ၎င်း၏ အဓိကလုပ်ဆောင်ချက်မှာ အချက်အလက်များကို စုဆောင်း၊ ဖော်ထုတ်ရန်နှင့် ထိန်းချုပ်ရန်ဖြစ်သည်။ သညာ၏ စွမ်းရည်နှင့် ကိရိယာမျိုးစုံတို့ ပါဝင်ပြီး၊
3

ခွဲခြားသတ်မှတ်ခြင်း၊ ထိန်းချုပ်ခြင်းနှင့် အကောင်အထည်ဖော်ဆောင်ရွက်ခြင်း၊ ပစ္စည်းဂုဏ်သတ္တိများ၊ အပြုအမူဆိုင်ရာ ခေတ်ရေစီးကြောင်းနှင့် စက်ပစ္စည်းအခြေအနေကဲ့သို့သော အချက်အလက်များကို ပြန်လည်ရယူခြင်းနှင့် ခွဲခြမ်းစိတ်ဖြာခြင်းတို့အတွက် တာဝန်ရှိပါသည်။ ဤနည်းဖြင့် IoT သည် တကယ့်ရုပ်ပိုင်းဆိုင်ရာကမ္ဘာကို အသိအမှတ်ပြုနိုင်မည်ဖြစ်သည်။ ထို့အပြင်၊ အလွှာသည် စက်၏ အခြေအနေကို ထိန်းချုပ်နိုင်သည်။
ဤအလွှာ၏ အသုံးအများဆုံး ကိရိယာများမှာ သတင်းအချက်အလက် စုဆောင်းခြင်းနှင့် ဖော်ထုတ်ခြင်းတွင် အရေးကြီးသော အခန်းကဏ္ဍမှ ပါဝင်သည့် အာရုံခံကိရိယာ အမျိုးမျိုးဖြစ်သည်။ အာရုံခံကိရိယာများသည် အမြင်နှင့် ညီမျှသော ဓါတ်ပုံအာရုံခံအာရုံခံကိရိယာများ၊ အကြားအာရုံဆီသို့ အသံအာရုံခံကိရိယာများ၊ အနံ့ခံခြင်းဆိုင်ရာ ဓာတ်ငွေ့အာရုံခံကိရိယာများ၊ နှင့် ထိတွေ့ခြင်းဆီသို့ ဖိအားနှင့် အပူချိန်အာရုံခံအာရုံခံကိရိယာများကဲ့သို့သော လူ၏အာရုံခံအင်္ဂါများနှင့်တူသည်။ ဤ "အာရုံအင်္ဂါများ" အားလုံးဖြင့် အရာဝတ္ထုများသည် "ရှင်သန်ခြင်း" ဖြစ်လာပြီး အသိဉာဏ်အမြင်၊ မှတ်သားမှုနှင့် ရုပ်လောကကို ခြယ်လှယ်နိုင်စွမ်းရှိသည်။
Network Layer ကွန်ရက်အလွှာ၏ အဓိကလုပ်ဆောင်ချက်မှာ perception & control layer မှရရှိသော data များအပါအဝင် သတ်မှတ်ထားသော ပစ်မှတ်သို့ အချက်အလက်များအပြင် အပလီကေးရှင်းအလွှာမှ ထုတ်ပေးသော command များကို perception & control layer သို့ ပြန်ပို့ခြင်းဖြစ်ပါသည်။ ၎င်းသည် IoT စနစ်၏ မတူညီသော အလွှာများကို ချိတ်ဆက်ပေးသည့် အရေးကြီးသော ဆက်သွယ်ရေးတံတားတစ်ခုအဖြစ် လုပ်ဆောင်သည်။ Internet of Things ၏ အခြေခံပုံစံတစ်ခုကို တည်ဆောက်ရန်အတွက်၊ ၎င်းတွင် အရာဝတ္ထုများကို ကွန်ရက်တစ်ခုအဖြစ် ပေါင်းစည်းရန် အဆင့်နှစ်ဆင့်ပါဝင်သည်- အင်တာနက်အသုံးပြုခွင့်နှင့် အင်တာနက်မှတစ်ဆင့် ထုတ်လွှင့်မှု။
အင်တာနက်အင်တာနက်အသုံးပြုခွင့်သည် လူတစ်ဦးနှင့်တစ်ဦးကြား အပြန်အလှန်ဆက်သွယ်မှုကို ပေးစွမ်းနိုင်သော်လည်း မိသားစုကြီးတွင် အရာများကို ထည့်သွင်းရန် ပျက်ကွက်ခဲ့သည်။ IoT မထွန်းကားမီတွင်၊ အရာအများစုသည် “ကွန်ရက်အသုံးပြုနိုင်သည်” မဟုတ်ပါ။ နည်းပညာ၏ စဉ်ဆက်မပြတ် ဖွံ့ဖြိုးတိုးတက်မှုကြောင့် IoT သည် အရာဝတ္ထုများကို အင်တာနက်သို့ ချိတ်ဆက်နိုင်ကာ “လူနှင့် အရာဝတ္ထုများ” နှင့် “အရာဝတ္ထုများ” အကြား အပြန်အလှန်ချိတ်ဆက်မှုကို နားလည်သဘောပေါက်စေသည်။ အင်တာနက်ချိတ်ဆက်မှုကို အကောင်အထည်ဖော်ရန် ဘုံနည်းလမ်းနှစ်ခုရှိသည်- ကြိုးတပ်ကွန်ရက်အသုံးပြုမှုနှင့် ကြိုးမဲ့ကွန်ရက်အသုံးပြုခွင့်။
ကြိုးမဲ့ကွန်ရက်ဝင်ရောက်ခြင်းနည်းလမ်းများတွင် Ethernet၊ အမှတ်စဉ်ဆက်သွယ်ရေး (ဥပမာ၊ RS-232၊ RS-485) နှင့် USB တို့ပါဝင်ပြီး ကြိုးမဲ့ကွန်ရက်အသုံးပြုခွင့်သည် ကြိုးမဲ့ဆက်သွယ်မှုအပေါ်တွင်မူတည်ပြီး ကြိုးမဲ့ဆက်သွယ်မှုအပေါ်တွင်မူတည်ကာ တာတိုကြိုးမဲ့ဆက်သွယ်ရေးနှင့် တာဝေးကြိုးမဲ့ဆက်သွယ်မှုဟူ၍ ခွဲခြားနိုင်သည်။
တိုတောင်းသောကြိုးမဲ့ ဆက်သွယ်မှုတွင် ZigBee၊ Bluetoothr၊ Wi-Fi၊ Near-Field Communication (NFC) နှင့် Radio Frequency Identification (RFID) တို့ ပါဝင်သည်။ တာဝေးပစ်ကြိုးမဲ့ဆက်သွယ်ရေးတွင် အဆင့်မြင့်စက်အမျိုးအစားဆက်သွယ်ရေး (eMTC)၊ LoRa၊ Narrow Band Internet of Things (NB-IoT)၊ 2G၊ 3G၊ 4G၊ 5G စသည်ဖြင့် ပါဝင်သည်။
အင်တာနက်မှတဆင့် ထုတ်လွှင့်ခြင်း မတူညီသော အင်တာနက်အသုံးပြုမှုနည်းလမ်းများသည် သက်ဆိုင်ရာ ဒေတာပေးပို့ခြင်းလင့်ခ်ကို ဦးတည်စေသည်။ နောက်တစ်ခုကတော့ ဒေတာတွေကို ပို့လွှတ်ဖို့အတွက် ဘယ်ဆက်သွယ်ရေးပရိုတိုကောကို သုံးရမလဲဆိုတာ ဆုံးဖြတ်ဖို့ပါပဲ။ အင်တာနက် terminals များနှင့် နှိုင်းယှဉ်ပါက IoT terminals အများစုသည် လက်ရှိတွင် ပိုနည်းပါသည်။
4 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

လုပ်ဆောင်နိုင်စွမ်း၊ သိုလှောင်မှုပမာဏ၊ ကွန်ရက်နှုန်းထားစသည်ဖြင့် ရရှိနိုင်သောအရင်းအမြစ်များဖြစ်သည့်အတွက် IoT အက်ပ်လီကေးရှင်းများတွင် အရင်းအမြစ်အနည်းငယ်သာရှိသော ဆက်သွယ်ရေးပရိုတိုကောကို ရွေးချယ်ရန် လိုအပ်ပါသည်။ ယနေ့တွင်တွင်ကျယ်ကျယ်အသုံးပြုနေကြသော ဆက်သွယ်ရေးပရိုတိုကောနှစ်ခုရှိသည်- Message Queuing Telemetry Transport (MQTT) နှင့် Constrained Application Protocol (CoAP)။
Platform Layer ပလပ်ဖောင်းအလွှာသည် IoT cloud ပလပ်ဖောင်းများကို အဓိကအားဖြင့် ရည်ညွှန်းသည်။ IoT terminals အားလုံးကို ကွန်ရက်ချိတ်ဆက်သောအခါတွင် ၎င်းတို့၏ဒေတာများကို တွက်ချက်သိမ်းဆည်းရန်အတွက် IoT cloud platform တစ်ခုပေါ်တွင် စုစည်းထားရန် လိုအပ်ပါသည်။ ပလပ်ဖောင်းအလွှာသည် ကြီးမားသောစက်ပစ္စည်းများကို ဝင်ရောက်ကြည့်ရှုခြင်းနှင့် စီမံခန့်ခွဲရာတွင် လွယ်ကူချောမွေ့စေရန် IoT အက်ပ်လီကေးရှင်းများကို အဓိကအားဖြင့် ပံ့ပိုးပေးပါသည်။ ၎င်းသည် IoT terminals များကို cloud platform သို့ ချိတ်ဆက်ပေးကာ၊ terminal data များကို စုဆောင်းကာ remote control ကိုအကောင်အထည်ဖော်ရန်အတွက် terminals များသို့ commands များထုတ်ပေးပါသည်။ စက်ပစ္စည်းများကို စက်မှုလုပ်ငန်းသုံးအက်ပ်လီကေးရှင်းများထံ ပေးအပ်ရန် အလယ်အလတ်ဝန်ဆောင်မှုတစ်ခုအနေဖြင့်၊ ပလပ်ဖောင်းအလွှာသည် IoT ဗိသုကာတစ်ခုလုံးတွင် ချိတ်ဆက်မှုအခန်းကဏ္ဍတစ်ခုအဖြစ် ပါဝင်ကာ၊ ရှုပ်ထွေးသောစီးပွားရေးယုတ္တိနှင့် စံပြုထားသော core data model ကိုသယ်ဆောင်ကာ၊ စက်ပစ္စည်းများ၏ လျင်မြန်စွာဝင်ရောက်နိုင်ရုံသာမက အစွမ်းထက်သော မော်ဂျူလာစွမ်းရည်များကိုလည်း ပေးဆောင်ပါသည်။ နယ်ပယ်အသီးသီးတွင် လိုအပ်ချက်များကို ဖြည့်ဆည်းပေးရန်။ ပလပ်ဖောင်းအလွှာတွင် အဓိကအားဖြင့် စက်ပစ္စည်းဝင်ရောက်ခွင့်၊ စက်ပစ္စည်းစီမံခန့်ခွဲမှု၊ လုံခြုံရေးစီမံခန့်ခွဲမှု၊ မက်ဆေ့ချ်ဆက်သွယ်ရေး၊ စောင့်ကြည့်စစ်ဆေးခြင်းနှင့် ပြုပြင်ထိန်းသိမ်းခြင်း နှင့် ဒေတာအက်ပ်လီကေးရှင်းများကဲ့သို့သော လုပ်ဆောင်နိုင်သော module များပါဝင်သည်။
· terminals များနှင့် IoT cloud ပလပ်ဖောင်းများကြား ချိတ်ဆက်မှုနှင့် ဆက်သွယ်မှုကို နားလည်သဘောပေါက်သည့် စက်ပစ္စည်းဝင်ရောက်ခြင်း။
· စက်ပစ္စည်းဖန်တီးမှု၊ စက်ပစ္စည်းထိန်းသိမ်းမှု၊ ဒေတာကူးပြောင်းမှု၊ ဒေတာထပ်တူပြုခြင်းနှင့် စက်ပစ္စည်းဖြန့်ဖြူးခြင်းကဲ့သို့သော လုပ်ဆောင်ချက်များအပါအဝင် စက်ပစ္စည်းစီမံခန့်ခွဲမှု။
· လုံခြုံရေး စီမံခန့်ခွဲမှု၊ လုံခြုံရေး အထောက်အထားစိစစ်ခြင်း နှင့် ဆက်သွယ်ရေး လုံခြုံရေး ရှုထောင့်များမှ IoT ဒေတာ ထုတ်လွှင့်ခြင်း၏ လုံခြုံရေးကို သေချာစေခြင်း။
· မက်ဆေ့ချ်ပို့ခြင်း လမ်းညွှန်ချက်သုံးခုအပါအဝင်၊ ဆိုလိုသည်မှာ terminal သည် IoT cloud ပလပ်ဖောင်းသို့ ဒေတာပေးပို့သည်၊ IoT cloud platform သည် server side သို့မဟုတ် အခြားသော IoT cloud ပလပ်ဖောင်းများသို့ data ပေးပို့ပြီး server side သည် IoT စက်ပစ္စည်းများကို အဝေးမှ ထိန်းချုပ်ပါသည်။
· O&M ကို စောင့်ကြည့်ခြင်း၊ စောင့်ကြည့်ခြင်းနှင့် ရောဂါရှာဖွေခြင်း၊ firmware အဆင့်မြှင့်တင်ခြင်း၊ အွန်လိုင်း အမှားရှာပြင်ခြင်း၊ မှတ်တမ်းဝန်ဆောင်မှုများ စသည်တို့ ပါဝင်ပါသည်။
· ဒေတာအသုံးပြုမှု၊ သိမ်းဆည်းမှု၊ ခွဲခြမ်းစိတ်ဖြာမှုနှင့် ဒေတာအသုံးချမှုတို့ ပါဝင်သည်။
Application Layer အပလီကေးရှင်းအလွှာသည် အပလီကေးရှင်းကို စီမံခန့်ခွဲရန်၊ ဒေတာဘေ့စ်များနှင့် ခွဲခြမ်းစိတ်ဖြာမှုဆော့ဖ်ဝဲကဲ့သို့သော ကိရိယာများဖြင့် ၎င်းတို့ကို စီမံကွပ်ကဲရန်၊ စစ်ထုတ်ခြင်းနှင့် လုပ်ဆောင်ခြင်းတို့ကို လုပ်ဆောင်ရန် အပလီကေးရှင်းအလွှာမှ ဒေတာကို အသုံးပြုသည်။ ရရှိလာသောဒေတာကို စမတ်ကျန်းမာရေးစောင့်ရှောက်မှု၊ စမတ်စိုက်ပျိုးမွေးမြူရေး၊ စမတ်အိမ်များနှင့် စမတ်မြို့များကဲ့သို့သော လက်တွေ့ကမ္ဘာ IoT အပလီကေးရှင်းများအတွက် အသုံးပြုနိုင်ပါသည်။
ဟုတ်ပါတယ်၊ IoT ၏ဗိသုကာလက်ရာကို အလွှာများပိုမိုခွဲခြားနိုင်သော်လည်း ၎င်းတွင်အလွှာမည်မျှပါဝင်သည်ဖြစ်စေ အရင်းခံနိယာမသည် အခြေခံအားဖြင့်တူညီနေပါသည်။ သင်ယူခြင်း။
အခန်း ၁။ IoT 1 ကို နိဒါန်း

IoT ၏ဗိသုကာပညာနှင့်ပတ်သက်ပြီး ကျွန်ုပ်တို့၏ IoT နည်းပညာများကို နက်ရှိုင်းစွာနားလည်သဘောပေါက်စေပြီး အပြည့်အဝလုပ်ဆောင်နိုင်သော IoT ပရောဂျက်များကို တည်ဆောက်ရန် ကူညီပေးပါသည်။
1.2 Smart Homes ရှိ IoT အက်ပ်
IoT သည် ဘဝအလွှာပေါင်းစုံသို့ ထိုးဖောက်ဝင်ရောက်လာခဲ့ပြီး ကျွန်ုပ်တို့နှင့် အနီးကပ်ဆုံးသော IoT အက်ပလီကေးရှင်းသည် စမတ်အိမ်ဖြစ်သည်။ ရိုးရာအသုံးအဆောင်အများအပြားကို ယခုအခါ IoT ကိရိယာတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကိရိယာများဖြင့် တပ်ဆင်ထားပြီး အသစ်တည်ဆောက်ထားသော အိမ်အများအပြားကို အစကတည်းက IoT နည်းပညာများဖြင့် ဒီဇိုင်းထုတ်ထားသည်။ ပုံ 1.1 တွင် အသုံးများသော အိမ်သုံးစမတ်ကိရိယာအချို့ကို ပြသထားသည်။
ပုံ ၁.၁။ အသုံးများသော အိမ်သုံးစမတ်ပစ္စည်းများ စမတ်အိမ်၏ ဖွံ့ဖြိုးတိုးတက်မှုကို စမတ်ထုတ်ကုန်အဖြစ် ရိုးရှင်းစွာ ပိုင်းခြားနိုင်သည်။tage, scene အပြန်အလှန်ချိတ်ဆက်မှု stage နှင့် အသိဉာဏ် stage၊ ပုံ 1.2 တွင်ပြထားသည့်အတိုင်း။
ပုံ ၁.၂။ ဖြိုး ၎tagsmart home 6 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

ပထမ ၎tage သည် စမတ်ထုတ်ကုန်များအကြောင်းဖြစ်သည်။ သမားရိုးကျအိမ်များနှင့်မတူဘဲ၊ စမတ်အိမ်များတွင် IoT ကိရိယာများသည် အာရုံခံကိရိယာများဖြင့် အချက်ပြမှုများကို လက်ခံရရှိကြပြီး Wi-Fi၊ Bluetooth LE နှင့် ZigBee ကဲ့သို့သော ကြိုးမဲ့ဆက်သွယ်ရေးနည်းပညာများမှတစ်ဆင့် ကွန်ရက်ချိတ်ဆက်ထားသည်။ သုံးစွဲသူများသည် စမတ်ဖုန်းအက်ပ်များ၊ အသံအကူ၊ စမတ်စပီကာထိန်းချုပ်မှုစသည်ဖြင့် နည်းလမ်းအမျိုးမျိုးဖြင့် စမတ်ထုတ်ကုန်များကို ထိန်းချုပ်နိုင်သည်။tage သည် မြင်ကွင်းအပြန်အလှန်ချိတ်ဆက်မှုကို အာရုံစိုက်သည်။ ဒီ stage၊ developer များသည် စမတ်ထုတ်ကုန်တစ်ခုတည်းကို ထိန်းချုပ်ရန် မစဉ်းစားတော့ဘဲ စမတ်ထုတ်ကုန်နှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော စမတ်ထုတ်ကုန်များကို အပြန်အလှန်ချိတ်ဆက်ကာ အတိုင်းအတာတစ်ခုအထိ အလိုအလျောက်လုပ်ဆောင်ကာ နောက်ဆုံးတွင် စိတ်ကြိုက်မြင်ကွင်းမုဒ်ကို ဖွဲ့စည်းခဲ့သည်။ ဟောင်းအတွက်ampထို့ကြောင့်၊ အသုံးပြုသူသည် မြင်ကွင်းမုဒ်ခလုတ်ကို နှိပ်သောအခါ၊ မီးလုံးများ၊ ကုလားကာများနှင့် လေအေးပေးစက်များသည် ကြိုတင်သတ်မှတ်မှုများနှင့်အညီ အလိုအလျောက် ပြောင်းလဲသွားမည်ဖြစ်သည်။ ဟုတ်ပါတယ်၊ အစပျိုးအခြေအနေများနှင့် အကောင်အထည်ဖော်လုပ်ဆောင်မှုများအပါအဝင် linkage logic ကို အလွယ်တကူ set up လုပ်ရန် လိုအပ်ချက်များရှိပါသည်။ အိမ်တွင်းအပူချိန် 10°C အောက်တွင် ကျဆင်းသွားသောအခါတွင် လေအေးပေးစက် အပူပေးမုဒ်ကို အစပျိုးထားသည်ဟု မြင်ယောင်ကြည့်ပါ။ နံနက် 7 နာရီတွင် သုံးစွဲသူကို နှိုးရန်အတွက် သီချင်းဖွင့်ဆိုထားပြီး စမတ်ကုလားကာများဖွင့်ကာ ထမင်းပေါင်းအိုး သို့မဟုတ် ပေါင်မုန့်မီးဖိုသည် စမတ်ပေါက်ပေါက်မှတဆင့် စတင်သည်။ အသုံးပြုသူသည် အိပ်ရာမှထကာ ရေချိုးပြီးသည်နှင့် အလုပ်သွားရာတွင် နှောင့်နှေးမှုမရှိစေရန် နံနက်စာ ကျွေးပြီးဖြစ်သည်။ ငါတို့ဘဝက ဘယ်လောက်တောင် အဆင်ပြေသွားတာလဲ။ တတိယ ၎tage ထောက်လှမ်းရေး s ကိုသွားပါ။tagင စမတ်အိမ်သုံးစက်ပစ္စည်းများ ပိုမိုဝင်ရောက်လာသည်နှင့်အမျှ ထုတ်လုပ်လိုက်သော ဒေတာအမျိုးအစားများလည်း ရှိလာမည်ဖြစ်သည်။ cloud computing၊ big data နှင့် artificial intelligence တို့၏အကူအညီဖြင့်၊ ၎င်းသည် အသုံးပြုသူထံမှ မကြာခဏ command များမလိုအပ်တော့သည့် smart home များတွင် "ထက်မြက်သောဦးနှောက်" ကို စိုက်ထားသကဲ့သို့ဖြစ်သည်။ ၎င်းတို့သည် ယခင်အပြန်အလှန်ပြောဆိုမှုများမှ ဒေတာများကို စုဆောင်းကာ ဆုံးဖြတ်ချက်ချရန်အတွက် အကြံပြုချက်များပေးဆောင်ခြင်းအပါအဝင် လုပ်ဆောင်ချက်များကို အလိုအလျောက်ပြန်ဖြစ်စေရန်အတွက် အသုံးပြုသူ၏အပြုအမူပုံစံများနှင့် နှစ်သက်မှုများကို လေ့လာပါ။ လက်ရှိတွင် စမတ်အိမ်အများစုသည် အပြန်အလှန်ချိတ်ဆက်မှု s တွင်ရှိသည်။tagင စမတ်ထုတ်ကုန်များ၏ ထိုးဖောက်ဝင်ရောက်မှုနှုန်းနှင့် ဉာဏ်ရည်မြင့်မားလာသည်နှင့်အမျှ ဆက်သွယ်ရေးပရိုတိုကောများကြား အတားအဆီးများကို ဖယ်ရှားလိုက်ပါသည်။ အနာဂတ်တွင်၊ စမတ်အိမ်များသည် Iron Man ရှိ AI စနစ် Jarvis ကဲ့သို့ပင်၊ စမတ်အိမ်များသည် သုံးစွဲသူများအား အမျိုးမျိုးသောစက်ပစ္စည်းများကို ထိန်းချုပ်နိုင်ရုံသာမက နေ့စဉ်ရေးရာများကို ကိုင်တွယ်ဖြေရှင်းနိုင်ရုံသာမက စူပါကွန်ပြူတာစွမ်းအားနှင့် တွေးခေါ်နိုင်စွမ်းလည်းပါရှိပါသည်။ အသိဉာဏ်၌ ၎tage၊ လူသားများသည် အရေအတွက်နှင့် အရည်အသွေး နှစ်မျိုးစလုံးတွင် ပိုမိုကောင်းမွန်သော ဝန်ဆောင်မှုများကို ရရှိမည်ဖြစ်သည်။
အခန်း ၁။ IoT 1 ကို နိဒါန်း

8 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

IoT ပရောဂျက် 2 ခု၏ နိဒါန်းနှင့် လက်တွေ့လုပ်ဆောင်မှု
အခန်း 1 တွင်၊ ကျွန်ုပ်တို့သည် IoT ၏ တည်ဆောက်ပုံနှင့် ခံယူချက်နှင့် ထိန်းချုပ်မှုအလွှာ၊ ကွန်ရက်အလွှာ၊ ပလပ်ဖောင်းအလွှာနှင့် အပလီကေးရှင်းအလွှာ၏ အခန်းကဏ္ဍများနှင့် အပြန်အလှန်ဆက်နွယ်မှုများကို မိတ်ဆက်ပေးခဲ့သည်။ သို့သော် ပန်းချီပညာကို သင်ယူသောအခါကဲ့သို့ပင် သီအိုရီဆိုင်ရာ အသိပညာကို သိရှိရန်မှာ မလုံလောက်ပါ။ နည်းပညာကို အမှန်တကယ်ကျွမ်းကျင်စေရန်အတွက် IoT ပရောဂျက်များကို လက်တွေ့အကောင်အထည်ဖော်ရန် ကျွန်ုပ်တို့သည် “ကျွန်ုပ်တို့၏လက်များကို ညစ်ပတ်စေ” ရပါမည်။ ထို့အပြင် ပရောဂျက်တစ်ခုသည် အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုသို့ ရွေ့လျားလာသောအခါ၊tage၊ ကွန်ရက်ချိတ်ဆက်မှု၊ ဖွဲ့စည်းမှုပုံစံ၊ IoT cloud ပလပ်ဖောင်း အပြန်အလှန်တုံ့ပြန်မှု၊ ဖိုင်းဝဲစီမံခန့်ခွဲမှုနှင့် အပ်ဒိတ်များ၊ အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုစီမံခန့်ခွဲမှုနှင့် လုံခြုံရေးဖွဲ့စည်းပုံစသည့် အကြောင်းရင်းများကို ထည့်သွင်းစဉ်းစားရန် လိုအပ်ပါသည်။ ဒီတော့ ပြီးပြည့်စုံတဲ့ IoT ပရောဂျက်ကို ရေးဆွဲတဲ့အခါမှာ ဘာတွေကို အာရုံစိုက်ဖို့ လိုမလဲ။ အခန်း 1 တွင်၊ smart home သည် အသုံးအများဆုံး IoT အက်ပလီကေးရှင်းအခြေအနေများထဲမှ တစ်ခုဖြစ်ကြောင်း ကျွန်ုပ်တို့ဖော်ပြခဲ့ပြီး၊ စမတ်မီးများသည် အိမ်၊ ဟိုတယ်၊ အားကစားခန်းမ၊ ဆေးရုံ စသည်ဖြင့် အသုံးပြုနိုင်သည့် အခြေခံအကျဆုံးနှင့် လက်တွေ့ကျသော အသုံးအဆောင်များထဲမှ တစ်ခုဖြစ်သည်။ ဤစာအုပ်တွင်၊ ကျွန်ုပ်တို့သည် စမတ်အလင်းပရောဂျက်တစ်ခုတည်ဆောက်မှုကို အစမှတ်အဖြစ်ယူကာ ၎င်း၏အစိတ်အပိုင်းများနှင့်အင်္ဂါရပ်များကိုရှင်းပြကာ ပရောဂျက်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် လမ်းညွှန်ချက်ပေးမည်ဖြစ်သည်။ နောက်ထပ် IoT အပလီကေးရှင်းများ ဖန်တီးရန် ဤကိစ္စမှ ကောက်ချက်ဆွဲနိုင်မည်ဟု ကျွန်ုပ်တို့ မျှော်လင့်ပါသည်။
2.1 ပုံမှန် IoT ပရောဂျက်များအကြောင်း နိဒါန်း
ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ပတ်သက်၍၊ IoT ပရောဂျက်များ၏ အခြေခံလုပ်ဆောင်နိုင်သော module များကို IoT စက်ပစ္စည်းများ၏ ဆော့ဖ်ဝဲလ်နှင့် ဟာ့ဒ်ဝဲဖွံ့ဖြိုးတိုးတက်မှု၊ သုံးစွဲသူအပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်မှုနှင့် IoT cloud platform ဖွံ့ဖြိုးတိုးတက်မှုအဖြစ် အမျိုးအစားခွဲခြားနိုင်သည်။ ဤကဏ္ဍတွင် ထပ်မံဖော်ပြမည့် အခြေခံလုပ်ဆောင်မှုဆိုင်ရာ module များကို ရှင်းလင်းရန် အရေးကြီးပါသည်။
2.1.1 အသုံးများသော IoT စက်များအတွက် အခြေခံ မော်ဂျူးများ
IoT စက်ပစ္စည်းများ၏ ဆော့ဖ်ဝဲနှင့် ဟာ့ဒ်ဝဲများ ဖွံ့ဖြိုးတိုးတက်ရေးတွင် အောက်ပါအခြေခံ module များပါဝင်သည်- ဒေတာစုဆောင်းခြင်း။
IoT ဗိသုကာ၏အောက်ခြေအလွှာအနေဖြင့်၊ ခံယူချက်နှင့်ထိန်းချုပ်မှုအလွှာ၏ IoT ကိရိယာများသည် ဒေတာစုဆောင်းမှုနှင့် လည်ပတ်မှုထိန်းချုပ်မှုအောင်မြင်ရန် ၎င်းတို့၏ချစ်ပ်များနှင့် အရံပစ္စည်းများမှတစ်ဆင့် အာရုံခံကိရိယာများနှင့် စက်ပစ္စည်းများကို ချိတ်ဆက်သည်။
9

အကောင့်ချိတ်ဆက်ခြင်းနှင့် ကနဦးဖွဲ့စည်းပုံ IoT စက်ပစ္စည်းအများစုအတွက်၊ အကောင့်ချိတ်ဆက်ခြင်းနှင့် ကနဦးဖွဲ့စည်းမှုပုံစံများသည် လုပ်ငန်းလည်ပတ်မှုလုပ်ငန်းစဉ်တစ်ခုတွင် ပြီးမြောက်သည် ဥပမာ၊ample၊ Wi-Fi ကွန်ရက်ကို စီစဉ်သတ်မှတ်ခြင်းဖြင့် သုံးစွဲသူများနှင့် စက်ပစ္စည်းများကို ချိတ်ဆက်ခြင်း။
IoT cloud ပလပ်ဖောင်းများနှင့် အပြန်အလှန် တုံ့ပြန်ခြင်း IoT စက်ပစ္စည်းများကို စောင့်ကြည့်ထိန်းချုပ်ရန်၊ အချင်းချင်း အပြန်အလှန် အပြန်အလှန် ဆက်သွယ်မှုမှတစ်ဆင့် အခြေအနေကို သတင်းပို့နိုင်ရန် ၎င်းတို့အား IoT cloud ပလပ်ဖောင်းများနှင့် ချိတ်ဆက်ရန်လည်း လိုအပ်ပါသည်။
စက်ပစ္စည်းထိန်းချုပ်မှု IoT cloud ပလပ်ဖောင်းများနှင့် ချိတ်ဆက်သည့်အခါ စက်ပစ္စည်းများသည် cloud နှင့် ဆက်သွယ်နိုင်ပြီး စာရင်းသွင်းခြင်း၊ ချည်နှောင်ခြင်း သို့မဟုတ် ထိန်းချုပ်ခြင်းတို့ ပြုလုပ်နိုင်သည်။ အသုံးပြုသူများသည် ထုတ်ကုန်အခြေအနေကို စုံစမ်းမေးမြန်းနိုင်ပြီး IoT cloud ပလပ်ဖောင်းများ သို့မဟုတ် ဒေသတွင်း ဆက်သွယ်ရေးပရိုတိုကောများမှတစ်ဆင့် စမတ်ဖုန်းအက်ပ်တွင် အခြားလုပ်ဆောင်မှုများကို လုပ်ဆောင်နိုင်သည်။
Firmware အဆင့်မြှင့်တင်ခြင်း IoT စက်ပစ္စည်းများသည် ထုတ်လုပ်သူ၏လိုအပ်ချက်များအပေါ်အခြေခံ၍ firmware အဆင့်မြှင့်တင်မှုကိုလည်း ရရှိနိုင်ပါသည်။ cloud မှပေးပို့သော command များကိုလက်ခံရရှိခြင်းဖြင့် firmware အဆင့်မြှင့်ခြင်းနှင့် ဗားရှင်းစီမံခန့်ခွဲမှုကို သိရှိလာမည်ဖြစ်ပါသည်။ ဤ firmware အဆင့်မြှင့်ခြင်းအင်္ဂါရပ်ဖြင့်၊ သင်သည် IoT စက်ပစ္စည်းများ၏ လုပ်ဆောင်ချက်များကို စဉ်ဆက်မပြတ် မြှင့်တင်နိုင်သည်၊ ချွတ်ယွင်းချက်များကို ပြင်ဆင်ရန်နှင့် အသုံးပြုသူအတွေ့အကြုံကို မြှင့်တင်နိုင်ပါသည်။
2.1.2 Client အပလီကေးရှင်းများ၏ အခြေခံ မော်ဂျူးများ
သုံးစွဲသူ အပလီကေးရှင်းများ (ဥပမာ၊ စမတ်ဖုန်း အက်ပ်များ) တွင် အဓိကအားဖြင့် အောက်ပါ အခြေခံ မော်ဂျူးများ ပါဝင်သည်-
အကောင့်စနစ်နှင့် ခွင့်ပြုချက် ၎င်းသည် အကောင့်နှင့် စက်၏ ခွင့်ပြုချက်ကို ပံ့ပိုးပေးသည်။
စက်ပစ္စည်းထိန်းချုပ်ခြင်းစမတ်ဖုန်းအက်ပ်များကို အများအားဖြင့် ထိန်းချုပ်သည့်လုပ်ဆောင်ချက်များ တပ်ဆင်ထားပါသည်။ အသုံးပြုသူများသည် IoT စက်ပစ္စည်းများနှင့် အလွယ်တကူချိတ်ဆက်နိုင်ပြီး စမတ်ဖုန်းအက်ပ်များမှတစ်ဆင့် အချိန်မရွေး၊ နေရာမရွေး စီမံခန့်ခွဲနိုင်သည်။ လက်တွေ့ကမ္ဘာရှိ စမတ်အိမ်တွင်၊ စက်ပစ္စည်းများကို စမတ်ဖုန်းအက်ပ်များဖြင့် ထိန်းချုပ်ထားသောကြောင့် စက်ပစ္စည်းများကို ဉာဏ်ရည်ထက်မြက်စွာ စီမံခန့်ခွဲနိုင်ရုံသာမက လူအင်အားကုန်ကျစရိတ်ကိုလည်း သက်သာစေပါသည်။ ထို့ကြောင့်၊ စက်ထိန်းချုပ်မှုသည် စက်ပစ္စည်းလုပ်ဆောင်ချက်ထိန်းချုပ်မှု၊ မြင်ကွင်းထိန်းချုပ်မှု၊ အချိန်ဇယားဆွဲမှု၊ အဝေးထိန်းထိန်းချုပ်မှု၊ စက်ပစ္စည်းချိတ်ဆက်မှုစသည်ဖြင့် သုံးစွဲသူအပလီကေးရှင်းများအတွက် မရှိမဖြစ်လိုအပ်ပါသည်။ Smart home အသုံးပြုသူများသည် ကိုယ်ရေးကိုယ်တာလိုအပ်ချက်အရ မြင်ကွင်းများကို စိတ်ကြိုက်ပြင်ဆင်နိုင်သည်၊ အလင်းရောင်ကိုထိန်းချုပ်ခြင်း၊ အိမ်သုံးပစ္စည်းများ၊ ဝင်ပေါက်များ၊ စသည်တို့ဖြင့် အိမ်ဘဝ ပိုမိုသက်တောင့်သက်သာနှင့် အဆင်ပြေစေပါသည်။ ၎င်းတို့သည် လေအေးပေးစက်အား အချိန်ပေးခြင်း၊ အဝေးမှပိတ်ခြင်း၊ တံခါးသော့ဖွင့်ပြီးသည်နှင့် စင်္ကြံမီးကို အလိုအလျောက်ဖွင့်ပေးခြင်း၊ သို့မဟုတ် ခလုတ်တစ်ချက်နှိပ်ရုံဖြင့် "ရုံ" မုဒ်သို့ ပြောင်းနိုင်သည်။
အကြောင်းကြားချက် Client အပလီကေးရှင်းများသည် IoT စက်ပစ္စည်းများ၏ အချိန်နှင့်တစ်ပြေးညီ အခြေအနေကို အပ်ဒိတ်လုပ်ကာ စက်ပစ္စည်းများ ပုံမှန်မဟုတ်သည့်အခါတွင် သတိပေးချက်များ ပေးပို့သည်။
10 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

ရောင်းချပြီးနောက် ဖောက်သည်ဝန်ဆောင်မှုစမတ်ဖုန်းအက်ပ်များသည် IoT စက်ပစ္စည်းချို့ယွင်းမှုနှင့် နည်းပညာပိုင်းဆိုင်ရာလုပ်ဆောင်မှုများနှင့်ပတ်သက်သည့် ပြဿနာများကို အချိန်နှင့်တစ်ပြေးညီဖြေရှင်းရန် ထုတ်ကုန်များအတွက် အရောင်းအပြီးဝန်ဆောင်မှုများကို ပံ့ပိုးပေးနိုင်ပါသည်။
အထူးပြုလုပ်ထားသောလုပ်ဆောင်ချက်များသည် မတူညီသောအသုံးပြုသူများ၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန် Shake၊ NFC၊ GPS အစရှိသည့်အခြားလုပ်ဆောင်ချက်များကိုထည့်သွင်းနိုင်သည်။ GPS သည် တည်နေရာနှင့်အကွာအဝေးအလိုက် မြင်ကွင်းလုပ်ဆောင်ချက်များ၏တိကျမှုကိုသတ်မှတ်ရန်ကူညီပေးနိုင်ပြီး Shake လုပ်ဆောင်ချက်သည် အသုံးပြုသူများကိုသတ်မှတ်ရန်ခွင့်ပြုနေချိန်တွင်၊ လှုပ်ခြင်းဖြင့် သီးခြားစက်ပစ္စည်း သို့မဟုတ် မြင်ကွင်းအတွက် လုပ်ဆောင်ရမည့် အမိန့်များ။
2.1.3 ဘုံ IoT Cloud Platforms မိတ်ဆက်
IoT cloud ပလပ်ဖောင်းသည် စက်ပစ္စည်းစီမံခန့်ခွဲမှု၊ ဒေတာလုံခြုံရေး ဆက်သွယ်ရေးနှင့် အကြောင်းကြားချက် စီမံခန့်ခွဲမှုစသည့် လုပ်ဆောင်ချက်များကို ပေါင်းစပ်ထားသည့် တစ်ခုတည်းသော ပလပ်ဖောင်းတစ်ခုဖြစ်သည်။ ၎င်းတို့၏ပစ်မှတ်အုပ်စုနှင့် သုံးစွဲနိုင်မှုအရ IoT cloud ပလပ်ဖောင်းများကို အများသူငှာ IoT cloud ပလပ်ဖောင်းများ (ယခုနောက်ပိုင်းတွင် “public cloud” ဟုရည်ညွှန်းသည်) နှင့် private IoT cloud ပလပ်ဖောင်းများ (နောင်တွင် “private cloud” ဟုရည်ညွှန်းသည်) ဟူ၍ ခွဲခြားနိုင်ပါသည်။
အများအားဖြင့် အများသူငှာ cloud သည် လုပ်ငန်း သို့မဟုတ် တစ်ဦးချင်းအတွက် မျှဝေထားသော IoT cloud ပလပ်ဖောင်းများကို ညွှန်ပြသည်၊ ပလပ်ဖောင်းဝန်ဆောင်မှုပေးသူများမှ လည်ပတ်ထိန်းသိမ်းထားပြီး အင်တာနက်မှတဆင့် မျှဝေသည်။ ၎င်းသည် အခမဲ့ သို့မဟုတ် ကုန်ကျစရိတ်သက်သာနိုင်ပြီး Alibaba Cloud၊ Tencent Cloud၊ Baidu Cloud၊ AWS IoT၊ Google IoT အစရှိသည့် ပွင့်လင်းမြင်သာသောကွန်ရက်တစ်လျှောက် ဝန်ဆောင်မှုများကို ပံ့ပိုးပေးပါသည်။ ပံ့ပိုးပေးသည့်ပလပ်ဖောင်းတစ်ခုအနေဖြင့်၊ အများသူငှာ cloud သည် အထက်စီးကြောင်းဝန်ဆောင်မှုပေးသူများကို ပေါင်းစပ်နိုင်ပြီး၊ downstream end users များသည် value chain အသစ်နှင့် ecosystem ကိုဖန်တီးရန်။
Private cloud သည် လုပ်ငန်းသုံးအတွက်သာ တည်ဆောက်ထားသောကြောင့် ဒေတာ၊ လုံခြုံရေးနှင့် ဝန်ဆောင်မှုအရည်အသွေးတို့အပေါ် အကောင်းဆုံးထိန်းချုပ်မှုကို အာမခံပါသည်။ ၎င်း၏ဝန်ဆောင်မှုများနှင့် အခြေခံအဆောက်အဦများကို လုပ်ငန်းများက သီးခြားထိန်းသိမ်းထားပြီး ပံ့ပိုးပေးသည့် ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲလ်များကို သီးခြားအသုံးပြုသူများအတွက်လည်း ရည်စူးပါသည်။ လုပ်ငန်းများသည် ၎င်းတို့၏ လုပ်ငန်းလိုအပ်ချက်များကို ဖြည့်ဆည်းရန် cloud ဝန်ဆောင်မှုများကို စိတ်ကြိုက်ပြင်ဆင်နိုင်သည်။ လက်ရှိတွင်၊ အချို့သော စမတ်အိမ်ထုတ်လုပ်သူများသည် ကိုယ်ပိုင် IoT cloud ပလပ်ဖောင်းများကို ရရှိထားပြီး ၎င်းတို့ကို အခြေခံ၍ စမတ်အိမ်သုံးအက်ပ်လီကေးရှင်းများကို တီထွင်နေပြီဖြစ်သည်။
Public cloud နှင့် private cloud တွင် ကိုယ်ပိုင် advan ရှိသည်။tages ကို နောက်မှရှင်းပြပါမည်။
ဆက်သွယ်ရေးချိတ်ဆက်မှုရရှိရန်၊ လုပ်ငန်းသုံးဆာဗာများ၊ IoT cloud ပလပ်ဖောင်းများနှင့် စမတ်ဖုန်းအက်ပ်များနှင့်အတူ စက်ပစ္စည်းဘက်တွင် အနည်းဆုံးထည့်သွင်းထားသော ဖွံ့ဖြိုးမှုကို အပြီးသတ်ရန် လိုအပ်ပါသည်။ ဤကဲ့သို့သောကြီးမားသောပရောဂျက်ကိုရင်ဆိုင်ရပါက၊ အများသူငှာ cloud သည် လုပ်ငန်းစဉ်ကိုအရှိန်မြှင့်ရန်အတွက် စက်နှင့်စမတ်ဖုန်းအက်ပ်များအတွက် ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာအစုံအလင်ကို ပုံမှန်အားဖြင့်ပေးပါသည်။ အများသူငှာနှင့် ပုဂ္ဂလိက cloud နှစ်ခုစလုံးသည် စက်ပစ္စည်းဝင်ရောက်ခွင့်၊ စက်ပစ္စည်းစီမံခန့်ခွဲမှု၊ ကိရိယာအရိပ်နှင့် လည်ပတ်မှုနှင့် ပြုပြင်ထိန်းသိမ်းမှုတို့အပါအဝင် ဝန်ဆောင်မှုများကို ပေးပါသည်။
စက်ပစ္စည်းဝင်ရောက်ခွင့် IoT cloud ပလပ်ဖောင်းများသည် ပရိုတိုကောများကို အသုံးပြု၍ စက်ပစ္စည်းဝင်ရောက်ခွင့်အတွက် အင်တာဖေ့စ်များသာမကဘဲ ပံ့ပိုးပေးရန်လိုအပ်ပါသည်။
အခန်း ၂။ IoT ပရောဂျက်များ၏ နိဒါန်းနှင့် လက်တွေ့လုပ်ဆောင်မှု ၁၁

MQTT၊ CoAP၊ HTTPS နှင့် WebSocket သည် အတုအပနှင့် တရားမဝင်သော စက်ပစ္စည်းများကို ပိတ်ဆို့ရန် စက်ပစ္စည်းလုံခြုံရေး အထောက်အထားစိစစ်ခြင်း၏ လုပ်ဆောင်ချက်လည်းဖြစ်ပြီး အန္တရာယ်ဖြစ်နိုင်ခြေကို ထိရောက်စွာ လျှော့ချပေးသည်။ ထိုသို့သော စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းသည် အများအားဖြင့် မတူညီသောယန္တရားများကို ပံ့ပိုးပေးသောကြောင့် စက်များ အစုလိုက်အပြုံလိုက်ထုတ်လုပ်သောအခါ၊ ရွေးချယ်ထားသော စစ်မှန်ကြောင်းအထောက်အထားပြယန္တရားအရ စက်ပစ္စည်းလက်မှတ်ကို ကြိုတင်သတ်မှတ်ထားရန် လိုအပ်ပြီး ၎င်းကို စက်ပစ္စည်းများတွင် လောင်ကျွမ်းစေပါသည်။
စက်ပစ္စည်းစီမံခန့်ခွဲမှု IoT cloud ပလပ်ဖောင်းများမှ ပံ့ပိုးပေးသော စက်ပစ္စည်းစီမံခန့်ခွဲမှုလုပ်ဆောင်ချက်သည် ထုတ်လုပ်သူများ၏ အသက်ဝင်မှုအခြေအနေနှင့် ၎င်းတို့၏စက်ပစ္စည်းများ၏ အွန်လိုင်းအခြေအနေတို့ကို အချိန်နှင့်တပြေးညီ စောင့်ကြည့်စစ်ဆေးနိုင်ရုံသာမက စက်ပစ္စည်းများကို ထည့်သွင်း/ဖယ်ရှားခြင်း၊ ပြန်လည်ရယူခြင်း၊ အုပ်စုများထည့်ခြင်း/ဖျက်ခြင်း၊ firmware အဆင့်မြှင့်တင်ခြင်းကဲ့သို့သော ရွေးချယ်မှုများကိုလည်း ခွင့်ပြုပေးပါသည်။ နှင့် ဗားရှင်းစီမံခန့်ခွဲမှု။
Device shadow IoT cloud ပလပ်ဖောင်းများသည် စက်ပစ္စည်းတစ်ခုစီအတွက် အမြဲရှိနေသော virtual ဗားရှင်း (device shadow) ကို ဖန်တီးနိုင်ပြီး၊ device shadow ၏အခြေအနေကို စမတ်ဖုန်းအက်ပ် သို့မဟုတ် အင်တာနက်ထုတ်လွှင့်မှုပရိုတိုကောများမှတစ်ဆင့် စမတ်ဖုန်းအက်ပ် သို့မဟုတ် အခြားစက်ပစ္စည်းများမှ တစ်ပြိုင်တည်းရယူနိုင်ပါသည်။ Device shadow သည် စက်ပစ္စည်းတစ်ခုစီ၏ နောက်ဆုံးအစီရင်ခံမှုအခြေအနေနှင့် မျှော်လင့်ထားသည့်အခြေအနေတို့ကို သိမ်းဆည်းထားပြီး၊ စက်သည် အော့ဖ်လိုင်းဖြစ်နေလျှင်ပင် API များကိုခေါ်ဆိုခြင်းဖြင့် အခြေအနေကို ရယူနိုင်ပါသေးသည်။ Device shadow သည် စက်ပစ္စည်းများနှင့် အပြန်အလှန်ဆက်သွယ်နိုင်သော စမတ်ဖုန်းအက်ပ်များကို တည်ဆောက်ရန် ပိုမိုလွယ်ကူစေသည့် အမြဲတမ်း-ပေါ် API များကို ပံ့ပိုးပေးပါသည်။
လည်ပတ်မှုနှင့် ပြုပြင်ထိန်းသိမ်းမှု O&M လုပ်ဆောင်ချက်တွင် ကဏ္ဍသုံးရပ်ပါဝင်သည်- · IoT စက်ပစ္စည်းများနှင့် အသိပေးချက်များအကြောင်း ကိန်းဂဏန်းအချက်အလက်များကို ပြသခြင်း။ · မှတ်တမ်းစီမံခန့်ခွဲမှုသည် စက်၏အပြုအမူ၊ အတက်/အောက် မက်ဆေ့ချ်စီးဆင်းမှုနှင့် မက်ဆေ့ချ်အကြောင်းအရာများအကြောင်း အချက်အလက်များကို ထုတ်ယူခွင့်ပြုသည်။ · စက်ပစ္စည်း အမှားရှာပြင်ခြင်းသည် အမိန့်ပေးခြင်း၊ ဖွဲ့စည်းမှု မွမ်းမံခြင်းနှင့် IoT cloud ပလပ်ဖောင်းများနှင့် စက်ပစ္စည်းမက်ဆေ့ချ်များကြား အပြန်အလှန်ဆက်သွယ်မှုကို စစ်ဆေးခြင်းတို့ကို ပံ့ပိုးပေးသည်။
2.2 အလေ့အကျင့်- Smart Light ပရောဂျက်
အခန်းတစ်ခန်းချင်းစီတွင် သီအိုရီပိုင်းကို မိတ်ဆက်ပြီးနောက်၊ သင်သည် လက်လှမ်းမီသော အတွေ့အကြုံကို ရရှိရန် ကူညီရန်အတွက် Smart Light ပရောဂျက်နှင့် သက်ဆိုင်သည့် လေ့ကျင့်မှုအပိုင်းကို သင်တွေ့လိမ့်မည်။ အဆိုပါပရောဂျက်သည် Espressif ၏ ESP32-C3 ချစ်ပ်နှင့် ESP RainMaker IoT Cloud Platform ပေါ်တွင် အခြေခံထားပြီး စမတ်အလင်းထုတ်ကုန်များတွင် ကြိုးမဲ့ module ဟာ့ဒ်ဝဲ၊ ESP32C3၊ စမတ်ဖုန်းအက်ပ်များနှင့် ESP RainMaker အပြန်အလှန်အကျိုးသက်ရောက်မှုကို အခြေခံထားသည့် စမတ်စက်ပစ္စည်းများအတွက် ထည့်သွင်းထားသောဆော့ဖ်ဝဲကို အကျုံးဝင်ပါသည်။
အရင်းအမြစ်ကုဒ်သည် ပိုမိုကောင်းမွန်သော သင်ယူမှုနှင့် ဖွံ့ဖြိုးတိုးတက်မှုအတွေ့အကြုံအတွက်၊ ဤစာအုပ်ပါ ပရောဂျက်ကို opensource ဖြင့် ဖန်တီးထားပါသည်။ ကျွန်ုပ်တို့၏ GitHub repository မှ source code ကို https://github တွင် ဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။ com/espressif/book-esp32c3-iot-projects။
12 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

2.2.1 စီမံကိန်းဖွဲ့စည်းပုံ
Smart Light ပရောဂျက်တွင် အပိုင်းသုံးပိုင်းပါဝင်သည်- i. ESP32-C3 ကိုအခြေခံ၍ စမတ်အလင်းကိရိယာများသည် IoT တိမ်တိုက်ပလပ်ဖောင်းများနှင့် အပြန်အလှန်အကျိုးသက်ရောက်မှုနှင့် LED ၏ခလုတ်၊ တောက်ပမှုနှင့် အရောင်အပူချိန်တို့ကို ထိန်းချုပ်ရန် တာဝန်ရှိသည်၊amp ပုတီးစေ့။ ii စမတ်ဖုန်းအက်ပ်များ (Android နှင့် iOS တွင်သုံးသည့် တက်ဘလက်အက်ပ်များ အပါအဝင်)၊ စမတ်အလင်းထုတ်ကုန်များ၏ ကွန်ရက်ပုံစံဖွဲ့စည်းပုံအတွက် တာဝန်ရှိသည့်အပြင် ၎င်းတို့၏အခြေအနေကို မေးမြန်းခြင်းနှင့် ထိန်းချုပ်ခြင်းတို့အတွက် တာဝန်ရှိသည်။
iii ESP RainMaker ကိုအခြေခံထားသော IoT cloud platform တစ်ခု။ ရိုးရှင်းစေရန်အတွက်၊ ဤစာအုပ်တွင် IoT cloud ပလပ်ဖောင်းနှင့် လုပ်ငန်းဆာဗာတစ်ခုလုံးကို ထည့်သွင်းစဉ်းစားပါသည်။ ESP RainMaker အကြောင်း အသေးစိတ်ကို အခန်း 3 တွင် ဖော်ပြပေးပါမည်။
Smart Light ပရောဂျက်တည်ဆောက်ပုံနှင့် IoT ၏ဗိသုကာလက်ရာအကြား စာပေးစာယူကို ပုံ 2.1 တွင်ပြသထားသည်။
ပုံ 2.1 ။ စမတ်အလင်းစီမံကိန်း၏ဖွဲ့စည်းပုံ
2.2.2 ပရောဂျက်လုပ်ဆောင်ချက်များ
ဖွဲ့စည်းပုံအရ အပိုင်းတစ်ခုစီ၏ လုပ်ဆောင်ချက်များကို အောက်ပါအတိုင်း ခွဲခြားထားသည်။ စမတ်အလင်းကိရိယာများ
· ကွန်ရက်ဖွဲ့စည်းပုံနှင့် ချိတ်ဆက်မှု။ · LED PWM ထိန်းချုပ်မှုဖြစ်သည့် ခလုတ်၊ တောက်ပမှု၊ အရောင်အပူချိန် စသည်ဖြင့် · အလိုအလျောက်စနစ် သို့မဟုတ် မြင်ကွင်းထိန်းချုပ်မှု ဥပမာ၊ အချိန်ခလုတ်။ · Flash ၏ ကုဒ်ဝှက်ခြင်းနှင့် လုံခြုံစွာဖွင့်ခြင်း။ · Firmware အဆင့်မြှင့်ခြင်းနှင့်ဗားရှင်းစီမံခန့်ခွဲမှု။
အခန်း ၂။ IoT ပရောဂျက်များ၏ နိဒါန်းနှင့် လက်တွေ့လုပ်ဆောင်မှု ၁၁

စမတ်ဖုန်းအက်ပ်များ · ကွန်ရက်ဖွဲ့စည်းပုံနှင့် စက်ချိတ်ဆက်မှု။ · ခလုတ်၊ အလင်းအမှောင်၊ အရောင်အပူချိန် စသည်ဖြင့် စမတ်အလင်း ထုတ်ကုန်ထိန်းချုပ်မှု · အလိုအလျောက်စနစ် သို့မဟုတ် မြင်ကွင်းဆက်တင်များ ဥပမာ၊ အချိန်ခလုတ်။ · ဒေသန္တရ/အဝေးထိန်း။ ·အသုံးပြုသူမှတ်ပုံတင်ခြင်း၊ အကောင့်ဝင်ခြင်းစသည်တို့။
ESP RainMaker IoT cloud ပလပ်ဖောင်း · IoT စက်ပစ္စည်းကို ဝင်ရောက်အသုံးပြုခွင့်ပေးခြင်း။ · စမတ်ဖုန်းအက်ပ်များတွင် အသုံးပြုနိုင်သော စက်လည်ပတ်မှု API များကို ပံ့ပိုးပေးခြင်း။ · Firmware အဆင့်မြှင့်ခြင်းနှင့်ဗားရှင်းစီမံခန့်ခွဲမှု။
2.2.3 ဟာ့ဒ်ဝဲပြင်ဆင်ခြင်း။
ပရောဂျက်ကို လက်တွေ့အကောင်အထည်ဖော်ရန် စိတ်ပါဝင်စားပါက၊ သင်သည် အောက်ဖော်ပြပါ ဟာ့ဒ်ဝဲများ လိုအပ်မည်ဖြစ်သည်- စမတ်မီးလုံးများ၊ စမတ်ဖုန်းများ၊ Wi-Fi ရောက်တာများနှင့် ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်၏ တပ်ဆင်မှုလိုအပ်ချက်များနှင့် ကိုက်ညီသော ကွန်ပျူတာတစ်လုံးတို့လည်း လိုအပ်မည်ဖြစ်ပါသည်။ စမတ်မီးများ
စမတ်မီးလုံးများသည် ယေဘူယျမီးသီးနှင့် ပုံသဏ္ဍာန်တူသော မီးသီးအမျိုးအစားအသစ်ဖြစ်သည်။ စမတ်မီးလုံးသည် ကက်ပစီတာ အဆင့်ဆင့် ထိန်းညှိပါဝါထောက်ပံ့မှု၊ ကြိုးမဲ့ မော်ဂျူး (ပါ၀င်သော ESP32-C3)၊ LED ထိန်းချုပ်ကိရိယာနှင့် RGB LED မက်ထရစ်တို့ ဖြင့် ဖွဲ့စည်းထားသည်။ ပါဝါချိတ်ဆက်တဲ့အခါ 15 V DC voltage output သည် capacitor အဆင့်မှဆင်းပြီးနောက်၊ diode ပြုပြင်ခြင်းနှင့် စည်းမျဉ်းများသည် LED controller နှင့် LED matrix အား စွမ်းအင်ပေးသည်။ LED controller သည် အချို့သောကာလများတွင် အမြင့်နှင့်အနိမ့်အဆင့်များကို အလိုအလျောက်ပေးပို့နိုင်ပြီး RGB LED matrix ကို အပိတ် (မီးများဖွင့်) နှင့် အဖွင့် (မီးပိတ်) အကြား စိမ်းပြာရောင်၊ အဝါ၊ အစိမ်း၊ ခရမ်းရောင်၊ အပြာ၊ အနီရောင်တို့ကို ထုတ်လွှတ်နိုင်စေရန်၊ အဖြူရောင်အလင်း။ ကြိုးမဲ့ module သည် Wi-Fi ရောက်တာသို့ ချိတ်ဆက်ရန်၊ စမတ်မီးလုံးများ၏ အခြေအနေကို လက်ခံခြင်းနှင့် သတင်းပို့ခြင်းနှင့် LED ကို ထိန်းချုပ်ရန် ညွှန်ကြားချက်များပေးပို့ခြင်းတို့အတွက် တာဝန်ရှိပါသည်။
ပုံ 2.2 ။ အတုယူစမတ်ကျသောအလင်းရောင်
အစောပိုင်းဖွံ့ဖြိုးတိုးတက်မှု s ကိုtage၊ RGB LED l နှင့် ချိတ်ဆက်ထားသော ESP32-C3DevKitM-1 ဘုတ်ကို အသုံးပြု၍ စမတ်အလင်းရောင်ကို သင် တုပနိုင်သည်။amp ပုတီးစေ့ (ပုံ 2.2 ကိုကြည့်ပါ)။ ဒါပေမယ့် လုပ်သင့်တယ်။
14 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

စမတ်အလင်းရောင်ကို စုစည်းရန် တစ်ခုတည်းသော နည်းလမ်းမဟုတ်ကြောင်း သတိပြုပါ။ ဤစာအုပ်ရှိ ပရောဂျက်၏ ဟာ့ဒ်ဝဲဒီဇိုင်းတွင် ကြိုးမဲ့ module တစ်ခုသာပါဝင်သည် ( built-in ESP32-C3 ) သာပါဝင်သော်လည်း ပြီးပြည့်စုံသော smart light hardware design မဟုတ်ပါ။ ထို့အပြင် Espressif သည် အသံဖြင့် မီးများကို ထိန်းချုပ်ရန်အတွက် ESP32-C3-based audio development board ESP32C3-Lyra ကိုလည်း ထုတ်လုပ်ပါသည်။ ဘုတ်တွင် မိုက်ခရိုဖုန်းများနှင့် စပီကာများအတွက် ကြားခံများပါရှိပြီး LED အကွက်များကို ထိန်းချုပ်နိုင်သည်။ ကုန်ကျစရိတ်အလွန်သက်သာသော၊ စွမ်းဆောင်ရည်မြင့်မားသော အသံလွှင့်ကိရိယာများနှင့် ရစ်သမ်အလင်းအကွက်များကို ဖန်တီးရန်အတွက် ၎င်းကို အသုံးပြုနိုင်သည်။ ပုံ 2.3 တွင် LED မီးလုံး 32 အကန့်နှင့် ချိတ်ဆက်ထားသော ESP3-C40Lyra ဘုတ်ကို ပြထားသည်။
ပုံ 2.3 ။ ESP32-C3-Lyra ကို LED မီးလုံး ၄၀ ဖြင့် ချိတ်ဆက်ထားသည်။
စမတ်ဖုန်းများ (Android/iOS) Smart Light ပရောဂျက်တွင် စမတ်အလင်းထုတ်ကုန်များကို စနစ်ထည့်သွင်းခြင်းနှင့် ထိန်းချုပ်ခြင်းအတွက် စမတ်ဖုန်းအက်ပ်တစ်ခု ဖွံ့ဖြိုးတိုးတက်မှု ပါဝင်သည်။
Wi-Fi ရောက်တာများ Wi-Fi ရောက်တာများသည် ကြိုးတပ်ကွန်ရက်အချက်ပြမှုများနှင့် မိုဘိုင်းကွန်ရက်အချက်ပြမှုများကို ကြိုးမဲ့ကွန်ရက်အချက်ပြမှုများ၊ ကွန်ပျူတာများ၊ စမတ်ဖုန်းများ၊ တက်ဘလက်များနှင့် ကွန်ရက်ချိတ်ဆက်ရန် အခြားကြိုးမဲ့စက်ပစ္စည်းများအတွက် ကြိုးမဲ့ကွန်ရက်အချက်ပြများအဖြစ်သို့ ပြောင်းပေးသည်။ ဟောင်းအတွက်ampသို့ဖြစ်ပါ၍ Wi-Fi စက်ပစ္စည်းများ၏ ကြိုးမဲ့ကွန်ရက်ချိတ်ဆက်မှုရရှိရန် အိမ်ရှိ broadband သည် Wi-Fi router နှင့်သာ ချိတ်ဆက်ရန်လိုအပ်ပါသည်။ Wi-Fi routers များမှပံ့ပိုးပေးသော ပင်မပရိုတိုကောစံမှာ IEEE 802.11n ဖြစ်ပြီး ပျမ်းမျှ TxRate 300 Mbps သို့မဟုတ် အများဆုံး 600 Mbps ဖြစ်သည်။ ၎င်းတို့သည် IEEE 802.11b နှင့် IEEE 802.11g တို့နှင့် တွဲဖက်အသုံးပြုနိုင်သည်။ Espressif မှ ESP32-C3 ချစ်ပ်သည် IEEE 802.11b/g/n ကို ပံ့ပိုးပေးသောကြောင့် single-band (2.4 GHz) သို့မဟုတ် dual-band (2.4 GHz နှင့် 5 GHz) Wi-Fi router ကို ရွေးချယ်နိုင်ပါသည်။
ကွန်ပျူတာ (Linux/macOS/Windows) ဖွံ့ဖြိုးတိုးတက်ရေးဝန်းကျင်ကို အခန်း ၄ တွင် မိတ်ဆက်ပါမည်။ အခန်း ၂။ IoT ပရောဂျက်များ၏ နိဒါန်းနှင့် လက်တွေ့လုပ်ဆောင်မှု 4

2.2.4 ဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်
ပုံ 2.4 ။ Smart Light ပရောဂျက်ကို ဖော်ဆောင်ခြင်း အဆင့်များ
ဟာ့ဒ်ဝဲဒီဇိုင်း IoT စက်ပစ္စည်းများ၏ ဟာ့ဒ်ဝဲဒီဇိုင်းသည် IoT ပရောဂျက်အတွက် မရှိမဖြစ်လိုအပ်သည်။ ပြီးပြည့်စုံသော စမတ်အလင်းပရောဂျက်သည် အယ်ကိုထုတ်လုပ်ရန် ရည်ရွယ်ပါသည်။amp mains supply အောက်တွင် အလုပ်လုပ်သည်။ ကွဲပြားခြားနားသောထုတ်လုပ်သူများ l ထုတ်လုပ်သည်။amps မတူညီသောပုံစံများနှင့် driver အမျိုးအစားများဖြစ်သော်လည်း ၎င်းတို့၏ကြိုးမဲ့ module များသည် များသောအားဖြင့် တူညီသောလုပ်ဆောင်ချက်ဖြစ်သည်။ Smart Ligh ပရောဂျက်၏ ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်ကို ရိုးရှင်းစေရန်၊ ဤစာအုပ်တွင် ကြိုးမဲ့ module များ၏ ဟာ့ဒ်ဝဲဒီဇိုင်းနှင့် ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတိုးတက်မှုတို့ကိုသာ အကျုံးဝင်ပါသည်။
IoT cloud ပလပ်ဖောင်းဖွဲ့စည်းပုံ IoT cloud ပလပ်ဖောင်းများကို အသုံးပြုရန်၊ ထုတ်ကုန်ဖန်တီးခြင်း၊ စက်များဖန်တီးခြင်း၊ စက်ပစ္စည်းဂုဏ်သတ္တိများ သတ်မှတ်ခြင်းစသည်ဖြင့် backend ရှိ ပရောဂျက်များကို configure ပြုလုပ်ရန်လိုအပ်ပါသည်။
IoT စက်ပစ္စည်းများအတွက် ဆော့ဖ်ဝဲထည့်သွင်းထားသော ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်မှုသည် ESP-IDF၊ Espressif ၏ စက်ပစ္စည်းဘေးထွက် SDK ဖြင့် မျှော်လင့်ထားသည့်လုပ်ဆောင်ချက်များကို IoT cloud ပလပ်ဖောင်းများနှင့် ချိတ်ဆက်ခြင်း၊ LED ဒရိုက်ဘာများ တီထွင်ခြင်းနှင့် firmware အဆင့်မြှင့်တင်ခြင်းများ အပါအဝင်ဖြစ်သည်။
စမတ်ဖုန်းအက်ပလီကေးရှင်း ဖွံ့ဖြိုးတိုးတက်မှုသည် အသုံးပြုသူမှတ်ပုံတင်ခြင်းနှင့် အကောင့်ဝင်ခြင်း၊ စက်ပစ္စည်းထိန်းချုပ်ခြင်းနှင့် အခြားလုပ်ဆောင်ချက်များကို သိရှိနားလည်ရန် Android နှင့် iOS စနစ်များအတွက် စမတ်ဖုန်းအက်ပ်များကို တီထွင်ပါ။
IoT စက်ပစ္စည်းကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်း IoT စက်ပစ္စည်း၏ အခြေခံလုပ်ဆောင်ချက်များ ဖွံ့ဖြိုးတိုးတက်ပြီးသည်နှင့်၊ ပါဝါပိုကောင်းအောင်လုပ်ဆောင်ခြင်းကဲ့သို့သော ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်ခြင်းလုပ်ငန်းများသို့ ပြောင်းလဲနိုင်သည်။
အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုစမ်းသပ်ခြင်း၊ စက်ကိရိယာလုပ်ဆောင်ချက်စမ်းသပ်ခြင်း၊ အသက်အရွယ်ကြီးရင့်မှုစမ်းသပ်ခြင်း၊ RF စမ်းသပ်ခြင်းစသည့် ဆက်စပ်စံချိန်စံညွှန်းများနှင့်အညီ အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုစစ်ဆေးမှုများကို ဆောင်ရွက်ပါ။
အထက်တွင်ဖော်ပြထားသောအဆင့်များရှိနေသော်လည်း၊ Smart Light ပရောဂျက်သည် မတူညီသောအလုပ်များကို တစ်ချိန်တည်းတွင်လုပ်ဆောင်နိုင်သောကြောင့် အဆိုပါလုပ်ထုံးလုပ်နည်းအတိုင်းလုပ်ဆောင်ရန်မလိုအပ်ပါ။ ဟောင်းအတွက်ample၊ ထည့်သွင်းထားသောဆော့ဖ်ဝဲနှင့် စမတ်ဖုန်းအက်ပ်များကို အပြိုင်တီထွင်နိုင်သည်။ IoT စက်ပစ္စည်းကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနှင့် အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုစမ်းသပ်ခြင်းကဲ့သို့သော အချို့အဆင့်များကိုလည်း ထပ်ခါတလဲလဲ လုပ်ဆောင်ရန် လိုအပ်ပါသည်။
16 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

2.3 အကျဉ်းချုပ်
ဤအခန်းတွင်၊ ကျွန်ုပ်တို့သည် IoT ပရောဂျက်တစ်ခု၏ အခြေခံအစိတ်အပိုင်းများနှင့် လုပ်ဆောင်နိုင်သော module များကို ဦးစွာရှင်းပြခဲ့ပြီး၊ ထို့နောက် လက်တွေ့အသုံးချရန်အတွက် Smart Light case ကိုမိတ်ဆက်ခဲ့ပြီး ၎င်း၏ဖွဲ့စည်းပုံ၊ လုပ်ဆောင်ချက်များ၊ ဟာ့ဒ်ဝဲပြင်ဆင်မှုနှင့် ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်များကို ရည်ညွှန်းပါသည်။ စာဖတ်သူများသည် အလေ့အကျင့်မှ ကောက်ချက်ဆွဲနိုင်ပြီး အနာဂတ်တွင် အနည်းဆုံးအမှားများဖြင့် IoT ပရောဂျက်များကို လုပ်ဆောင်ရန် ယုံကြည်မှုရှိလာပါသည်။
အခန်း ၂။ IoT ပရောဂျက်များ၏ နိဒါန်းနှင့် လက်တွေ့လုပ်ဆောင်မှု ၁၁

18 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

အခန်း ၄

နိဒါန်း

ရန်

ESP

RainMaker

Internet of Things (IoT) သည် လူတို့၏နေထိုင်မှုပုံစံကို ပြောင်းလဲရန် အဆုံးမရှိဖြစ်နိုင်ချေများကို ပေးစွမ်းသော်လည်း IoT အင်ဂျင်နီယာ၏ ဖွံ့ဖြိုးတိုးတက်မှုသည် စိန်ခေါ်မှုများနှင့် ပြည့်နေပါသည်။ အများသူငှာ cloud များဖြင့်၊ terminal ထုတ်လုပ်သူများသည် အောက်ပါဖြေရှင်းချက်များဖြင့် ထုတ်ကုန်လုပ်ဆောင်နိုင်စွမ်းကို အကောင်အထည်ဖော်နိုင်သည်-
ဖြေရှင်းချက်ပေးသူများ၏ cloud ပလပ်ဖောင်းများကို အခြေခံ၍ ဤနည်းဖြင့် terminal ထုတ်လုပ်သူများသည် ထုတ်ကုန်ဟာ့ဒ်ဝဲကို ဒီဇိုင်းထုတ်ရန်သာ လိုအပ်ပြီး ပံ့ပိုးပေးထားသည့် ဆက်သွယ်ရေး မော်ဂျူးကို အသုံးပြုကာ ဟာ့ဒ်ဝဲကို cloud နှင့် ချိတ်ဆက်ကာ လမ်းညွှန်ချက်များအတိုင်း ထုတ်ကုန်လုပ်ဆောင်ချက်များကို ပြင်ဆင်သတ်မှတ်ပါ။ server-side နှင့် application-side development နှင့် operations and maintenance (O&M) အတွက် လိုအပ်ချက်များကို ဖယ်ရှားပေးသောကြောင့် ထိရောက်သောချဉ်းကပ်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည် terminal ထုတ်လုပ်သူများအား cloud အကောင်အထည်ဖော်မှုကို ထည့်သွင်းစဉ်းစားစရာမလိုဘဲ ဟာ့ဒ်ဝဲဒီဇိုင်းကို အာရုံစိုက်နိုင်စေပါသည်။ သို့သော်၊ ထိုကဲ့သို့သော ဖြေရှင်းနည်းများ (ဥပမာ၊ စက်ပစ္စည်း ဆော့ဖ်ဝဲနှင့် အက်ပ်) သည် ယေဘူယျအားဖြင့် open source မဟုတ်ပါ၊ ထို့ကြောင့် ဝန်ဆောင်မှုပေးသူ၏ cloud platform မှ စိတ်ကြိုက်ပြင်ဆင်၍မရသော ထုတ်ကုန်လုပ်ဆောင်ချက်များကို ကန့်သတ်ထားမည်ဖြစ်သည်။ ဤအတောအတွင်း၊ အသုံးပြုသူနှင့် စက်ပစ္စည်းဒေတာကိုလည်း cloud ပလပ်ဖောင်းတွင် သက်ဆိုင်ပါသည်။
cloud ထုတ်ကုန်များကို အခြေခံ၍ ဤဖြေရှင်းချက်တွင်၊ ဟာ့ဒ်ဝဲဒီဇိုင်းကို ပြီးမြောက်ပြီးနောက်၊ terminal ထုတ်လုပ်သူများသည် public cloud မှပံ့ပိုးပေးသော cloud ထုတ်ကုန်တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော cloud ထုတ်ကုန်များကို အသုံးပြု၍ အသုံးပြုနိုင်ရုံသာမက ဟာ့ဒ်ဝဲကို cloud နှင့် ချိတ်ဆက်ရန်လည်း လိုအပ်ပါသည်။ ဟောင်းအတွက်ample၊ Amazon နှင့် ချိတ်ဆက်ရန် Web ဝန်ဆောင်မှုများ (AWS)၊ terminal ထုတ်လုပ်သူသည် စက်ပစ္စည်းဝင်ရောက်ခွင့်၊ အဝေးထိန်းခလုတ်၊ ဒေတာသိုလှောင်မှု၊ သုံးစွဲသူစီမံခန့်ခွဲမှုနှင့် အခြားအခြေခံလုပ်ဆောင်ချက်များကို ဖွင့်ရန် Amazon API Gateway၊ AWS IoT Core နှင့် AWS Lambda ကဲ့သို့သော AWS ထုတ်ကုန်များကို အသုံးပြုရန်လိုအပ်သည်။ ၎င်းသည် terminal ထုတ်လုပ်သူများအား နက်ရှိုင်းသောနားလည်မှုရှိပြီး ကြွယ်ဝသောအတွေ့အကြုံဖြင့် cloud ထုတ်ကုန်များကို ပျော့ပြောင်းစွာအသုံးပြုရန်နှင့် ပြင်ဆင်သတ်မှတ်ရန် တောင်းဆိုရုံသာမက၊ ကနဦးနှင့် နောက်ပိုင်းတွင် တည်ဆောက်မှုနှင့် ပြုပြင်ထိန်းသိမ်းမှုကုန်ကျစရိတ်ကိုပါ ထည့်သွင်းစဉ်းစားရန် လိုအပ်ပါသည်။tages ဤသည်မှာ ကုမ္ပဏီ၏ စွမ်းအင်နှင့် အရင်းအမြစ်များအတွက် ကြီးမားသော စိန်ခေါ်မှုများ ဖြစ်စေသည်။
အများသူငှာ တိမ်တိုက်များနှင့် နှိုင်းယှဉ်ပါက၊ သီးသန့် တိမ်တိုက်များကို တိကျသော ပရောဂျက်များနှင့် ထုတ်ကုန်များအတွက် တည်ဆောက်လေ့ရှိပါသည်။ ပုဂ္ဂလိက cloud developer များသည် ပရိုတိုကော ဒီဇိုင်းနှင့် လုပ်ငန်းဆိုင်ရာ ယုတ္တိကို အကောင်အထည်ဖော်ရာတွင် အမြင့်ဆုံးအဆင့်ကို လွတ်လပ်ခွင့်ပေးထားသည်။ Terminal ထုတ်လုပ်သူများသည် ထုတ်ကုန်များနှင့် ဒီဇိုင်းအစီအစဥ်များကို အလိုအလျောက်ပြုလုပ်နိုင်ပြီး သုံးစွဲသူဒေတာကို အလွယ်တကူပေါင်းစပ်ပြီး အားကောင်းစေနိုင်သည်။ မြင့်မားသောလုံခြုံရေး၊ အတိုင်းအတာနှင့် ယုံကြည်စိတ်ချရမှုတို့ကို advan နှင့် ပေါင်းစပ်ထားသည်။tagသီးသန့် cloud မှ Espressif သည် ESP ကို ​​စတင်ခဲ့သည်။
19

RainMaker၊ Amazon cloud ကိုအခြေခံ၍ နက်ရှိုင်းစွာပေါင်းစပ်ထားသော private cloud ဖြေရှင်းချက်။ အသုံးပြုသူများသည် ESP RainMaker ကိုအသုံးပြုပြီး AWS အကောင့်တစ်ခုဖြင့် သီးသန့် cloud ကိုတည်ဆောက်နိုင်သည်။
3.1 ESP RainMaker ဆိုတာဘာလဲ။
ESP RainMaker သည် အရွယ်ရောက်ပြီးသော AWS ထုတ်ကုန်များစွာဖြင့် တည်ဆောက်ထားသော ပြီးပြည့်စုံသော AIoT ပလပ်ဖောင်းတစ်ခုဖြစ်သည်။ ၎င်းသည် စက်ပစ္စည်း cloud ဝင်ရောက်မှု၊ စက်ပစ္စည်းအဆင့်မြှင့်တင်မှု၊ နောက်ခံစီမံခန့်ခွဲမှု၊ ပြင်ပကုမ္ပဏီဝင်ရောက်မှု၊ အသံပေါင်းစပ်မှုနှင့် အသုံးပြုသူစီမံခန့်ခွဲမှုစသည့် အစုလိုက်အပြုံလိုက်ထုတ်လုပ်မှုအတွက် လိုအပ်သည့်ဝန်ဆောင်မှုအမျိုးမျိုးကို ပေးဆောင်သည်။ AWS မှပံ့ပိုးပေးထားသော Serverless Application Repository (SAR) ကိုအသုံးပြုခြင်းဖြင့် terminal ထုတ်လုပ်သူများသည် ESP RainMaker ကို အချိန်ကုန်သက်သာပြီး လည်ပတ်ရလွယ်ကူသော ၎င်းတို့၏ AWS အကောင့်များသို့ လျင်မြန်စွာ အသုံးချနိုင်သည်။ Espressif မှ စီမံထိန်းသိမ်းထားပြီး ESP RainMaker မှ အသုံးပြုသည့် SAR သည် developer များအား cloud ပြုပြင်ထိန်းသိမ်းမှုကုန်ကျစရိတ်များကို လျှော့ချပေးပြီး AIoT ထုတ်ကုန်များ၏ ဖွံ့ဖြိုးတိုးတက်မှုကို အရှိန်မြှင့်ပေးကာ လုံခြုံစိတ်ချရသော၊ တည်ငြိမ်ပြီး စိတ်ကြိုက်ပြင်ဆင်နိုင်သော AIoT ဖြေရှင်းချက်များကို တည်ဆောက်ပေးပါသည်။ ပုံ 3.1 သည် ESP RainMaker ၏ ဗိသုကာလက်ရာကို ပြသထားသည်။
ပုံ ၃.၁။ ESP RainMaker ၏ဗိသုကာ
Espressif မှ ESP RainMaker အများသူငှာ ဆာဗာသည် ဖြေရှင်းချက်အကဲဖြတ်ရန်အတွက် ESP ဝါသနာရှင်များ၊ ထုတ်လုပ်သူများနှင့် ပညာပေးသူများ အားလုံးအတွက် အခမဲ့ဖြစ်သည်။ Developer များသည် Apple၊ Google သို့မဟုတ် GitHub အကောင့်များဖြင့် ဝင်ရောက်နိုင်ပြီး ၎င်းတို့၏ ကိုယ်ပိုင် IoT အပလီကေးရှင်း နမူနာပုံစံများကို လျင်မြန်စွာ တည်ဆောက်နိုင်သည်။ အများသူငှာ ဆာဗာသည် Alexa နှင့် Google Home တို့ကို ပေါင်းစပ်ထားပြီး Alexa Skill နှင့် Google Actions တို့က ပံ့ပိုးပေးသည့် အသံထိန်းချုပ်မှု ဝန်ဆောင်မှုများကို ပံ့ပိုးပေးပါသည်။ ၎င်း၏ semantic အသိအမှတ်ပြုခြင်း လုပ်ဆောင်ချက်ကို ပြင်ပအဖွဲ့အစည်းများမှလည်း လုပ်ဆောင်ပေးပါသည်။ RainMaker IoT စက်ပစ္စည်းများသည် သီးခြားလုပ်ဆောင်ချက်များကိုသာ တုံ့ပြန်သည်။ ပံ့ပိုးပေးထားသော အသံအမိန့်စာများစာရင်းအပြည့်အစုံအတွက် ပြင်ပကုမ္ပဏီပလက်ဖောင်းများကို စစ်ဆေးပါ။ ထို့အပြင်၊ Espressif သည် သုံးစွဲသူများအား စမတ်ဖုန်းများမှတစ်ဆင့် ထုတ်ကုန်များကို ထိန်းချုပ်ရန်အတွက် အများသူငှာ RainMaker အက်ပ်ကို ပေးထားသည်။ 20 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

3.2 ESP RainMaker ကို အကောင်အထည်ဖော်ခြင်း။
ပုံ 3.2 တွင်ပြထားသည့်အတိုင်း ESP RainMaker တွင် အပိုင်းလေးပိုင်းပါဝင်သည်- · တောင်းဆိုခြင်းဝန်ဆောင်မှု၊ RainMaker စက်ပစ္စည်းများအား အသိအမှတ်ပြုလက်မှတ်များကို dynamically ရယူနိုင်အောင် လုပ်ဆောင်ပေးသည်။ · RainMaker Cloud (cloud backend ဟုလည်းလူသိများသည်)၊ မက်ဆေ့ချ်စစ်ထုတ်ခြင်း၊ အသုံးပြုသူစီမံခန့်ခွဲမှု၊ ဒေတာသိမ်းဆည်းခြင်းနှင့် ပြင်ပအဖွဲ့အစည်းပေါင်းစည်းခြင်းကဲ့သို့သော ဝန်ဆောင်မှုများကို ပေးဆောင်ခြင်း။ · RainMaker Agent၊ RainMaker စက်ပစ္စည်းများကို RainMaker Cloud သို့ချိတ်ဆက်နိုင်သည်။ · RainMaker Client (RainMaker App သို့မဟုတ် CLI script) များကို ပံ့ပိုးပေးခြင်း၊ အသုံးပြုသူ ဖန်တီးခြင်း၊ စက်ချိတ်ဆက်ခြင်းနှင့် ထိန်းချုပ်ခြင်း စသည်တို့အတွက်
ပုံ ၃.၂။ ESP RainMaker ၏ဖွဲ့စည်းပုံ
ESP RainMaker သည် RainMaker SDK အပါအဝင် ထုတ်ကုန်ဖွံ့ဖြိုးတိုးတက်ရေးနှင့် အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုအတွက် ကိရိယာအစုံအလင်ကို ပံ့ပိုးပေးပါသည်။
RainMaker SDK သည် ESP-IDF ကိုအခြေခံထားပြီး firmware ဖွံ့ဖြိုးတိုးတက်မှုအတွက် device-side agent နှင့် သက်ဆိုင်ရာ C APIs များ၏ အရင်းအမြစ်ကုဒ်ကို ပံ့ပိုးပေးပါသည်။ ဆော့ဖ်ဝဲရေးသားသူများသည် အပလီကေးရှင်းယုတ္တိဗေဒကို ရေးသားရန်သာ လိုအပ်ပြီး ကျန်အရာများကို RainMaker မူဘောင်တွင် ထားရန် လိုအပ်သည်။ C API များအကြောင်း နောက်ထပ်အချက်အလက်များအတွက်၊ https://bookc3.espressif.com/rm/c-api-reference သို့ ဝင်ရောက်ကြည့်ရှုပါ။ RainMaker အက်ပ် RainMaker အက်ပ်၏ အများသူငှာ ဗားရှင်းသည် ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအား စက်ပစ္စည်းပြင်ဆင်ပေးမှုကို အပြီးသတ်ရန်နှင့် စက်ပစ္စည်းများ၏ အခြေအနေကို ထိန်းချုပ်ရန်နှင့် မေးမြန်းစုံစမ်းရန် ခွင့်ပြုသည်။ iOS နှင့် Android အက်ပ်စတိုးများတွင် ရနိုင်သည်။ အသေးစိတ်အချက်အလက်များအတွက်၊ အခန်း 10 ကိုကြည့်ပါ။ REST APIs REST APIs များသည် အသုံးပြုသူများအား RainMaker အက်ပ်နှင့်ဆင်တူသော ၎င်းတို့၏ကိုယ်ပိုင်အက်ပ်လီကေးရှင်းများတည်ဆောက်ရာတွင် ကူညီပေးသည်။ ပိုမိုသိရှိလိုပါက, https://swaggerapis.rainmaker.espressif.com/ သွားရောက်ကြည့်ရှုပါ။
အခန်း ၃။ ESP RainMaker နိဒါန်း ၂၁

Python APIs RainMaker SDK ပါရှိသော Python-based CLI သည် စမတ်ဖုန်းအင်္ဂါရပ်များနှင့် ဆင်တူသော လုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်ရန် ထောက်ပံ့ပေးထားသည်။ Python API များအကြောင်း နောက်ထပ်အချက်အလက်များအတွက်၊ https://bookc3.espressif.com/rm/python-api-reference သို့ ဝင်ရောက်ကြည့်ရှုပါ။
စီမံခန့်ခွဲသူ CLI စီမံခန့်ခွဲသူ CLI သည် ပိုမိုမြင့်မားသောဝင်ရောက်ခွင့်နှင့်အတူ၊ ESP RainMaker သီးသန့်ဖြန့်ကျက်မှုအတွက် စက်ပစ္စည်းလက်မှတ်များကို အစုလိုက်အပြုံလိုက်ထုတ်ပေးပါသည်။
3.2.1 တောင်းဆိုခြင်း ဝန်ဆောင်မှု
RainMaker စက်ပစ္စည်းများနှင့် cloud backend အကြား ဆက်သွယ်မှုအားလုံးကို MQTT+TLS မှတဆင့် လုပ်ဆောင်ပါသည်။ ESP RainMaker ၏အခြေအနေတွင်၊ "Claiming" သည် cloud backend သို့ချိတ်ဆက်ရန်အတွက် စက်ပစ္စည်းများအား တောင်းဆိုခြင်းဝန်ဆောင်မှုမှ လက်မှတ်များရယူသည့်လုပ်ငန်းစဉ်ဖြစ်သည်။ တောင်းဆိုခြင်းဝန်ဆောင်မှုသည် အများသူငှာ RainMaker ဝန်ဆောင်မှုအတွက်သာ သက်ဆိုင်ကြောင်း သတိပြုပါ၊ သီးသန့်အသုံးပြုမှုအတွက်၊ စီမံခန့်ခွဲသူ CLI မှတစ်ဆင့် စက်ပစ္စည်းလက်မှတ်များကို အစုလိုက်ထုတ်ပေးရန် လိုအပ်ပါသည်။ ESP RainMaker သည် တောင်းဆိုမှု ဝန်ဆောင်မှု အမျိုးအစားသုံးမျိုး ကို ပံ့ပိုးသည်- Self Claiming
စက်ပစ္စည်းသည် အင်တာနက်ချိတ်ဆက်ပြီးနောက် eFuse တွင် ကြိုတင်ပရိုဂရမ်ပြုလုပ်ထားသော လျှို့ဝှက်သော့မှတစ်ဆင့် လက်မှတ်များကို ထုတ်ယူသည်။ လက်ခံဆောင်ရွက်ပေးသူအား တောင်းဆိုခြင်း လက်မှတ်များကို RainMaker အကောင့်ဖြင့် ဖွံ့ဖြိုးတိုးတက်ရေးဌာနမှ ရရှိပါသည်။ အကူအညီတောင်းခံခြင်း လက်မှတ်များကို ပံ့ပိုးပေးနေစဉ်အတွင်း စမတ်ဖုန်း အပလီကေးရှင်းများမှတစ်ဆင့် ရရှိသည်။
3.2.2 RainMaker အေးဂျင့်
ပုံ ၃.၃။ RainMaker SDK ၏ဖွဲ့စည်းပုံ RainMaker Agent ၏အဓိကလုပ်ဆောင်ချက်မှာ ချိတ်ဆက်မှုပေးကာ အပလီကေးရှင်းအလွှာအား uplink/downlink cloud data များလုပ်ဆောင်ရန်အတွက် အကူအညီပေးရန်ဖြစ်သည်။ ၎င်းကို RainMaker SDK 3.3 ESP22-C32 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်ချက်ဖြင့် တည်ဆောက်ထားသည်။

ESP-IDF အစိတ်အပိုင်းများဖြစ်သည့် RTOS၊ NVS နှင့် MQTT တို့ကို အသုံးပြု၍ သက်သေပြထားသော ESP-IDF မူဘောင်ပေါ်တွင် အခြေခံ၍ တီထွင်ဖန်တီးခဲ့သည်။ ပုံ 3.3 သည် RainMaker SDK ၏ ဖွဲ့စည်းပုံကို ပြသည်။
RainMaker SDK တွင် အဓိကအင်္ဂါရပ် နှစ်ခုပါဝင်သည်။
ချိတ်ဆက်မှု
ငါ စက်ပစ္စည်းလက်မှတ်များရယူရန် တောင်းဆိုခြင်းဝန်ဆောင်မှုနှင့် ပူးပေါင်းဆောင်ရွက်ခြင်း။
ii အဝေးထိန်းဆက်သွယ်မှုပေးဆောင်ရန်နှင့် အဝေးထိန်းထိန်းချုပ်မှု၊ မက်ဆေ့ချ်သတင်းပို့မှု၊ သုံးစွဲသူစီမံခန့်ခွဲမှု၊ စက်ပစ္စည်းစီမံခန့်ခွဲမှုစသည်ဖြင့် အကောင်အထည်ဖော်ရန် လုံခြုံသော MQTT ပရိုတိုကောကို အသုံးပြု၍ cloud backend သို့ ချိတ်ဆက်ခြင်း။ ၎င်းသည် ပုံမှန်အားဖြင့် ESP-IDF တွင် MQTT အစိတ်အပိုင်းကို အသုံးပြုပြီး အခြားအရာများနှင့် ချိတ်ဆက်ရန်အတွက် abstraction အလွှာကို ပံ့ပိုးပေးပါသည်။ ပရိုတိုကော အတွဲများ။
iii Wi-Fi ချိတ်ဆက်မှုနှင့် ပံ့ပိုးပေးမှုအတွက် wifi ပံ့ပိုးပေးသည့် အစိတ်အပိုင်း၊ OTA အဆင့်မြှင့်တင်မှုအတွက် esp https ota အစိတ်အပိုင်း၊ နှင့် ဒေသတွင်း စက်ရှာဖွေမှုနှင့် ချိတ်ဆက်မှုအတွက် esp local ctrl အစိတ်အပိုင်းကို ပံ့ပိုးပေးပါသည်။ ဤရည်ရွယ်ချက်များအားလုံးကို ရိုးရှင်းသောပုံစံဖြင့် အောင်မြင်နိုင်သည်။
ဒေတာလုပ်ဆောင်ခြင်း။
ငါ Claiming Service မှထုတ်ပေးသော စက်ပစ္စည်းအသိအမှတ်ပြုလက်မှတ်များနှင့် RainMaker ကိုအသုံးပြုသည့်အခါ လိုအပ်သောဒေတာကို သိမ်းဆည်းခြင်း၊ nvs flash အစိတ်အပိုင်းမှ ပံ့ပိုးပေးထားသည့် အင်တာဖေ့စ်ကိုအသုံးပြု၍ တိုက်ရိုက်အသုံးပြုရန်အတွက် developer များအတွက် API များကို ပံ့ပိုးပေးခြင်း။
ii uplink/downlink cloud data ကိုလုပ်ဆောင်ရန်နှင့် developer များလွယ်ကူစွာလုပ်ဆောင်နိုင်စေရန်အတွက် application layer မှ data ကိုအလိုအလျောက်ပြန်ဖွင့်ရန် callback ယန္တရားကိုအသုံးပြုခြင်း။ ဟောင်းအတွက်ampRainMaker SDK သည် IoT ကိရိယာများကို ဖော်ပြရန်နှင့် အချိန်ကိုက်ခြင်း၊ နှစ်သစ်နှင့် အသံထိန်းချုပ်ခြင်းကဲ့သို့သော လုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်ရန် TSL မော်ဒယ်များကို သတ်မှတ်ရန် လိုအပ်သည့် TSL (Thing Specification Language) ဒေတာကို တည်ထောင်ရန်အတွက် ကြွယ်ဝသော interface များကို ပံ့ပိုးပေးပါသည်။ အချိန်ကိုက်ခြင်းကဲ့သို့သော အခြေခံ အပြန်အလှန်တုံ့ပြန်မှုဆိုင်ရာ အင်္ဂါရပ်များအတွက်၊ RainMaker SDK သည် လိုအပ်သည့်အခါတွင် ရိုးရှင်းစွာဖွင့်နိုင်သည့် ဖွံ့ဖြိုးတိုးတက်မှု-အခမဲ့ဖြေရှင်းချက်တစ်ခု ပေးပါသည်။ ထို့နောက် RainMaker Agent သည် ဒေတာကို တိုက်ရိုက်လုပ်ဆောင်မည်ဖြစ်ပြီး ဆက်စပ် MQTT ခေါင်းစဉ်မှတစ်ဆင့် cloud သို့ ပေးပို့မည်ဖြစ်ပြီး ပြန်လည်ခေါ်ဆိုမှုယန္တရားမှတစ်ဆင့် cloud backend ရှိ ဒေတာပြောင်းလဲမှုများကို ပြန်လည်ဖြည့်စွက်မည်ဖြစ်သည်။
3.2.3 Cloud Backend
cloud backend ကို AWS Serverless Computing တွင်တည်ဆောက်ထားပြီး AWS Cognito (identity management system)၊ Amazon API Gateway၊ AWS Lambda (serverless computing service)၊ Amazon DynamoDB (NoSQL database)၊ AWS IoT Core (IoT access core) မှတဆင့် အောင်မြင်သည် နှင့် စည်းကမ်းစစ်ထုတ်ခြင်း)၊ Amazon ရိုးရှင်းသောအီးမေးလ်ဝန်ဆောင်မှု (SES ရိုးရှင်းသောမေးလ်ဝန်ဆောင်မှု)၊ Amazon CloudFront (အမြန်ပေးပို့ခြင်းကွန်ရက်)၊ Amazon Simple Queue ဝန်ဆောင်မှု (SQS မက်ဆေ့ချ်တန်းစီခြင်း) နှင့် Amazon S3 (ပုံးသိုလှောင်မှုဝန်ဆောင်မှု)။ ၎င်းသည် အတိုင်းအတာနှင့် လုံခြုံရေးကို အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်ရန် ရည်ရွယ်သည်။ ESP RainMaker ဖြင့်၊ developer များသည် cloud တွင် ကုဒ်ရေးစရာမလိုဘဲ စက်ပစ္စည်းများကို စီမံခန့်ခွဲနိုင်သည်။ စက်များမှ အစီရင်ခံထားသော မက်ဆေ့ဂျ်များကို ပွင့်လင်းမြင်သာစွာ ပေးပို့ပါသည်။
အခန်း ၃။ ESP RainMaker နိဒါန်း ၂၁

အပလီကေးရှင်းဖောက်သည်များ သို့မဟုတ် အခြားပြင်ပကုမ္ပဏီဝန်ဆောင်မှုများ။ ဇယား 3.1 သည် ဖွံ့ဖြိုးတိုးတက်မှုအောက်တွင် နောက်ထပ်ထုတ်ကုန်များနှင့် အင်္ဂါရပ်များပါရှိသော AWS cloud ထုတ်ကုန်များနှင့် cloud backend တွင် အသုံးပြုသည့် လုပ်ဆောင်ချက်များကို ပြသသည်။
ဇယား ၃.၁။ cloud backend မှအသုံးပြုသော AWS cloud ထုတ်ကုန်များနှင့် လုပ်ဆောင်ချက်များ

RainMaker အသုံးပြုသော AWS Cloud ထုတ်ကုန်

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

AWS Cognito

အသုံးပြုသူအထောက်အထားများကို စီမံခန့်ခွဲခြင်းနှင့် ပြင်ပအဖွဲ့အစည်းဝင်ရောက်ခြင်းများကို ပံ့ပိုးပေးခြင်း

AWS Lambda

cloud backend ၏ အဓိကစီးပွားရေးယုတ္တိကို အကောင်အထည်ဖော်ခြင်း။

Amazon Timestream အချိန်စီးရီးဒေတာကို သိမ်းဆည်းခြင်း။

Amazon DynamoDB သည် သုံးစွဲသူများ၏ ကိုယ်ရေးကိုယ်တာ အချက်အလက်များကို သိမ်းဆည်းခြင်း။

AWS IoT Core

MQTT ဆက်သွယ်ရေးကို ပံ့ပိုးပေးခြင်း

Amazon SES

အီးမေးလ်ပို့ခြင်းဝန်ဆောင်မှုများ ပေးဆောင်ခြင်း။

Amazon CloudFront သည် backend ၏စီမံခန့်ခွဲမှုကိုအရှိန်မြှင့်နေသည်။ webဆိုက်ဝင်ရောက်ခွင့်

Amazon SQS

AWS IoT Core မှ စာတိုပေးပို့ခြင်း။

3.2.4 RainMaker ဖောက်သည်
အက်ပ်နှင့် CLI ကဲ့သို့သော RainMaker ဖောက်သည်များသည် REST API များမှတစ်ဆင့် cloud backend နှင့် ဆက်သွယ်သည်။ REST APIs များအကြောင်းအသေးစိတ်အချက်အလက်များနှင့် ညွှန်ကြားချက်များကို Espressif မှပေးဆောင်သော Swagger စာရွက်စာတမ်းတွင် တွေ့နိုင်ပါသည်။ RainMaker ၏မိုဘိုင်းအက်ပလီကေးရှင်း client ကို iOS နှင့် Android စနစ်နှစ်မျိုးလုံးအတွက်ရနိုင်သည်။ ၎င်းသည် စက်ပစ္စည်းကို ပံ့ပိုးပေးခြင်း၊ ထိန်းချုပ်ခြင်းနှင့် မျှဝေခြင်းတို့ကို ခွင့်ပြုပေးသည့်အပြင် နှစ်သစ်အတွက် လုပ်ဆောင်စရာများကို ဖန်တီးခြင်းနှင့် ဖွင့်ခြင်းနှင့် ပြင်ပပလက်ဖောင်းများသို့ ချိတ်ဆက်ခြင်းတို့ကိုလည်း ခွင့်ပြုပေးပါသည်။ စက်ပစ္စည်းများမှ အစီရင်ခံထားသော ဖွဲ့စည်းမှုပုံစံအရ UI နှင့် အိုင်ကွန်များကို အလိုအလျောက်တင်နိုင်ပြီး စက်ပစ္စည်း TSL ကို အပြည့်အဝပြသနိုင်သည်။
ဟောင်းအတွက်ampအကယ်၍ RainMaker SDK မှ ပံ့ပိုးပေးထားသည့် ဟောင်းပေါ်တွင် စမတ်မီးတစ်လုံးကို တည်ဆောက်ထားလျှင်၊amples၊ စီမံဆောင်ရွက်ပေးမှုပြီးသွားသောအခါ မီးသီးအလင်း၏ အိုင်ကွန်နှင့် UI ကို အလိုအလျောက်တင်ပေးပါမည်။ အသုံးပြုသူများသည် အင်တာဖေ့စ်မှတစ်ဆင့် အလင်း၏အရောင်နှင့် တောက်ပမှုကို ပြောင်းလဲနိုင်ပြီး Alexa Smart Home Skill သို့မဟုတ် Google Smart Home Actions ကို ၎င်းတို့၏ ESP RainMaker အကောင့်များသို့ ချိတ်ဆက်ခြင်းဖြင့် ပြင်ပမှ ထိန်းချုပ်မှုကို ရရှိနိုင်သည်။ ပုံ 3.4 တွင် အိုင်ကွန်နှင့် UI ဟောင်းကို ပြထားသည်။ampAlexa၊ Google Home နှင့် ESP RainMaker အက်ပ်တွင် အသီးသီးသော မီးသီးအလင်းများ။

24 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

(က) ထွample – Alexa

(ခ) ထွample – Google Home

(ဂ) ထွample – ESP RainMaker
ပုံ ၃ampAlexa၊ Google Home နှင့် ESP RainMaker အက်ပ်ရှိ မီးသီးအလင်း၏ အိုင်ကွန်နှင့် UI
3.3 အလေ့အကျင့်- ESP RainMaker ဖြင့် ဖော်ဆောင်ရန်အတွက် အဓိကအချက်များ
စက်ပစ္စည်းဒရိုင်ဘာအလွှာပြီးသည်နှင့်၊ ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် RainMaker SDK မှပေးဆောင်သော APIs များကိုအသုံးပြုကာ downlink data ကိုစတင်ဖန်တီးနိုင်ပြီး ထုတ်ကုန်အဓိပ္ပါယ်ဖွင့်ဆိုချက်နှင့် လိုအပ်ချက်များအပေါ်အခြေခံ၍ ESP RainMaker အခြေခံဝန်ဆောင်မှုများကို ဖွင့်နိုင်သည်။
အခန်း ၃။ ESP RainMaker နိဒါန်း ၂၁

ဤစာအုပ်၏ အပိုင်း 9.4 သည် RainMaker တွင် LED စမတ်မီး၏ အကောင်အထည်ဖော်မှုကို ရှင်းပြပါမည်။ အမှားရှာပြင်နေစဉ်တွင်၊ developer များသည် စမတ်အလင်းနှင့် ဆက်သွယ်ရန်အတွက် RainMaker SDK ရှိ CLI ကိရိယာများကို သုံးနိုင်သည် (သို့မဟုတ် REST APIs များကို Swagger မှခေါ်ဆိုပါ)။
အခန်း 10 သည် စမတ်ဖုန်း အပလီကေးရှင်းများ ဖော်ဆောင်ရာတွင် REST APIs အသုံးပြုမှုကို အသေးစိတ်ဖော်ပြပါမည်။ LED စမတ်မီးလုံးများ၏ OTA အဆင့်မြှင့်တင်မှုများကို အခန်း 11 တွင် အကျုံးဝင်မည်ဖြစ်သည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် ESP Insights အဝေးထိန်းစောင့်ကြည့်ခြင်းကို ဖွင့်ထားလျှင် ESP RainMaker စီမံခန့်ခွဲမှုနောက်ကွယ်တွင် ESP Insights ဒေတာကို ပြသပါမည်။ အသေးစိတ်ကို အခန်း ၁၅ တွင် တင်ပြပါမည်။
ESP RainMaker သည် အောက်ပါနည်းလမ်းများဖြင့် အများသူငှာ RainMaker ဆာဗာနှင့် ကွဲပြားသည့် သီးသန့်အသုံးချမှုကို ပံ့ပိုးသည်-
ဝန်ဆောင်မှုတောင်းခံခြင်း သီးသန့်အသုံးချမှုများတွင် လက်မှတ်များထုတ်ပေးရန်၊ တောင်းဆိုခြင်းအစား RainMaker Admin CLI ကို အသုံးပြုရန် လိုအပ်ပါသည်။ အများသူငှာ ဆာဗာဖြင့်၊ developer များအား firmware အဆင့်မြှင့်တင်မှုကို အကောင်အထည်ဖော်ရန် စီမံခန့်ခွဲပိုင်ခွင့်များ ပေးရမည်ဖြစ်သော်လည်း၊ စီးပွားဖြစ်အသုံးချမှုများတွင် မလိုလားအပ်ပေ။ ထို့ကြောင့်၊ ကိုယ်တိုင်တောင်းဆိုမှုအတွက် သီးခြားစစ်မှန်ကြောင်းအတည်ပြုခြင်း ဝန်ဆောင်မှုကိုလည်းကောင်း၊ လက်ခံဆောင်ရွက်ပေးသူမှ မောင်းနှင်ခြင်း သို့မဟုတ် ပံ့ပိုးကူညီတောင်းဆိုခြင်းအတွက် စီမံခန့်ခွဲရေးဆိုင်ရာအခွင့်အရေးများကို မပေးနိုင်ပါ။
ဖုန်းအက်ပ်များ သီးသန့်အသုံးပြုမှုများတွင် အကောင့်စနစ်များ အပြန်အလှန်လုပ်ဆောင်နိုင်ခြင်းမရှိကြောင်း သေချာစေရန်အတွက် အပလီကေးရှင်းများကို သီးခြားစီဖွဲ့စည်းပြီး စုစည်းထားရန် လိုအပ်ပါသည်။
ပြင်ပအဖွဲ့အစည်း အကောင့်ဝင်ခြင်းနှင့် အသံပေါင်းစပ်ခြင်း ဆော့ဖ်ဝဲရေးသားသူများသည် ပြင်ပအဖွဲ့အစည်း၏ အကောင့်ဝင်ခြင်းအပြင် Alexa Skill နှင့် Google Voice Assistant ပေါင်းစည်းမှုကို ဖွင့်ရန်အတွက် Google နှင့် Apple Developer အကောင့်များမှတစ်ဆင့် သီးခြားစီစီစဉ်ပေးရပါမည်။
အကြံပြုချက်များ cloud အသုံးချခြင်းဆိုင်ရာ အသေးစိတ်အချက်အလက်များအတွက်၊ https://customer.rainmaker.espressif သို့ ဝင်ရောက်ကြည့်ရှုပါ။ com ။ Firmware အရ၊ အများသူငှာ ဆာဗာမှ သီးသန့်ဆာဗာသို့ ပြောင်းရွှေ့ခြင်းသည် ရွှေ့ပြောင်းခြင်းဆိုင်ရာ ထိရောက်မှုကို လွန်စွာတိုးတက်စေပြီး ရွှေ့ပြောင်းခြင်းနှင့် ဒုတိယအမှားရှာခြင်းအတွက် ကုန်ကျစရိတ်ကို လျှော့ချပေးသည့် စက်ပစ္စည်းလက်မှတ်များကို အစားထိုးရန်သာ လိုအပ်ပါသည်။
3.4 ESP RainMaker ၏အင်္ဂါရပ်များ
ESP RainMaker အင်္ဂါရပ်များကို အဓိကအားဖြင့် အသုံးပြုသူစီမံခန့်ခွဲမှု၊ အဆုံးအသုံးပြုသူများနှင့် စီမံခန့်ခွဲသူများကို ကဏ္ဍသုံးရပ်တွင် အဓိကပစ်မှတ်ထားသည်။ အင်္ဂါရပ်အားလုံးကို အများသူငှာနှင့် ပုဂ္ဂလိက ဆာဗာနှစ်ခုလုံးတွင် ပံ့ပိုးပေးထားသည်။
3.4.1 အသုံးပြုသူစီမံခန့်ခွဲမှု
အသုံးပြုသူစီမံခန့်ခွဲမှုအင်္ဂါရပ်များသည် သုံးစွဲသူများအား စာရင်းသွင်းရန်၊ လော့ဂ်အင်ဝင်ရန်၊ စကားဝှက်များကို ပြောင်းလဲရန်၊ စကားဝှက်များကို ပြန်လည်ရယူခြင်း စသည်ဖြင့် ခွင့်ပြုနိုင်သည်။
26 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

မှတ်ပုံတင်ပြီး အကောင့်ဝင်ပါ RainMaker မှပံ့ပိုးပေးသော မှတ်ပုံတင်ခြင်းနှင့် အကောင့်ဝင်ခြင်းနည်းလမ်းများ ပါဝင်သည်- · အီးမေးလ် id + စကားဝှက် · ဖုန်းနံပါတ် + စကားဝှက် · Google အကောင့် · Apple အကောင့် · GitHub အကောင့် (အများပြည်သူ ဆာဗာသာ) · Amazon အကောင့် (ပုဂ္ဂလိကဆာဗာအတွက်သာ)
မှတ်ချက် Google/Amazon ကိုအသုံးပြု၍ အကောင့်ဖွင့်ခြင်းသည် အသုံးပြုသူ၏အီးမေးလ်လိပ်စာကို RainMaker နှင့်မျှဝေပါသည်။ Apple ကို အသုံးပြု၍ အကောင့်ဖွင့်ခြင်းသည် RainMaker ဝန်ဆောင်မှုအတွက် အသုံးပြုသူအတွက် Apple မှ သတ်မှတ်ထားသော ကိန်းဂဏန်းလိပ်စာတစ်ခုကို မျှဝေပါသည်။ RainMaker အကောင့်ကို Google၊ Apple၊ သို့မဟုတ် Amazon အကောင့်ဖြင့် ပထမဆုံးအကြိမ် လက်မှတ်ထိုးဝင်သည့် သုံးစွဲသူများအတွက် အလိုအလျောက် ဖန်တီးပေးမည်ဖြစ်သည်။
စကားဝှက်ပြောင်းခြင်း အီးမေးလ် id/ဖုန်းနံပါတ်ကို အခြေခံ၍ ဝင်ရောက်ခြင်းအတွက်သာ အကျုံးဝင်ပါသည်။ စကားဝှက်ကိုပြောင်းပြီးနောက် အခြားအသုံးပြုနေသော ဆက်ရှင်များအားလုံးကို ထွက်ပါမည်။ AWS Cognito အပြုအမူအရ၊ အကောင့်ထွက်သည့်စက်ရှင်များသည် 1 နာရီအထိ တက်ကြွနေနိုင်သည်။
စကားဝှက်ကို ထုတ်ယူခြင်း အီးမေးလ် id/ဖုန်းနံပါတ်ကို အခြေခံ၍ ဝင်ရောက်ခြင်းအတွက်သာ အကျုံးဝင်ပါသည်။
3.4.2 နောက်ဆုံးအသုံးပြုသူ အင်္ဂါရပ်များ
သုံးစွဲသူများအတွက် ဖွင့်ထားသည့် အင်္ဂါရပ်များတွင် ဒေသတွင်းနှင့် အဝေးထိန်းစနစ်နှင့် စောင့်ကြည့်ခြင်း၊ အချိန်ဇယားဆွဲခြင်း၊ စက်ပစ္စည်းအုပ်စုဖွဲ့ခြင်း၊ စက်ပစ္စည်းမျှဝေခြင်း၊ တွန်းအားပေးခြင်းဆိုင်ရာ အကြောင်းကြားချက်များနှင့် ပြင်ပအဖွဲ့အစည်း ပေါင်းစပ်ခြင်းများ ပါဝင်သည်။
အဝေးထိန်းစနစ်နှင့် စောင့်ကြည့်ခြင်း · စက်ပစ္စည်းတစ်ခု သို့မဟုတ် ကိရိယာအားလုံးအတွက် မေးခွန်းပုံစံဖွဲ့စည်းပုံ၊ ကန့်သတ်ချက်တန်ဖိုးများနှင့် ချိတ်ဆက်မှုအခြေအနေ။ · စက်တစ်ခုတည်း သို့မဟုတ် အများအပြားအတွက် ကန့်သတ်ချက်များ သတ်မှတ်ပါ။
Local control and monitoring Mobile phone နှင့် device ကို local control အတွက် တူညီသော network သို့ ချိတ်ဆက်ထားရန် လိုအပ်ပါသည်။
အချိန်ဇယားဆွဲခြင်း · အသုံးပြုသူများသည် သတ်မှတ်ထားသောအချိန်တစ်ခုတွင် အချို့သောလုပ်ဆောင်ချက်များကို ကြိုတင်သတ်မှတ်ပါ။ · အချိန်ဇယားကို လုပ်ဆောင်နေစဉ် စက်ပစ္စည်းအတွက် အင်တာနက်ချိတ်ဆက်မှု မလိုအပ်ပါ။ · စက်တစ်ခုတည်း သို့မဟုတ် အများအပြားအတွက် တစ်ကြိမ် သို့မဟုတ် (ရက်များကို သတ်မှတ်ခြင်းဖြင့်) ထပ်လုပ်ပါ။
စက်ပစ္စည်းအုပ်စုဖွဲ့ခြင်း အဆင့်ပေါင်းများစွာ စိတ္တဇအုပ်စုဖွဲ့ခြင်းကို ပံ့ပိုးပေးသည် ပင်မအခန်းဖွဲ့စည်းပုံဖန်တီးရန် အုပ်စုမက်တာဒေတာကို အသုံးပြုနိုင်သည်။
အခန်း ၃။ ESP RainMaker နိဒါန်း ၂၁

စက်ပစ္စည်းမျှဝေခြင်း စက်ပစ္စည်းတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောစက်ပစ္စည်းများကို အသုံးပြုသူတစ်ဦး သို့မဟုတ် တစ်ခုထက်ပိုသောအသုံးပြုသူများထံ မျှဝေနိုင်ပါသည်။
တွန်းအားပေးခြင်းဆိုင်ရာ အသိပေးချက်များ ကဲ့သို့သော ဖြစ်ရပ်များအတွက် အသုံးပြုသူများသည် တွန်းအားပေးအကြောင်းကြားချက်များကို ရရှိလိမ့်မည် · စက်ပစ္စည်းအသစ်(များ) ပေါင်းထည့်ခြင်း/ဖယ်ရှားခြင်း · စက်ပစ္စည်း(များ) တိမ်တိုက်သို့ ချိတ်ဆက်ထားသော စက်ပစ္စည်း · စက်ပစ္စည်းသည် cloud မှ ချိတ်ဆက်မှုပြတ်တောက်သွားသည် · စက်ပစ္စည်းမျှဝေရန် တောင်းဆိုမှုများ ဖန်တီးထားသည်/လက်ခံသည်/ငြင်းဆိုထားသည် · စက်ပစ္စည်းများမှ အစီရင်ခံထားသော သတိပေးစာများ
မီးများ၊ ခလုတ်များ၊ စကတ်များ၊ ပန်ကာများနှင့် အပူချိန်အာရုံခံကိရိယာများအပါအဝင် RainMaker စက်ပစ္စည်းများကို ထိန်းချုပ်ရန် ပြင်ပအဖွဲ့အစည်း ပေါင်းစပ်မှုများ Alexa နှင့် Google Voice Assistant ကို ပံ့ပိုးထားသည်။
3.4.3 စီမံခန့်ခွဲရေးအင်္ဂါရပ်များ
စီမံခန့်ခွဲသူ၏အင်္ဂါရပ်များသည် စီမံခန့်ခွဲသူများကို စက်ပစ္စည်းမှတ်ပုံတင်ခြင်း၊ စက်ပစ္စည်းအုပ်စုဖွဲ့ခြင်းနှင့် OTA အဆင့်မြှင့်တင်မှုများတို့ကို အကောင်အထည်ဖော်ခွင့်ပြုသည်။ view စာရင်းဇယားများနှင့် ESP Insights ဒေတာ။
စက်ပစ္စည်းမှတ်ပုံတင်ခြင်း စက်ပစ္စည်းလက်မှတ်များကို ထုတ်ပေးပြီး Admin CLI (သီးသန့်ဆာဗာသာ) ဖြင့် မှတ်ပုံတင်ပါ။
စက်ပစ္စည်းအုပ်စုဖွဲ့ခြင်း စက်ပစ္စည်းအချက်အလက်ပေါ်အခြေခံ၍ စိတ္တဇ သို့မဟုတ် ဖွဲ့စည်းတည်ဆောက်ထားသော အုပ်စုများဖန်တီးပါ (သီးသန့်ဆာဗာသာ)။
Over-the-Air (OTA) သည် ဗားရှင်းနှင့် မော်ဒယ်ပေါ်အခြေခံ၍ ဖာမ်းဝဲလ်ကို အပ်လုဒ်လုပ်သည်၊ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော စက်များ သို့မဟုတ် အဖွဲ့တစ်ခုသို့ Monitor၊ ပယ်ဖျက်ရန် သို့မဟုတ် OTA အလုပ်များကို သိမ်းဆည်းထားသည်။
View စာရင်းဇယား Viewစာရင်းဇယားများတွင် ပါဝင်နိုင်သည်- · စက်ပစ္စည်း မှတ်ပုံတင်ခြင်း (စီမံခန့်ခွဲသူမှ မှတ်ပုံတင်ထားသော လက်မှတ်များ) · စက်ပစ္စည်း စတင်ခြင်း (ပထမဆုံးအကြိမ် ချိတ်ဆက်ထားသော စက်ပစ္စည်း) · အသုံးပြုသူအကောင့်များ · အသုံးပြုသူ-စက်ပစ္စည်း ချိတ်ဆက်မှု
View ESP Insights ဒေတာ Viewလုပ်ဆောင်နိုင်သည့် ESP Insights ဒေတာတွင်- · အမှားအယွင်းများ၊ သတိပေးချက်များနှင့် စိတ်ကြိုက်မှတ်တမ်းများ · ပျက်စီးမှုအစီရင်ခံစာများနှင့် ခွဲခြမ်းစိတ်ဖြာမှု · ပြန်လည်စတင်ရခြင်းအကြောင်းရင်းများ · မှတ်ဉာဏ်အသုံးပြုမှု၊ RSSI စသည်တို့ကဲ့သို့ မက်ထရစ်များ · စိတ်ကြိုက်မက်ထရစ်များနှင့် ကိန်းရှင်များ
28 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

3.5 အကျဉ်းချုပ်
ဤအခန်းတွင်၊ အများသူငှာ RainMaker ဖြန့်ကျက်ခြင်းနှင့် သီးသန့်အသုံးပြုခြင်းကြား အဓိကကွာခြားချက်အချို့ကို ကျွန်ုပ်တို့မိတ်ဆက်ခဲ့သည်။ Espressif မှထုတ်လွှတ်သောပုဂ္ဂလိက ESP RainMaker ဖြေရှင်းချက်သည် အလွန်ယုံကြည်စိတ်ချရပြီး တိုးချဲ့နိုင်သည်။ ESP32 စီးရီးချစ်ပ်များအားလုံးသည် ကုန်ကျစရိတ်ကို များစွာလျှော့ချပေးသည့် AWS သို့ ချိတ်ဆက်ပြီး လိုက်လျောညီထွေဖြစ်အောင် ပြုလုပ်ထားပါသည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် AWS cloud ထုတ်ကုန်များအကြောင်း လေ့လာရန်မလိုဘဲ ရှေ့ပြေးပုံစံအတည်ပြုခြင်းကို အာရုံစိုက်နိုင်သည်။ ESP RainMaker ၏ အကောင်အထည်ဖော်မှုနှင့် အင်္ဂါရပ်များနှင့် ပလက်ဖောင်းကို အသုံးပြု၍ ဖွံ့ဖြိုးတိုးတက်မှုအတွက် အဓိကအချက်အချို့ကိုလည်း ရှင်းပြခဲ့သည်။
iOS အတွက် ESP RainMaker ကိုဒေါင်းလုဒ်လုပ်ရန် Android စကင်န်အတွက် ESP RainMaker ကိုဒေါင်းလုဒ်လုပ်ရန် စကင်န်ဖတ်ပါ။
အခန်း ၃။ ESP RainMaker နိဒါန်း ၂၁

30 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

အခန်း ၄ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း။
ဤအခန်းသည် ESP32-C3 အတွက်တရားဝင်ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတိုးတက်ရေးမူဘောင် ESP-IDF ကိုအလေးပေးထားသည်။ အမျိုးမျိုးသော လည်ပတ်မှုစနစ်များတွင် ပတ်ဝန်းကျင်ကို မည်သို့သတ်မှတ်ရမည်ကို ရှင်းပြပြီး ESP-IDF ၏ ပရောဂျက်ဖွဲ့စည်းပုံနှင့် တည်ဆောက်မှုစနစ်အပြင် ဆက်စပ်ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာများအသုံးပြုမှုကို မိတ်ဆက်ပေးပါမည်။ ထို့နောက် ရည်းစားဟောင်းတစ်ဦး၏ စုစည်းခြင်းနှင့် လုပ်ဆောင်ခြင်းလုပ်ငန်းစဉ်ကို တင်ပြပါမည်။ample project သည် s တစ်ခုစီတွင် output log ၏အသေးစိတ်ရှင်းပြချက်ကိုပေးနေစဉ်tage.
4.1 ESP-IDF ကျော်သွားပါပြီ။view
ESP-IDF (Espressif IoT Development Framework) သည် Espressif Technology မှ ပံ့ပိုးပေးသော တစ်ခုတည်းသော ရပ်တန့် IoT ဖွံ့ဖြိုးတိုးတက်မှု မူဘောင်တစ်ခုဖြစ်သည်။ ၎င်းသည် C/C++ ကို ပင်မဖွံ့ဖြိုးတိုးတက်မှုဘာသာစကားအဖြစ် အသုံးပြုပြီး Linux၊ Mac နှင့် Windows ကဲ့သို့သော ပင်မလည်ပတ်မှုစနစ်များအောက်တွင် အပြန်အလှန်စုစည်းမှုကို ပံ့ပိုးပေးသည်။ ရည်းစားဟောင်းampဤစာအုပ်တွင် ပါဝင်သော le ပရိုဂရမ်များကို အောက်ပါအင်္ဂါရပ်များ ပေးဆောင်သည့် ESP-IDF ကို အသုံးပြု၍ တီထွင်ထားသည်- · SoC စနစ်အဆင့် ယာဉ်မောင်းများ။ ESP-IDF တွင် ESP32၊ ESP32-S2၊ ESP32-C3၊
နှင့်အခြားချစ်ပ်များ။ ဤဒရိုင်ဘာများသည် အရံအနိမ့်အဆင့် (LL) စာကြည့်တိုက်၊ ဟာ့ဒ်ဝဲလ် abstraction အလွှာ (HAL) စာကြည့်တိုက်၊ RTOS ပံ့ပိုးမှုနှင့် အထက်အလွှာ ဒရိုင်ဘာဆော့ဖ်ဝဲလ်စသည်တို့ကို လွှမ်းခြုံထားသည်။ · မရှိမဖြစ် အစိတ်အပိုင်းများ။ ESP-IDF သည် IoT ဖွံ့ဖြိုးတိုးတက်မှုအတွက် လိုအပ်သော အခြေခံ အစိတ်အပိုင်းများ ပါဝင်သည်။ ၎င်းတွင် HTTP နှင့် MQTT ကဲ့သို့သော ကွန်ရက်ပရိုတိုကောစတက်များ၊ ဒိုင်နမစ်ကြိမ်နှုန်းမွမ်းမံမှုရှိသော ပါဝါစီမံခန့်ခွဲမှုမူဘောင်၊ Flash ကုဒ်ဝှက်ခြင်းနှင့် လုံခြုံသော Boot ကဲ့သို့သော အင်္ဂါရပ်များ စသည်တို့ပါဝင်သည်။ · ဖွံ့ဖြိုးတိုးတက်မှုနှင့် ထုတ်လုပ်ရေးကိရိယာများ။ ESP-IDF သည် ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုကာလအတွင်း အဆောက်အဦ၊ ဖလက်ရ်ှနှင့် အမှားရှာပြင်ခြင်းအတွက် အသုံးများသောကိရိယာများကို CMake ကိုအခြေခံ၍ တည်ဆောက်ခြင်းစနစ်၊ GCC ကိုအခြေခံထားသော အပြန်အလှန်စုစည်းမှုကိရိယာကွင်းဆက်နှင့် J ကဲ့သို့သော အဆောက်အဦစနစ်ကဲ့သို့သော ပုံ 4.1 ကိုကြည့်ပါ၊TAG OpenOCD ကိုအခြေခံ၍ အမှားရှာပြင်သည့်ကိရိယာ၊ စသည်တို့ဖြစ်သည်။ ESP-IDF ကုဒ်သည် Apache 2.0 open-source လိုင်စင်ကို အဓိကအားဖြင့် လိုက်နာကြောင်း မှတ်သားထိုက်ပါသည်။ အသုံးပြုသူများသည် open-source လိုင်စင်၏ စည်းကမ်းချက်များကို လိုက်နာစဉ်တွင် ကန့်သတ်ချက်များမရှိဘဲ ကိုယ်ပိုင် သို့မဟုတ် စီးပွားဖြစ်ဆော့ဖ်ဝဲကို တီထွင်နိုင်သည်။ ထို့အပြင်၊ အသုံးပြုသူများအား အရင်းအမြစ်ကုဒ်တွင် ပြုပြင်မွမ်းမံမှုများ ပြုလုပ်ရန် အခကြေးငွေမယူဘဲ အမြဲတမ်းမူပိုင်ခွင့်လိုင်စင်များကို အခမဲ့ ခွင့်ပြုပေးပါသည်။
31

ပုံ ၇။

တည်ဆောက်ခြင်း၊ မှိတ်တုတ်မှိတ်တုတ် နှင့် အမှားရှာခြင်း-

ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှုအတွက် ဂျင်းကိရိယာများ

4.1.1 ESP-IDF ဗားရှင်းများ
ESP-IDF ကုဒ်ကို open-source ပရောဂျက်အဖြစ် GitHub တွင် လက်ခံထားသည်။ လက်ရှိတွင်ရရှိနိုင်သောအဓိကဗားရှင်းသုံးမျိုးရှိသည်- v3၊ v4 နှင့် v5 ။ အဓိကဗားရှင်းတစ်ခုစီတွင် အများအားဖြင့် v4.2၊ v4.3 ကဲ့သို့သော အဖျက်အမှောင့်အမျိုးမျိုး ပါဝင်ပါသည်။ Espressif Systems သည် ဗားရှင်းခွဲတစ်ခုစီအတွက် ချွတ်ယွင်းချက်ပြင်ဆင်မှုများနှင့် လုံခြုံရေးဖာထေးမှုများကို လ 30 ပံ့ပိုးပေးကြောင်း သေချာစေသည်။ ထို့ကြောင့်၊ v4.3.1၊ v4.2.2 စသည်တို့ကဲ့သို့သော အဖျက်အမှောင့်များ ပြန်လည်ပြင်ဆင်မှုများကိုလည်း ပုံမှန်ထုတ်ပြန်ပါသည်။ ဇယား 4.1 သည် Espressif ချစ်ပ်များအတွက် မတူညီသော ESP-IDF ဗားရှင်းများ၏ ပံ့ပိုးမှုအခြေအနေအား ပြသထားပြီး ၎င်းတို့သည် အကြိုကာလတွင်ရှိမရှိကို ညွှန်ပြသည်။view stage (အကြိုထောက်ပံ့မှု ကမ်းလှမ်းခြင်း။view အချို့သောအင်္ဂါရပ်များ သို့မဟုတ် စာရွက်စာတမ်းအထောက်အထားများ ချို့တဲ့နိုင်သည့် ဗားရှင်းများ) သို့မဟုတ် တရားဝင်ပံ့ပိုးထားသည်။

ဇယား ၄.၁။ Espressif ချစ်ပ်များအတွက် မတူညီသော ESP-IDF ဗားရှင်းများ၏ အခြေအနေကို ပံ့ပိုးပါ။

စီးရီး ESP32 ESP32-S2 ESP32-C3 ESP32-S3 ESP32-C2 ESP32-H2

v4.1 ကို ပံ့ပိုးထားသည်။

v4.2 ကို ပံ့ပိုးပေးထားသည်။

v4.3 ကို ပံ့ပိုးထားပြီး ပံ့ပိုးပေးထားသည်။

v4.4 ကို ပံ့ပိုးပေးသည်
ကြိုview

v5.0 ကို ပံ့ပိုးပေးထားပြီး ပံ့ပိုးပေးထားသော ပံ့ပိုးထားသော ပံ့ပိုးပေးထားသော ကြိုတင်ပံ့ပိုးထားသည်။view

32 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

အဓိကဗားရှင်းများကို ထပ်ခါထပ်ခါပြုလုပ်ရာတွင် မူဘောင်တည်ဆောက်ပုံနှင့် စုစည်းမှုစနစ်သို့ အပ်ဒိတ်များကို ချိန်ညှိခြင်းများ ပါဝင်လေ့ရှိသည်။ ဟောင်းအတွက်ample၊ v3.* မှ v4.* သို့ အဓိကပြောင်းလဲမှုမှာ Make မှ CMake သို့ တည်ဆောက်မှုစနစ်၏ ဖြည်းဖြည်းချင်းပြောင်းရွှေ့ခြင်းဖြစ်ပါသည်။ အခြားတစ်ဖက်တွင်၊ အသေးစားဗားရှင်းများကို ထပ်ခါထပ်ခါပြုလုပ်ခြင်းသည် ပုံမှန်အားဖြင့် အင်္ဂါရပ်အသစ်များ ထပ်တိုးခြင်း သို့မဟုတ် ချစ်ပ်အသစ်များအတွက် ပံ့ပိုးမှုတို့ကို ထည့်သွင်းပေးပါသည်။
တည်ငြိမ်သောဗားရှင်းများနှင့် GitHub အကိုင်းအခက်များကြား ဆက်စပ်မှုကို ပိုင်းခြားနားလည်ရန် အရေးကြီးပါသည်။ v*.* သို့မဟုတ် v*.*.* အဖြစ် တံဆိပ်တပ်ထားသော ဗားရှင်းများသည် Espressif မှ ပြီးပြည့်စုံသော အတွင်းပိုင်း စမ်းသပ်မှု အောင်မြင်ပြီးသော တည်ငြိမ်သော ဗားရှင်းများကို ကိုယ်စားပြုပါသည်။ ပြုပြင်ပြီးသည်နှင့်၊ တူညီသောဗားရှင်းအတွက် ကုဒ်၊ ကိရိယာကွင်းဆက်နှင့် ထုတ်ပြန်သည့်စာရွက်စာတမ်းများသည် မပြောင်းလဲပါ။ သို့သော်၊ GitHub အကိုင်းအခက်များ (ဥပမာ၊ ထုတ်ဝေခြင်း/v4.3 ဌာနခွဲ) သည် မကြာခဏ ကုဒ်ကျူးလွန်ခြင်းကို ခံရပြီး နေ့စဉ်နေ့တိုင်း မကြာခဏ ပြုလုပ်လေ့ရှိသည်။ ထို့ကြောင့်၊ တူညီသောဌာနခွဲအောက်ရှိ ကုဒ်အတိုအထွာနှစ်ခုသည် ကွဲပြားနိုင်ပြီး၊ developer များသည် ၎င်းတို့၏ကုဒ်ကို ဆောလျင်စွာ အပ်ဒိတ်လုပ်ရန် လိုအပ်ပါသည်။
4.1.2 ESP-IDF Git အလုပ်အသွားအလာ
Espressif သည် ESP-IDF အတွက် သီးခြား Git အလုပ်အသွားအလာကို အောက်ပါအတိုင်း ဖော်ပြထားပါသည်။
· ပင်မဖွံ့ဖြိုးတိုးတက်ရေးဌာနခွဲအဖြစ် ဆောင်ရွက်သည့် မာစတာဌာနခွဲတွင် အပြောင်းအလဲအသစ်များ ပြုလုပ်ထားသည်။ မာစတာဌာနခွဲရှိ ESP-IDF ဗားရှင်းသည် -dev ကို အမြဲဆောင်သည်။ tag v4.3-dev ကဲ့သို့သော လောလောဆယ်တွင် ဖွံ့ဖြိုးဆဲဖြစ်ကြောင်း ညွှန်ပြရန်။ မာစတာဌာနခွဲတွင် အပြောင်းအလဲများသည် ပထမဦးစွာ ပြန်လည်ဖြစ်လိမ့်မည်။viewed နှင့် Espressif ၏ internal repository တွင် စမ်းသပ်ပြီးနောက် အလိုအလျောက်စမ်းသပ်မှုပြီးသွားပြီးနောက် GitHub သို့ တွန်းပို့သည်။
· ဗားရှင်းအသစ်သည် မာစတာဌာနခွဲတွင် အင်္ဂါရပ်ဖွံ့ဖြိုးတိုးတက်မှုကို ပြီးမြောက်ပြီး ဘီတာစမ်းသပ်ခြင်းအတွက် စံသတ်မှတ်ချက်များနှင့် ကိုက်ညီသည်နှင့်၊ ၎င်းသည် release/v4.3 ကဲ့သို့သော ဌာနခွဲအသစ်သို့ ကူးပြောင်းသွားပါသည်။ နောက်ပြီး ဒီသစ်ကိုင်းက tagv4.3-beta1 ကဲ့သို့ အကြိုထုတ်ဗားရှင်းအဖြစ် ged. ဆော့ဖ်ဝဲရေးသားသူများသည် အကိုင်းအခက်များ၏ စာရင်းအပြည့်အစုံနှင့် ဝင်ရောက်ကြည့်ရှုရန် GitHub ပလပ်ဖောင်းကို ကိုးကားနိုင်သည်။ tags ESP-IDF အတွက် beta ဗားရှင်း (အကြိုဗားရှင်း) တွင် သိသာထင်ရှားသော ပြဿနာများစွာ ရှိနေနိုင်သည်ကို သတိပြုရန် အရေးကြီးပါသည်။ ဘီတာဗားရှင်းသည် စဉ်ဆက်မပြတ်စမ်းသပ်မှုပြုလုပ်နေချိန်တွင်၊ ချွတ်ယွင်းချက်ပြင်ဆင်မှုများကို ဤဗားရှင်းနှင့် မာစတာဌာနခွဲနှစ်ခုစလုံးတွင် တစ်ပြိုင်နက်ထည့်သွင်းထားသည်။ ဤအတောအတွင်း၊ မာစတာဌာနခွဲသည် လာမည့်ဗားရှင်းအတွက် အင်္ဂါရပ်အသစ်များကို စတင်တီထွင်နေပြီဖြစ်သည်။ စမ်းသပ်မှုပြီးလုနီးပါးဖြစ်သောအခါ၊ v4.3-rc1 ကဲ့သို့သော တရားဝင်ထုတ်ဝေမှုအတွက် ဖြစ်နိုင်ချေရှိသော ကိုယ်စားလှယ်လောင်းဖြစ်ကြောင်း ညွှန်ပြသော ထုတ်ဝေသူ (rc) အညွှန်းကို ဌာနခွဲသို့ ပေါင်းထည့်သည်။ ဒီ s မှာtage၊ ဌာနခွဲသည် အကြိုထုတ်ဗားရှင်းတစ်ခုအဖြစ် ကျန်ရှိနေသည်။
· ကြီးကြီးမားမား ချို့ယွင်းချက်များကို ရှာဖွေတွေ့ရှိခြင်း သို့မဟုတ် အစီရင်ခံခြင်းမရှိပါက၊ အကြိုထုတ်ဝေသည့်ဗားရှင်းသည် နောက်ဆုံးတွင် အဓိကဗားရှင်းအညွှန်း (ဥပမာ၊ v5.0) သို့မဟုတ် ဗားရှင်းအညွှန်းအသေးစားတစ်ခု (ဥပမာ၊ v4.3) ကို လက်ခံရရှိပြီး တရားဝင်ထုတ်ဝေသည့်ဗားရှင်းဖြစ်လာသည်၊၊ ထုတ်ဝေမှုမှတ်စုစာမျက်နှာတွင်။ နောက်ပိုင်းတွင်၊ ဤဗားရှင်းတွင်ဖော်ပြထားသော မည်သည့်အမှားအယွင်းများကိုမဆို ဖြန့်ချိရေးဌာနခွဲတွင် ပြင်ဆင်ထားပါသည်။ ကိုယ်တိုင်စမ်းသပ်မှုပြီးသွားသောအခါ၊ ဌာနခွဲအား ထုတ်ဝေမှုမှတ်စုစာမျက်နှာတွင်လည်း ထင်ဟပ်နေသည့် ချို့ယွင်းချက်ပြင်ဆင်မှုဗားရှင်းအညွှန်း (ဥပမာ၊ v4.3.2) ကို ဌာနခွဲအား တာဝန်ပေးအပ်သည်။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

4.1.3 သင့်လျော်သောဗားရှင်းကို ရွေးချယ်ခြင်း။
ESP-IDF သည် v32 မှ ESP3-C4.3 ကို ဗားရှင်း v4.4 မှ တရားဝင်စတင်ပံ့ပိုးပေးသည့်အချိန်မှစပြီး v4.3.2 သည် ဤစာအုပ်ရေးသားချိန်တွင် တရားဝင်ထုတ်ပြန်ခြင်းမရှိသေးပါ၊ ဤစာအုပ်တွင်အသုံးပြုထားသောဗားရှင်းသည် v4.3 ဖြစ်ပြီး ပြန်လည်ပြင်ဆင်ထားသောဗားရှင်းဖြစ်သည်။ v4.4 ၏ သို့သော် ဤစာအုပ်ကို သင်ဖတ်သည့်အချိန်၌၊ vXNUMX သို့မဟုတ် အသစ်ထွက်ဗားရှင်းများကို ရနိုင်နေပြီဟု သတိပြုရန် အရေးကြီးပါသည်။ ဗားရှင်းတစ်ခုကို ရွေးချယ်သောအခါ၊ ကျွန်ုပ်တို့သည် အောက်ပါတို့ကို အကြံပြုပါသည်-
· entry-level developer များအတွက်၊ ဟောင်းနှင့်လိုက်ဖက်သော တည်ငြိမ်သော v4.3 ဗားရှင်း သို့မဟုတ် ၎င်း၏ပြန်လည်ပြင်ဆင်ထားသောဗားရှင်းကို ရွေးချယ်ရန် အကြံပြုလိုပါသည်။ampဤစာအုပ်တွင်သုံးသော le ဗားရှင်း။
· အစုလိုက်အပြုံလိုက် ထုတ်လုပ်မှု ရည်ရွယ်ချက်အတွက်၊ နောက်ဆုံးပေါ် နည်းပညာဆိုင်ရာ ပံ့ပိုးကူညီမှုမှ အကျိုးရရှိရန် နောက်ဆုံးပေါ် တည်ငြိမ်သော ဗားရှင်းကို အသုံးပြုရန် အကြံပြုအပ်ပါသည်။
· သင်သည် ချစ်ပ်အသစ်များဖြင့် စမ်းသပ်ရန် သို့မဟုတ် ထုတ်ကုန်အင်္ဂါရပ်အသစ်များကို ရှာဖွေရန် ရည်ရွယ်ပါက၊ ကျေးဇူးပြု၍ မာစတာဌာနခွဲကို အသုံးပြုပါ။ နောက်ဆုံးဗားရှင်းတွင် နောက်ဆုံးပေါ်အင်္ဂါရပ်များပါရှိသည်၊ သို့သော် သိပြီးသား သို့မဟုတ် မသိသော ချွတ်ယွင်းမှုများ ရှိနေနိုင်သည်ကို သတိပြုပါ။
· အသုံးပြုနေသော တည်ငြိမ်သောဗားရှင်းတွင် လိုချင်သောအင်္ဂါရပ်အသစ်များ မပါဝင်ဘဲ မာစတာကိုင်းဆက်နှင့် ဆက်စပ်အန္တရာယ်များကို လျှော့ချလိုပါက၊ ထွက်ရှိ/v4.4 ဌာနခွဲကဲ့သို့သော သက်ဆိုင်ရာ ဖြန့်ချိရေးဌာနခွဲကို အသုံးပြုရန် စဉ်းစားပါ။ Espressif ၏ GitHub repository သည် အင်္ဂါရပ်များ ဖွံ့ဖြိုးတိုးတက်မှုနှင့် စမ်းသပ်မှုအားလုံးကို ပြီးမြောက်ပြီးနောက်တွင် ဤဌာနခွဲ၏ သီးခြားသမိုင်းဝင်လျှပ်တစ်ပြက်ရိုက်ချက်တစ်ခုအပေါ် အခြေခံ၍ ထုတ်ဝေမှု/v4.4 ဌာနခွဲကို ဦးစွာဖန်တီးမည်ဖြစ်ပြီး နောက်ပိုင်းတွင် ဤဌာနခွဲ၏ သီးခြားသမိုင်းဝင်လျှပ်တစ်ပြက်ရိုက်ချက်တစ်ခုအပေါ် အခြေခံ၍ ထွက်ရှိလာမည်ဖြစ်သည်။
4.1.4 ကျော်view ESP-IDF SDK လမ်းညွှန်
ESP-IDF SDK တွင် အဓိက လမ်းညွှန်နှစ်ခု ပါဝင်သည်- esp-idf နှင့် .espressif။ ယခင် ESP-IDF သိုလှောင်မှု၏ အရင်းအမြစ်ကုဒ် ပါရှိသည်။ files နှင့် compilation scripts များကို အဓိကအားဖြင့် compilation tool chains နှင့် အခြားသော software များကို သိမ်းဆည်းထားစဉ်။ ဤလမ်းညွှန်ချက်နှစ်ခုကို ရင်းနှီးကျွမ်းဝင်မှုက ရရှိနိုင်သောအရင်းအမြစ်များကို ပိုမိုကောင်းမွန်စွာအသုံးပြုရန်နှင့် ဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်ကို အရှိန်မြှင့်ရန် ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအား ကူညီပေးပါမည်။ ESP-IDF ၏လမ်းညွှန်ဖွဲ့စည်းပုံအား အောက်တွင်ဖော်ပြထားသည်-
(1) ESP-IDF repository code directory (/esp/esp-idf) သည် ပုံ 4.2 တွင် ပြထားသည့်အတိုင်း။
a အစိတ်အပိုင်းလမ်းညွှန် အစိတ်အပိုင်းများ
ဤ core directory သည် ESP-IDF ၏ မရှိမဖြစ်လိုအပ်သော software အစိတ်အပိုင်းများစွာကို ပေါင်းစပ်ထားသည်။ ဤလမ်းညွှန်အတွင်းရှိ အစိတ်အပိုင်းများကို အားကိုးခြင်းမရှိဘဲ ပရောဂျက်ကုဒ်ကို စုစည်း၍မရပါ။ ၎င်းတွင် Espressif ချစ်ပ်အမျိုးမျိုးအတွက် ယာဉ်မောင်းပံ့ပိုးမှု ပါဝင်သည်။ အရံပစ္စည်းများအတွက် LL စာကြည့်တိုက်နှင့် HAL စာကြည့်တိုက် အင်တာဖေ့စ်များမှ အထက်အဆင့် Driver နှင့် Virtual အထိ File စနစ် (VFS) အလွှာပံ့ပိုးမှု၊ developer များသည် ၎င်းတို့၏ ဖွံ့ဖြိုးတိုးတက်မှုလိုအပ်ချက်များအတွက် မတူညီသောအဆင့်များတွင် သင့်လျော်သော အစိတ်အပိုင်းများကို ရွေးချယ်နိုင်သည်။ ESP-IDF သည် TCP/IP၊ HTTP၊ MQTT၊ WebSocket စသည်တို့။ Developer များသည် ကွန်ရက်အပလီကေးရှင်းများတည်ဆောက်ရန်အတွက် Socket ကဲ့သို့ ရင်းနှီးသောအင်တာဖေ့စ်ကို အသုံးပြုနိုင်သည်။ ပါဝင်ပစ္စည်းများကို ပြည့်စုံစေသည်-
34 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

ပုံ 4.2 ။ ESP-IDF သိုလှောင်ကုဒ်လမ်းညွှန်
sive လုပ်ဆောင်နိုင်စွမ်းနှင့် အက်ပ်လီကေးရှင်းများတွင် အလွယ်တကူ ပေါင်းစည်းနိုင်ပြီး၊ developer များသည် စီးပွားရေးယုတ္တိကိုသာ အာရုံစိုက်နိုင်စေပါသည်။ အချို့သော အသုံးများသော အစိတ်အပိုင်းများ ပါဝင်သည်- · ယာဉ်မောင်း- ဤအစိတ်အပိုင်းတွင် Espressif အမျိုးမျိုးအတွက် အရံဒရိုင်ဘာ ပရိုဂရမ်များ ပါရှိသည်။
GPIO၊ I2C၊ SPI၊ UART၊ LEDC (PWM) ကဲ့သို့သော ချစ်ပ်စီးရီးများ၊ ဤအစိတ်အပိုင်းရှိ အရံဒရိုင်ဘာပရိုဂရမ်များသည် ချစ်ပ်-အမှီအခိုကင်းသော စိတ္တဇ interface များကို ပေးဆောင်သည်။ အရံတစ်ခုစီတွင် တူညီသော ခေါင်းစီးတစ်ခုရှိသည်။ file (ဥပမာ gpio.h)၊ မတူညီသော ချစ်ပ်သီးသန့် ပံ့ပိုးကူညီမှုမေးခွန်းများကို ဖြေရှင်းရန် လိုအပ်မှုကို ဖယ်ရှားပါ။ · esp_wifi- အထူးအရံအဖြစ် Wi-Fi ကို သီးခြားအစိတ်အပိုင်းတစ်ခုအဖြစ် သဘောထားသည်။ ၎င်းတွင် အမျိုးမျိုးသော Wi-Fi ဒရိုက်ဘာမုဒ်များ၏ ကနဦးအစပြုခြင်းကဲ့သို့သော API အများအပြားပါဝင်သည် ဤအစိတ်အပိုင်း၏ အချို့သောလုပ်ဆောင်ချက်များကို static link libraries ပုံစံဖြင့် ပံ့ပိုးပေးပါသည်။ ESP-IDF သည် အသုံးပြုရလွယ်ကူစေရန် ပြည့်စုံသော ယာဉ်မောင်းစာရွက်စာတမ်းများကိုလည်း ပံ့ပိုးပေးပါသည်။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

· freertos- ဤအစိတ်အပိုင်းတွင် FreeRTOS ကုဒ်အပြည့်အစုံပါရှိသည်။ ဤလည်ပတ်မှုစနစ်အတွက် ကျယ်ကျယ်ပြန့်ပြန့် ပံ့ပိုးကူညီမှုအပြင် Espressif သည် dual-core ချစ်ပ်များကို ပံ့ပိုးပေးထားသည်။ ESP32 နှင့် ESP32-S3 ကဲ့သို့သော dual-core ချစ်ပ်များအတွက်၊ အသုံးပြုသူများသည် သတ်မှတ်ထားသော cores များတွင် အလုပ်များကို ဖန်တီးနိုင်သည်။
ခ စာရွက်စာတမ်း လမ်းညွှန်စာတမ်း
ဤလမ်းညွှန်တွင် စတင်ရန်လမ်းညွှန်၊ API အကိုးအကားလက်စွဲ၊ ဖွံ့ဖြိုးတိုးတက်မှုလမ်းညွှန်စသည်ဖြင့် ESP-IDF နှင့်ဆက်စပ်သော ဖွံ့ဖြိုးတိုးတက်မှုစာရွက်စာတမ်းများပါရှိသည်။
မှတ်ချက်- အလိုအလျောက် ကိရိယာများဖြင့် စုစည်းပြီးနောက်၊ ဤလမ်းညွှန်၏ အကြောင်းအရာများကို https://docs.espressif.com/projects/esp-idf တွင် ဖြန့်ကျက်ထားသည်။ စာရွက်စာတမ်းပစ်မှတ်ကို ESP32-C3 သို့ပြောင်းရန် သေချာစေပြီး သတ်မှတ်ထားသော ESP-IDF ဗားရှင်းကို ရွေးချယ်ပါ။
ဂ။ Script tool ကိရိယာများ
ဤလမ်းညွှန်တွင် idf.py ကဲ့သို့သော အသုံးများသော စုစည်းမှု ရှေ့ဆုံးကိရိယာများ နှင့် မော်နီတာ ဂိတ်ကိရိယာ idf_monitor.py စသည်တို့ ပါရှိသည်။ ဖိုင်တွဲ cmake တွင် core script ပါ၀င်သည် ။ fileESP-IDF စုစည်းမှုစည်းမျဉ်းများကို အကောင်အထည်ဖော်ရန်အတွက် အခြေခံအုတ်မြစ်အဖြစ် စုစည်းမှုစနစ်၏ s။ ပတ်ဝန်းကျင် ကိန်းရှင်များကို ပေါင်းထည့်သောအခါ၊ ကိရိယာ လမ်းညွှန်အတွင်းမှ အကြောင်းအရာများကို စနစ်ပတ်ဝန်းကျင် ကိန်းရှင်သို့ ပေါင်းထည့်ကာ idf.py ကို ပရောဂျက်လမ်းကြောင်းအောက်တွင် တိုက်ရိုက်လုပ်ဆောင်နိုင်စေပါသည်။
ဃ။ ထွample program directory examples
ဤလမ်းညွှန်တွင် ESP-IDF ex ၏ ကြီးမားသော အစုအဝေးတစ်ခုပါရှိသည်။ampအစိတ်အပိုင်း API များအသုံးပြုမှုကို သရုပ်ပြသော ပရိုဂရမ်များ။ ရည်းစားဟောင်းamples များကို ၎င်းတို့၏ အမျိုးအစားများအလိုက် အမျိုးမျိုးသော လမ်းကြောင်းခွဲများအဖြစ် ဖွဲ့စည်းထားပါသည်။
· စတင်ခြင်း- ဤလမ်းညွှန်ချက်ခွဲတွင် ဝင်ခွင့်အဆင့် ex ပါဝင်သည်။ampအခြေခံအချက်များကို အသုံးပြုသူများ နားလည်စေရန် ကူညီပေးရန်အတွက် "hello world" နှင့် "blink" တို့ကဲ့သို့ဖြစ်သည်။
· ဘလူးတုသ်- Bluetooth နှင့် ဆက်စပ်သော ex ကို ရှာနိုင်သည်။ampဤနေရာတွင် Bluetooth LE Mesh၊ Bluetooth LE HID၊ BluFi နှင့် အခြားအရာများ အပါအဝင်။
· wifi- ဤလမ်းညွှန်ချက်ခွဲသည် Wi-Fi ဟောင်းကို အဓိကထားသည်။amples၊ Wi-Fi SoftAP၊ Wi-Fi Station၊ espnow ကဲ့သို့သော အခြေခံပရိုဂရမ်များ အပါအဝင် ဆက်သွယ်ရေးပရိုတိုကော exampEspressif မှ les ။ ၎င်းတွင် application layer ex အများအပြားပါဝင်ပါသည်။ampIperf၊ Sniffer နှင့် Smart Config ကဲ့သို့သော Wi-Fi ကို အခြေခံထားသည်။
· အရံအတားများ- ဤကျယ်ပြန့်သော လမ်းညွှန်ချက်ခွဲများကို အရံအမည်များကို အခြေခံ၍ များပြားလှသော ဖိုင်တွဲခွဲများအဖြစ် ပိုင်းခြားထားသည်။ ၎င်းတွင် အဓိကအားဖြင့် အရံဒရိုင်ဘာ ex ပါရှိသည်။ampEspressif ချစ်ပ်များအတွက် les၊ ex တစ်ခုစီနှင့်ample တွင် sub-ex များစွာပါဝင်ပါသည်။amples။ ဥပမာအားဖြင့်၊ gpio sub-directory တွင် ex နှစ်ခုပါဝင်သည်။amples- GPIO နှင့် GPIO matrix ကီးဘုတ်။ ရည်းစားဟောင်းအားလုံးမဟုတ်ကြောင်း သတိပြုရန် အရေးကြီးသည်။ampဤလမ်းညွှန်ရှိ les များသည် ESP32-C3 နှင့် သက်ဆိုင်ပါသည်။
36 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

ဟောင်းအတွက်ample, exampusb/host တွင် les သည် USB Host ဟာ့ဒ်ဝဲ (ဥပမာ ESP32-S3) နှင့် ဆက်စပ်ပစ္စည်းများနှင့်သာ သက်ဆိုင်ပြီး ESP32-C3 တွင် ဤအရံများ မရှိပါ။ စုစည်းမှုစနစ်သည် ပုံမှန်အားဖြင့် ပစ်မှတ်ကို သတ်မှတ်သောအခါတွင် အချက်ပြမှုများ ပေးသည်။ README file ex တစ်ယောက်ချင်းစီရဲ့ampပံ့ပိုးထားသော ချစ်ပ်များကို စာရင်းပြုစုထားသည်။ · ပရိုတိုကောများ- ဤလမ်းညွှန်ချက်ခွဲများ တွင် exampMQTT၊ HTTP၊ HTTP ဆာဗာ၊ PPPoS၊ Modbus၊ mDNS၊ SNTP အပါအဝင် ဆက်သွယ်ရေးပရိုတိုကော မျိုးစုံအတွက် les၊ampIoT ဖွံ့ဖြိုးတိုးတက်မှုအတွက် လိုအပ်ပါသည်။ · စီမံဆောင်ရွက်ပေးခြင်း- ဤနေရာတွင် စီမံဆောင်ရွက်ပေးခြင်း ဟောင်းကို သင်တွေ့ရပါမည်။ampWi-Fi ပံ့ပိုးပေးခြင်းနှင့် Bluetooth LE ပံ့ပိုးပေးခြင်းကဲ့သို့သော မတူညီသောနည်းလမ်းများအတွက် les။ · စနစ်- ဤလမ်းညွှန်ချက်ခွဲတွင် စနစ်အမှားရှာပြင်ခြင်း ex ပါဝင်သည်။amples (ဥပမာ၊ stack tracing၊ runtime tracing၊ task monitoring)၊ power management examples (ဥပမာ၊ အမျိုးမျိုးသော အိပ်စက်ခြင်းမုဒ်များ၊ တွဲဖက်ပရိုဆက်ဆာများ) နှင့် ဥပမာampconsole terminal၊ event loop နှင့် system timer ကဲ့သို့သော ဘုံစနစ် အစိတ်အပိုင်းများနှင့် ဆက်စပ်မှုရှိသည်။ · သိုလှောင်မှု- ဤလမ်းညွှန်ချက်ခွဲအတွင်း၊ ဟောင်းကို သင်ရှာဖွေတွေ့ရှိမည်ဖြစ်သည်။ampအားလုံး၏ les file ESP-IDF မှ ပံ့ပိုးပေးသော စနစ်များနှင့် သိုလှောင်မှုယန္တရားများ (ဥပမာ Flash၊ SD ကတ်နှင့် အခြားသိုလှောင်မှုမီဒီယာ) တို့အပြင် ယခင်၊ampမတည်ငြိမ်သောသိုလှောင်မှု (NVS), FatFS, SPIFFS နှင့် အခြားအရာများ file စနစ်လည်ပတ်မှုများ။ · လုံခြုံရေး- ဤလမ်းကြောင်းခွဲတွင် ex ပါရှိသည်။ampflash ကုဒ်ဝှက်ခြင်းနဲ့ သက်ဆိုင်ပါတယ်။ (2) ESP-IDF compilation tool chain directory (/.espressif) သည် ပုံ 4.3 တွင် ပြထားသည့်အတိုင်း။
ပုံ 4.3 ။ ESP-IDF စုစည်းမှုတူးလ်ကွင်းဆက်လမ်းညွှန်
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

a ဆော့ဖ်ဝဲဖြန့်ချီရေးလမ်းညွှန် dist
ESP-IDF ကိရိယာကွင်းဆက်နှင့် အခြားဆော့ဖ်ဝဲလ်များကို ချုံ့ထားသောပက်ကေ့ခ်ျပုံစံဖြင့် ဖြန့်ဝေထားသည်။ တပ်ဆင်ခြင်းလုပ်ငန်းစဉ်အတွင်း၊ တပ်ဆင်မှုတူးလ်သည် ချုံ့ထားသောအထုပ်ကို dist directory သို့ ဦးစွာဒေါင်းလုဒ်လုပ်ကာ သတ်မှတ်ထားသော လမ်းညွှန်သို့ ထုတ်ယူသည်။ ထည့်သွင်းမှုပြီးသည်နှင့်၊ ဤလမ်းညွှန်ရှိ အကြောင်းအရာများကို ဘေးကင်းစွာ ဖယ်ရှားနိုင်သည်။
ခ Python virtual environment directory python env
ESP-IDF ၏ မတူညီသောဗားရှင်းများသည် Python ပက်ကေ့ဂျ်များ၏ သီးခြားဗားရှင်းများပေါ်တွင် အားကိုးသည်။ ဤပက်ကေ့ဂျ်များကို တူညီသောအိမ်ရှင်တွင် တိုက်ရိုက်ထည့်သွင်းခြင်းသည် ပက်ကေ့ဂျ်ဗားရှင်းများကြားတွင် ကွဲလွဲမှုများဖြစ်စေနိုင်သည်။ ၎င်းကိုဖြေရှင်းရန်အတွက် ESP-IDF သည် မတူညီသောပက်ကေ့ဂျ်ဗားရှင်းများကိုခွဲထုတ်ရန်အတွက် Python virtual ပတ်၀န်းကျင်ကိုအသုံးပြုသည်။ ဤယန္တရားဖြင့်၊ developer များသည် တူညီသော host တွင် ESP-IDF ဗားရှင်းများစွာကို ထည့်သွင်းနိုင်ပြီး မတူညီသောပတ်ဝန်းကျင် ကိန်းရှင်များကို တင်သွင်းခြင်းဖြင့် ၎င်းတို့ကြားတွင် အလွယ်တကူပြောင်းနိုင်သည်။
ဂ။ ESP-IDF စုစည်းမှုတူးလ် ကွင်းဆက်လမ်းညွှန်ကိရိယာများ
ဤလမ်းညွှန်တွင် အဓိကအားဖြင့် ESP-IDF ပရောဂျက်များကို စုစည်းရန် လိုအပ်သော အပြန်အလှန်စုစည်းမှုကိရိယာများ ပါဝင်သော CMake ကိရိယာများ၊ Ninja တည်ဆောက်ကိရိယာများနှင့် နောက်ဆုံးလုပ်ဆောင်နိုင်သော ပရိုဂရမ်ကို ထုတ်ပေးသည့် gcc တူးလ်ကွင်းဆက်တို့ဖြစ်သည်။ ထို့အပြင်၊ ဤလမ်းညွှန်ချက်သည် သက်ဆိုင်ရာခေါင်းစီးနှင့်အတူ C/C++ ဘာသာစကား၏ စံပြစာကြည့်တိုက်ကို ထားရှိပေးသည် file၎။ ပရိုဂရမ်တစ်ခုက စနစ်ခေါင်းစီးကို ကိုးကားရင် file #ပါဝင်သလိုပါပဲ။ စုစည်းမှုတူးလ်ကွင်းဆက်သည် stdio.h ကိုရှာဖွေမည်ဖြစ်သည်။ file ဒီလမ်းညွှန်ထဲမှာ
4.2 ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း။
ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်သည် Windows၊ Linux နှင့် macOS ကဲ့သို့သော ပင်မလည်ပတ်မှုစနစ်များကို ပံ့ပိုးပေးသည်။ ဤအပိုင်းတွင် စနစ်တစ်ခုစီတွင် ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို မည်သို့သတ်မှတ်ရမည်ကို မိတ်ဆက်ပေးပါမည်။ ဤနေရာတွင် အသေးစိတ်မိတ်ဆက်မည့် Linux စနစ်တွင် ESP32-C3 ကို တီထွင်ရန် အကြံပြုထားသည်။ ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာများ၏ ဆင်တူမှုကြောင့် လမ်းညွှန်ချက်အများအပြားကို ပလပ်ဖောင်းများတွင် အသုံးပြုနိုင်သည်။ ထို့ကြောင့် ဤကဏ္ဍ၏ အကြောင်းအရာကို သေချာဖတ်ရန် အကြံပြုအပ်ပါသည်။
မှတ်ချက် သင်သည် ဤကဏ္ဍတွင်ဖော်ပြထားသည့် ညွှန်ကြားချက်များကို ပေးဆောင်သည့် https://bookc3.espressif.com/esp32c3 တွင် ရရှိနိုင်သော အွန်လိုင်းစာရွက်စာတမ်းများကို ကိုးကားနိုင်ပါသည်။
4.2.1 Linux တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းခြင်း။
ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်အတွက် လိုအပ်သော GNU ဖွံ့ဖြိုးတိုးတက်မှုနှင့် အမှားရှာပြင်သည့်ကိရိယာများသည် Linux စနစ်မှ ဇာတိဖြစ်သည်။ ထို့အပြင်၊ Linux ရှိ command-line terminal သည် အားကောင်းပြီး အသုံးပြုရလွယ်ကူသောကြောင့် ၎င်းသည် ESP32-C3 ဖွံ့ဖြိုးတိုးတက်မှုအတွက် အကောင်းဆုံးရွေးချယ်မှုတစ်ခုဖြစ်သည်။ သင်လုပ်နိုင်သည်
38 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

သင်နှစ်သက်သော Linux ဖြန့်ဖြူးမှုကို ရွေးချယ်ပါ၊ သို့သော် ကျွန်ုပ်တို့သည် Ubuntu သို့မဟုတ် အခြားသော Debianbased စနစ်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤကဏ္ဍသည် Ubuntu 20.04 တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်းဆိုင်ရာ လမ်းညွှန်ချက်ပေးပါသည်။
1. လိုအပ်သော အထုပ်များကို ထည့်သွင်းပါ။
terminal အသစ်ကိုဖွင့်ပြီး လိုအပ်သောပက်ကေ့ဂျ်များအားလုံးကို ထည့်သွင်းရန် အောက်ပါ command ကိုလုပ်ဆောင်ပါ။ ကွန်မန်းသည် ထည့်သွင်းပြီးသော ပက်ကေ့ဂျ်များကို အလိုအလျောက် ကျော်သွားပါမည်။
$ sudo apt-get install git wget flex bison gperf python3 python3-pip python3setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
အကြံပြုချက်များ သင်သည် အထက်ဖော်ပြပါအမိန့်အတွက် စီမံခန့်ခွဲသူအကောင့်နှင့် စကားဝှက်ကို အသုံးပြုရန် လိုအပ်သည်။ ပုံမှန်အားဖြင့်၊ စကားဝှက်ကို ထည့်သောအခါတွင် မည်သည့်အချက်အလက်ကိုမျှ ပြသမည်မဟုတ်ပါ။ လုပ်ငန်းစဉ်ကိုဆက်လက်ဆောင်ရွက်ရန် "Enter" ခလုတ်ကိုနှိပ်ပါ။
Git သည် ESP-IDF တွင် အဓိကကုဒ်စီမံခန့်ခွဲမှုကိရိယာတစ်ခုဖြစ်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို အောင်မြင်စွာသတ်မှတ်ပြီးနောက်၊ သင်သည် git မှတ်တမ်းအမိန့်ကို အသုံးပြုနိုင်သည်။ view ESP-IDF ကို ဖန်တီးပြီးကတည်းက ကုဒ်ပြောင်းလဲမှုအားလုံး။ ထို့အပြင်၊ Git ကို သီးခြားဗားရှင်းများနှင့် သက်ဆိုင်သည့် မှန်ကန်သောတူးလ်ကွင်းဆက်ကို ထည့်သွင်းရန်အတွက် လိုအပ်သော ဗားရှင်းအချက်အလက်ကို အတည်ပြုရန် ESP-IDF တွင်လည်း အသုံးပြုပါသည်။ Git နှင့်အတူ အခြားသော အရေးကြီးသော စနစ်ကိရိယာများ Python လည်း ပါဝင်သည်။ ESP-IDF သည် Python တွင်ရေးသားထားသော အလိုအလျောက်စနစ်ဆိုင်ရာ script မြောက်မြားစွာပါဝင်သည်။ CMake၊ Ninja-build နှင့် Ccache ကဲ့သို့သော ကိရိယာများကို C/C++ ပရောဂျက်များတွင် တွင်ကျယ်စွာ အသုံးပြုကြပြီး ESP-IDF တွင် မူရင်းကုဒ်စုစည်းမှုနှင့် တည်ဆောက်ရေးကိရိယာများအဖြစ် ဆောင်ရွက်ပါသည်။ libusb-1.0-0 နှင့် dfu-util တို့သည် USB အမှတ်စဉ် ဆက်သွယ်မှုနှင့် firmware လောင်ကျွမ်းခြင်းအတွက် အသုံးပြုသည့် အဓိက ဒရိုက်ဗာများဖြစ်သည်။ ဆော့ဖ်ဝဲလ်ပက်ကေ့ဂျ်များကို ထည့်သွင်းပြီးသည်နှင့် သင်သည် apt show ကို အသုံးပြုနိုင်သည်။ package တစ်ခုစီ၏ အသေးစိတ်ဖော်ပြချက်များကို ရယူရန် command ဟောင်းအတွက်ampGit tool အတွက် ဖော်ပြချက်အချက်အလက်ကို print ထုတ်ရန် apt show git ကိုသုံးပါ။
မေး- Python ဗားရှင်းကို မပံ့ပိုးရင် ဘာလုပ်ရမလဲ။ A- ESP-IDF v4.3 သည် v3.6 ထက်မနိမ့်သော Python ဗားရှင်း လိုအပ်သည်။ Ubuntu ၏ ဗားရှင်းအဟောင်းများအတွက်၊ ကျေးဇူးပြု၍ Python ၏ မြင့်မားသောဗားရှင်းကို ကိုယ်တိုင်ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းပြီး Python3 ကို မူရင်း Python ပတ်ဝန်းကျင်အဖြစ် သတ်မှတ်ပါ။ keyword update-alternatives python ကို ရှာဖွေခြင်းဖြင့် အသေးစိတ် လမ်းညွှန်ချက်များကို သင်ရှာဖွေနိုင်ပါသည်။
2. ESP-IDF သိုလှောင်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ပါ။
terminal ကိုဖွင့်ပြီး mkdir command ကို အသုံးပြု၍ သင်၏ home directory တွင် esp ဟု အမည်ပေးထားသော ဖိုင်တွဲတစ်ခုကို ဖန်တီးပါ။ သင်နှစ်သက်ပါက ဖိုင်တွဲအတွက် အခြားအမည်တစ်ခုကို ရွေးချယ်နိုင်ပါသည်။ ဖိုဒါထဲသို့ဝင်ရန် cd command ကိုသုံးပါ။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

$mkdir -p /esp $cd /esp
အောက်တွင်ပြထားသည့်အတိုင်း ESP-IDF repository code ကိုဒေါင်းလုဒ်လုပ်ရန် git clone command ကိုသုံးပါ-
$ git clone -b v4.3.2 –recursive https://github.com/espressif/esp-idf.git
အထက်ပါ command တွင်၊ parameter -b v4.3.2 သည် ဒေါင်းလုဒ်လုပ်ရန် ဗားရှင်းကို သတ်မှတ်သည် (ဤကိစ္စတွင်၊ ဗားရှင်း 4.3.2)။ ကန့်သတ်ချက် -recursive သည် ESP-IDF ၏ သိုလှောင်မှုခွဲများအားလုံးကို ထပ်ခါတလဲလဲ ဒေါင်းလုဒ်လုပ်ကြောင်း သေချာစေသည်။ sub-repositories များအကြောင်း အချက်အလက်များကို .gitmodules များတွင် တွေ့နိုင်ပါသည်။ file.
3. ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာ ကွင်းဆက်ကို ထည့်သွင်းပါ။
ကိရိယာကွင်းဆက်ကို ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းရန်အတွက် Espressif သည် အလိုအလျောက် script install.sh ကို ပံ့ပိုးပေးပါသည်။ ဤ script သည် လက်ရှိ ESP-IDF ဗားရှင်းနှင့် လည်ပတ်မှုစနစ် ပတ်ဝန်းကျင်ကို စစ်ဆေးပြီး Python tool packages နှင့် compilation tool chains များ၏ သင့်လျော်သောဗားရှင်းကို ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းပေးပါသည်။ ကိရိယာကွင်းဆက်အတွက် မူရင်းထည့်သွင်းမှုလမ်းကြောင်းသည် /.espressif ဖြစ်သည်။ သင်လုပ်ရန်လိုအပ်သည်မှာ esp-idf လမ်းညွှန်သို့သွား၍ install.sh ကိုဖွင့်ပါ။
$cd /esp/esp-idf $./install.sh
သင်ကိရိယာကွင်းဆက်ကို အောင်မြင်စွာထည့်သွင်းပါက၊ terminal သည် ပြသလိမ့်မည်-
အားလုံးပြီးပြီ။
ဤအချိန်တွင် သင်သည် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို အောင်မြင်စွာ သတ်မှတ်နိုင်ပါပြီ။
4.2.2 Windows တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းခြင်း။
1. ESP-IDF tools installer ကိုဒေါင်းလုဒ်လုပ်ပါ။
အကြံပြုချက် ၎င်းသည် Windows 10 နှင့်အထက်တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို သတ်မှတ်ရန် အကြံပြုထားသည်။ installer ကို https://dl.espressif.com/dl/esp-idf/ မှဒေါင်းလုဒ်လုပ်နိုင်ပါသည်။ installer သည် open-source software တစ်ခုဖြစ်ပြီး ၎င်း၏ source code လည်းဖြစ်နိုင်သည်။ viewhttps://github.com/espressif/idf-installer တွင် ed ။
· အွန်လိုင်း ESP-IDF ကိရိယာများ ထည့်သွင်းသူ
ဤထည့်သွင်းသူသည် အတော်လေးသေးငယ်ပြီး အရွယ်အစား 4 MB ဝန်းကျင်ရှိပြီး တပ်ဆင်မှုလုပ်ငန်းစဉ်အတွင်း အခြားပက်ကေ့ဂျ်များနှင့် ကုဒ်များကို ဒေါင်းလုဒ်လုပ်ပါမည်။ အာဗန်tage အွန်လိုင်းထည့်သွင်းသူ၏ e သည် တပ်ဆင်မှုလုပ်ငန်းစဉ်အတွင်း ဆော့ဖ်ဝဲလ်ပက်ကေ့ဂျ်များနှင့် ကုဒ်များကို လိုအပ်ချက်အရ ဒေါင်းလုဒ်လုပ်နိုင်ရုံသာမက ESP-IDF နှင့် GitHub ကုဒ်၏ နောက်ဆုံးထုတ်ခွဲများ (မာစတာဌာနခွဲကဲ့သို့သော) တို့ကိုလည်း ထည့်သွင်းခွင့်ပြုထားသည်။ . အယုတ်တမာtage သည် တပ်ဆင်မှုလုပ်ငန်းစဉ်အတွင်း ကွန်ရက်ချိတ်ဆက်မှုတစ်ခု လိုအပ်ပြီး ကွန်ရက်ပြဿနာများကြောင့် တပ်ဆင်မှု ချို့ယွင်းမှုဖြစ်စေနိုင်သည်။
40 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

· အော့ဖ်လိုင်း ESP-IDF ကိရိယာများ ထည့်သွင်းသူ ဤထည့်သွင်းသူသည် ပိုမိုကြီးမားပြီး၊ အရွယ်အစား 1 GB ခန့်ရှိပြီး ပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းရန်အတွက် လိုအပ်သည့် ဆော့ဖ်ဝဲလ်ပက်ကေ့ဂျ်များနှင့် ကုဒ်များ ပါဝင်သည်။ အဓိက advantagအော့ဖ်လိုင်းထည့်သွင်းသူ၏ e မှာ ၎င်းကို အင်တာနက်အသုံးပြုခွင့်မရှိဘဲ ကွန်ပျူတာများတွင် အသုံးပြုနိုင်ပြီး ယေဘုယျအားဖြင့် တပ်ဆင်မှုအောင်မြင်မှုနှုန်း ပိုမိုမြင့်မားသည်။ အော့ဖ်လိုင်းထည့်သွင်းသူသည် v*.* သို့မဟုတ် v*.*.* ဖြင့်သတ်မှတ်ထားသော ESP-IDF ၏တည်ငြိမ်သောထုတ်ဝေမှုများကိုသာ ထည့်သွင်းနိုင်သည်ကို သတိပြုသင့်သည်။
2. ESP-IDF ကိရိယာများ ထည့်သွင်းသည့်ကိရိယာကို လုပ်ဆောင်ပြီး ထည့်သွင်းသူ၏ သင့်လျော်သောဗားရှင်းကို ဒေါင်းလုဒ်ဆွဲပြီးနောက် (ယခင် ESP-IDF Tools အော့ဖ်လိုင်း 4.3.2 ကို ယူပါ။ampဒီမှာ) exe ကို နှစ်ချက်နှိပ်ပါ။ file ESP-IDF တပ်ဆင်မှု အင်တာဖေ့စ်ကို စတင်ရန်။ အော့ဖ်လိုင်းထည့်သွင်းသူအား အသုံးပြု၍ ESP-IDF တည်ငြိမ်သောဗားရှင်း v4.3.2 ကို မည်သို့ထည့်သွင်းရမည်ကို အောက်တွင်ဖော်ပြထားသည်။
(1) ပုံ 4.4 တွင်ပြသထားသည့် "တပ်ဆင်မှုဘာသာစကားကိုရွေးချယ်ပါ" မျက်နှာပြင်တွင်၊ drop-down စာရင်းမှအသုံးပြုမည့်ဘာသာစကားကိုရွေးချယ်ပါ။
ပုံ 4.4 ။ “တပ်ဆင်မှုဘာသာစကားကိုရွေးချယ်ပါ” အင်တာဖေ့စ် (၂) ဘာသာစကားကိုရွေးချယ်ပြီးနောက်၊ “လိုင်စင်သဘောတူညီချက်” မျက်နှာပြင်ပေါ်လာရန် “OK” ကိုနှိပ်ပါ။
(ပုံ 4.5 ကိုကြည့်ပါ)။ တပ်ဆင်လိုင်စင်သဘောတူညီချက်ကို သေချာဖတ်ပြီးနောက်၊ “I accept the agreement” ကိုရွေးချယ်ပြီး “Next” ကိုနှိပ်ပါ။
ပုံ 4.5 ။ “လိုင်စင်သဘောတူညီချက်” အင်တာဖေ့စ် အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၄၁

(၆) Review “Pre-installation system check” interface ရှိ စနစ်ဖွဲ့စည်းပုံ (ပုံ 4.6 ကိုကြည့်ပါ)။ Windows ဗားရှင်းနှင့် ထည့်သွင်းထားသော ဗိုင်းရပ်စ်ဆော့ဖ်ဝဲ အချက်အလက်ကို စစ်ဆေးပါ။ ဖွဲ့စည်းမှုဆိုင်ရာအရာအားလုံးပုံမှန်ဖြစ်လျှင် "Next" ကိုနှိပ်ပါ။ မဟုတ်ပါက၊ သင်သည် သော့ချက်အရာများအပေါ် အခြေခံ၍ ဖြေရှင်းချက်များအတွက် "မှတ်တမ်းအပြည့်အစုံ" ကိုနှိပ်နိုင်သည်။
ပုံ 4.6 ။ "မတပ်ဆင်မီ စနစ်စစ်ဆေးခြင်း" အင်တာဖေ့စ် အကြံပြုချက်
အကူအညီအတွက် သင်သည် https://github.com/espressif/idf-installer/issues သို့ မှတ်တမ်းများ ပေးပို့နိုင်ပါသည်။ (4) ESP-IDF တပ်ဆင်မှုလမ်းညွှန်ကို ရွေးပါ။ ဤနေရာတွင် ပြထားသည့်အတိုင်း D:/.espressif ကို ရွေးပါ။
ပုံ 4.7 တွင် “Next” ကိုနှိပ်ပါ။ ဤနေရာတွင် .espressif သည် လျှို့ဝှက်လမ်းညွှန်တစ်ခုဖြစ်ကြောင်း သတိပြုပါ။ Installation ပြီးသွားရင်တော့ သင်လုပ်နိုင်ပါတယ်။ view ဤလမ်းညွှန်ကိုဖွင့်ခြင်းဖြင့် သီးခြားအကြောင်းအရာများ file မန်နေဂျာနှင့် လျှို့ဝှက်ပစ္စည်းများကို ပြသခြင်း။
ပုံ ၄.၇။ ESP-IDF တပ်ဆင်မှုလမ်းညွှန် 4.7 ESP42-C32 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

(၅) ပုံ 5 တွင် ပြထားသည့်အတိုင်း တပ်ဆင်ရန် လိုအပ်သော အစိတ်အပိုင်းများကို စစ်ဆေးပါ။ ပုံသေရွေးချယ်မှုကို အသုံးပြုရန် အကြံပြုထားသည်၊ ဆိုလိုသည်မှာ တပ်ဆင်မှု အပြီးသတ်ပြီးနောက် “Next” ကိုနှိပ်ပါ။
ပုံ 4.8 ။ တပ်ဆင်ရန် အစိတ်အပိုင်းများကို ရွေးချယ်ပါ (၆) တပ်ဆင်ရမည့် အစိတ်အပိုင်းများကို အတည်ပြုပြီး အလိုအလျောက် စတင်ထည့်သွင်းရန် "Install" ကို နှိပ်ပါ။
ပုံ 4.9 တွင်ပြထားသည့်အတိုင်း stallation လုပ်ငန်းစဉ်။ တပ်ဆင်ခြင်းလုပ်ငန်းစဉ်သည် မိနစ်ဆယ်ချီကြာနိုင်ပြီး တပ်ဆင်ခြင်းလုပ်ငန်းစဉ်၏ တိုးတက်မှုဘားကို ပုံ 4.10 တွင် ပြထားသည်။ စိတ်ရှည်ရှည်နဲ့ စောင့်ပေးပါ။
ပုံ 4.9 ။ တပ်ဆင်ခြင်းအတွက် ပြင်ဆင်ခြင်း (7) တပ်ဆင်မှုပြီးပါက၊ “မှတ်ပုံတင်ရန် ESP-IDF ကို စစ်ဆေးရန် အကြံပြုအပ်ပါသည်။
ဗိုင်းရပ်စ်နှိမ်နင်းရေးဆော့ဖ်ဝဲကို ဖျက်ခြင်းမှ ကာကွယ်ရန် Windows Defender ချန်လှပ်ခြင်းများကို ဖယ်ထုတ်ထားသည့်အတိုင်း လုပ်ဆောင်နိုင်သော ကိရိယာများ file၎။ ဖယ်ထုတ်ထားသည့်အရာများကို ထည့်ခြင်းသည်လည်း ဗိုင်းရပ်စ်ပိုးကြောင့် မကြာခဏစကင်န်ဖတ်ခြင်းကို ကျော်သွားနိုင်သည်။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

ပုံ 4.10။ တပ်ဆင်ခြင်းဆိုင်ရာ တိုးတက်မှုဘားဆော့ဖ်ဝဲ၊၊ Windows စနစ်၏ ကုဒ်စုစည်းမှု ထိရောက်မှုကို များစွာတိုးတက်စေသည်။ ပုံ 4.11 တွင်ပြထားသည့်အတိုင်း ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်၏ တပ်ဆင်မှုကို အပြီးသတ်ရန် "Finish" ကိုနှိပ်ပါ။ "ESP-IDF PowerShell ပတ်၀န်းကျင်ကို Run" သို့မဟုတ် "ESP-IDF ညွှန်ကြားချက်ကိုဖွင့်ရန်" ကိုစစ်ဆေးရန် သင်ရွေးချယ်နိုင်ပါသည်။ ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင် ပုံမှန်အတိုင်း လုပ်ဆောင်ကြောင်း သေချာစေရန် ထည့်သွင်းပြီးနောက် စုစည်းမှုဝင်းဒိုးကို တိုက်ရိုက်လုပ်ဆောင်ပါ။
ပုံ 4.11။ တပ်ဆင်ခြင်း ပြီးမြောက်ခြင်း (8) ပရိုဂရမ်စာရင်းတွင် ထည့်သွင်းထားသော ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို ဖွင့်ပါ (ESP-IDF 4.3 ဖြစ်ဖြစ်၊
ပုံ 4.3 တွင်ပြထားသည့်အတိုင်း CMD သို့မဟုတ် ESP-IDF 4.12 PowerShell terminal) နှင့် terminal တွင်လုပ်ဆောင်နေချိန်တွင် ESP-IDF ပတ်ဝန်းကျင်ပြောင်းလဲမှုအား အလိုအလျောက်ထည့်သွင်းမည်ဖြစ်သည်။ ၎င်းနောက်၊ သင်သည် လည်ပတ်မှုများအတွက် idf.py အမိန့်ကို အသုံးပြုနိုင်သည်။ ဖွင့်လှစ်ထားသော ESP-IDF 4.3 CMD ကို ပုံ 4.13 တွင် ပြထားသည်။ 44 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

ပုံ 4.12။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်တွင် ထည့်သွင်းထားသည်။
ပုံ ၄.၁၃။ ESP-IDF 4.13 CMD
4.2.3 Mac တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းခြင်း။
Mac စနစ်တွင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို ထည့်သွင်းခြင်းလုပ်ငန်းစဉ်သည် Linux စနစ်တွင် ၎င်းနှင့် တူညီသည်။ သိုလှောင်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ပြီး tool chain ကိုထည့်သွင်းခြင်းအတွက် ညွှန်ကြားချက်များသည် အတိအကျတူညီပါသည်။ မှီခိုမှုပက်ကေ့ဂျ်များ ထည့်သွင်းခြင်းအတွက် ညွှန်ကြားချက်များသာလျှင် အနည်းငယ်ကွဲပြားပါသည်။ 1. မှီခိုမှုပက်ကေ့ဂျ်များကို ထည့်သွင်းပါ terminal ကိုဖွင့်ပြီး အောက်ပါ command ကို run ခြင်းဖြင့် Python package management tool pip ကို install လုပ်ပါ။
% sudo pip ကို လွယ်ကူစွာ ထည့်သွင်းပါ။
အောက်ဖော်ပြပါ command ကိုအသုံးပြုခြင်းဖြင့် macOS အတွက် ပက်ကေ့ဂျ်စီမံခန့်ခွဲမှုကိရိယာ Homebrew ကို ထည့်သွင်းပါ။
% /bin/bash -c “$(ဂurl -fsSL https://raw.githubusercontent.com/Homebrew/install/ HEAD/install.sh)"
အောက်ပါ command ကို run ခြင်းဖြင့် လိုအပ်သော မှီခိုမှု ပက်ကေ့ဂျ်များကို ထည့်သွင်းပါ။
% brew python3 တွင် cmake ninja ccache dfu-util ကို ထည့်သွင်းပါ။
2. ESP-IDF သိုလှောင်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ပါ ESP-IDF သိုလှောင်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ရန် အပိုင်း 4.2.1 တွင် ပေးထားသည့် ညွှန်ကြားချက်များကို လိုက်နာပါ။ အဆင့်များသည် Linux စနစ်တွင် ဒေါင်းလုဒ်လုပ်ခြင်းနှင့် အတူတူပင်ဖြစ်ပါသည်။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

3. ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာ ကွင်းဆက်ကို ထည့်သွင်းပါ။
ESP-IDF ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာကွင်းဆက်ကို ထည့်သွင်းရန် အပိုင်း 4.2.1 တွင် ပေးထားသည့် ညွှန်ကြားချက်များကို လိုက်နာပါ။ အဆင့်များသည် Linux စနစ်တွင် ထည့်သွင်းခြင်းအတွက် တူညီပါသည်။
4.2.4 VS ကုဒ်ကို ထည့်သွင်းခြင်း။
မူရင်းအားဖြင့်၊ ESP-IDF SDK တွင် ကုဒ်တည်းဖြတ်သည့်ကိရိယာ မပါဝင်ပါ (Windows အတွက် နောက်ဆုံးပေါ် ESP-IDF ထည့်သွင်းသူသည် ESP-IDF Eclipse တပ်ဆင်ရန် ရွေးချယ်ခွင့်ကို ပေးဆောင်သော်လည်း)။ ကုဒ်ကို တည်းဖြတ်ရန်နှင့် terminal commands များကို အသုံးပြု၍ compile လုပ်ရန် သင်နှစ်သက်သည့် မည်သည့်စာသားတည်းဖြတ်ရေးကိရိယာကိုမဆို အသုံးပြုနိုင်ပါသည်။
လူကြိုက်များသော ကုဒ်တည်းဖြတ်သည့်ကိရိယာတစ်ခုမှာ အသုံးပြုရလွယ်ကူသော မျက်နှာပြင်ပါရှိသော အခမဲ့ဖြစ်ပြီး ထူးခြားကောင်းမွန်သော ကုဒ်တည်းဖြတ်သည့် VS Code (Visual Studio Code) ဖြစ်သည်။ အမျိုးမျိုး ပေးထားပါတယ်။ plugins ကုဒ်လမ်းညွှန်ခြင်း၊ အထားအသိုအသားပေးဖော်ပြခြင်း၊ Git ဗားရှင်းထိန်းချုပ်ခြင်းနှင့် terminal ပေါင်းစပ်ခြင်းကဲ့သို့သော လုပ်ဆောင်ချက်များကို ပေးဆောင်သည်။ ထို့အပြင်၊ Espressif သည် VS Code အတွက် Espressif IDF ဟုခေါ်သော သီးခြား plugin တစ်ခုကို တီထွင်ထားပြီး၊ ၎င်းသည် ပရောဂျက်ဖွဲ့စည်းပုံနှင့် အမှားရှာပြင်ခြင်းကို ရိုးရှင်းစေသည်။
VS Code တွင် လက်ရှိဖိုဒါကို အမြန်ဖွင့်ရန် terminal ရှိ ကုဒ်အမိန့်ကို သင်သုံးနိုင်သည်။ တနည်းအားဖြင့်၊ သင်သည် VS Code အတွင်း စနစ်၏ မူရင်း terminal console ကိုဖွင့်ရန် ဖြတ်လမ်း Ctrl+ ကိုသုံးနိုင်သည်။
အကြံပြုချက် ESP32-C3 ကုဒ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် VS ကုဒ်ကို အသုံးပြုရန် အကြံပြုထားသည်။ https://code.visualstudio.com/ တွင် VS Code ၏ နောက်ဆုံးဗားရှင်းကို ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းပါ။
4.2.5 Third-Party Development Environments နိဒါန်း
C ဘာသာစကားကို အဓိကအသုံးပြုသည့် တရားဝင် ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှု ပတ်ဝန်းကျင်အပြင် ESP32-C3 သည် အခြားသော ပင်မပရိုဂရမ်းမင်းဘာသာစကားများနှင့် ပြင်ပအဖွဲ့အစည်း ဖွံ့ဖြိုးတိုးတက်ရေးဆိုင်ရာ ကျယ်ပြန့်သော ပတ်ဝန်းကျင်ကိုလည်း ပံ့ပိုးပေးပါသည်။ အချို့သော ထင်ရှားသော ရွေးချယ်မှုများ ပါဝင်သည်-
Arduino- ESP32-C3 အပါအဝင် အမျိုးမျိုးသော မိုက်ခရိုကွန်ထရိုလာများကို ပံ့ပိုးပေးသည့် ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲနှစ်ခုလုံးအတွက် ပွင့်လင်းအရင်းအမြစ်ပလပ်ဖောင်းတစ်ခု။
၎င်းသည် C++ ဘာသာစကားကို အသုံးပြုပြီး Arduino ဘာသာစကားဟု အများအားဖြင့် ခေါ်ဆိုသော ရိုးရှင်းပြီး စံပြုထားသော API ကို ပေးဆောင်သည်။ Arduino ကို ရှေ့ပြေးပုံစံ ဖွံ့ဖြိုးတိုးတက်မှုနှင့် ပညာရေးဆိုင်ရာ အကြောင်းအရာများတွင် တွင်ကျယ်စွာ အသုံးပြုပါသည်။ ၎င်းသည် လွယ်ကူစွာစုစည်းခြင်းနှင့် flashing ပြုလုပ်နိုင်စေမည့် တိုးချဲ့နိုင်သော software package နှင့် IDE တစ်ခုတို့ကို ပံ့ပိုးပေးပါသည်။
MicroPython- ထည့်သွင်းထားသော မိုက်ခရိုကွန်ထရိုလာပလက်ဖောင်းများတွင် အလုပ်လုပ်ရန် ဒီဇိုင်းထုတ်ထားသည့် Python 3 ဘာသာစကား စကားပြန်။
ရိုးရှင်းသော ဇာတ်ညွှန်းဘာသာစကားဖြင့်၊ ၎င်းသည် ESP32-C3 ၏ အရံအရင်းအမြစ်များ (ဥပမာ UART၊ SPI နှင့် I2C) နှင့် ဆက်သွယ်ရေးလုပ်ဆောင်ချက်များ (ဥပမာ Wi-Fi နှင့် Bluetooth LE ကဲ့သို့) တိုက်ရိုက်ဝင်ရောက်နိုင်သည်။
46 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

၎င်းသည် ဟာ့ဒ်ဝဲ အပြန်အလှန်ဆက်သွယ်မှုကို ရိုးရှင်းစေသည်။ MicroPython သည် Python ၏ကျယ်ပြန့်သောသင်္ချာလုပ်ငန်းဆောင်တာစာကြည့်တိုက်နှင့်ပေါင်းစပ်ထားသောကြောင့် ESP32-C3 တွင်ရှုပ်ထွေးသော algorithms များကိုအကောင်အထည်ဖော်နိုင်စေပြီး AI နှင့်ပတ်သက်သောအသုံးချပရိုဂရမ်များကိုဖွံ့ဖြိုးတိုးတက်စေရန်ကူညီပေးသည်။ script language တစ်ခုအနေဖြင့်၊ ထပ်ခါတလဲလဲ စုစည်းရန် မလိုအပ်ပါ။ ပြုပြင်မွမ်းမံမှုများ ပြုလုပ်နိုင်ပြီး ဇာတ်ညွှန်းများကို တိုက်ရိုက်လုပ်ဆောင်နိုင်သည်။
NodeMCU- ESP စီးရီးချစ်ပ်များအတွက် ဖန်တီးထားသည့် LUA ဘာသာစကား စကားပြန်။
၎င်းသည် ESP ချစ်ပ်များ၏ အရံလုပ်ဆောင်ချက်အားလုံးနီးပါးကို ထောက်ပံ့ပေးပြီး MicroPython ထက် ပိုမိုပေါ့ပါးသည်။ MicroPython နှင့်ဆင်တူသည်၊ NodeMCU သည် ထပ်ခါတလဲလဲ စုစည်းမှုလိုအပ်မှုကို ဖယ်ရှားပေးကာ script language ကိုအသုံးပြုသည်။
ထို့အပြင် ESP32-C3 သည်လည်း NuttX နှင့် Zephyr လည်ပတ်မှုစနစ်များကို ပံ့ပိုးပေးပါသည်။ NuttX သည် POSIX-သဟဇာတရှိသော အင်တာဖေ့စ်များကို ပံ့ပိုးပေးသော အချိန်နှင့်တပြေးညီ လည်ပတ်မှုစနစ်တစ်ခုဖြစ်ပြီး အပလီကေးရှင်းသယ်ဆောင်ရလွယ်ကူစေသည်။ Zephyr သည် IoT အက်ပလီကေးရှင်းများအတွက် အထူးဒီဇိုင်းထုတ်ထားသော သေးငယ်သော အချိန်နှင့်တစ်ပြေးညီ လည်ပတ်မှုစနစ်တစ်ခုဖြစ်သည်။ ၎င်းတွင် IoT ဖွံ့ဖြိုးတိုးတက်မှုအတွက် လိုအပ်သော ဆော့ဖ်ဝဲလ်စာကြည့်တိုက် အများအပြားပါဝင်ပြီး ကျယ်ကျယ်ပြန့်ပြန့် ဆော့ဖ်ဝဲလ်ဂေဟစနစ်သို့ တဖြည်းဖြည်း ပြောင်းလဲလာသည်။
ဤစာအုပ်သည် အထက်ဖော်ပြပါ ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်အတွက် အသေးစိတ်တပ်ဆင်လမ်းညွှန်ချက်များကို မဖော်ပြထားပါ။ သက်ဆိုင်ရာ စာရွက်စာတမ်းနှင့် ညွှန်ကြားချက်များကို လိုက်နာခြင်းဖြင့် သင့်လိုအပ်ချက်များအပေါ် အခြေခံ၍ ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို ထည့်သွင်းနိုင်သည်။
4.3 ESP-IDF စုစည်းမှုစနစ်
4.3.1 စုစည်းမှုစနစ်၏ အခြေခံသဘောတရားများ
ESP-IDF ပရောဂျက်သည် entry function နှင့် သီးခြားလုပ်ဆောင်နိုင်သော အစိတ်အပိုင်းများစွာပါရှိသော ပင်မပရိုဂရမ်တစ်ခု၏ စုစည်းမှုတစ်ခုဖြစ်သည်။ ဟောင်းအတွက်ample၊ LED ခလုတ်များကို ထိန်းချုပ်သည့် ပရောဂျက်တွင် အဓိကအားဖြင့် ဝင်ခွင့်ပရိုဂရမ် ပင်မနှင့် GPIO ထိန်းချုပ်သည့် ဒရိုင်ဘာအစိတ်အပိုင်းတို့ ပါဝင်ပါသည်။ LED အဝေးထိန်းခလုတ်ကို သိရှိလိုပါက၊ Wi-Fi၊ TCP/IP ပရိုတိုကော stack စသည်တို့ကိုလည်း ထည့်သွင်းရန် လိုအပ်ပါသည်။
compilation system သည် compile, link, and generateable fileအဆောက်အဦစည်းမျဉ်းအစုံမှတဆင့် ကုဒ်အတွက် s (.bin)။ ESP-IDF v4.0 နှင့် အထက်ဗားရှင်းများ၏ စုစည်းမှုစနစ်သည် မူရင်းအားဖြင့် CMake ကို အခြေခံထားပြီး စုစည်းမှု script CMakeLists.txt ကို ကုဒ်၏စုစည်းမှုအပြုအမူကို ထိန်းချုပ်ရန်အတွက် အသုံးပြုနိုင်သည်။ CMake ၏ အခြေခံအထားအသိုကို ပံ့ပိုးပေးသည့်အပြင်၊ ESP-IDF စုစည်းမှုစနစ်သည် ပုံသေစုစည်းမှုစည်းမျဉ်းများနှင့် CMake လုပ်ဆောင်ချက်များကို သတ်မှတ်ပေးထားပြီး ရိုးရှင်းသောထုတ်ပြန်ချက်များနှင့် စုစည်းရေးသားနိုင်သည်။
စီမံကိန်း ၄ File ဖွဲ့စည်းပုံ
ပရောဂျက်တစ်ခုသည် ဝင်ရောက်မှုပရိုဂရမ်၏ ပင်မ၊ အသုံးပြုသူသတ်မှတ်ထားသော အစိတ်အပိုင်းများနှင့် ပါဝင်သော ဖိုင်တွဲတစ်ခုဖြစ်သည်။ filecompilation scripts, configuration ကဲ့သို့သော executable applications များတည်ဆောက်ရန် လိုအပ်သည်။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

files၊ partition tables စသည်တို့သည် ပရောဂျက်များကို ကူးယူ၍ ပေးပို့နိုင်ပြီး၊ အလားတူ လုပ်ဆောင်နိုင်သည် file ESP-IDF ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်၏ တူညီသောဗားရှင်းဖြင့် စက်များတွင် စုစည်း၍ ထုတ်လုပ်နိုင်သည်။ ပုံမှန် ESP-IDF ပရောဂျက်တစ်ခု file ဖွဲ့စည်းပုံကို ပုံ 4.14 တွင် ပြထားသည်။
ပုံ 4.14 ။ ပုံမှန် ESP-IDF ပရောဂျက် file ESP-IDF သည် ESP32၊ ESP32-S စီးရီး၊ ESP32-C စီးရီး၊ ESP32-H စီးရီးစသည်ဖြင့် Espressif မှ Espressif မှ IoT ချစ်ပ်အများအပြားကို ပံ့ပိုးပေးသောကြောင့်၊ ကုဒ်မပြုစုမီ ပစ်မှတ်ကို ဆုံးဖြတ်ရန် လိုအပ်ပါသည်။ ပစ်မှတ်သည် အပလီကေးရှင်းပရိုဂရမ်ကို လုပ်ဆောင်သည့် ဟာ့ဒ်ဝဲစက်ပစ္စည်းနှင့် စုစည်းမှုစနစ်၏ တည်ဆောက်ရေးပစ်မှတ်ဖြစ်သည်။ သင့်လိုအပ်ချက်ပေါ်မူတည်၍ သင့်ပရောဂျက်အတွက် ပစ်မှတ်တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ပစ်မှတ်များကို သင်သတ်မှတ်နိုင်ပါသည်။ ဟောင်းအတွက်ample၊ command idf.py set-target esp32c3 မှတဆင့်၊ သင်သည် ESP32C3 အတွက် ပုံသေပါရာမီတာများနှင့် စုစည်းမှုတူးလ်လမ်းကြောင်းကို ESP32C3 အတွက် စုစည်းမှုပစ်မှတ်ကို ESP32-C3 သို့ သတ်မှတ်နိုင်ပါသည်။ စုစည်းပြီးနောက်၊ ESPXNUMXCXNUMX အတွက် လည်ပတ်နိုင်သော ပရိုဂရမ်တစ်ခုကို ထုတ်ပေးနိုင်သည်။ မတူညီသောပစ်မှတ်တစ်ခုကို သတ်မှတ်ရန် အမိန့်ပေးသတ်မှတ်-ပစ်မှတ်ကိုလည်း ထပ်မံလုပ်ဆောင်နိုင်ပြီး စုစည်းမှုစနစ်သည် အလိုအလျောက် ရှင်းလင်းပြီး ပြန်လည်ဖွဲ့စည်းမည်ဖြစ်သည်။ အစိတ်အပိုင်းများ
ESP-IDF ရှိ အစိတ်အပိုင်းများသည် စုစည်းမှုစနစ်အတွင်း စီမံခန့်ခွဲသည့် မော်ဂျူလာနှင့် သီးခြားကုဒ်ယူနစ်များဖြစ်သည်။ ၎င်းတို့ကို ဖိုင်တွဲများအဖြစ် ဖွဲ့စည်းထားပြီး၊ ဖိုင်တွဲအမည်သည် ပုံမှန်အားဖြင့် အစိတ်အပိုင်းအမည်ကို ကိုယ်စားပြုသည်။ အစိတ်အပိုင်းတစ်ခုစီတွင် 48 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်ချက်တစ်ခုစီတွင် ၎င်း၏ကိုယ်ပိုင်စုစည်းမှု script ပါရှိသည်။

၎င်း၏ စုစည်းမှုဘောင်များနှင့် မှီခိုမှုကို သတ်မှတ်သည်။ စုစည်းမှုလုပ်ငန်းစဉ်အတွင်း၊ အစိတ်အပိုင်းများကို သီးခြားအငြိမ်စာကြည့်တိုက်များအဖြစ် စုစည်းထားပါသည် (.a file၎) နောက်ဆုံးတွင် လျှောက်လွှာပရိုဂရမ်ကို ဖွဲ့စည်းရန် အခြားအစိတ်အပိုင်းများနှင့် ပေါင်းစပ်ထားသည်။
ESP-IDF သည် အစိတ်အပိုင်းများပုံစံဖြင့် လည်ပတ်မှုစနစ်၊ အရံဒရိုင်ဘာများနှင့် ကွန်ရက်ပရိုတိုကောစတက်များကဲ့သို့သော မရှိမဖြစ်လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးပါသည်။ ဤအစိတ်အပိုင်းများကို ESP-IDF root directory အတွင်းရှိ အစိတ်အပိုင်းများလမ်းညွှန်တွင် သိမ်းဆည်းထားသည်။ ဆော့ဖ်ဝဲရေးသားသူများသည် ဤအစိတ်အပိုင်းများကို myProject ၏ အစိတ်အပိုင်းများလမ်းညွှန်သို့ ကူးယူရန် မလိုအပ်ပါ။ ယင်းအစား၊ ပရောဂျက်၏ CMakeLists.txt တွင် ဤအစိတ်အပိုင်းများ၏ မှီခိုဆက်ဆံရေးများကိုသာ သတ်မှတ်ရန် လိုအပ်သည် file REQUIRES သို့မဟုတ် PRIV_REQUIRES ညွှန်ကြားချက်များကို အသုံးပြုခြင်း။ စုစည်းမှုစနစ်သည် လိုအပ်သော အစိတ်အပိုင်းများကို အလိုအလျောက် ရှာဖွေပြီး စုစည်းပေးမည်ဖြစ်သည်။
ထို့ကြောင့်၊ myProject အောက်ရှိ အစိတ်အပိုင်းများလမ်းညွှန်သည် မလိုအပ်ပါ။ ပရောဂျက်၏ စိတ်ကြိုက်အစိတ်အပိုင်းအချို့ကို ထည့်သွင်းရန်အတွက်သာ ၎င်းကို ပြင်ပကုမ္ပဏီစာကြည့်တိုက်များ သို့မဟုတ် အသုံးပြုသူသတ်မှတ်ထားသောကုဒ်များ ဖြစ်နိုင်သည်။ ထို့အပြင်၊ အစိတ်အပိုင်းများကို ESP-IDF မှလွဲ၍ အခြားမည်သည့်လမ်းညွှန်မှမဆို သို့မဟုတ် လက်ရှိပရောဂျက်၊ အခြားလမ်းညွှန်တွင်သိမ်းဆည်းထားသော open-source ပရောဂျက်မှ အရင်းအမြစ်များကို ရယူနိုင်ပါသည်။ ဤကိစ္စတွင်၊ သင်သည် root directory အောက်ရှိ CMakeLists.txt တွင် EXTRA_COMPONENT_DIRS variable ကို သတ်မှတ်ခြင်းဖြင့် အစိတ်အပိုင်း၏လမ်းကြောင်းကို ထည့်ရန်သာလိုသည်။ ဤလမ်းညွှန်ချက်သည် အမည်တူ ESP-IDF အစိတ်အပိုင်းတစ်ခုခုကို အစားထိုးမည်ဖြစ်ပြီး မှန်ကန်သောအစိတ်အပိုင်းကို အသုံးပြုထားကြောင်း သေချာစေမည်ဖြစ်သည်။
ဝင်ခွင့်ပရိုဂရမ် ပင်မ ပရောဂျက်အတွင်း ပင်မလမ်းညွှန်ချက်သည် တူညီသည်။ file အခြားသော အစိတ်အပိုင်းများကဲ့သို့ တည်ဆောက်ပုံ (ဥပမာ၊ အစိတ်အပိုင်း ၁)။ သို့ရာတွင်၊ ၎င်းသည် ပရောဂျက်တိုင်းတွင် မရှိမဖြစ်လိုအပ်သော အစိတ်အပိုင်းတစ်ခုဖြစ်သောကြောင့် အထူးအရေးပါမှုရှိသည်။ ပင်မလမ်းညွှန်တွင် အများအားဖြင့် app_main အမည်ရှိ ပရောဂျက်၏ အရင်းအမြစ်ကုဒ်နှင့် အသုံးပြုသူပရိုဂရမ်၏ ဝင်ခွင့်အမှတ်တို့ ပါဝင်ပါသည်။ ပုံမှန်အားဖြင့်၊ အသုံးပြုသူပရိုဂရမ်ကို အကောင်အထည်ဖော်မှုသည် ဤဝင်ပေါက်အမှတ်မှ စတင်သည်။ အဓိက အစိတ်အပိုင်းသည် ရှာဖွေမှုလမ်းကြောင်းအတွင်းရှိ အစိတ်အပိုင်းအားလုံးပေါ်တွင် အလိုအလျောက်မူတည်သောကြောင့် ကွဲပြားသည်။ ထို့ကြောင့်၊ CMakeLists.txt ရှိ REQUIRES သို့မဟုတ် PRIV_REQUIRES ညွှန်ကြားချက်များကို အသုံးပြု၍ မှီခိုမှုများအား အတိအလင်းဖော်ပြရန် မလိုအပ်ပါ။ file.
ဖွဲ့စည်းမှု file ပရောဂျက်၏ အမြစ်လမ်းညွှန်တွင် ဖွဲ့စည်းမှုပုံစံတစ်ခုပါရှိသည်။ file sdkconfig ဟုခေါ်သော၊ ပရောဂျက်အတွင်းရှိ အစိတ်အပိုင်းအားလုံးအတွက် ဖွဲ့စည်းမှုဘောင်များပါရှိသည်။ sdkconfig file compilation system မှ အလိုအလျောက် ထုတ်ပေးပြီး command idf.py menuconfig ဖြင့် ပြင်ဆင်ပြီး ပြန်လည်ထုတ်လုပ်နိုင်ပါသည်။ menuconfig ရွေးချယ်မှုများသည် အဓိကအားဖြင့် ပရောဂျက်၏ Kconfig.projbuild နှင့် အစိတ်အပိုင်းများ၏ Kconfig တို့မှ အစပြုပါသည်။ အစိတ်အပိုင်း ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် ယေဘုယျအားဖြင့် အစိတ်အပိုင်းကို လိုက်လျောညီထွေရှိပြီး ပြင်ဆင်သတ်မှတ်နိုင်စေရန် Kconfig တွင် ဖွဲ့စည်းမှုအကြောင်းအရာများကို ပေါင်းထည့်ပါသည်။
Build directory ပုံမှန်အားဖြင့်၊ ပရောဂျက်အတွင်း တည်ဆောက်မှုလမ်းညွှန်သည် အလယ်အလတ်ကို သိမ်းဆည်းထားသည်။ files နှင့် fi-
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

idf.py build command မှ ထုတ်ပေးသော လည်ပတ်နိုင်သော ပရိုဂရမ်များ။ ယေဘုယျအားဖြင့်၊ တည်ဆောက်မှုလမ်းညွှန်၏ အကြောင်းအရာများကို တိုက်ရိုက်ဝင်ရောက်ရန် မလိုအပ်ပါ။ ESP-IDF သည် စုစည်းထားသော binary ကို အလိုအလျောက်ရှာဖွေရန် idf.py flash command ကိုအသုံးပြုခြင်းကဲ့သို့သော directory နှင့် အပြန်အလှန်အကျိုးသက်ရောက်ရန် ကြိုတင်သတ်မှတ်ထားသော command များကို ပံ့ပိုးပေးသည် file ပြီးလျှင် ၎င်းကို သတ်မှတ်ထားသော flash လိပ်စာသို့ flash သို့မဟုတ် idf.py fullclean command ကို အသုံးပြု၍ build directory တစ်ခုလုံးကို ရှင်းလင်းရန်။
အပိုင်းပိုင်းဇယား (partitions.csv) ပရောဂျက်တစ်ခုစီသည် flash ၏နေရာကို ပိုင်းခြားပြီး executable program နှင့် user data space ၏ အရွယ်အစားနှင့် စတင်သည့်လိပ်စာကို သတ်မှတ်ရန် partition table တစ်ခု လိုအပ်သည်။ Command idf.py flash သို့မဟုတ် OTA အဆင့်မြှင့်တင်မှုပရိုဂရမ်သည် ဤဇယားအရ သက်ဆိုင်ရာလိပ်စာသို့ firmware ကို flash ပေးလိမ့်မည်။ ESP-IDF သည် menuconfig တွင် ရွေးချယ်နိုင်သည့် partitions_singleapp.csv နှင့် partitions_two_ ota.csv ကဲ့သို့သော အစိတ်အပိုင်းများ/ partition_table တွင် ပုံသေအပိုင်းခွဲဇယားများကို ပံ့ပိုးပေးပါသည်။
စနစ်၏ ပုံသေအပိုင်းခွဲဇယားသည် ပရောဂျက်၏လိုအပ်ချက်များနှင့် မကိုက်ညီပါက၊ စိတ်ကြိုက် partitions.csv ကို ပရောဂျက်လမ်းညွှန်တွင် ထည့်သွင်းနိုင်ပြီး menuconfig တွင် ရွေးချယ်နိုင်သည်။
4.3.3 စုစည်းမှုစနစ်၏ ပုံသေတည်ဆောက်မှုစည်းမျဉ်းများ
အစိတ်အပိုင်းများကို အမည်တူ အစိတ်အပိုင်းများကို အစားထိုးခြင်းအတွက် စည်းမျဉ်းများ အစိတ်အပိုင်းရှာဖွေမှုလုပ်ငန်းစဉ်အတွင်း၊ စုစည်းမှုစနစ်သည် တိကျသောအမှာစာကို လိုက်နာသည်။ ၎င်းသည် ESP-IDF ၏ အတွင်းပိုင်းအစိတ်အပိုင်းများကို ဦးစွာရှာဖွေပြီးနောက် အသုံးပြုသူပရောဂျက်၏ အစိတ်အပိုင်းများကို ရှာဖွေကာ EXTRA_COMPONENT_DIRS အတွင်းရှိ အစိတ်အပိုင်းများကို ရှာဖွေသည်။ လမ်းညွှန်အများအပြားတွင် အမည်တူ အစိတ်အပိုင်းများပါရှိသည့် ကိစ္စများတွင်၊ နောက်ဆုံးလမ်းညွှန်တွင် တွေ့ရသည့် အစိတ်အပိုင်းသည် အမည်တူသော ယခင်အစိတ်အပိုင်းများကို အစားထိုးမည်ဖြစ်သည်။ ဤစည်းမျဉ်းသည် မူလ ESP-IDF ကုဒ်ကို နဂိုအတိုင်းထားရှိပြီး အသုံးပြုသူပရောဂျက်အတွင်း ESP-IDF အစိတ်အပိုင်းများကို စိတ်ကြိုက်ပြင်ဆင်နိုင်စေပါသည်။
အပိုင်း 4.3.2 တွင် ဖော်ပြထားသည့်အတိုင်း ပုံမှန်အားဖြင့် ဘုံအစိတ်အပိုင်းများပါဝင်ခြင်းအတွက် စည်းမျဉ်းများ၊ အစိတ်အပိုင်းများသည် CMakeLists.txt ရှိ အခြားအစိတ်အပိုင်းများအပေါ် ၎င်းတို့၏မှီခိုမှုကို အတိအလင်း သတ်မှတ်ရန် လိုအပ်သည်။ သို့သော်၊ ၎င်းတို့၏မှီခိုမှုဆက်ဆံရေးများကို compilation script တွင် ပြတ်သားစွာမသတ်မှတ်ထားသော်လည်း၊ freertos ကဲ့သို့သော ဘုံအစိတ်အပိုင်းများကို တည်ဆောက်စနစ်တွင် အလိုအလျောက်ထည့်သွင်းထားသည်။ ESP-IDF ၏ ဘုံအစိတ်အပိုင်းများတွင် freertos၊ Newlib၊ heap၊ log၊ soc၊ esp_rom၊ esp_common၊ xtensa/riscv နှင့် cxx တို့ ပါဝင်သည်။ ဤအသုံးများသော အစိတ်အပိုင်းများကို အသုံးပြုခြင်းသည် CMakeLists.txt ကို ရေးသားသည့်အခါ ထပ်တလဲလဲ အလုပ်များကို ရှောင်ရှားပြီး ပိုမိုတိုတောင်းစေပါသည်။
စည်းမျဥ်းဖွဲ့စည်းမှုဆိုင်ရာ အရာများကို ကျော်လွန်ခြင်းအတွက် စည်းမျဉ်းများ Developers များသည် ပုံသေဖွဲ့စည်းပုံပုံစံကို ထည့်သွင်းခြင်းဖြင့် ပုံသေဖွဲ့စည်းမှုဘောင်များကို ထည့်သွင်းနိုင်သည် file ပရောဂျက်အတွက် sdkconfig.defaults ဟု အမည်ပေးထားသည်။ ဟောင်းအတွက်ample၊ CONFIG_LOG_ ထည့်နေသည်
50 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

DEFAULT_LEVEL_NONE = y သည် ပုံမှန်အားဖြင့် မှတ်တမ်းဒေတာကို ပရင့်ထုတ်ခြင်းမပြုရန် UART အင်တာဖေ့စ်ကို ပြင်ဆင်သတ်မှတ်နိုင်သည်။ ထို့အပြင်၊ သီးခြားပစ်မှတ်တစ်ခုအတွက် သီးခြားသတ်မှတ်ချက်များကို သတ်မှတ်ရန်လိုအပ်ပါက၊ ဖွဲ့စည်းမှုပုံစံတစ်ခုဖြစ်သည်။ file sdkconfig.defaults.TARGET_NAME ဟု အမည်ပေးထားပြီး TARGET_NAME သည် esp32s2၊ esp32c3 စသည်ဖြင့် ဖြစ်နိုင်သည်။ ဤအရာများဖွဲ့စည်းမှု files ကို စုစည်းမှုအတွင်း sdkconfig တွင် ယေဘုယျ ပုံသေပုံစံဖြင့် ထည့်သွင်းထားသည်။ file sdkconfig. ပုံသေများကို ဦးစွာတင်သွင်းနေပြီး၊ နောက်တွင် ပစ်မှတ်-သတ်သတ်မှတ်မှတ်ဖွဲ့စည်းမှုဖြင့် filesdkconfig.defaults.esp32c3 ကဲ့သို့သော၊ တူညီသောအမည်ဖြင့် ဖွဲ့စည်းမှုဆိုင်ရာအရာများ ရှိသည့်ကိစ္စများတွင်၊ နောက်ဆုံးဖွဲ့စည်းမှုပုံစံ file ဟောင်းကို လွှမ်းမိုးလိမ့်မည်။
4.3.4 Compilation Script နိဒါန်း
ESP-IDF ကို အသုံးပြု၍ ပရောဂျက်တစ်ခုကို ရေးဆွဲသည့်အခါ၊ developer များသည် အရင်းအမြစ်ကုဒ်ကို ရေးသားရုံသာမက ပရောဂျက်နှင့် အစိတ်အပိုင်းများအတွက် CMakeLists.txt ကိုလည်း ရေးသားရန် လိုအပ်ပါသည်။ CMakeLists.txt သည် စာသားတစ်ခုဖြစ်သည်။ filecompilation script ဟုလည်းလူသိများသော၊ စုစည်းမှုအရာဝတ္ထုများ၏စီးရီးများ၊ စုစည်းဖွဲ့စည်းမှုဆိုင်ရာအရာများနှင့် source code ၏စုစည်းမှုလုပ်ငန်းစဉ်ကိုလမ်းညွှန်ရန် commands များကိုသတ်မှတ်ပေးသည်။ ESP-IDF v4.3.2 ၏စုစည်းမှုစနစ်သည် CMake ကိုအခြေခံသည်။ မူရင်း CMake လုပ်ဆောင်ချက်များနှင့် အမိန့်များကို ပံ့ပိုးပေးသည့်အပြင်၊ ၎င်းသည် စုစည်းမှု scripts များကို ရေးသားရန် ပိုမိုလွယ်ကူစေမည့် စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို ဆက်တိုက်သတ်မှတ်ပေးပါသည်။
ESP-IDF ရှိ စုစည်းမှု scripts များတွင် အဓိကအားဖြင့် project compilation script နှင့် component compilation scripts များ ပါဝင်သည်။ ပရောဂျက်၏ အမြစ်လမ်းညွှန်ရှိ CMakeLists.txt ကို ပရောဂျက်တစ်ခုလုံး၏ စုစည်းမှုလုပ်ငန်းစဉ်ကို လမ်းညွှန်ပေးသည့် ပရောဂျက်စုစည်းမှု script ဟုခေါ်သည်။ အခြေခံပရောဂျက်စုစည်းမှု script တွင် ပုံမှန်အားဖြင့် အောက်ပါစာကြောင်းသုံးကြောင်းပါရှိသည်။
1. cmake_minimum_required(VERSION 3.5) 2. include($ENV{IDF_PATH}/tools/cmake/project.cmake) 3. ပရောဂျက်(myProject)
၎င်းတို့တွင်၊ cmake_minimum_required (VERSION 3.5) ကို ပရောဂျက်အတွက် လိုအပ်သော အနည်းဆုံး CMake ဗားရှင်းနံပါတ်ကိုညွှန်ပြရန်အတွက် အသုံးပြုသည့် ပထမစာကြောင်းတွင် ထားရှိရပါမည်။ CMake ၏ အသစ်ထွက်ဗားရှင်းများသည် ယေဘုယျအားဖြင့် အဟောင်းဗားရှင်းများနှင့် တွဲဖက်အသုံးပြုနိုင်သောကြောင့် လိုက်ဖက်ညီမှုရှိစေရန် CMake command အသစ်များကို အသုံးပြုသည့်အခါ ဗားရှင်းနံပါတ်ကို ချိန်ညှိပါ။
include($ENV {IDF_PATH}/tools/cmake/project.cmake) သည် အပိုင်း 4.3.3 တွင်ဖော်ပြထားသည့် စုစည်းစနစ်၏ ပုံသေတည်ဆောက်မှုစည်းမျဉ်းများအပါအဝင် ESP-IDF စုစည်းမှုစနစ်၏ ကြိုတင်သတ်မှတ်ထားသော စည်းမျဥ်းစည်းမှုဆိုင်ရာအရာများနှင့် အမိန့်ပေးချက်များကို တင်သွင်းပါသည်။ ပရောဂျက်(myProject)သည် ပရောဂျက်ကို ကိုယ်တိုင်ဖန်တီးပြီး ၎င်း၏အမည်ကို သတ်မှတ်သည်။ ဤအမည်ကို နောက်ဆုံးထွက်ရှိဒွိနရီအဖြစ် အသုံးပြုပါမည်။ file အမည်၊ ဥပမာ၊ myProject.elf နှင့် myProject.bin။
ပရောဂျက်တစ်ခုတွင် အဓိကအစိတ်အပိုင်းအပါအဝင် အစိတ်အပိုင်းများစွာ ပါဝင်နိုင်သည်။ အစိတ်အပိုင်းတစ်ခုစီ၏ ထိပ်တန်းအဆင့်လမ်းညွှန်တွင် CMakeLists.txt ပါရှိသည်။ filecomponent compilation script ဟုခေါ်သည်။ အစိတ်အပိုင်း စုစည်းမှု script များကို အဓိကအားဖြင့် အစိတ်အပိုင်း မှီခိုမှု၊ ဖွဲ့စည်းမှုဆိုင်ရာ ကန့်သတ်ချက်များ၊ အရင်းအမြစ်ကုဒ်ကို သတ်မှတ်ရန် အဓိကအသုံးပြုသည် files နှင့် ခေါင်းစီး ပါဝင်သည်။ files အတွက်
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

စုစည်းမှု။ ESP-IDF ၏ စိတ်ကြိုက်လုပ်ဆောင်ချက် idf_component_register ဖြင့်၊ အစိတ်အပိုင်းစုစည်းမှု script တစ်ခုအတွက် အနည်းဆုံးလိုအပ်သောကုဒ်မှာ အောက်ပါအတိုင်းဖြစ်သည်-

1. idf_component_register(SRCS “src1.c”

2.

INCLUDE_DIRS “ပါဝင်သည်”

3.

အစိတ်အပိုင်းများ လိုအပ်သည် 1)

SRCS ကန့်သတ်ချက်သည် အရင်းအမြစ်စာရင်းကို ပေးသည်။ files သည် အများအပြားရှိလျှင် နေရာလွတ်များဖြင့် ခွဲထားသည်။ file၎။ INCLUDE_DIRS ကန့်သတ်ဘောင်သည် အများသူငှာ ခေါင်းစီးစာရင်းကို ပေးသည်။ file အစိတ်အပိုင်းအတွက် လမ်းညွှန်များ၊၊ လက်ရှိအစိတ်အပိုင်းအပေါ် မူတည်သော အခြားအစိတ်အပိုင်းများအတွက် ရှာဖွေမှုလမ်းကြောင်းတွင် ပေါင်းထည့်မည်ဖြစ်သည်။ REQUIRES ပါရာမီတာသည် လက်ရှိအစိတ်အပိုင်းအတွက် အများသူငှာ အစိတ်အပိုင်း မှီခိုမှုကို ခွဲခြားသတ်မှတ်သည်။ အစိတ်အပိုင်းများ သည် အစိတ်အပိုင်း 2 ပေါ်မူတည်၍ အစိတ်အပိုင်း 1 ကဲ့သို့ ၎င်းတို့အပေါ် မူတည်သည့် အစိတ်အပိုင်းများကို ရှင်းရှင်းလင်းလင်းဖော်ပြရန် လိုအပ်ပါသည်။ သို့သော်၊ မူရင်းအားဖြင့် အစိတ်အပိုင်းအားလုံးပေါ်တွင်မူတည်သည့် အဓိကအစိတ်အပိုင်းအတွက်၊ REQUIRES ဘောင်ကို ချန်လှပ်ထားနိုင်သည်။

ထို့အပြင်၊ မူရင်း CMake commands များကို compilation script တွင်လည်း သုံးနိုင်သည်။ ဟောင်းအတွက်ampset(VARIABLE “VALUE”) ကဲ့သို့သော variable များကိုသတ်မှတ်ရန် set command ကိုသုံးပါ။

4.3.5 ဘုံအမိန့်များအကြောင်း နိဒါန်း
ESP-IDF သည် ကုဒ်စုစည်းမှုလုပ်ငန်းစဉ်တွင် CMake (ပရောဂျက်ဖွဲ့စည်းပုံတူးလ်)၊ Ninja (ပရောဂျက်တည်ဆောက်ရေးကိရိယာ) နှင့် esptool (ဖလက်ရှ်တူးလ်)တို့ကို အသုံးပြုသည်။ ကိရိယာတစ်ခုစီသည် စုစည်းခြင်း၊ တည်ဆောက်ခြင်းနှင့် flash လုပ်ငန်းစဉ်များတွင် မတူညီသောအခန်းကဏ္ဍမှပါဝင်ပြီး မတူညီသောလည်ပတ်မှုအမိန့်များကို ပံ့ပိုးပေးပါသည်။ အသုံးပြုသူ၏လုပ်ဆောင်မှုကို လွယ်ကူချောမွေ့စေရန် ESP-IDF သည် အထက်ဖော်ပြပါအမိန့်များကို လျင်မြန်စွာခေါ်ဆိုနိုင်စေမည့် ပေါင်းစပ်ထားသော front-end idf.py ကို ပေါင်းထည့်ပါသည်။
idf.py ကိုအသုံးမပြုမီ၊ သေချာအောင်လုပ်ပါ-
· ESP-IDF ၏ ပတ်ဝန်းကျင်ပြောင်းလဲနိုင်သော IDF_PATH ကို လက်ရှိ terminal တွင် ထည့်သွင်းထားသည်။ · command execution directory သည် project ၏ root directory ဖြစ်ပြီး၊
ပရောဂျက်စုစည်းမှု Script CMakeLists.txt။
idf.py ၏ ဘုံ command များမှာ အောက်ပါအတိုင်းဖြစ်သည် ။
· idf.py –help- ညွှန်ကြားချက်များစာရင်းနှင့် ၎င်းတို့၏အသုံးပြုမှုလမ်းညွှန်ချက်များကို ပြသခြင်း။ · idf.py သတ်မှတ်-ပစ်မှတ် : compilation taidf.py fullcleanrget ကို ဆက်တင်၊
အစားထိုးအဖြစ် esp32c3 ဖြင့် · idf.py menuconfig- menuconfig ကိုဖွင့်နေသည်၊ terminal graphical configuration တစ်ခု
ဖွဲ့စည်းမှုဆိုင်ရာ ရွေးချယ်မှုများကို ရွေးချယ် သို့မဟုတ် ပြင်ဆင်နိုင်သည့် ကိရိယာဖြစ်ပြီး၊ ဖွဲ့စည်းမှုဆိုင်ရာ ရလဒ်များကို sdkconfig တွင် သိမ်းဆည်းထားသည်။ file. · idf.py တည်ဆောက်မှု- ကုဒ်စုစည်းမှုကို စတင်ခြင်း။ အလယ်အလတ် files နှင့် compilation မှထုတ်ပေးသော နောက်ဆုံး executable program ကို မူရင်းအတိုင်း project ၏ build directory တွင် သိမ်းဆည်းမည်ဖြစ်သည်။ compilation process သည် incremental ဖြစ်သည်၊ ဆိုလိုသည်မှာ source တစ်ခုသာရှိလျှင် file ပြုပြင်သည်၊ ပြုပြင်သည်သာ file နောက်တစ်ကြိမ် စုစည်းတင်ပြပါမည်။

52 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

· idf.py clean: အလယ်အလတ် သန့်ရှင်းရေး files ကို project compilation မှထုတ်ပေးသည်။ ပရောဂျက်တစ်ခုလုံးကို နောက်လာမည့်စုစည်းမှုတွင် စုစည်းခိုင်းမည်ဖြစ်သည်။ menuconfig မှပြုလုပ်သော CMake configuration နှင့် configuration ပြုပြင်မွမ်းမံမှုများကို ရှင်းလင်းနေစဉ်အတွင်း ဖျက်မည်မဟုတ်ကြောင်း သတိပြုပါ။
· idf.py fullclean- CMake configuration output အားလုံးအပါအဝင် build directory တစ်ခုလုံးကို ဖျက်ခြင်း file၎။ ပရောဂျက်ကို ထပ်မံတည်ဆောက်သောအခါ၊ CMake သည် ပရောဂျက်ကို အစမှစ၍ ပြင်ဆင်သတ်မှတ်မည်ဖြစ်သည်။ ဤအမိန့်သည် အားလုံးကို ထပ်ခါတလဲလဲ ဖျက်မည်ကို သတိပြုပါ။ filebuild directory တွင် s၊ ထို့ကြောင့် ၎င်းကို သတိဖြင့် အသုံးပြု၍ ပရောဂျက်ဖွဲ့စည်းပုံကို ကြည့်ပါ။ file ဖျက်မည်မဟုတ်ပါ။
· idf.py flash- လည်ပတ်နိုင်သော ပရိုဂရမ် binary ကို မှိတ်တုတ်မှိတ်တုတ်ပြခြင်း။ file ပစ်မှတ် ESP32-C3 သို့ တည်ဆောက်ခြင်းဖြင့် ထုတ်ပေးသည်။ ရွေးချယ်စရာများ -p နှင့် -b နံပါတ်စဉ်အပေါက်၏ စက်ပစ္စည်းအမည်နှင့် flashing အတွက် baud နှုန်းကို အသီးသီးသတ်မှတ်ရန် အသုံးပြုကြသည်။ ဤရွေးချယ်စရာနှစ်ခုကို မသတ်မှတ်ထားပါက၊ အမှတ်စဉ်အပေါက်ကို အလိုအလျောက်တွေ့ရှိပြီး ပုံသေ baud နှုန်းကို အသုံးပြုမည်ဖြစ်သည်။
· idf.py မော်နီတာ- ပစ်မှတ် ESP32-C3 ၏ အမှတ်စဉ် အပေါက်အထွက်ကို ပြသခြင်း။ host-side serial port ၏ စက်ပစ္စည်းအမည်ကို သတ်မှတ်ရန် ရွေးချယ်မှု -p ကို အသုံးပြုနိုင်သည်။ အမှတ်စဉ် ပို့တ်ကို ပရင့်ထုတ်နေစဉ်အတွင်း မော်နီတာမှ ထွက်ရန် သော့တွဲ Ctrl+] ကို နှိပ်ပါ။
အထက်ပါ command များကို လိုအပ်သလို ပေါင်းစပ်နိုင်ပါသည်။ ဟောင်းအတွက်ampအဲဒီ့ command က idf.py build flash monitor က code compilation၊ flash လုပ်ပြီး serial port monitor ကို ဆက်တိုက်ဖွင့်ပါလိမ့်မယ်။
ESP-IDF စုစည်းမှုစနစ်အကြောင်း ပိုမိုသိရှိရန် သင်သည် https://bookc3.espressif.com/build-system သို့ ဝင်ရောက်ကြည့်ရှုနိုင်ပါသည်။
4.4 အလေ့အကျင့်- စုစည်းခြင်း Exampပရိုဂရမ် “မျက်တောင်ခတ်”
၃.၂ ထွample ခွဲခြမ်းစိတ်ဖြာခြင်း။
ဤအပိုင်းသည် Blink ပရိုဂရမ်ကို ဟောင်းအဖြစ် ယူပါမည်။ampခွဲခြမ်းစိတ်ဖြာရန် le file အမှန်တကယ် ပရောဂျက်တစ်ခု၏ ဖွဲ့စည်းပုံနှင့် ကုဒ်စည်းမျဉ်းများကို အသေးစိတ်ဖော်ပြထားသည်။ Blink ပရိုဂရမ်သည် LED မှိတ်တုတ်မှိတ်တုတ်အကျိုးသက်ရောက်မှုကိုဖော်ဆောင်ပေးပြီး ပရောဂျက်သည် လမ်းညွှန်ဟောင်းတွင်တည်ရှိသည်။ampအရင်းအမြစ်တစ်ခုပါရှိသော les/get-started/blink file၊ဖွဲ့စည်းမှု files နှင့် compilation script အများအပြား။
ဤစာအုပ်တွင် မိတ်ဆက်ထားသော smart light project သည် ဤ ex ကို အခြေခံထားသည်။ample အစီအစဉ်။ နောက်ဆုံးတွင် ၎င်းကို အပြီးသတ်ရန်အတွက် နောက်ပိုင်းအခန်းများတွင် လုပ်ဆောင်ချက်များကို ဖြည်းဖြည်းချင်း ထည့်သွင်းသွားပါမည်။
အရင်းအမြစ်ကုဒ် ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တစ်ခုလုံးကို သရုပ်ပြရန်အတွက် Blink ပရိုဂရမ်အား esp32c3-iot-projects/device firmware/1 blink သို့ ကူးယူထားသည်။
မျက်တောင်ခတ်ပရောဂျက်၏ လမ်းညွှန်ဖွဲ့စည်းပုံ files ကို ပုံ 4.15 တွင် ပြထားသည်။
blink ပရောဂျက်တွင် အထူးအစိတ်အပိုင်းတစ်ခုဖြစ်သည့် ပင်မလမ်းညွှန်တစ်ခုသာပါရှိသည်။
အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

ပုံ ၇။ File blink ပရောဂျက်၏ လမ်းညွှန်ဖွဲ့စည်းပုံ

အပိုင်း 4.3.2 တွင်ဖော်ပြထားသည့်အတိုင်း ပါဝင်ရမည်။ ပင်မလမ်းညွှန်ကို အသုံးပြုသူပရိုဂရမ်၏ entry point ဖြစ်သည့် app_main() လုပ်ဆောင်ချက်ကို သိမ်းဆည်းရန် အဓိကအသုံးပြုပါသည်။ အဆိုပါ blink ပရောဂျက်တွင် အစိတ်အပိုင်းများလမ်းညွှန်မပါဝင်ပါ၊ample ESP-IDF ပါရှိသော အစိတ်အပိုင်းများကိုသာ အသုံးပြုရန် လိုအပ်ပြီး အပိုအစိတ်အပိုင်းများ မလိုအပ်ပါ။ blink ပရောဂျက်တွင် ပါဝင်သော CMakeLists.txt ကို စုစည်းမှု လုပ်ငန်းစဉ်ကို လမ်းညွှန်ရန် အသုံးပြုထားပြီး၊ Kconfig.projbuild ကို ဤ ex အတွက် ဖွဲ့စည်းမှုဆိုင်ရာ အရာများကို ထည့်ရန် အသုံးပြုပါသည်။ampmenuconfig တွင် ပရိုဂရမ်။ အခြားမလိုအပ်ပါ။ files သည် ကုဒ်စုစည်းမှုကို ထိခိုက်စေမည်မဟုတ်သောကြောင့် ၎င်းတို့ကို ဤနေရာတွင် ဆွေးနွေးမည်မဟုတ်ပါ။ မှိတ်တုတ်ပရောဂျက်အတွက် အသေးစိတ် မိတ်ဆက် files မှာ အောက်ပါအတိုင်းဖြစ်သည်။

1. /*blink.c တွင် အောက်ပါ ခေါင်းစီး ပါဝင်ပါသည်။ file၎*/

2. #ပါဝင်ပါ။

//Standard C စာကြည့်တိုက် ခေါင်းစီး file

3. #include “freertos/freeRTOS.h” //FreeRTOS ပင်မခေါင်းစီး file

4. #include “freertos/task.h”

//FreeRTOS Task ခေါင်းစီး file

5. #include “sdkconfig.h”

// ဖွဲ့စည်းမှု ခေါင်းစီး file kconfig မှထုတ်လုပ်သည်။

6. #include “driver/gpio.h”

//GPIO ဒရိုက်ဘာ ခေါင်းစီး file

အရင်းအမြစ် file blink.c တွင် ခေါင်းစီး အတွဲများ ပါရှိသည်။ filefunction declara- နှင့်သက်ဆိုင်သော၊

ကိစ္စတွေ ESP-IDF သည် ယေဘူယျအားဖြင့် standard library header ပါ၀င်သည့် အစီအစဥ်ကို လိုက်နာသည်။ files၊ FreeR-

TOS ခေါင်းစီး files၊ ယာဉ်မောင်းခေါင်းစီး files၊ အခြား အစိတ်အပိုင်း ခေါင်းစီး files နှင့် ပရောဂျက်ခေါင်းစီး files.

ဘယ်ခေါင်းစီးမှာရမလဲ files သည် နောက်ဆုံးစုစည်းမှုရလဒ်အပေါ် သက်ရောက်မှုရှိနိုင်သောကြောင့် ကြိုးစားကြည့်ပါ။

မူရင်းစည်းမျဉ်းများကို လိုက်နာပါ။ sdkconfig.h ကို အလိုအလျောက်ထုတ်ပေးကြောင်း သတိပြုသင့်သည်။

kconfig အားဖြင့် idf.py menuconfig သည် command ဖြင့်သာ configure လုပ်နိုင်ပါသည်။

ဤခေါင်းစဉ်ကို တိုက်ရိုက်မွမ်းမံခြင်း။ file overwrite လုပ်ပါလိမ့်မယ်။

1. /* သင်သည် idf.py menuconfig တွင် LED နှင့် သက်ဆိုင်သည့် GPIO ကို ရွေးချယ်နိုင်ပြီး menuconfig ၏ မွမ်းမံမှုရလဒ်မှာ CONFIG_BLINK ၏တန်ဖိုးဖြစ်သည်၊

_GPIO ကို ပြောင်းလဲပါမည်။ မက်ခရို အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုလည်း တိုက်ရိုက်မွမ်းမံနိုင်သည်။

ဤနေရာတွင်၊ CONFIG_BLINK_GPIO ကို ပုံသေတန်ဖိုးအဖြစ် ပြောင်းပါ။*/ 2. #define BLINK_GPIO CONFIG_BLINK_GPIO

3. void app_main(ပျက်ပြယ်)

၂။ {

5.

/*IO ကို GPIO မူရင်းလုပ်ဆောင်ချက်အဖြစ် သတ်မှတ်ပါ၊ ဆွဲယူမုဒ်ကို ဖွင့်ပါ၊ နှင့်

6.

အဝင်နှင့် အထွက်မုဒ်များကို ပိတ်ပါ*/

7.

gpio_reset_pin(BLINK_GPIO);

54 ESP32-C3 ကြိုးမဲ့စွန့်စားမှု- IoT အတွက် ပြည့်စုံသောလမ်းညွှန်

8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. }

/*GPIO ကို အထွက်မုဒ်သို့ သတ်မှတ်ပါ*/ gpio_set_direction(BLINK_GPIO၊ GPIO_MODE_OUTPUT); အချိန်(၁) {
/* ပရင့်မှတ်တမ်း*/ printf("LEDn ကို ပိတ်ခြင်း"); /* LED ကိုပိတ်ပါ (အထွက်နည်းသောအဆင့်)*/ gpio_set_level(BLINK_GPIO, 0); /*နှောင့်နှေး (1000 ms)*/ vTaskDelay(1000 / portTICK_PERIOD_MS); printf("LEDn ကိုဖွင့်ခြင်း"); /* LED ကိုဖွင့်ပါ (အထွက်မြင့်မားသောအဆင့်)*/ gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); }

Blink ex ရှိ app_main() လုပ်ဆောင်ချက်ample ပရိုဂရမ်သည် သုံးစွဲသူပရိုဂရမ်များအတွက် ဝင်ခွင့်အမှတ်အဖြစ် ဆောင်ရွက်သည်။ ၎င်းသည် ကန့်သတ်ချက်များမရှိ၍ ပြန်တန်ဖိုးမရှိသော ရိုးရှင်းသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ မှတ်တမ်း အမှတ်စဉ် ပို့တ်ကို အစပြုခြင်း ၊ single/dual core ကို ပြင်ဆင်ခြင်း နှင့် watchdog ကို ပြင်ဆင်ခြင်း ကဲ့သို့သော လုပ်ငန်းဆောင်တာများ ပါ၀င်သော စနစ်က အစပြုခြင်း ပြီးမြောက်ပြီးနောက် ဤလုပ်ဆောင်ချက်ကို ခေါ်သည်။

app_main() လုပ်ဆောင်ချက်သည် main အမည်ရှိ အလုပ်တစ်ခု၏ ဆက်စပ်မှုတွင် အလုပ်လုပ်သည်။ ဤလုပ်ငန်းဆောင်တာ၏ အစုအရွယ်အစားနှင့် ဦးစားပေးကို menuconfig Componentconfig တွင် တူညီသော ESP-related တွင် ချိန်ညှိနိုင်ပါသည်။

LED မှိတ်တုတ်မှိတ်တုတ်ခြင်းကဲ့သို့ ရိုးရှင်းသောလုပ်ဆောင်စရာများအတွက် လိုအပ်သောကုဒ်အားလုံးကို app_main() လုပ်ဆောင်ချက်တွင် တိုက်ရိုက်အကောင်အထည်ဖော်နိုင်ပါသည်။ ၎င်းတွင် ပုံမှန်အားဖြင့် LED နှင့် သက်ဆိုင်သည့် GPIO ကို ကနဦးစတင်ခြင်းနှင့် LED အဖွင့်အပိတ်ခလုတ်ကို ခဏ (1) ပတ်ကာ အသုံးပြုခြင်းတို့ ပါဝင်ပါသည်။ တစ်နည်းအားဖြင့် သင်သည် LED မှိတ်တုတ်မှိတ်တုတ်ခြင်းကို ကိုင်တွယ်သည့် အလုပ်အသစ်တစ်ခုကို ဖန်တီးရန် FreeRTOS API ကို အသုံးပြုနိုင်သည်။ အလုပ်အသစ်ကို အောင်မြင်စွာဖန်တီးပြီးသည်နှင့်၊ သင်သည် app_main() လုပ်ဆောင်ချက်ကို ထွက်နိုင်ပါသည်။

ပင်မ/CMakeLists.txt ၏ အကြောင်းအရာ fileပင်မအစိတ်အပိုင်းအတွက် စုစည်းမှုလုပ်ငန်းစဉ်ကို လမ်းညွှန်ပေးသော၊ အောက်ပါအတိုင်းဖြစ်သည်-

1. idf_component_register(SRCS “blink.c” INCLUDE_DIRS “။” )

၎င်းတို့အထဲမှ main/CMakeLists.txt သည် idf_component_register ဖြစ်သည့် compilation system function တစ်ခုတည်းကိုသာ ခေါ်သည်။ အခြားအစိတ်အပိုင်းအများစုအတွက် CMakeLists.txt နှင့်ဆင်တူသည်၊ blink.c ကို SRCS နှင့် အရင်းအမြစ် files ကို SRCS တွင်ထည့်သွင်းပြုစုလိမ့်မည်။ တစ်ချိန်တည်းမှာပင်၊ CMakeLists.txt တည်ရှိရာလမ်းကြောင်းကိုကိုယ်စားပြုသော “.”၊၊ သည် ခေါင်းစီးရှာဖွေမှုလမ်းညွှန်များအဖြစ် INCLUDE_DIRS သို့ ထည့်သင့်သည် file၎။ CMakeLists.txt ၏ အကြောင်းအရာမှာ အောက်ပါအတိုင်းဖြစ်သည်-
1. #v3.5 ကို လက်ရှိပရောဂျက်မှပံ့ပိုးပေးထားသော အသက်အကြီးဆုံး CMake ဗားရှင်းအဖြစ် #သတ်မှတ်ပါ။ စုစည်းမှုဆက်လက်မလုပ်ဆောင်မီ #v2 ထက်နိမ့်သောဗားရှင်းများကို အဆင့်မြှင့်တင်ရပါမည် 3.5. cmake_minimum_required(VERSION 3) 3.5. # ESP ၏ မူရင်း CMake ဖွဲ့စည်းမှုပုံစံကို ထည့်သွင်းပါ -IDF စုစည်းမှုစနစ်

အခန်း ၄။ ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်ကို သတ်မှတ်ခြင်း ၃၃

5. ပါဝင်သည်($ENV{IDF_PATH}/tools/cmake/project.cmake) 6. #“blink” အမည်ရှိ ပရောဂျက်တစ်ခုကို ဖန်တီးပါ 7. ပရောဂျက်(myProject)
၎င်းတို့အနက်၊ အမြစ်လမ်းညွှန်ရှိ CMakeLists.txt တွင် အဓိကအားဖြင့် CMake ဖွဲ့စည်းမှုဖြစ်သည့် $ENV{IDF_ PATH}/tools/cmake/project.cmake တွင် အဓိကပါဝင်ပါသည်။ file ESP-IDF မှ ပံ့ပိုးပေးပါသည်။ ၎င်းကို con တွင်အသုံးပြုသည်။

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

Espressif စနစ်များ ESP32-C3 ကြိုးမဲ့စွန့်စားမှု [pdf] အသုံးပြုသူလမ်းညွှန်
ESP32-C3 ကြိုးမဲ့စွန့်စားမှု၊ ESP32-C3၊ ကြိုးမဲ့စွန့်စားမှု၊ စွန့်စားမှု

ကိုးကား

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

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