nxp-လိုဂို

NXP AN14263 ကို Framewor တွင် LVGL GUI Face Recognition ကို အကောင်အထည်ဖော်ပါ။

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-ထုတ်ကုန်

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

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

  • ထုတ်ကုန်အမည်- Framework ရှိ LVGL GUI Face Recognition
  • စာရွက်စာတမ်း ပြန်လည်ပြင်ဆင်ခြင်း- 1 မှ 19 ဧပြီလ 2024 ရက်
  • သော့ချက်စာလုံးများ- မျက်နှာမှတ်သားမှု၊ LVGL GUI၊ Framework

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

  1. ကျော်view
    ဤထုတ်ကုန်သည် ရိုးရှင်းသော LVGL GUI ဟောင်းဖြင့် မျက်နှာမှတ်မိခြင်းလုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ရန်အတွက် မူဘောင်တစ်ခုပေါ်တွင် မျက်နှာမှတ်မိခြင်းအတွက် AI&ML အမြင်ဆိုင်ရာ အယ်လဂိုရီသမ်မော်ဒယ်ကို ဖွင့်ပေးသည်ampSLN-TLHMI-IOT ဘုတ်ပေါ်တွင် le.
  2. ဘောင်ကျော်view
    ဖြေရှင်းချက်ဆော့ဖ်ဝဲလ်သည် စက်ပစ္စည်းများကို စီမံခန့်ခွဲရန် တာဝန်ရှိသော စက်ပစ္စည်းမန်နေဂျာများ၊ HAL ကိရိယာများကို နောက်ခံအသေးစိတ်အချက်အလက်များနှင့် မတူညီသောစက်ပစ္စည်းများကြား ဆက်သွယ်မှုအတွက် ဖြစ်ရပ်များပါဝင်သည့် မူဘောင်ဗိသုကာကို ဒီဇိုင်းရေးဆွဲထားသည်။
  3. အင်္ဂါရပ်များ
    ထုတ်ကုန်သည် ကင်မရာအကြိုမှတစ်ဆင့် မျက်နှာမှတ်မိခြင်းလုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ရန် ခွင့်ပြုသည်။view မျက်နှာမှတ်ပုံတင်ခြင်း၊ မှတ်သားခြင်းနှင့် ဖယ်ရှားခြင်းတို့ကို အစပျိုးရန် ခလုတ်များပါရှိသော GUI မျက်နှာပြင်ပေါ်တွင်။ မှတ်ပုံတင်ထားသော မျက်နှာဒေတာကို Flash တွင် သိမ်းဆည်းထားသည်။ file စနစ်။
  4. Application Note အကြောင်းအရာ
    အပလီကေးရှင်းမှတ်စုသည် ကင်မရာအကြိုနှင့်အတူ LVGL GUI မျက်နှာပြင်ကို ပြသထားသည်။view နှင့် မျက်နှာဆိုင်ရာ လုပ်ဆောင်ချက်များအတွက် ခလုတ်များ။ ၎င်းသည် ပံ့ပိုးပေးထားသည့် ex ကို အသုံးပြု၍ မူဘောင်ကို ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအား နားလည်စေရန်နှင့် မျက်နှာအသိအမှတ်ပြုခြင်းကို မည်သို့အကောင်အထည်ဖော်ရမည်နည်း။ampလဲ့

ကျော်view

NXP သည် စမတ် HMI အပလီကေးရှင်းများကို အာရုံစိုက်သည့် SLN-TLHMI-IOT ဟု အမည်ပေးထားသည့် ဖြေရှင်းချက်ဆိုင်ရာ ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာအစုံကို မိတ်ဆက်ခဲ့သည်။ ၎င်းသည် NXP i.MX RT117H MCU တစ်ခုတွင်အသုံးပြုထားသည့် ML အမြင်၊ အသံနှင့် ဂရပ်ဖစ် UI ဖြင့် စမတ် HMI ကို အသုံးပြုနိုင်မည်ဖြစ်သည်။ SDK ကိုအခြေခံ၍ ဖြေရှင်းချက်ဆော့ဖ်ဝဲလ်ကို ပြောင်းလွယ်ပြင်လွယ်သောဒီဇိုင်းများနှင့် အမြင်နှင့်အသံလုပ်ဆောင်ချက်များကို စိတ်ကြိုက်ပြုပြင်ခြင်းကို ပံ့ပိုးပေးသည့် ဒီဇိုင်းဘောင်ဟုခေါ်သည့် ဒီဇိုင်းတစ်ခုပေါ်တွင် တည်ဆောက်ထားသည်။ အသုံးပြုသူများအား ဆော့ဖ်ဝဲပလပ်ဖောင်းကို ပိုမိုကောင်းမွန်စွာအသုံးပြုရန် ကူညီပေးရန်အတွက်၊ ဥပမာ- အခြေခံစာရွက်စာတမ်းအချို့ကို ပံ့ပိုးပေးထားပါသည်။ample၊ ဆော့ဖ်ဝဲ ဖွံ့ဖြိုးတိုးတက်ရေး သုံးစွဲသူလမ်းညွှန်။ လမ်းညွှန်သည် developer များအား SLN-TLHMI-IOT ကိုအသုံးပြု၍ ၎င်းတို့၏အပလီကေးရှင်းများကိုပိုမိုလွယ်ကူစွာနှင့် ထိထိရောက်ရောက်အကောင်အထည်ဖော်ရန် ကူညီရန်အတွက် မူဘောင်အပါအဝင် ဖြေရှင်းချက်၏အစိတ်အပိုင်းအားလုံးကို အကျုံးဝင်သည့် အပလီကေးရှင်းများ၏ အခြေခံဆော့ဖ်ဝဲဒီဇိုင်းနှင့် တည်ဆောက်ပုံတို့ကို မိတ်ဆက်ပေးပါသည်။
ဖြေရှင်းချက်နှင့် သက်ဆိုင်သည့် စာရွက်စာတမ်းများအကြောင်း နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက်၊ web ML Vision၊ Voice၊ နှင့် Graphical UI ပါရှိသော i.MX RT117H ကိုအခြေခံ၍ NXP EdgeReady Smart HMI ဖြေရှင်းချက် စာမျက်နှာ။ သို့သော်၊ ဤအခြေခံလမ်းညွှန်ချက်များကိုရည်ညွှန်းသည့် ၎င်းတို့၏စမတ် HMI အက်ပ်လီကေးရှင်းများကို developer များအတွက် အကောင်အထည်ဖော်ရန်မှာ မလွယ်ကူသေးပါ။ မူဘောင်အပေါ် အဆင့်တစ်ဆင့်ပြီးတစ်ဆင့် ဖွံ့ဖြိုးတိုးတက်မှုကို လေ့လာရာတွင် ကူညီရန် လျှောက်လွှာမှတ်စုများ အတွဲလိုက်ကို စီစဉ်ထားပါသည်။ ဤအပလီကေးရှင်းမှတ်စုသည် Implement LVGL GUI Camera Pre ကို အခြေခံထားသည်။view Framework (စာရွက်စာတမ်း AN14147) ပေါ်တွင်။ ဤအပလီကေးရှင်းမှတ်စုသည် ကင်မရာအကြိုမှတစ်ဆင့် မျက်နှာမှတ်မိခြင်းလုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်ရန် ဘောင်ပေါ်ရှိ AI&ML အမြင်ဆိုင်ရာ အယ်လဂိုရီသမ်မော်ဒယ်ကို မည်သို့ဖွင့်ရမည်ကို ဖော်ပြထားပါသည်။view ရိုးရှင်းသော LVGL GUI ဟောင်းဖြင့် GUI မျက်နှာပြင်ပေါ်တွင်ampSLN-TLHMI-IOT ဘုတ်ပေါ်တွင် le. application note တွေဆိုရင်၊ample သည် ကင်မရာအကြိုနှင့်အတူ LVGL GUI မျက်နှာပြင်ကို တင်ဆက်သည်။view မျက်နှာမှတ်ပုံတင်ခြင်း၊ မှတ်သားခြင်းနှင့် ဖယ်ရှားခြင်းတို့ကို အစပျိုးရန် ခလုတ်အချို့။ မှတ်ပုံတင်ထားသော မျက်နှာဒေတာကို Flash တွင် အနည်းငယ်မှတစ်ဆင့် သိမ်းဆည်းထားသည်။ file စနစ်။

မြင့်မားသောအဆင့်တွင်၊ အပလီကေးရှင်းမှတ်စုတွင် အောက်ပါအကြောင်းအရာများပါရှိသည်။

  • မူဘောင်ပေါ်တွင် မျက်နှာမှတ်မိခြင်းအင်္ဂါရပ်ကို ဖွင့်ပါ။
  • ဘောင်မှတစ်ဆင့် မျက်နှာဒေတာဘေ့စ်ပံ့ပိုးမှုထည့်ပါ။ file Flash တွင်စနစ်။
  • LVGL GUI အက်ပ်ကို အကောင်အထည်ဖော်ပါ။ အထက်ဖော်ပြပါ မိတ်ဆက်မှုများမှတစ်ဆင့်၊ ဤစာတမ်းသည် ဆော့ဖ်ဝဲရေးသားသူများအား အောက်ပါတို့ကို ကူညီပေးသည်-
  • မူဘောင်နှင့် စမတ် HMI ဖြေရှင်းချက်ဆော့ဖ်ဝဲကို ပိုမိုနက်ရှိုင်းစွာ နားလည်ပါ။
  • LVGL GUI အက်ပ်ဖြင့် မူဘောင်ပေါ်တွင် ၎င်းတို့၏ AI&ML မျက်နှာမှတ်မိမှုကို တီထွင်ပါ။

ဘောင်ကျော်view
ဖြေရှင်းချက်ဆော့ဖ်ဝဲလ်သည် ကွဲပြားခြားနားသော အစိတ်အပိုင်းများစွာဖြင့် ဖွဲ့စည်းထားသည့် framework ဗိသုကာကို အသုံးပြုခြင်းအတွက် အဓိကအားဖြင့် ဒီဇိုင်းရေးဆွဲထားသည်။

  • စက်ပစ္စည်းမန်နေဂျာများ – အဓိကအပိုင်း
  • Hardware Abstraction Layer (HAL) ကိရိယာများ
  • မက်ဆေ့ချ်များ/ဖြစ်ရပ်များ

ပုံ 1 တွင်ပြထားသည့်အတိုင်း အပေါ်မှာview မူဘောင်၏ ယန္တရားမှာ-

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

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

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (1)

မူဘောင်၏ ဗိသုကာ ဒီဇိုင်းသည် အဓိက ပန်းတိုင် သုံးခုကို ဗဟိုပြုသည်-

  1. အသုံးပြုရလွယ်ကူခြင်း။
  2. ပြောင်းလွယ်ပြင်လွယ်/သယ်ဆောင်နိုင်မှု
  3. စွမ်းဆောင်ရည်

မူဘောင်ကို အမြင်အာရုံနှင့် အခြားစက်-သင်ယူခြင်းအက်ပ်လီကေးရှင်းများအတွက် စျေးကွက်ရှာဖွေရန် အချိန်ကို အရှိန်မြှင့်ရန် ရည်ရွယ်ချက်ဖြင့် ဒီဇိုင်းရေးဆွဲထားသည်။ စျေးကွက်သို့လျင်မြန်သောအချိန်ကိုသေချာစေရန်၊ ဆော့ဖ်ဝဲကိုယ်တိုင်နားလည်ရန်နှင့်ပြင်ဆင်ရန်လွယ်ကူရန်အရေးကြီးသည်။ ဤပန်းတိုင်ကို မှတ်သားထားပါ၊ မူဘောင်၏ တည်ဆောက်ပုံသည် ကန့်သတ်ချုပ်ချယ်မှုမရှိဘဲ ပြုပြင်ရန် လွယ်ကူသည်၊ စွမ်းဆောင်ရည်ကုန်ကျစရိတ်ကို မပေးဘဲ။
မူဘောင်နှင့်ပတ်သက်သော အသေးစိတ်အချက်အလက်များအတွက် Smart HMI ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်ရေးအသုံးပြုသူလမ်းညွှန် (စာရွက်စာတမ်း MCU-SMHMI-SDUG) ကို ကြည့်ပါ။

အလင်းနှင့် ဘက်စုံသုံး ဂရပ်ဖစ်စာကြည့်တိုက် (LVGL)
LVGL (Light and Versatile Graphics Library) သည် အသုံးပြုရလွယ်ကူသော ဂရပ်ဖစ်ဒြပ်စင်များ၊ လှပသောရုပ်ပုံပါဒြပ်စင်များနှင့် မှတ်ဉာဏ်နည်းသော မှတ်ဉာဏ်ခြေရာကို ဖန်တီးရန် လိုအပ်သည့်အရာအားလုံးကို ပံ့ပိုးပေးသည့် အခမဲ့နှင့် ပွင့်လင်းသောအရင်းအမြစ် ဂရပ်ဖစ်စာကြည့်တိုက်တစ်ခုဖြစ်သည်။

GUI လမ်းညွှန်
GUI Guider သည် NXP မှ အသုံးပြုရလွယ်ကူသော ဂရပ်ဖစ်အသုံးပြုသူ အင်တာဖေ့စ်ဖွံဖြိုးတိုးတက်ရေးကိရိယာတစ်ခုဖြစ်ပြီး အရည်အသွေးမြင့် display များကို open-source LVGL ဂရပ်ဖစ်စာကြည့်တိုက်ဖြင့် လျင်မြန်စွာ ဖွံ့ဖြိုးတိုးတက်စေပါသည်။ GUI Guider ၏ ဆွဲငင်အားယူတည်းဖြတ်ခြင်းသည် GUI ကို အနည်းငယ်မျှသာ သို့မဟုတ် ကုဒ်နံပါတ်လုံးဝမပါဘဲ ဖန်တီးရန် ဝစ်ဂျက်များ၊ အန်နီမေးရှင်းများနှင့် စတိုင်များကဲ့သို့သော LVGL ၏အင်္ဂါရပ်များစွာကို အသုံးပြုရလွယ်ကူစေသည်။

ခလုတ်တစ်ခုကို နှိပ်ခြင်းဖြင့်၊ သင်သည် သင်၏ အပလီကေးရှင်းကို ပုံဖော်ထားသော ပတ်ဝန်းကျင်တွင် လုပ်ဆောင်နိုင်သည် သို့မဟုတ် ၎င်းကို ပစ်မှတ်ပရောဂျက်တစ်ခုသို့ တင်ပို့နိုင်သည်။ GUI Guider မှ ထုတ်လုပ်ထားသော ကုဒ်ကို သင့်ပရောဂျက်တွင် အလွယ်တကူ ထည့်သွင်းနိုင်ပြီး ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်ကို အရှိန်မြှင့်ကာ သင့်အက်ပ်လီကေးရှင်းတွင် ထည့်သွင်းထားသော အသုံးပြုသူမျက်နှာပြင်ကို ချောမွေ့စွာ ထည့်သွင်းနိုင်စေမည်ဖြစ်သည်။ GUI Guider သည် NXP ၏ ယေဘူယျရည်ရွယ်ချက် နှင့် crossover MCUs များနှင့် အခမဲ့အသုံးပြုနိုင်ပြီး ပံ့ပိုးပေးထားသော ပလပ်ဖောင်းများစွာအတွက် built-in ပရောဂျက်ပုံစံများ ပါဝင်သည်။ GUI Guider ရှိ LVGL နှင့် GUI ဖွံ့ဖြိုးတိုးတက်မှုအကြောင်း ပိုမိုလေ့လာရန်၊ Light နှင့် Versatile Graphics Library နှင့် GUI Guider ကိုစစ်ဆေးပါ။

ဖွံ့ဖြိုးတိုးတက်ရေးပတ်ဝန်းကျင်

ပထမဦးစွာ၊ ဟောင်းကို အကောင်အထည်ဖော်ရန်အတွက် ဟာ့ဒ်ဝဲနှင့် ဆော့ဖ်ဝဲလ်ပတ်ဝန်းကျင်ကို ပြင်ဆင်ပြီး စနစ်ထည့်သွင်းပါ။ampဘောင်ပေါ်မှာ။

ဟာ့ဒ်ဝဲပတ်ဝန်းကျင်
ဟောင်းကို အတည်ပြုရန်အတွက် ဟာ့ဒ်ဝဲပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းထားသည်။ample-

  • NXP i.MX RT117H (SLN_TLHMI_IOT အစုံ) ကို အခြေခံထားသည့် စမတ် HMI ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာအစုံ
  • SEGGER J-Link 9-pin Cortex-M adapter နှင့် V7.84a သို့မဟုတ် ဒရိုက်ဗာဗားရှင်းအသစ်

ဆော့ဝဲပတ်ဝန်းကျင်
ဆော့ဖ်ဝဲလ်ဝန်းကျင်သည် ဟောင်းကို တီထွင်ရန်အတွက် တည်ဆောက်ထားသည်။ample-

  • MCUXpresso IDE V11.7.0
  • GUI လမ်းညွှန် V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – ဥပမာampဖွံ့ဖြိုးတိုးတက်မှု၏အခြေခံဆော့ဖ်ဝဲအဖြစ်ဒုတိယအပလီကေးရှင်း၏ le ကုဒ်။ အသေးစိတ်ကို ကြည့်ပါ။ https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 – ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ကုဒ်အရင်းအမြစ်အဖြစ်။
  • SLN-TLHMI-IOT ဆော့ဖ်ဝဲလ် V1.1.2 - ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ကုဒ်အရင်းအမြစ်အဖြစ် NXP GitHub သိုလှောင်မှုတွင် ထုတ်ပြန်သည့် စမတ် HMI အရင်းအမြစ်ကုဒ်။ အသေးစိတ်အတွက်၊ v1.1.2 ရှိ GitHub – NXP/mcu-smhmi ကိုကြည့်ပါ။

ဆော့ဖ်ဝဲလ်ပတ်၀န်းကျင်၏ ဝယ်ယူမှုနှင့် စနစ်ထည့်သွင်းမှုဆိုင်ရာ အသေးစိတ်အချက်အလက်များအတွက်၊ SLN-TLHMI-IOT ကို စတင်အသုံးပြုခြင်းကို ကြည့်ပါ။

မူဘောင်အပေါ်အမြင်ဗိသုကာ

မူဘောင်ပေါ်ရှိ ရူပါရုံတည်ဆောက်ပုံအား ပုံ 2 တွင် ပြထားသည်။ ရူပါရုံ algo HAL (OASIS_HAL) တွင် အောက်ပါလုပ်ငန်းစဉ်များ ပါရှိသည်။

  • ထွက်လာသည့် UI HAL မှ ဆက်စပ်ဖြစ်ရပ်များကို လက်ခံရရှိပြီးနောက် AI&ML အမြင်ဆိုင်ရာ အယ်လဂိုရီသမ်မော်ဒယ်မှတစ်ဆင့် မှတ်ပုံတင်ခြင်းနှင့် အသိအမှတ်ပြုခြင်းကို ရင်ဆိုင်ပါ။ အယ်လဂိုရီသမ် မော်ဒယ်မှ ရလဒ်များကို UI HAL သို့ အနုမာန အကြောင်းကြားပါ။
  • အနည်းငယ်ကို အခြေခံ၍ မျက်နှာအင်္ဂါရပ် ဒေတာဘေ့စ်ကို (ပေါင်းထည့်၊ ဖျက်မည်…) ဝင်ရောက်ကြည့်ရှုသည်။ file ထွက်လာသည့် UI HAL မှ ဆက်စပ်ဖြစ်ရပ်များကို လက်ခံရရှိပြီးနောက် FaceDB HAL ၏ API များကို ခေါ်ဆိုခြင်းဖြင့် စနစ်။
  • မျက်နှာမှတ်ပုံတင်ခြင်းနှင့် မှတ်သားခြင်းပြုလုပ်သည့်အခါ ကင်မရာဗီဒီယိုဘောင်ကို HAL မှ တောင်းဆိုပါ။

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (3)

မူဘောင်ပေါ်တွင် မျက်နှာမှတ်မိခြင်းကို အကောင်အထည်ဖော်ပါ။

LVGL GUI သည် မျက်နှာမှတ်မိခြင်း example (example ကို နောက်မှ ပေးသည်) မူဘောင်အပေါ် ဟောင်းကို အခြေခံ၍ အကောင်အထည် ဖော်သည်။ampLVGL GUI Camera Pre အကောင်အထည်ဖော်ခြင်း၏ကုဒ်များview Framework (စာရွက်စာတမ်း AN14147) ပေါ်တွင်။

ရည်းစားဟောင်းတွင် မျက်နှာမှတ်မိမှုကို သရုပ်ပြရန်ampထို့ကြောင့်၊ GUI အက်ပ်၏ အခြေခံလုပ်ဆောင်ချက် (ပုံ 3 တွင် ပင်မမျက်နှာပြင်ကိုကြည့်ပါ) ကို အောက်တွင်ဖော်ပြထားသည့်အတိုင်း ဒီဇိုင်းထုတ်ထားပါသည်။

  • GUI အက်ပ်သည် မှတ်ပုံတင်ခြင်း သို့မဟုတ် အသိအမှတ်ပြုခြင်း ခလုတ်ကို နှိပ်လိုက်သောအခါတွင် အထွက် UI HAL သို့ မျက်နှာမှတ်ပုံတင်ခြင်း သို့မဟုတ် အသိအမှတ်ပြုခြင်းဖြစ်ရပ်ကို အစပျိုးပေးသည်။ မျက်နှာမှတ်ပုံတင်ခြင်းအောင်မြင်ပြီးနောက် UI HAL သည် သုံးစွဲသူတစ်ဦးအား ရူပါရုံ algo HAL သို့ထည့်ခြင်း၏ဖြစ်ရပ်ကို အသိပေးသည်။
  • GUI အက်ပ်သည် အသုံးပြုသူ၏မျက်နှာကို အသိအမှတ်ပြုပြီးနောက် အသုံးပြုသူ၏မျက်နှာကို အသိအမှတ်ပြုပြီးနောက် ဖျက်ရန်ခလုတ်ကို နှိပ်သည့်အခါ သုံးစွဲသူတစ်ဦးကို အထွက် UI HAL သို့ ဖျက်ခြင်းဖြစ်ရပ်ကို အစပျိုးစေသည်။
  • GUI အက်ပ်သည် ခလုတ်များနှင့် ပုံများအပြင်ဘက် မျက်နှာပြင်ကို နှိပ်လိုက်သောအခါတွင် အိုအေစစ် အယ်လ်ဂို လည်ပတ်မှုကို ရပ်တန့်စေသည့် အဖြစ်အပျက်ကို အစပျိုးပေးသည်။

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (10)

ဟောင်းကို အကောင်အထည်ဖော်ရန်အတွက် ဆော့ဖ်ဝဲလ်ပက်ကေ့ခ်ျကို ပြင်ဆင်ပါ။ampလဲ့

  • အခြေခံဆော့ဖ်ဝဲ lvgl_gui_camera_pre ကို ပွားပါ။view_cm7။ ပရောဂျက်အမည်နှင့် ပင်မကို ပြောင်းပါ။ fileအမည်ကို lvgl_gui_face_rec_cm7။
  • framework core အတွက် အရင်းအမြစ်ကုဒ်များကို ဗားရှင်း 1.1.2 မှ GitHub တွင် အများသူငှာ စတင်အသုံးပြုနိုင်ပြီဖြစ်သောကြောင့် ဆော့ဖ်ဝဲတွင် မူဘောင်ကို အပ်ဒိတ်လုပ်ရန် လိုအပ်ပါသည်။
  • ဘောင်ဖိုင်တွဲကို GitHub မှလွဲ၍ V1.1.2 ၏မိတ္တူဖြင့် အစားထိုးပါ။ fileinc\ အောက်တွင် s fwk_log.h နှင့် fwk_common.h တို့ကို အပလီကေးရှင်းစီးရီးမှတ်စုအတွက် ပြုပြင်မွမ်းမံထားသောကြောင့်ဖြစ်သည်။ လုပ်ဆောင်ချက်များကို ပုံ 4 တွင် ပြထားသည်။NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (11)
  • libs အဖွဲ့အောက်ရှိ folder framework_cm7 ကို ဖျက်ပြီး စာကြည့်တိုက် framework_cm7 နှင့် Project > Properties > C/C++ Build > settings > Tool Settings > MCU C++ Linker > Libraries တွင် ထည့်သွင်းထားသော ၎င်း၏ ရှာဖွေမှုလမ်းကြောင်းကို ဖယ်ရှားပါ။

မူဘောင်ပေါ်တွင် မျက်နှာမှတ်မိခြင်းအင်္ဂါရပ်ကို ဖွင့်ပါ။
မျက်နှာမှတ်မိခြင်းအင်္ဂါရပ်ကို NXP မှ static library အဖြစ် ပံ့ပိုးပေးထားသည့် ML Vision algorithm မော်ဒယ်ပေါ်တွင် တည်ဆောက်ထားသည်။ စာကြည့်တိုက်သည် သေးငယ်သော၊ အလွန်ထိရောက်သော၊ စိတ်ကြိုက်ပြုပြင်ထားသော AI စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ မော်ဒယ်တွင် မျက်နှာကို သိရှိခြင်း၊ မျက်နှာမှတ်မိခြင်း၊ ဖန်သားပြင်သိရှိခြင်း နှင့် အသက်ရှင်နေမှုကို သိရှိခြင်းတို့ ပါဝင်သည်။ ၎င်းသည် ရလဒ်ဘောင်အချက်အလက်များ၊ ဖုန်းခေါ်ဆိုမှုများမှတစ်ဆင့် ခေါ်ဆိုသူထံ ရလဒ်များကို အပ်ဒိတ်လုပ်နေချိန်တွင် မျက်နှာအသိအမှတ်ပြုမှုပိုက်လိုင်းကို လုပ်ဆောင်ရန် API OASISLT_run_extended() ကို အဓိကပေးဆောင်ပြီး ဒေတာဘေ့စ်အတွင်း မျက်နှာများကို ပေါင်းထည့်/အပ်ဒိတ်/ဖျက်ခြင်းများ ပြုလုပ်ပြီးနောက် အရင်းအမြစ်ဘောင်အချက်အလက်များ၊ ဖုန်းခေါ်ဆိုမှုများနှင့် မန်မိုရီတို့ကို သတ်မှတ်ပေးပြီးနောက် စတင်ခြင်းတွင် အခြားသော API OASISLT_init() ကိုခေါ်ဆိုခြင်းဖြင့် စာကြည့်တိုက်မှအသုံးပြုသောရေကန်။ API များ ခေါ်ဆိုခြင်းနှင့် ပြန်ခေါ်ခြင်း လုပ်ဆောင်ချက်များကို မူဘောင်၏ vision algo HAL တွင် အကောင်အထည် ဖော်သည်။

အမြင်အာရုံ algo မော်ဒယ် ဒစ်ဂျစ်တိုက်ကို ထည့်ပါ။

  1. စာကြည့်တိုက်နှင့် သက်ဆိုင်ရာ ခေါင်းစီးပါရှိသော အိုအေစစ်ဖိုင်တွဲကို ကူးယူပါ။ file စမတ် HMI\coffee_machine\cm7\libs\ မှ ex ၏ folder libs သို့ample SW
  2. ခေါင်းစီး၏ ရှာဖွေမှုလမ်းကြောင်းကို ထည့်ပါ။ file Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > ပါဝင်သည်- “${workspace_loc:/${ProjName}/libs/oasis/include}”
  3. lib နှင့် ၎င်း၏ရှာဖွေမှုလမ်းကြောင်းကို Project > Properties > C/C++ Build > settings > MCU C+ + Linker > Liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” နှင့် macro အဓိပ္ပါယ်ဖွင့်ဆိုချက် Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Preprocessor နှင့် MCU C++ compiler > Preprocessor- SMART_TLHMI_2D တွင် အင်္ဂါရပ်ကို ဖွင့်ပါ

အမြင်အာရုံ အယ်လ်ဂို HAL ကို ဖွင့်ပါ။
Vision algo HAL သည် Vision algo မော်ဒယ်ကို အလုပ်လုပ်ရန် တွန်းအားပေးပြီး ၎င်းမှ အဖြစ်အပျက်များကို လက်ခံရရှိပြီးနောက် UI output HAL မှ ရလဒ်များကို တုံ့ပြန်သည်။

၎င်းကိုဖွင့်ရန်၊ ရှိပြီးသား အလားတူ HAL ဒရိုက်ဘာကို ပွားပါ။ file အောက်ဖော်ပြပါလုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်သည့်နေရာတွင်

  • မျက်နှာဒေတာဘေ့စ် လုပ်ဆောင်ချက်များနှင့် ဖြစ်ရပ်များကို ကိုင်တွယ်ခြင်း၏ ပြန်ခေါ်ခြင်းကို အကောင်အထည်ဖော်ပါ။
  • အိုအေစစ်စာကြည့်တိုက်၏ API များကိုခေါ်ဆိုခြင်းဖြင့် Vision algo ကို မောင်းနှင်ပါ။
  • သုံးစွဲသူမျက်နှာဒေတာဘေ့စ်နှင့် အက်ပ်ဒေတာဘေ့စ်ကို ဝင်ရောက်ကြည့်ရှုပါ (ယခင်က မလိုအပ်ပါ။ample) ။
  • UI HAL မှ ဖြစ်ရပ်များကို လက်ခံပြီး ရလဒ်များ ထုတ်ပေးရန် ပေးပို့ပါ။

HAL ကို အကောင်အထည်ဖော်ရန် အဓိက အလုပ်များample များမှာ-

  • ရှိပြီးသား အလားတူ HAL ဒရိုက်ဘာကို ပွားပါ။ file ဆက်စပ်အမည်များကို ပြောင်းလဲပါ။
  • အက်ပ်ဒေတာ လုပ်ဆောင်ချက်များနှင့် သက်ဆိုင်သည့် ကုဒ်များကို ဖယ်ရှားပါ။
  • အထွက် UI HAL မှ ဖြစ်ရပ်များကို ကိုင်တွယ်ရန်အတွက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် လုပ်ဆောင်ချက်များကို အပ်ဒိတ်လုပ်ပါ။ample ဒီဇိုင်း။
  • အိုအေစစ်စတင်ခြင်းတွင် လိုအပ်သောဖွဲ့စည်းပုံများကို ထည့်ပါ။

အသေးစိတ်အဆင့်များမှာ အောက်ပါအတိုင်းဖြစ်သည်။

  1. hal_vision_algo_oasis_coffeemachine.c ကို ပွားပါ။ ပြောင်းလဲပါ။ fileအမည်ကို hal_vision_algo_oasis_guifacerec.c. ပြီးလျှင် ကြိုးများအားလုံးကို CoffeeMachine တွင် GUIFaceRec ဖြင့် အစားထိုးပါ။ file.
  2. ဥပမာအားဖြင့် အက်ပ်ဒေတာဘေ့စ်နှင့်သက်ဆိုင်သည့် coffeedb (စာလုံးအသေးမရှိ) ပါဝင်သော ကုဒ်များကို ဖယ်ရှားပါ။ample၊ #include hal_sln_coffeedb.h။
  3. အထွက် UI HAL မှဖြစ်ရပ်များကိုကိုင်တွယ်ရန်အတွက် HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() လုပ်ဆောင်ချက်ကို မွမ်းမံပါ။
    • ဒေတာဘေ့စ်သို့ မျက်နှာအင်္ဂါရပ်ဒေတာအသစ်ထည့်ရန်အတွက် အဖြစ်အပျက်ကို ကိုင်တွယ်ရန်အတွက် ဖြစ်ရပ်၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်အား kEventFaceRecId_RegisterCoffeeSelection သို့ kEventFaceRecId_RegisterUserFace နှင့် ဒေတာဘေ့စ်တွင် မျက်နှာအင်္ဂါရပ်ဒေတာအသစ်ထည့်ရန်အတွက် အဖြစ်အပျက်ကို regGUIFaceRec သို့ ပြောင်းပါ။
    • ဟောင်းရှိ မျက်နှာမှတ်မိခြင်းလုပ်ဆောင်ချက်များ၏ စံလုပ်ငန်းစဉ်ကိုပြသရန်ample၊ ပြည်နယ်များ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များဖြင့် kEventFaceRecID_OasisSetState ကိစ္စတွင် ကိုင်တွယ်မှုကို မွမ်းမံပြင်ဆင်ပါ။
      • kOASISLiteState
      • kOASISLiteState မှတ်ပုံတင်ခြင်း။
      • အသိအမှတ်ပြု kOASISLiteState
      • ရပ်သွားတယ်။
  4. အထက်ပါအဆင့်တွင် ဖော်ပြထားသော ဖြစ်ရပ်များ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို ပေါင်းထည့်၍ ပြင်ဆင်ပါ။
    • ခေါင်းစီးကို ကူးယူပါ။ file စမတ် HMI\coffee_machine \cm7\source\event_handlers\ မှ smart_tlhmi_event_descriptor.h မှ ex ၏ folder source သို့ample SW အပ်ဒိတ်လုပ်ပါ။ file အောက်ပါအတိုင်း
    • အစီအစဉ်၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို kEventFaceRecId_RegisterCoffeeSelection သို့ kEventFaceRecId_RegisterUserFace သို့ ပြောင်းလဲပြီး struct _event_smart_tlhmi_id နှင့် ဖွဲ့စည်းတည်ဆောက်ပုံတွင် regCoffeeSelection မှ regGUIFaceRec သို့ struct _event_smart_tl ထို့ကြောင့်၊ regCoffeeSelection အတွက် struct register_coffee_selection_event_t ကို register_gui_facerec_event_t သို့ ပြောင်းပါ။
    • ဥပမာ ကော်ဖီစက်အက်ပ်အတွက် အသုံးပြုသည့် အခြားအကြောင်းအရာများကို ဖျက်ပါ။ample၊ အသံအကြောင်း ကုဒ်လိုင်း- #include “hal_event_descriptor_voice.h”။
    • အောက်ပါအတိုင်း ပရောဂျက်ရှိ framework>hal>vision အောက်ရှိ hal_vision_algo.h ရှိ enum type oasis_lite_state_t သို့ kOASISLiteState_Stopped နှင့် kOASISLiteState_Running အမျိုးအစားများကို ပေါင်းထည့်ပါ-
      typedef enum _oasis_lite_state {
      • kOASISLiteState
      • လုပ်ဆောင်နေသည်၊ kOASISLiteState
      • ရပ်သွားပြီ၊ kOASISLiteState
      • အသိ၊
      • kOASISLiteState
      • မှတ်ပုံတင်ခြင်း၊ kOASISLiteState
      • DeRegistration၊ kOASISLiteState
      • RemoteRegistration၊ kOASISLiteState
      • ရေတွက်ပါ။
    • ပရောဂျက်ရှိ framework>hal>vision အောက်ရှိ framework>hal>vision အောက်တွင် typedef struct _oasis_state_event_t { oasis_lite_state_state_state_t { oasis_lite_state_state_state_t { oasis_lite_state_state_state_state_state_state; } oasis_state_event_t;
  5. ရူပါရုံ algo HAL မှ အဖြစ်အပျက်များကို ပေးပို့ရန်အတွက် kEventInfo_Remote အားလုံးကို kEventInfo_Local သို့ ပြောင်းပါampလဲ့
  6. OASISLT_init(-) တွင် အိုအေစစ် စတင်ခြင်းအတွက် အောက်ဖော်ပြပါ ပုံစံများကို ပေါင်းထည့်၍ ပြင်ဆင်ပါ။
    • board_define.h တွင် ဗီဒီယိုဘောင်အတွက် မက်ခရို အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် မှတ်ဉာဏ်အပိုင်းများကို ထည့်ပါ- #define OASIS_RGB_FRAME_WIDTH 800
      • #Define OASIS_RGB_FRAME_HEIGHT 600
      • #Define OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
      • #define OASIS_RGB_FRAME_BYTE_PER_PIXEL ၃
      • #define AT_FB_SHEM_SECTION_ALIGN(var၊ alignbytes) \
      • __attribute__((အပိုင်း(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
      • __attribute__((aligned(alignbytes)))
    • ပုံ 5 တွင်ပြသထားသည့် မမ်မိုရီကဏ္ဍ fb_sh_mem တွင် မမ်မိုရီတာဝန်ကို စီစဉ်သတ်မှတ်ပါ Project > Properties > C/C++ Build > MCU ဆက်တင်များ-NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (12)
    • lvgl_gui_face_rec_cm7.cpp တွင် ကမ္ဘာလုံးဆိုင်ရာ ပြောင်းလဲနိုင်သော g_DTCOPBuf ကို ကြေညာပါ- AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • အထက်ပါကိန်းရှင်တွင် အသုံးပြုထားသော အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို ဆက်လက်ထည့်သွင်းရန်-
    • board_define.h တွင် အထက်ဖော်ပြပါ ကဏ္ဍကို သတ်မှတ်ပါ။
      • #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var၊ alignbytes) \
      • attribute__((အပိုင်း(“.bss.$SRAM_DTC_cm7၊\”aw\”၊%nobits @”))) var
      • attribute__((aligned(alignbytes)))
    • ခေါင်းစဉ်ကို ထည့်သွင်းပါ။ file lvgl_gui_face_rec_cm7.cpp တွင်ပါဝင်သော app_config.h တွင် macro အဓိပ္ပါယ်ဖွင့်ဆိုချက် DTC_OPTIMIZE_BUFFER_SIZE ပါဝင်သော hal_vision_algo.h
  7. မျက်နှာအသိအမှတ်ပြုမှုတွင် တိုးတက်မှုအခြေအနေကိုပြသရန်အတွက် ပြောင်းလဲနိုင်သော s_debugOption ကို True အဖြစ်သတ်မှတ်ပါ။
  8. ခေါင်းစီး၏ ရှာဖွေမှုလမ်းကြောင်းကို ထည့်ပါ။ fileProject > Properties >C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Includes- “${workspace_loc:/${ProjName}/framework/hal/vision}” ပေါ်ရှိ HAL ၏ vision
  9. board_define.h တွင် vision algo HAL ကိုဖွင့်ရန် အောက်ပါအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို ထည့်ပါ- #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

အထွက် UI HAL ကိုဖွင့်ပါ။
အထွက် UI HAL သည် ရူပါရုံ algo HAL မှ အဖြစ်အပျက်များကို အသိပေးပြီး ရူပါရုံ algo HAL မှ အနုမာနရလဒ်များကို တုံ့ပြန်သည်။ GUI အက်ပ်ဖြင့်၊ ဖြစ်ရပ်များကို ယေဘုယျအားဖြင့် အက်ပ်က အစပျိုးပြီး ရလဒ်များကို အက်ပ်တွင် ပြသထားသည်။

၎င်းကိုဖွင့်ရန်၊ ရှိပြီးသား အလားတူ HAL ဒရိုက်ဘာကို ပွားပါ။ file ယေဘူယျအားဖြင့် အောက်ဖော်ပြပါလုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်သည့်နေရာတွင်-

  • မျက်နှာမှတ်မိခြင်းနှင့် ဒေတာဘေ့စ်ဝင်ရောက်ခြင်းအတွက် ဖြစ်ရပ်များကို အသိပေးပါ။
  • အဖြစ်အပျက်များကို အစပျိုးရန် GUI အက်ပ်အတွက် ပြန်ခေါ်မှုများကို အကောင်အထည်ဖော်ပါ။
  • Vision algo module မှ အနုမာနရလဒ်များကို ကိုင်တွယ်ပါ။
  • တိုင်မာများနှင့် မျက်နှာလမ်းညွှန်စတုဂံဖြင့် ထိန်းချုပ်ထားသော တိုးတက်မှုဘားဖြင့် UI တွင် ကိုင်တွယ်ဆောင်ရွက်သည့် လုပ်ငန်းစဉ်နှင့် ရလဒ်များကို ပြသပါ။

HAL ကို အကောင်အထည်ဖော်ရန် အဓိက အလုပ်များampဤစာတမ်းတွင် အသုံးပြုထားသည်များမှာ-

  • ရှိပြီးသား အလားတူ HAL ဒရိုက်ဘာကို ပွားပါ။ file ဆက်စပ်အမည်များကို ပြောင်းလဲပါ။
  • အက်ပ်နှင့်ဆက်စပ်သောကုဒ်များကို ဖယ်ရှားပါ။
  • အဖြစ်အပျက်များ အသိပေးချက်နှင့် ရလဒ်များ တုံ့ပြန်မှုအတွက် လုပ်ဆောင်ချက်များကို ယခင်ဟောင်းမှ အပ်ဒိတ်လုပ်ပါ။ample ဒီဇိုင်း။
  • အဖြစ်အပျက်များကို အစပျိုးရန် GUI အက်ပ်အတွက် ပြန်ခေါ်မှုများကို ထည့်ပါ။

အသေးစိတ်အဆင့်များမှာ အောက်ပါအတိုင်းဖြစ်သည်။

  1. hal_output_ui_coffee_machine.c ကို ပွားပါ။ ပြောင်းလဲပါ။ filehal_ output_ui_guifacerec.c ၏ အမည်။
  2. ကြိုးများအားလုံးကို CoffeeMachine တွင် GUIFaceRec ဖြင့် အစားထိုးပါ။ file.
  3. အက်ပ်-ကော်ဖီစက်နှင့် ဆက်စပ်သောကုဒ်များကို ဖယ်ရှားပါ။
    • WakeUp() နှင့် _StandBy() နှင့် ဆက်စပ်သော ကုဒ်များ လုပ်ဆောင်ချက်များကို ဖယ်ရှားပါ ( ၎င်းတို့အတွက် wake_up နှင့် standby တို့ကို ရှာဖွေနိုင်သည်)။
    • ကြိုဖယ်ပါ။view HAL_OutputDev_UiGUIFaceRec_Input Notify().
    • အကြိုအတွက် gui_set_virtual_face() မှလွဲ၍ ကော်ဖီစက်၏ GUI နှင့်ဆက်စပ်သော UI_xxx_Callback() နှင့် string gui_ နှင့် စခရင်ပါရှိသော ကုဒ်များကို ဖယ်ရှားပါview မုဒ်အင်္ဂါရပ်။
    • s_IsWaitingAnotherSelection နှင့် s_IsWaitingRegisterSelection နှင့် ကော်ဖီစက်အက်ပ်နှင့်ဆက်စပ်သော ကိန်းရှင်များပါ၀င်သော ကုဒ်အားလုံးကို ဖယ်ရှားပါ။
    • အသံ၊ အသံနှင့် ဘာသာစကားတို့နှင့် သက်ဆိုင်သည့် ကုဒ်များကို ဖယ်ရှားပါ။ ဟောင်းအတွက်ample-
      • #“hal_voice_algo_asr_local.h” ပါဝင်သည်၊
      • #“hal_event_descriptor_voice.h” ပါဝင်သည်
  4. အမျိုးမျိုးသောဖြစ်ရပ်များသတိပေးချက်အတွက်၊ လုပ်ဆောင်ချက်အသစ်များ _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), နှင့် DeregisterGUIFaceRec() လုပ်ဆောင်ချက်များကို ရည်ညွှန်းသော _StopFaceRec(), _RegisterCoffeeSelection(), နှင့် DeregisterCoffeeSelection() ၎င်းတို့ကို မရွေးချယ်မီ
    • _OutputManagerNotify() သည် vision algo HAL သို့ ဖြစ်ရပ်တစ်ခုကို ပေးပို့ရန်အတွက် အခြေခံ ဖြစ်ရပ်ထွက်ရှိမှု လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သည်။ အောက်ဖော်ပြပါလုပ်ဆောင်ချက်များသည် ၎င်းတို့၏ကိုယ်ပိုင်ဖြစ်ရပ်များကို ပေးပို့ရန် ၎င်းကိုခေါ်သည်။
    • _SetFaceRec() သည် kEventFaceRecID_OasisSetState သည် မျက်နှာစာရင်းသွင်းခြင်း၊ မှတ်သားခြင်းနှင့် အယ်ဂိုကိုရပ်တန့်ရန်အတွက် အမြင်အာရုံကို အစပျိုးရန် အဖြစ်အပျက်ကို ပေးပို့သည်။
    • _RegisterGUIFaceRec() သည် မှတ်ပုံတင်သည့်အခါ ဒေတာဘေ့စ်သို့ မျက်နှာအင်္ဂါရပ်ဒေတာကို ထည့်ရန်အတွက် kEventFaceRecId_RegisterGUIFaceRec ကို smart_tlhmi_event_descriptor.h တွင် သတ်မှတ်ထားသော အဖြစ်အပျက်ကို ပေးပို့ပါသည်။
    • DeregisterGUIFaceRec() သည် face recognition ကိုဖြတ်သွားသောအခါ ဒေတာဘေ့စ်မှ မျက်နှာအင်္ဂါရပ်ဒေတာကို ဖျက်ရန် အဖြစ်အပျက် kEventFaceRecID_DelUser ကို ပေးပို့သည်။
  5. လုပ်ဆောင်ချက်ဟောင်းအတွက် _InferComplete_Vision() ၏ အနုစိတ်ရလဒ်များအတွက် LVGL GUI အက်ပ်မှ API များကိုခေါ်ဆိုခြင်းဖြင့် GUI ကို ပြန်လည်ဆန်းသစ်ခြင်းအပါအဝင် သက်ဆိုင်ရာလုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန် ကုဒ်များကို အပ်ဒိတ်လုပ်ပါ။ample's ဒီဇိုင်း။ ဟောင်းအတွက်ampမျက်နှာမှတ်ပုံတင်ခြင်း အောင်မြင်သောအခါ၊
    • _FaceRecProcess_Stop();
    • _SetFaceRec(kOASISLiteState_Stopped) ကိုခေါ်ဆိုခြင်းဖြင့် မျက်နှာမှတ်ပုံတင်ခြင်းကို ရပ်တန့်ပါ။
    • GUI တွင် အောင်မြင်သောရလဒ်ကို ပြပါ- gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • မျက်နှာဒေတာကို ဒေတာဘေ့စ်သို့ မှတ်ပုံတင်ပါ- _RegisterUserFace(s_UserId);
  6. အဖြစ်အပျက်များကို ကိုင်တွယ်ရန် UI ပြန်ခေါ်သည့် လုပ်ဆောင်ချက်များကို ထည့်ပါ- ကြိုတင်viewGUI မှအစပြုသော အသုံးပြုသူအား မှတ်ပုံတင်ခြင်း၊ အသိအမှတ်ပြုခြင်းနှင့် ဖျက်ခြင်း ဟောင်းအတွက်ample၊ မျက်နှာစာရင်းသွင်းခြင်းကို ပြန်ခေါ်ခြင်း- UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration ပျက်ပြယ်); _FaceRecProcess_Start(); }
    • ပြီးလျှင် မတူညီသော ဖြစ်ရပ်များနှင့် ရလဒ်များတွင် တိုးတက်မှုနှင့် အခြေအနေကို ပြသရန် _FaceRecProcess_Start() နှင့် _FaceRecProcess_Stop() လုပ်ဆောင်ချက်များကို ပေါင်းထည့်ပါ။
    • ခေါ်ဆိုခြင်းဖြင့် အချိန်ကုန်သွားသည့်ကိစ္စအား ကိုင်တွယ်ရန် ISR ခေါ်ဆိုမှု _SessionTimer_Callback() တိုင်မာကို အပ်ဒိတ်လုပ်ပါ- gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. board_define.h တွင် UI အထွက် HAL ကို ဖွင့်ရန် အောက်ပါ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို ထည့်ပါ- #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

သတိပေးချက်-
မျက်နှာမှတ်မိခြင်းအင်္ဂါရပ်ကို ပိုမိုကောင်းမွန်စွာတင်ပြရန်၊ အထွက် UI HAL တွင် မျက်နှာမှတ်မိခြင်း၏ လုပ်ငန်းစဉ်နှင့် ရလဒ်များကိုပြသရန် လုပ်ဆောင်ချက်ကို ထားရှိပါ။ Function ကို အောက်မှာဖော်ပြထားပါတယ်။

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

တိုးတက်မှုဘားနှင့် မျက်နှာလမ်းညွှန်စတုဂံကို အရင်းအမြစ် binary တွင် တည်ဆောက်ထားသည့် အိုင်ကွန်များအဖြစ် ပြသထားသည်။ file Flash တွင် ပရိုဂရမ်ထည့်သွင်းရန်။ SDRAM ပေါ်ရှိ အိုင်ကွန်ဒေတာများဆီသို့ ညွှန်ပြမှုများကို LoadIcons(APP_ICONS_BASE) အထွက် UI HAL တွင် အထွက် UI HAL ကိရိယာ၏ ကနဦးသတ်မှတ်ခြင်းတွင် ခေါ်သည့် လုပ်ဆောင်ချက်တွင် ထည့်သွင်းထားသည်။ ၎င်းသည် လုပ်ဆောင်ချက်အတွက် အိုင်ကွန်များကို ပံ့ပိုးပေးရပါမည်။

အိုင်ကွန်များပံ့ပိုးမှုကို အကောင်အထည်ဖော်ပါ။

  1. LVGL GUI အက်ပ်တွင် အသုံးပြုထားသော ပုံများနှင့် အိုင်ကွန်များကို ပေါင်းစပ်ထားသော အရင်းအမြစ်ကို တည်ဆောက်ပါ-
    • အိုင်ကွန် ခေါင်းစီးလေးခုကို ပွားပါ။ files process_bar_240x14.h၊ virtual_face_blue_420x426.h၊ virtual_face_green_420x426.h နှင့် smart HMI မှ virtual_face_red_420x426.h
      \coffee machine\resource\icons\ ဟောင်း၏အရင်းအမြစ်ဖိုင်တွဲအောက်ရှိ ဖိုဒါအိုင်ကွန်အသစ်များသို့ample SW
    • အိုင်ကွန်လေးခုအတွက် ရှာဖွေမှုလမ်းကြောင်းကို ထည့်ပါ။ filecamera_pre ထဲမှာ s ပါ။view_resource.txt file အရင်းအမြစ်ဖိုဒါထဲမှာ ဥပမာample- icon ../resource/icons/process_bar_240x14.h
    • camera_pre ကို လုပ်ဆောင်ပါ။viewပုံးနှင့်အိုင်ကွန်အရင်းအမြစ်များကိုတည်ဆောက်ရန် _resource_build.bat file ကင်မရာ_ကြိုview_resource.bin နှင့် အချက်အလက် file resource_information_table.txt (ပုံ 6 ကိုကြည့်ပါ)။NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (13)
  2. SDRAM တွင် စတင်လိပ်စာနှင့် app_config.h ရှိ အိုင်ကွန်များ၏ အရွယ်အစားကို သတ်မှတ်ပါ။ လိပ်စာသည် GUI အက်ပ်၏ ပုံများဘေးတွင် စတင်သည်။ အချက်အလက်တွင် အရွယ်အစားကို ထုတ်ပေးသည်။ file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
  3. app_config.h- #define RES_SHEM_TOTAL_SIZE 0x200000 နှင့် Project > Properties > C/C++ Build > MCU ဆက်တင်များတွင် ဆက်စပ်ဆက်တင်များကို res_sh_mem ဟု အမည်ပေးထားသည့် မမ်မိုရီကဏ္ဍ၏ အရွယ်အစားကို 0x200000 သို့ အပ်ဒိတ်လုပ်ပါ။
  4. ပင်မရှိ APP_LoadResource() လုပ်ဆောင်ချက်တွင် Flash မှ SDRAM သို့ တင်ထားသော ရင်းမြစ်၏ စုစုပေါင်းအရွယ်အစားတွင် အိုင်ကွန်အရွယ်အစားကို ထည့်ပါ file lvgl_gui_face_rec_cm7.cpp- memcpy((void *)APP_LVGL_IMGS_BASE၊ pLvglImages၊ APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

သတိထားပါ။− မျက်နှာမှတ်မိခြင်းအင်္ဂါရပ်ကို အပြီးသတ်ရန် LVGL GUI အက်ပ်ပံ့ပိုးမှု လိုအပ်ပါသည်။ UI ဖန်သားပြင်မှ အဖြစ်အပျက်များကို ကိုင်တွယ်ရန်အတွက် LVGL GUI အက်ပ်မှ UI အထွက် UI HAL ရှိ UI ပြန်ခေါ်ခြင်း လုပ်ဆောင်ချက်များကို ခေါ်ဆိုပါသည်။ အခြားတစ်ဖက်တွင်၊ အထွက် UI HAL သည် ရလဒ်နှင့် အခြေအနေကိုပြသရန် UI ကို အပ်ဒိတ်လုပ်ရန် LVGL GUI အက်ပ်မှ API များကို ခေါ်ဆိုသည်။ LVGL GUI အက်ပ်၏ဖွံ့ဖြိုးတိုးတက်မှုသည်အတော်လေးလွတ်လပ်ပြီး အပိုင်း 4.3 တွင်မိတ်ဆက်ခဲ့သည်။

4.1.5 မျက်နှာမှတ်မိခြင်းအတွက် HAL စက်များနှင့် မန်နေဂျာများကို စတင်ပါ။
ဖွင့်ထားသည့် ရူပါရုံ algo HAL နှင့် UI အထွက် HAL နှင့် ၎င်းတို့၏ မန်နေဂျာများကို ပင်မတွင် စတင်ထားသည်။ file
lvgl_gui_face_rec_cm7.cpp တွင် အောက်ပါအတိုင်း မူဘောင်ပေါ်တွင် ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ စကားဝိုင်းများကို လိုက်နာသည်-

  1. ခေါင်းစဉ်ကို ထည့်သွင်းပါ။ file ကုဒ်လိုင်းကို ပေါင်းထည့်ခြင်းဖြင့် HAL မန်နေဂျာနှစ်ဦးနှင့် သက်ဆိုင်သည်-
    • #include "fwk_output_manager.h"
    • # “fwk_vision_algo_manager.h” ပါဝင်သည်
  2. HAL စက်ပစ္စည်းများကို ကြေညာပါ-
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. HAL စက်ပစ္စည်းများကို မှတ်ပုံတင်ပါ-
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec၊ ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec၊ ret);
  4. မန်နေဂျာများကို အစပြုပါ-
    • FWK_MANAGER_INIT(VisionAlgoManager၊ ret);
    • FWK_MANAGER_INIT(OutputManager၊ ret);
  5. မန်နေဂျာများကို စတင်ပါ။
    • FWK_MANAGER_START(VisionAlgoManager၊ VISION_ALGO_MANAGER_TASK_PRIORITY၊ ret);
    • FWK_MANAGER_START(OutputManager၊ OUTPUT_MANAGER_TASK_PRIORITY၊ ret);
  6. မန်နေဂျာတာဝန်များကို ဦးစားပေးသတ်မှတ်ပါ-
    • #Define VISION_ALGO_MANAGER_TASK_PRIORITY ၃
    • #သတ်မှတ် OUTPUT_MANAGER_TASK_PRIORITY ၁

မူဘောင်ပေါ်တွင် မျက်နှာဒေတာဘေ့စ်ပံ့ပိုးမှုထည့်ပါ။
မှတ်ပုံတင်ထားသော မျက်နှာအင်္ဂါရပ်ဒေတာကို Flash တွင်သိမ်းဆည်းထားသည့် မျက်နှာဒေတာဘေ့စ်တွင် အနည်းငယ်မှတစ်ဆင့် ဝင်ရောက်ကြည့်ရှုသည်။ file စနစ်။ မျက်နှာဒေတာဘေ့စ်ပံ့ပိုးမှုထည့်ရန် အဆင့်များကို အောက်တွင်ဖော်ပြထားသည်။

Flash သိုလှောင်မှုအတွက် ဒရိုက်ဗာများကို ထည့်ပါ။
Flash အင်တာဖေ့စ် FlexSPI ဒရိုက်ဘာကို ကူးယူပါ။ files fsl_flexspi.c နှင့် fsl_flexspi.h နှင့် ဒေတာ ကုဒ်ဝှက်ခြင်း ဒရိုက်ဗာ fileSDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ လမ်းကြောင်းမှ s fsl_caam.h နှင့် fsl_caam.hample SW

ဘုတ်အဖွဲ့အဆင့် ပံ့ပိုးမှုထည့်ပါ။

  1. board.h တွင် ဘုတ်ပေါ်ရှိ Flash စက်အတွက် အသုံးပြုသည့် FlexSPI ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို ထည့်ပါ-
    • # BOARD_FLEXSPI FLEXSPI1 ကိုသတ်မှတ်ပါ။
    • #သတ်မှတ် BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
    • #Define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
  2. အော်ပရေတာများနှင့် ဖွဲ့စည်းမှုပုံစံများကို ကူးယူပါ။ fileFlash စက်၏ flexspi_nor_flash_ops.c၊ flexspi_nor_flash_ops.h၊ sln_flash_config.c၊ sln_flash_config_w25q256jvs.h၊ andsln_flash_ops.h လမ်းကြောင်း စမတ် HMI\coffee_machineflash\ext7 ၏ လမ်းကြောင်းအောက်တွင်ample SW
    • ပေါ်တွင် right-click နှိပ်ပြီးနောက် C/C++ Build > Settings တွင် “အရင်းအမြစ်မှ ဖယ်ထုတ်ပါ” ကို အမှန်ခြစ်ဖြုတ်ပါ။ files ၏အမည်နှင့် Properties ကိုဖွင့်သူတို့ကိုပရောဂျက်သို့တည်ဆောက်နိုင်စေဘို့။
  3. ပါဝင်သော ခေါင်းစီးကို ပြောင်းပါ။ filesln_flash_config.h မှ sln_flash_config_w25q256jvs.h သို့ sln_flash_config.c နှင့် flexspi_nor_flash_ops.h တွင် အမည်ပေးပါ။
  4. FlexSPI1 နာရီရင်းမြစ်ကို အဆိုပါနေရာတွင် သတ်မှတ်ပါ။ file clock_config.c ကော်ဖီစက်အက်ပ်ကို ရည်ညွှန်းသည်။

အဒက်တာနှင့် အလယ်တန်းအဆင့် ပံ့ပိုးမှုထည့်ပါ။

  1. ကူးယူပါ။ files sln_flash.c၊ sln_flash.h၊ sln_encrypt.c နှင့် sln_encrypt.h တို့အတွက် adapter drivers အဖြစ် file စမတ် HMI\coffee_machine\cm7\source\ ၏လမ်းကြောင်းမှ စနစ်နှင့်အက်ပ်သည် ဟောင်း၏ဖိုင်တွဲအရင်းအမြစ်ဆီသို့ampလဲ့ အသစ်ကို Update လုပ်ပါ။ files:
    • တည်ဆောက်ရန်အတွက် ၎င်းတို့ရှိ “အရင်းအမြစ်မှ ဖယ်ထုတ်ပါ” ကို အမှန်ခြစ်ဖြုတ်ပါ။
    • ပါဝင်သော ခေါင်းစီးအားလုံးကို ပြောင်းပါ။ file အမည်မှာ sln_flash_config.h မှ sln_flash_config_w25q256jvs.h သို့။
  2. ဖိုဒါကို ကူးယူပါ။ fileအနည်းငယ်များအတွက် APIs ပါ ၀ င်သောစနစ် fileစမတ် HMI \coffee_machine\cm7\source\ မှ စနစ်နှင့် HAL ဒရိုက်ဘာample SW ဖိုင်တွဲအသစ်အတွက် အပ်ဒိတ်လုပ်ပါ-
    • တည်ဆောက်ရန်အတွက် ၎င်းတွင် "အရင်းအမြစ်မှ ဖယ်ထုတ်ပါ" ကို အမှန်ခြစ်ဖြုတ်ပါ။
    • ပရောဂျက်ဆက်တင်များတွင် ၎င်းအတွက်ပါဝင်သည့်လမ်းကြောင်းကို ထည့်ပါ- “${workspace_loc:/${ProjName}/fileစနစ်}”
    • ပါဝင်သော ခေါင်းစီးကို ပြောင်းပါ။ file sln_flash_config.h မှ sln_flash_config_w25q256jvs.h နှင့် app_config.h သို့ fica_definition.h ဟု အမည်ပေးလိုက်ပါ။ file sln_flash_littlefs.h။
  3. အလယ်ထည်-နည်းနည်းပါရှိသော ဖိုင်တွဲကို ကော်ပီကူးပါ။ fileSDK_2_13_0_ MIMXRT1170-EVK\middleware\ လမ်းကြောင်းမှ စနစ်ample SW ဖိုင်တွဲအသစ်ကို အပ်ဒိတ်လုပ်ပါ။
    • တည်ဆောက်ရန်အတွက် ၎င်းတွင် "အရင်းအမြစ်မှ ဖယ်ထုတ်ပါ" ကို အမှန်ခြစ်ဖြုတ်ပါ။
    • ပရောဂျက်ဆက်တင်များတွင် ၎င်းအတွက်ပါဝင်သည့်လမ်းကြောင်းကို ထည့်ပါ- “${workspace_loc:/${ProjName}/littlefs}”

HAL ဒရိုက်ဘာများထည့်ပါ။ 

  • HAL စက်ပစ္စည်း နှစ်ခု ရှိသည်- file ဒေတာဘေ့စ်ဝင်ရောက်ခြင်းအင်္ဂါရပ်အတွက် စနစ်နှင့် မျက်နှာဒေတာဘေ့စ် HAL ကို ပံ့ပိုးပေးထားပြီး ၎င်းတို့သည် ပြောင်းလဲမှုမရှိဘဲ မူဘောင်တွင် အကောင်အထည်ဖော်နေပြီဖြစ်သည်။ board_define.h တွင် အောက်ပါ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို ထည့်ခြင်းဖြင့် ၎င်းတို့ကို ဖွင့်ပါ-
    • #Define ENABLE_FLASH_DEV_Littlefs
    • #ENABLE_FACEDB ကိုသတ်မှတ်ပါ။

နှင့် ex အတွက် face database အမည်ကို ပြောင်းပါ။ample- #define OASIS_FACE_DB_DIR “oasis_gui_face_rec”

အက်ပ်အဆင့် ပံ့ပိုးမှု ထည့်ပါ။

  1. ပင်မကိုမွမ်းမံပါ။ file lvgl_gui_face_rec_cm7.cpp-
    • ခေါင်းစဉ်ကို ထည့်သွင်းပါ။ file Flash နှင့်သက်ဆိုင်သည်။ file ကုဒ်လိုင်းကို ပေါင်းထည့်ခြင်းဖြင့် စနစ် HAL မန်နေဂျာ- #include “fwk_flash.h”
    • ကြေညာပြီး စာရင်းသွင်းပါ။ file စနစ် HAL စက်ပစ္စည်း-
      • HAL_FLASH_DEV_DECLARE(Littlefs);
      • HAL_FLASH_DEV_REGISTER(Littlefs၊ ret);
        မှတ်ချက်: ဟိ file APP_InitFramework().
    • MPU ကို config လုပ်ရန်အတွက် APP_BoardInit() တွင် BOARD_ConfigMPU() ကိုခေါ်ဆိုပါ။
  2. သတ်မှတ်ပါ။ file Flash တွင် system assignment file app_config.h တွင်အသုံးပြုသော macro အဓိပ္ပါယ်ဖွင့်ဆိုချက်များကို သတ်မှတ်ခြင်းဖြင့် file sln_flash_littlefs.h-
    • #FICA_IMG_ သတ်မှတ်ရန်FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHEM_TOTAL_SIZE)
    • #FICA_ကိုသတ်မှတ်ရန်FILE_SYS_SIZE (0x280000)

ဖွဲ့စည်းမှု
လုံလောက်သောစွမ်းဆောင်ရည်အတွက် အချို့သော Flash ဆိုင်ရာကုဒ်များကို SRAM ITC ဧရိယာတွင် လုပ်ဆောင်ပါသည်။ လင့်ခ်ကာဖွဲ့စည်းပုံများပါရှိသော ဖိုင်တွဲများကို စမတ် HMI\coffee_machine\cm7\ လမ်းကြောင်းမှ ဟောင်းသို့ ကူးယူပါ။ample SW

LVGL GUI အက်ပ်ကို အကောင်အထည်ဖော်ပါ။
framework ကိုအခြေခံ၍ LVGL GUI အက်ပ်ကို တီထွင်ခြင်းသည် အထွက် UI HAL မှ APIs များကို ခေါ်ပြီး UI HAL ထုတ်ပေးရန် API များကို ထောက်ပံ့ပေးသည် (အထွက် UI HAL အကောင်အထည်ဖော်မှုအတွက် အပိုင်း 4.1.3 ကို ကြည့်ပါ)။

သို့သော်၊ LVGL GUI အက်ပ်၏အသေးစိတ်အကောင်အထည်ဖော်မှုသည် အပလီကေးရှင်း၏လိုအပ်ချက်များနှင့် ဒီဇိုင်းအပေါ်မူတည်ပါသည်။ ဤ ex ရှိ GUI အက်ပ်ample ကို အပိုင်း အပိုင်း ၄ ၏ အစတွင် ဖော်ပြထားသည့်အတိုင်း ပုံစံထုတ်ထားသည်။

အောက်တွင် အကောင်အထည်ဖော်မှု နိဒါန်းများ ဖြစ်ပါသည်။

  1. စိတ်ကြိုက်ကုဒ်များကို GUI Guider မှပေးသော custom.c နှင့် custom.h တွင် GUI Guider ပရောဂျက်နှင့် မြှုပ်သွင်းထားသော စနစ်ပရောဂျက်ကြားရှိ အင်တာဖေ့စ်အဖြစ် အကောင်အထည်ဖော်သည်။
    •  အောက်ပါလုပ်ဆောင်ချက်များကိုအောင်မြင်ရန် gui_xxx() ဟုအမည်ပေးထားသောလုပ်ဆောင်ချက်အသစ်များကို custom.c တွင်ထည့်ပါ။
      • UI ကို အပ်ဒိတ်လုပ်ရန် UI HAL နှင့် GUI အက်ပ်၏ အထွက်အတွက်။
      • GUI အက်ပ်သည် အထွက် UI HAL မှ UI ပြန်ခေါ်သည့် လုပ်ဆောင်ချက်များကို ခေါ်ဆိုခြင်းဖြင့် ဖြစ်ရပ်များကို အစပျိုးရန်။
        ဟောင်းအတွက်ampထို့နောက်၊ လုပ်ဆောင်ချက်အသစ် gui_event_face_rec_action() သည် မျက်နှာစာရင်းသွင်းခြင်း၊ မျက်နှာမှတ်မိခြင်းနှင့် ဆက်စပ်ခလုတ်ကိုနှိပ်လိုက်သောအခါ GUI အက်ပ်မှအစပျိုးအသုံးပြုသူအား ဖျက်ခြင်း၏ဖြစ်ရပ်များထဲမှတစ်ခုကို ကိုင်တွယ်ရန် UI ပြန်ခေါ်သည့်လုပ်ဆောင်ချက်များကို ခေါ်ဆိုသည်။
        မှတ်ချက်- gui_set_virtual_face() သည် အကြိုအတွက် အထွက် UI HAL ဟုခေါ်သော လုပ်ဆောင်ချက်view မုဒ်ကို custom.c တွင် အကောင်အထည်ဖော်ရန် လိုအပ်သည်-
    •  စမတ် HMI\coffee_machine\cm4\custom \custom.c မှ gui_set_virtual_face() လုပ်ဆောင်ချက်
    •  ဝစ်ဂျက်၏အမည် home_img_cameraPre ကိုပြောင်းပါ။view screen_img_camera_pre သို့view function ထဲမှာ။
    •  GUI Guider ပရောဂျက်နှင့် သဟဇာတဖြစ်ခြင်းတို့ကြောင့် UI HAL တွင် ဤလုပ်ဆောင်ချက်များသည် output UI HAL နှင့် သက်ဆိုင်သောကြောင့် custom.c တွင် macro အဓိပ္ပါယ်ဖွင့်ဆိုချက် #ifndef RT_PLATFORM ထိန်းချုပ်မှုအောက်တွင် UI HAL ရှိ တူညီသော ရှေ့ပြေးပုံစံဖြင့် UI callback လုပ်ဆောင်ချက်များကို အကောင်အထည်ဖော်ပါ။ မြှုပ်ထားတဲ့ ပလက်ဖောင်း။ custom.c တွင်၊ ၎င်းတို့သည် GUI လမ်းညွှန်မှုပေါ်ရှိ Simulator ပေါ်တွင် မူတည်ပြီး embedded platform အတွက် သီးခြားဖြစ်သည်။ ဟောင်းအတွက်ampထို့ကြောင့်၊ မျက်နှာမှတ်ပုံတင်ခြင်းပြန်ခေါ်ခြင်းကို လည်ပတ်နေသည့် GUI Guider simulator အတွက်အောက်ပါအတိုင်း လုပ်ဆောင်နေသည်- #ifndef RT_PLATFORM ပျက်ပြယ်သွားသော UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = မှားယွင်းသော၊ ပြန်လာ; }
      မှတ်ချက်: အပိုင်း 6 ၏ အဆင့် 4.1.3 တွင် ဖော်ပြထားသော လုပ်ဆောင်ချက်၏ တူညီသော ရှေ့ပြေးပုံစံကို ကိုးကားပါ။
      ပုံ 7 တွင်ပြထားသည့်အတိုင်း Macro အဓိပ္ပါယ်ဖွင့်ဆိုချက် RT_PLATFORM ကို MCUXpresso ၏ ပရောဂျက်ဆက်တင်များတွင် သတ်မှတ်ထားသည်-NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (14)
    • custom.h တွင် UI_xxx_Callback() နှင့် gui_xxx() ဟု အမည်ပေးထားသည့် လုပ်ဆောင်ချက်အားလုံးကို ကြေညာပြီး smart_tlhmi_event_descriptor.h တွင် ပါဝင်သော custom.h ကို UI ထုတ်ပေးရန်အတွက် GUI API များကို HAL သို့ မျှဝေပါ။
  2. GUI Guider တွင် GUI ကို ဖန်တီးပါ-
    • ဖိုဒါကင်မရာကို ကြိုပွားပါ။view အခြေခံဆော့ဖ်ဝဲလ်ပက်ကေ့ခ်ျ Lvgl_gui_camera_pre ဖိုင်တွဲရှိ gui_guider တွင် GUI Guider ပရောဂျက်ဆော့ဖ်ဝဲပါရှိသည်။view_cm7။ ဆက်စပ်အမည် camera_pre ကို ပြောင်းပါ။view ဟောင်းအသစ်အတွက် face_recampလဲ့
    • အထက်ဖော်ပြပါ အပ်ဒိတ်လုပ်ထားသော custom.c နှင့် စိတ်ကြိုက်ကို ကူးယူပါ။ h GUI Guider ပရောဂျက်ဆော့ဖ်ဝဲအသစ်သို့။
    •  GUI Guider တွင် face_rec ပရောဂျက်အသစ်ကို ဖွင့်ပါ။ အောက်ပါအတိုင်း အပ်ဒိတ်လုပ်ပါ။
      • အသုံးပြုသူကို ဖျက်ရန် တံဆိပ်တပ်ထားသော ခလုတ်အသစ်ကို ထည့်ပါ။ GUI အက်ပ်စတင်သောအခါ ခလုတ်ကို ဝှက်ထားနိုင်ရန် ၎င်းတွင် ဝှက်ထားသောအလံကို ထည့်ပါ။
      • မျက်နှာမှတ်ပုံတင်ခြင်း၊ မျက်နှာမှတ်မိခြင်းနှင့် အသုံးပြုသူကို ဖျက်ခြင်းဆိုင်ရာ အဖြစ်အပျက်များကို အစပျိုးရန်အတွက် ခလုတ်အားလုံး၏ ဖြစ်ရပ်ဆက်တင်တွင် “ထုတ်သည်” တွင် မတူညီသောဖြစ်ရပ် ID ပါရာမီတာဖြင့် API gui_event_face_rec_action() ဟုခေါ်သည့် ကုဒ်လိုင်းကို ပေါင်းထည့်ပါ။ ပုံ 8 တွင် ခလုတ်မှတ်ပုံတင်ခြင်း၏ ဖြစ်ရပ်အတွက် ကုဒ်ကို ပြသည်-NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (15)
  3. GUI Guider မှ ထုတ်လုပ်ထားသော ကုဒ်ကို MCUXpresso ပရောဂျက်သို့ အပ်ဒိတ်လုပ်ပါ။
    • MCUXpresso ပရောဂျက် SW မှထုတ်ပေးသည့် ဖိုဒါရှိ ဖိုင်တွဲပုံများမှလွဲ၍ အကြောင်းအရာများကို GUI Guider ပရောဂျက် SW မှထုတ်ပေးသည့် ဖိုင်တွဲအတွင်းရှိ သက်ဆိုင်ရာပုံများနှင့် အစားထိုးပါ။

မှတ်ချက်: အထက်ဖော်ပြပါ မွမ်းမံပြင်ဆင်မှုများအကြောင်း နောက်ထပ်အသေးစိတ်အတွက် ဟောင်းကို စစ်ဆေးပါ။ample software at https://mcuxpresso.nxp.com/appcodehub.

ဟောင်းနှင့် စိစစ်မှုများample စီမံကိန်း

ရည်းစားဟောင်း ရရန်ampဤအပလီကေးရှင်းမှတ်စုအတွက် အရင်းအမြစ်များနှင့် ကိရိယာများပါရှိသော ဆော့ဖ်ဝဲလ်ပက်ကေ့ဂျ်တွင် ဝင်ရောက်ကြည့်ရှုပါ- https://mcuxpresso.nxp.com/appcodehub. ရည်းစားဟောင်းကို ဖွင့်ပါ။ampMCUXpresso IDE တွင် ပရောဂျက်။ .axf ကို တည်ဆောက်ပြီး ပရိုဂရမ်လုပ်ပါ။ file လိပ်စာ 0x30000000 သို့ အရင်းအမြစ်ဘင်ကို ပရိုဂရမ်လုပ်ပါ။ file ကင်မရာ_ကြိုview_resource.bin လိပ်စာ 0x30800000 သို့။

LVGL GUI သည် မျက်နှာမှတ်မိခြင်း exampအောက်ပါအတိုင်း ပုံမှန်အလုပ်လုပ်ပါတယ်

  • အကြိုview− ပါဝါဖွင့်ခြင်းဖြင့်၊ ကင်မရာမှဖမ်းယူထားသော ဗီဒီယိုစီးကြောင်းများသည် ကင်မရာအကြို၏ သီးခြားဧရိယာပေါ်တွင် ပြသသည်။view GUI မျက်နှာပြင်ပေါ်တွင်။ အခြေအနေတံဆိပ်တွင် “အကြိုview…” အသေးစိတ်အတွက်၊ ပုံ 3 ကိုကြည့်ပါ။ အသုံးပြုသူအား ဖျက်ရန် ခလုတ်ကို ဝှက်ထားသည်။ ခလုတ်များနှင့် ရုပ်ပုံများ အပြင်ဘက်ရှိ ဧရိယာကို နှိပ်သည့်အခါ၊ ၎င်းသည် အကြိုပြသည်။view မျက်နှာမှတ်ပုံတင်ခြင်း သို့မဟုတ် အသိအမှတ်ပြုခြင်းလုပ်ဆောင်ချက် ပြီးဆုံးပြီးနောက် အထက်ဖော်ပြပါအတိုင်း ဖော်ပြပါ။
  • မှတ်ပုံတင်ခြင်း-
    • ဌာပနာ: မှတ်ပုံတင်ခြင်းခလုတ်ကို နှိပ်လိုက်သောအခါ၊ မျက်နှာမှတ်ပုံတင်ခြင်း စတင်သည်။ အခြေအနေအညွှန်းသည် “မှတ်ပုံတင်ခြင်း…” ကိုပြသရန် ပြောင်းလဲသွားသည်၊ မျက်နှာလမ်းညွှန်စတုဂံသည် အပြာရောင်ပြပြီး တိုးတက်မှုဘားသည် တိုးတက်မှုကိုပြသသည်။ မှတ်ပုံတင်ရန်အတွက် အသုံးပြုသူ၏မျက်နှာကို အပြာရောင်မျက်နှာလမ်းညွှန်စတုဂံတွင် ပြသထားကြောင်း သေချာပါစေ။
    • အောင်မြင်မှု- အခြေအနေအညွှန်းသည် “မှတ်ပုံတင်ခြင်း… OK” နှင့် မှတ်ပုံတင်ထားသော သုံးစွဲသူ ID နံပါတ်ကို ပြသည်၊၊ တိုးတက်မှုသည် ဘားပေါ်တွင် အပြည့်မပြမီ မျက်နှာလမ်းညွှန်စတုဂံပုံ အနီရောင်ဖြစ်လာသည်။
    • ပျက်ကွက် -> အချိန်ကုန်သည်- ဘားပေါ်တွင် တိုးတက်မှုအပြည့်ပြနေချိန်တွင် မျက်နှာမှတ်ပုံတင်ခြင်း မအောင်မြင်သေးပါက အခြေအနေအညွှန်းတွင် “မှတ်ပုံတင်ခြင်း… အချိန်ကုန်သည်” ကိုပြသသည်။
    • ပျက်ကွက် -> မိတ္တူပွားခြင်း- အခြေအနေအညွှန်းသည် “မှတ်ပုံတင်ခြင်း…မအောင်မြင်ပါ” ဟု ပြသည်၊၊ တိုးတက်မှုသည် ဘားပေါ်တွင် အပြည့်မပြမီ စာရင်းသွင်းထားသောမျက်နှာကို အသိအမှတ်ပြုပါက မျက်နှာလမ်းညွှန်စတုဂံသည် အစိမ်းရောင်ဖြစ်သွားသည်။
  • အသိအမှတ်ပြုမှု:
    • စတင်ခြင်း- အသိအမှတ်ပြုခြင်းခလုတ်ကို နှိပ်လိုက်သောအခါ၊ မျက်နှာမှတ်မိခြင်း စတင်သည်။ အခြေအနေအညွှန်းသည် “အသိအမှတ်ပြုမှု…” ကိုပြသရန် ပြောင်းလဲသွားသည်၊ မျက်နှာလမ်းညွှန်စတုဂံသည် အပြာရောင်ပြပြီး တိုးတက်မှုဘားသည် တိုးတက်မှုကိုပြသသည်။ မှတ်ပုံတင်ရန်အတွက် အသုံးပြုသူ၏မျက်နှာကို အပြာရောင်မျက်နှာလမ်းညွှန်စတုဂံတွင် ပြထားကြောင်း သေချာပါစေ။
    • အောင်မြင်မှု- အခြေအနေအညွှန်းသည် “အသိအမှတ်ပြုခြင်း… OK” နှင့် အသိအမှတ်ပြုထားသော အသုံးပြုသူ ID နံပါတ်ကို ပြသည်၊ ထိုအချိန်တွင် Delete User ခလုတ်ပေါ်လာပါသည်။ ဆိုလိုသည်မှာ အသုံးပြုသူအား ၎င်းအား အသိအမှတ်ပြုသည့်အခါမှသာ ဖျက်ရန်ခွင့်ပြုထားသည်။
    • ဝေဒနာတိုးတက်မှုသည် ဘားပေါ်တွင် အပြည့်အဝပြသသည့်အခါ မျက်နှာမှတ်မိခြင်း မအောင်မြင်သေးပါက အခြေအနေအညွှန်းသည် “အသိအမှတ်ပြုမှု…အချိန်ကုန်” သည်ကို ပြသသည်။
  • အသုံးပြုသူကို ဖျက်ပါ။− “အသုံးပြုသူအား ဖျက်ရန်” ခလုတ်ကို နှိပ်လိုက်သောအခါ၊ မျက်နှာအသိအမှတ်ပြုမှု အောင်မြင်ပြီးနောက်၊ မျက်နှာလမ်းညွှန်စတုဂံအပြာရောင်ဖြစ်လာပြီး ဘားပေါ်တွင် တိုးတက်မှုကို အပြည့်ပြသထားသည့် အခြေအနေအညွှန်းသည် “Delete User… OK” ကို ပြသရန် ပြောင်းလဲသွားပါသည်။ Delete User ခလုတ်ကို နောက်တစ်ကြိမ် ဖျောက်ထားသည်။ အသိအမှတ်ပြုထားသော မျက်နှာ/အသုံးပြုသူကို ဒေတာဘေ့စ်မှ ဖျက်လိုက်ပါသည်။ ထပ်မံမှတ်ပုံတင်မပြီးမချင်း ဤမျက်နှာ/အသုံးပြုသူကို အသိအမှတ်မပြုနိုင်ဟု ဆိုလိုသည်။

စာရွက်စာတမ်းရှိ အရင်းအမြစ်ကုဒ်အကြောင်း သတိပြုပါ။
Exampဤစာတမ်းတွင် ပြထားသည့် le ကုဒ်တွင် အောက်ပါ မူပိုင်ခွင့်နှင့် BSD-3-Clause လိုင်စင်ပါရှိသည်။

မူပိုင်ခွင့် 2024 NXP ပြန်လည်ဖြန့်ဖြူးခြင်းနှင့် အရင်းအမြစ်နှင့် binary ပုံစံများတွင် အသုံးပြုခြင်းအား ပြုပြင်မွမ်းမံခြင်း သို့မဟုတ် မပါဘဲ အောက်ပါအခြေအနေများနှင့် ကိုက်ညီစေရန် ခွင့်ပြုထားသည်-

  1. အရင်းအမြစ်ကုဒ်ကို ပြန်လည်ဖြန့်ဝေခြင်းသည် အထက်ပါ မူပိုင်ခွင့်သတိပေးချက်၊ ဤအခြေအနေများစာရင်းနှင့် အောက်ပါ မသက်ဆိုင်ကြောင်း ငြင်းဆိုချက်ကို ဆက်လက်ထိန်းသိမ်းထားရပါမည်။
  2. binary ပုံစံဖြင့် ပြန်လည်ဝေငှခြင်းများသည် အထက်ဖော်ပြပါ မူပိုင်ခွင့်သတိပေးချက်ကို ပြန်လည်ထုတ်ဝေရမည်ဖြစ်ပြီး၊ ဤအခြေအနေများစာရင်းနှင့် စာရွက်စာတမ်းနှင့်/သို့မဟုတ် အခြားပစ္စည်းများကို ဖြန့်ဖြူးမှုတွင် ဖော်ပြထားသော ဤအခြေအနေများစာရင်းနှင့် အောက်ပါမသက်ဆိုင်ကြောင်း ငြင်းဆိုချက်များအား ဖြန့်ဝေပေးရပါမည်။
  3. မူပိုင်ခွင့်ကိုင်ဆောင်သူ၏အမည်နှင့် ၎င်း၏ပံ့ပိုးပေးသူများ၏အမည်များကို သီးခြားကြိုတင်ရေးသားခွင့်ပြုချက်မရှိဘဲ ဤဆော့ဖ်ဝဲမှရရှိသောထုတ်ကုန်များကို ထောက်ခံရန် သို့မဟုတ် မြှင့်တင်ရန်အတွက် အသုံးပြုမည်မဟုတ်ပါ။

ဤဆော့ဖ်ဝဲကို မူပိုင်ခွင့်ကိုင်ဆောင်ထားသူများနှင့် သက်ဆိုင်သူများမှ ပံ့ပိုးပေးထားပြီး “ဖြစ်သကဲ့သို့” နှင့် အာမခံချက် သို့မဟုတ် အဓိပ္ပာယ်ဖော်ပြချက်များ အပါအဝင်၊ သို့သော် အကန့်အသတ်မရှိ၊ ပေးဝေမှုဆိုင်ရာ ပေးဝေမှုဆိုင်ရာ ပေးစွမ်းနိုင်မှုဆိုင်ရာ ပေးဝေမှုဆိုင်ရာ အာမခံချက်ဟု အဓိပ္ပာယ်ရသည်။ ငြင်းဆိုထားသည်။ မူပိုင်ခွင့်ကိုင်ဆောင်သူ သို့မဟုတ် ပံ့ပိုးကူညီသူသည် တိုက်ရိုက်၊ သွယ်ဝိုက်သော၊ မတော်တဆ၊ အထူး၊ စံနမူနာပြု၊ သို့မဟုတ် နောက်ဆက်တွဲဖြစ်သော ပျက်စီးဆုံးရှုံးမှုများ (အပါအဝငျ၊ ဒါပေမယ့် ကန့်သတ်ခြင်းမပြုရ၊ စီရင်ထုံးများ အပါအဝင်၊ ဝန်ဆောင်မှုများ ၊ အသုံးပြုမှု ၊ ဒေတာ ၊ သို့မဟုတ် အကျိုးအမြတ်များ ၊ သို့မဟုတ် လုပ်ငန်းများ ပြတ်တောက်ခြင်း ) မည်သို့ပင် ဖြစ်စေ နှင့် တာဝန်ဝတ္တရား သီအိုရီ တစ်ခုခုတွင် ၊ ဤဆော့ဖ်ဝဲလ်ကို အသုံးပြုခြင်း ၊ ထိုသို့သော ပျက်စီးခြင်း၏ ဖြစ်နိုင်ခြေကို အကြံပြုထားလျှင်ပင်။

ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း

NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (16)

ဥပဒေအချက်အလက်

အဓိပ္ပါယ်ဖွင့်ဆိုချက်
မူကြမ်း — စာရွက်စာတမ်းတစ်ခုရှိ မူကြမ်းအခြေအနေတစ်ခုသည် အကြောင်းအရာသည် အတွင်းပိုင်းပြန်လည်လုပ်ဆောင်နေဆဲဖြစ်ကြောင်း ညွှန်ပြသည်။view ပြုပြင်မွမ်းမံမှုများ သို့မဟုတ် ထပ်တိုးမှုများ ဖြစ်ပေါ်စေနိုင်သည့် တရားဝင်ခွင့်ပြုချက်နှင့် သက်ဆိုင်သည်။ NXP Semiconductors များသည် စာရွက်စာတမ်းတစ်ခု၏ မူကြမ်းဗားရှင်းတွင်ပါရှိသော အချက်အလက်များ၏ တိကျမှု သို့မဟုတ် ပြည့်စုံမှုနှင့်ပတ်သက်၍ ကိုယ်စားပြုမှုများ သို့မဟုတ် အာမခံချက်တစ်စုံတစ်ရာကို မပေးဘဲနှင့် ထိုအချက်အလက်များ၏အသုံးပြုမှု၏အကျိုးဆက်များအတွက် တာဝန်ယူမှုမရှိပါ။

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

  • အာမခံနှင့်တာဝန်ယူမှုကန့်သတ် - ဤစာတမ်းပါ အချက်အလက်များသည် တိကျပြီး ယုံကြည်စိတ်ချရသည်ဟု ယူဆပါသည်။ သို့ရာတွင်၊ NXP Semiconductors များသည် ယင်းအချက်အလက်များ၏ တိကျမှု သို့မဟုတ် ပြီးပြည့်စုံမှုနှင့်ပတ်သက်၍ ဖော်ပြသော သို့မဟုတ် အဓိပ္ပာယ်ဖွင့်ဆိုထားသည့် ကိုယ်စားပြုမှုများ သို့မဟုတ် အာမခံချက်တစ်စုံတစ်ရာကို မပေးဘဲ၊ ထိုအချက်အလက်များ၏အသုံးပြုမှု၏အကျိုးဆက်များအတွက် တာဝန်ယူမှုမရှိပါ။ NXP Semiconductors ပြင်ပ သတင်းအချက်အလက်အရင်းအမြစ်မှ ပေးဆောင်ပါက ဤစာတမ်းပါအကြောင်းအရာအတွက် NXP Semiconductors သည် တာဝန်မရှိပါ။
    မည်သည့်ဖြစ်ရပ်တွင်မျှ NXP Semiconductors များသည် သွယ်ဝိုက်သော၊ မတော်တဆဖြစ်မှု၊ ပြစ်ဒဏ်ခတ်မှု၊ အထူး သို့မဟုတ် နောက်ဆက်တွဲ ပျက်စီးဆုံးရှုံးမှုများ (- အကန့်အသတ်မရှိ - ဆုံးရှုံးသွားသောအမြတ်များ၊ စုဆောင်းမှုများ၊ လုပ်ငန်းပြတ်တောက်မှု၊ ထုတ်ကုန်တစ်ခုခုကို ဖယ်ရှားခြင်း သို့မဟုတ် အစားထိုးခြင်း သို့မဟုတ် ပြန်လည်ပြုပြင်ခြင်းဆိုင်ရာ ကုန်ကျစရိတ်များအပါအဝင်) အတွက် တာဝန်မကင်းစေပါ။ သို့မဟုတ် ထိုပျက်စီးဆုံးရှုံးမှုများသည် ညှဉ်းပန်းနှိပ်စက်ခြင်း (ပေါ့ဆမှုအပါအဝင်)၊ အာမခံချက်၊ စာချုပ်ချိုးဖောက်မှု သို့မဟုတ် အခြားတရားရေးဆိုင်ရာ သီအိုရီတစ်ခုခုအပေါ် အခြေခံထားသည်။
    ဖောက်သည်သည် မည်သည့်အကြောင်းကြောင့်မဆို ဖြစ်ပေါ်လာနိုင်သည့် ပျက်စီးဆုံးရှုံးမှုများ ရှိသော်လည်း၊ ဤနေရာတွင် ဖော်ပြထားသော ထုတ်ကုန်များအတွက် ဝယ်ယူသူအပေါ် NXP Semiconductors ၏ စုစည်းမှုနှင့် တာဝန်ခံမှု စုစည်းမှုသည် NXP Semiconductors ၏ စီးပွားဖြစ်ရောင်းချမှုဆိုင်ရာ စည်းမျဥ်းစည်းကမ်းများနှင့်အညီ ကန့်သတ်ထားရမည်။
  • အပြောင်းအလဲလုပ်ပိုင်ခွင့် — NXP Semiconductors သည် ကန့်သတ်သတ်မှတ်ချက်များနှင့် ထုတ်ကုန်ဖော်ပြချက်များအား အချိန်မရွေး အသိပေးခြင်းမရှိဘဲ၊ ကန့်သတ်သတ်မှတ်ချက်များနှင့် ထုတ်ကုန်ဖော်ပြချက်များအပါအဝင်၊ ဤစာရွက်စာတမ်းတွင် ထုတ်ပြန်ထားသော အချက်အလက်များကို အပြောင်းအလဲပြုလုပ်ရန် လက်ဝယ်ရှိသည်။ ဤစာရွက်စာတမ်းသည် ဤနေရာတွင် မထုတ်ဝေမီ ပံ့ပိုးပေးထားသည့် အချက်အလက်အားလုံးကို အစားထိုးပြီး အစားထိုးသည်။
  • အသုံးပြုရန်သင့်လျော်သည်။ - NXP Semiconductors ထုတ်ကုန်များသည် အသက်ကယ်ထောက်ပံ့မှု၊ အသက်အန္တရာယ်စိုးရိမ်ရသည့် သို့မဟုတ် ဘေးကင်းရေးအရေးကြီးသောစနစ်များ သို့မဟုတ် စက်ကိရိယာများတွင် အသုံးပြုရန်အတွက် သင့်လျော်စေရန် ဒီဇိုင်းထုတ်ထားခြင်း၊ ခွင့်ပြုချက် သို့မဟုတ် အာမခံချက်ပေးခြင်းမျိုးမဟုတ်ဘဲ NXP Semiconductors ထုတ်ကုန်တစ်ခု၏ ချို့ယွင်းမှု သို့မဟုတ် ချို့ယွင်းမှုဖြစ်ပေါ်ရန် ကျိုးကြောင်းဆီလျော်စွာ မျှော်လင့်နိုင်သည့်အပလီကေးရှင်းများတွင် မဟုတ်ပေ။ ပုဂ္ဂိုလ်ရေး ထိခိုက်ဒဏ်ရာရမှု၊ သေဆုံးမှု သို့မဟုတ် ပြင်းထန်သော ပိုင်ဆိုင်မှု သို့မဟုတ် ပတ်ဝန်းကျင် ထိခိုက်မှု။ NXP Semiconductors နှင့် ၎င်း၏ ပေးသွင်းသူများသည် ထိုကဲ့သို့သော စက်ကိရိယာများ သို့မဟုတ် အပလီကေးရှင်းများတွင် NXP Semiconductors ထုတ်ကုန်များ ပါဝင်ခြင်းနှင့်/သို့မဟုတ် အသုံးပြုခြင်းအတွက် တာ၀န်မရှိသည့်အတွက်ကြောင့် ယင်းသို့ပါဝင်ခြင်းနှင့်/သို့မဟုတ် အသုံးပြုခြင်းသည် ဖောက်သည်၏ကိုယ်ပိုင်အန္တရာယ်ဖြစ်သည်။
  • အသုံးချမှု — ဤထုတ်ကုန်များအနက်မှတစ်ခုအတွက် ဖော်ပြထားသော လျှောက်လွှာများသည် သရုပ်ဖော်ရည်ရွယ်ချက်အတွက်သာဖြစ်သည်။ NXP Semiconductors များသည် နောက်ထပ်စမ်းသပ်ခြင်း သို့မဟုတ် ပြုပြင်မွမ်းမံခြင်းမရှိဘဲ သတ်မှတ်ထားသောအသုံးပြုမှုအတွက် သင့်လျော်မည်ဟူသော အပလီကေးရှင်းများကို ကိုယ်စားပြုခြင်း သို့မဟုတ် အာမခံချက်မပေးပေ။
    သုံးစွဲသူများသည် NXP Semiconductors ထုတ်ကုန်များကို အသုံးပြု၍ ၎င်းတို့၏ အပလီကေးရှင်းများနှင့် ထုတ်ကုန်များ၏ ဒီဇိုင်းနှင့် လည်ပတ်မှုများအတွက် တာဝန်ရှိပြီး NXP Semiconductors သည် အက်ပ်လီကေးရှင်းများ သို့မဟုတ် ဖောက်သည် ထုတ်ကုန်ဒီဇိုင်းဆိုင်ရာ အကူအညီများအတွက် မည်သည့်တာဝန်ယူမှုမျှ လက်မခံပါ။ NXP Semiconductors ထုတ်ကုန်သည် ဖောက်သည်၏အပလီကေးရှင်းများနှင့် စီစဉ်ထားသောထုတ်ကုန်များအတွက် သင့်လျော်မှုရှိမရှိ ဆုံးဖြတ်ရန်မှာ ဖောက်သည်တစ်ဦးတည်း၏တာဝန်သာဖြစ်ပြီး ဖောက်သည်၏တတိယပါတီဖောက်သည်(များ) ၏အသုံးပြုမှုများအတွက်ဖြစ်သည်။ ဖောက်သည်များသည် ၎င်းတို့၏ အပလီကေးရှင်းများနှင့် ထုတ်ကုန်များနှင့် ဆက်စပ်နေသော အန္တရာယ်များကို လျှော့ချရန် သင့်လျော်သော ဒီဇိုင်းနှင့် လုပ်ငန်းဆောင်ရွက်မှု အကာအကွယ်များကို ပေးသင့်သည်။ NXP Semiconductors များသည် ဖောက်သည်၏ အပလီကေးရှင်းများ သို့မဟုတ် ထုတ်ကုန်များတွင် အားနည်းချက် သို့မဟုတ် ပုံသေအပေါ်အခြေခံသည့် မည်သည့် ပုံသေ၊ ပျက်စီးမှု၊ ကုန်ကျစရိတ်များ သို့မဟုတ် ပြဿနာနှင့် ပတ်သက်သည့် မည်သည့်တာဝန်ဝတ္တရားကိုမျှ လက်မခံပါ။ အပလီကေးရှင်းများနှင့် ထုတ်ကုန်များ သို့မဟုတ် အပလီကေးရှင်း၏ ပုံသေ သို့မဟုတ် ဖောက်သည်၏တတိယပါတီဖောက်သည်(များ) မှ အသုံးပြုခြင်းမှ ရှောင်ရှားရန် NXP Semiconductors ထုတ်ကုန်များကို အသုံးပြုသည့် ဖောက်သည်၏ အပလီကေးရှင်းများနှင့် ထုတ်ကုန်များအတွက် လိုအပ်သောစမ်းသပ်မှုအားလုံးကို ပြုလုပ်ရန် သုံးစွဲသူတွင် တာဝန်ရှိပါသည်။ NXP သည် ဤကိစ္စနှင့်စပ်လျဉ်း၍ မည်သည့်တာဝန်ယူမှုကိုမျှ လက်မခံပါ။
  • အရောင်းအ၀ယ်စည်းကမ်းသတ်မှတ်ချက်များ — NXP Semiconductors ထုတ်ကုန်များကို https://www.nxp.com/pro တွင်ထုတ်ဝေသည့်အတိုင်း စီးပွားဖြစ်ရောင်းချခြင်း၏ ယေဘုယျစည်းကမ်းသတ်မှတ်ချက်များနှင့် ကိုက်ညီသောရောင်းချခြင်းဖြစ်သည်file/terms၊ မှန်ကန်သောရေးသားထားသော တစ်ဦးချင်းသဘောတူညီချက်တွင် အခြားသဘောတူညီခြင်းမရှိလျှင်။ တစ်သီးပုဂ္ဂလသဘောတူညီချက်တစ်ရပ်ကို နိဂုံးချုပ်လိုက်လျှင် သက်ဆိုင်ရာသဘောတူညီချက်၏ စည်းကမ်းသတ်မှတ်ချက်များကိုသာ လိုက်နာရမည်ဖြစ်သည်။ ဤတွင် NXP Semiconductors များသည် ဝယ်ယူသူမှ NXP Semiconductors ထုတ်ကုန်များ ဝယ်ယူခြင်းနှင့် ပတ်သက်၍ ဖောက်သည်၏ ယေဘူယျ စည်းကမ်းသတ်မှတ်ချက်များကို ကျင့်သုံးခြင်းအား အတိအလင်းကန့်ကွက်ပါသည်။
  • တင်ပို့ထိန်းချုပ်မှု — ဤစာရွက်စာတမ်းအပြင် ဤနေရာတွင်ဖော်ပြထားသည့်အကြောင်းအရာ(များ) သည် ပို့ကုန်ထိန်းချုပ်မှုစည်းမျဉ်းများနှင့်အညီဖြစ်နိုင်သည်။ တင်ပို့ရာတွင် ကျွမ်းကျင်အာဏာပိုင်များထံမှ ကြိုတင်ခွင့်ပြုချက် လိုအပ်ပါသည်။
  • မော်တော်ယာဥ်မဟုတ်သော အရည်အချင်းပြည့်မီသော ထုတ်ကုန်များတွင် အသုံးပြုရန် သင့်လျော်မှု — ဤစာရွက်စာတမ်းတွင် ဤတိကျသော NXP Semiconductors ထုတ်ကုန်သည် မော်တော်ယာဥ်ဆိုင်ရာ အရည်အသွေးပြည့်မီသည်ဟု အတိအလင်းဖော်ပြထားခြင်းမရှိပါက၊ ထုတ်ကုန်သည် မော်တော်ယာဥ်အသုံးပြုမှုအတွက် မသင့်လျော်ပါ။ ၎င်းသည် မော်တော်ယာဥ်စမ်းသပ်ခြင်း သို့မဟုတ် လျှောက်လွှာလိုအပ်ချက်များနှင့်အညီ အရည်အချင်းပြည့်မီခြင်း သို့မဟုတ် စမ်းသပ်ခြင်းမဟုတ်ပေ။ NXP Semiconductors များသည် မော်တော်ယာဥ်ပစ္စည်းများ သို့မဟုတ် အပလီကေးရှင်းများတွင် မော်တော်ယာဥ်မဟုတ်သော အရည်အသွေးပြည့်မီသော ထုတ်ကုန်များကို ထည့်သွင်းခြင်းနှင့်/သို့မဟုတ် အသုံးပြုခြင်းအတွက် တာ၀န်မရှိပေ။
    မော်တော်ယာဥ်ဆိုင်ရာ သတ်မှတ်ချက်များ နှင့် စံချိန်စံညွှန်းများအတွက် မော်တော်ကားအက်ပလီကေးရှင်းများတွင် မော်တော်ကားအက်ပလီကေးရှင်းများတွင် အသုံးပြုသူသည် ထုတ်ကုန်ကို အသုံးပြုသည့်ကိစ္စတွင်၊ သုံးစွဲသူ (က) သည် ထိုကဲ့သို့သော မော်တော်ယာဥ်ဆိုင်ရာ အပလီကေးရှင်းများ၊ အသုံးပြုမှုနှင့် သတ်မှတ်ချက်များအတွက် ထုတ်ကုန်၏ NXP Semiconductors ၏ အာမခံချက်မရှိဘဲ ထုတ်ကုန်ကို အသုံးပြုရမည်ဖြစ်ပြီး ( b) သုံးစွဲသူသည် NXP Semiconductors ၏ သတ်မှတ်ချက်များထက် ကျော်လွန်၍ မော်တော်ယာဥ်အသုံးပြုမှုများအတွက် ထုတ်ကုန်ကို အသုံးပြုသည့်အခါတိုင်း ယင်းအသုံးပြုမှုသည် ဖောက်သည်၏ကိုယ်ပိုင်စွန့်စားရမည်ဖြစ်ပြီး (ဂ) ဖောက်သည်၏ ဒီဇိုင်းနှင့် အသုံးပြုမှုမှ ထွက်ပေါ်လာသည့် မည်သည့်တာဝန်ယူမှု၊ ပျက်စီးမှု သို့မဟုတ် မအောင်မြင်သော ထုတ်ကုန်တောင်းဆိုမှုများအတွက် NXP Semiconductors များကို သုံးစွဲသူက အပြည့်အဝ လျော်ကြေးပေးသည်။ NXP Semiconductors ၏စံအာမခံချက်နှင့် NXP Semiconductors ၏ထုတ်ကုန်သတ်မှတ်ချက်များကိုကျော်လွန်၍ မော်တော်ယာဥ်အသုံးပြုမှုများအတွက် ထုတ်ကုန်။
  • ဘာသာပြန်များ — ထိုစာရွက်စာတမ်းရှိ တရားဝင်အချက်အလက်များအပါအဝင် စာရွက်စာတမ်းတစ်ခု၏ အင်္ဂလိပ်မဟုတ်သော (ဘာသာပြန်) ဗားရှင်းသည် ကိုးကားရန်အတွက်သာဖြစ်သည်။ ဘာသာပြန်နှင့် အင်္ဂလိပ်ဗားရှင်းများအကြား ကွဲလွဲမှုတစ်စုံတစ်ရာရှိပါက အင်္ဂလိပ်ဗားရှင်းသည် လွှမ်းမိုးနိုင်မည်ဖြစ်သည်။
  • လုံခြုံရေး — NXP ထုတ်ကုန်အားလုံးသည် အမည်မသိသော အားနည်းချက်များ ဖြစ်နိုင်သည် သို့မဟုတ် သတ်မှတ်ထားသော လုံခြုံရေးစံနှုန်းများ သို့မဟုတ် သတ်မှတ်ချက်များကို သိရှိထားသည့် ကန့်သတ်ချက်များကို ပံ့ပိုးနိုင်သည်ကို သုံးစွဲသူက နားလည်သည်။ သုံးစွဲသူသည် သုံးစွဲသူ၏ အသုံးချပလီကေးရှင်းများနှင့် ထုတ်ကုန်များပေါ်တွင် အဆိုပါ အားနည်းချက်များ၏ သက်ရောက်မှုကို လျှော့ချရန် ၎င်းတို့၏ ဘဝစက်ဝန်းတစ်လျှောက် ၎င်း၏ အပလီကေးရှင်းများနှင့် ထုတ်ကုန်များ၏ ဒီဇိုင်းနှင့် လည်ပတ်မှုအတွက် တာဝန်ရှိပါသည်။ ဖောက်သည်၏အပလီကေးရှင်းများတွင် အသုံးပြုရန်အတွက် NXP ထုတ်ကုန်များမှ ပံ့ပိုးပေးသော အခြားပွင့်လင်းသော နှင့်/သို့မဟုတ် မူပိုင်ခွင့်နည်းပညာများကို ဖောက်သည်၏တာဝန်လည်း ပါသည်။ NXP သည် မည်သည့်အားနည်းချက်အတွက်မဆို တာဝန်ယူမှု မရှိပါ။ သုံးစွဲသူသည် NXP မှ လုံခြုံရေးအပ်ဒိတ်များကို ပုံမှန်စစ်ဆေးပြီး သင့်လျော်သလို လိုက်နာဆောင်ရွက်သင့်သည်။ သုံးစွဲသူသည် ရည်ရွယ်ထားသော အပလီကေးရှင်း၏ စည်းမျဉ်းများ၊ စည်းမျဉ်းများနှင့် စံချိန်စံညွှန်းများနှင့် အကိုက်ညီဆုံးသော လုံခြုံရေးအင်္ဂါရပ်များပါရှိသော ထုတ်ကုန်များကို ရွေးချယ်ပြီး ၎င်း၏ထုတ်ကုန်များနှင့်ပတ်သက်သည့် အဆုံးစွန်သော ဒီဇိုင်းဆုံးဖြတ်ချက်များချကာ ၎င်း၏ထုတ်ကုန်များနှင့်ပတ်သက်သည့် ဥပဒေ၊ စည်းမျဉ်းစည်းကမ်းနှင့် လုံခြုံရေးဆိုင်ရာ သတ်မှတ်ချက်များအားလုံးနှင့် ကိုက်ညီမှုရှိစေရန်အတွက်သာ တာဝန်ရှိပါသည်။ NXP မှ ပံ့ပိုးပေးနိုင်သော မည်သည့်အချက်အလက် သို့မဟုတ် ပံ့ပိုးမှုမဆို။

NXP တွင် NXP ထုတ်ကုန်များ၏ လုံခြုံရေးအားနည်းချက်များအတွက် စုံစမ်းစစ်ဆေးမှု၊ အစီရင်ခံခြင်းနှင့် ဖြေရှင်းချက်ထုတ်ပြန်ခြင်းကို စီမံခန့်ခွဲသည့် ထုတ်ကုန်လုံခြုံရေးဖြစ်ရပ်တုံ့ပြန်မှုအဖွဲ့ (PSIRT) (PSIRT@nxp.com) တွင် ဆက်သွယ်နိုင်သည်။
NXP BV — NXP BV သည် လည်ပတ်နေသော ကုမ္ပဏီတစ်ခုမဟုတ်ပါ၊ ၎င်းသည် ထုတ်ကုန်များကို ဖြန့်ဖြူးရောင်းချခြင်း မပြုပါ။

ကုန်အမှတ်တံဆိပ်များ
သတိထားပါ။- ရည်ညွှန်းထားသော ကုန်အမှတ်တံဆိပ်များ၊ ထုတ်ကုန်အမည်များ၊ ဝန်ဆောင်မှုအမည်များနှင့် ကုန်အမှတ်တံဆိပ်များအားလုံးသည် ၎င်းတို့၏ သက်ဆိုင်ရာပိုင်ရှင်များ၏ ပိုင်ဆိုင်မှုဖြစ်သည်။

NXP - wordmark နှင့် လိုဂိုများသည် NXP BV ၏ ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။

AMBA၊ Arm၊ Arm7၊ Arm7TDMI၊ Arm9၊ Arm11၊ Artisan၊ big.LITTLE၊ Cordio၊ CoreLink၊ CoreSight၊ Cortex၊ DesignStart၊ DynamIQ၊ Jazelle၊ Keil၊ Mali၊ Mbed၊ Mbed Enabled၊ NEON၊ POP၊ RealView၊ SecurCore၊ Socrates၊ Thumb၊ TrustZone၊ ULINK2၊ ULINK-ME၊ ULINK-PLUS၊ ULINKpro၊ μVision၊ Versatile — များသည် Arm Limited ၏ ကုန်သွယ်မှုအမှတ်တံဆိပ်များနှင့်/သို့မဟုတ် မှတ်ပုံတင်ထားသောကုန်အမှတ်တံဆိပ်များ (သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ သို့မဟုတ် တွဲဖက်လုပ်ကိုင်သူများ) ၏ US နှင့်/သို့မဟုတ် တခြားနေရာမှာ ဆက်စပ်နည်းပညာကို မူပိုင်ခွင့်၊ မူပိုင်ခွင့်များ၊ ဒီဇိုင်းများနှင့် ကုန်သွယ်မှုလျှို့ဝှက်ချက်များ တစ်ခုခု သို့မဟုတ် အားလုံးကို ကာကွယ်ထားနိုင်သည်။ မူပိုင်ခွင့်ကိုလက်ဝယ်ထားသည်။

  • i.MX — NXP BV ၏ ကုန်အမှတ်တံဆိပ်တစ်ခုဖြစ်သည်။
  • J-Link - SEGGER Microcontroller GmbH ၏ ကုန်အမှတ်တံဆိပ်တစ်ခုဖြစ်သည်။

Microsoft၊ Azure နှင့် ThreadX — သည် Microsoft ကုမ္ပဏီအုပ်စု၏ ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။

ဤစာရွက်စာတမ်းနှင့် ဤနေရာတွင်ဖော်ပြထားသော ထုတ်ကုန်(များ) နှင့်ပတ်သက်သော အရေးကြီးသောသတိပေးချက်များသည် ကဏ္ဍ 'တရားဝင်အချက်အလက်များ' တွင် ထည့်သွင်းထားကြောင်း ကျေးဇူးပြု၍ သတိပြုပါ။

© 2024 NXP BV
ပိုမိုသိရှိလိုပါက, သွားရောက်ကြည့်ရှုပါ: https://www.nxp.com

  • ထုတ်ဝေသည့်ရက်စွဲ- 19 ဧပြီလ 2024
  • စာရွက်စာတမ်း အမှတ်အသား: AN14263

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

မေး- ဒီထုတ်ကုန်ရဲ့ အဓိကရည်ရွယ်ချက်ကဘာလဲ။
A- အဓိကရည်ရွယ်ချက်မှာ ရိုးရှင်းသော LVGL GUI ex ဖြင့် AI&ML အမြင်ဆိုင်ရာ အယ်လဂိုရီသမ်မော်ဒယ်ကို အသုံးပြု၍ မျက်နှာမှတ်မိခြင်းလုပ်ဆောင်ချက်ကို ဖွင့်ပေးရန်ဖြစ်သည်။ampSLN-TLHMI-IOT ဘုတ်ပေါ်တွင် le.

မေး- developer များသည် ဤအပလီကေးရှင်းမှတ်စုမှ မည်သို့အကျိုးခံစားနိုင်သနည်း။
A- developer များသည် ပေးထားသော ex ကို အသုံးပြု၍ framework တွင် face recognition ကို အဆင့်ဆင့် အကောင်အထည်ဖော်ပုံကို လေ့လာနိုင်ပါသည်။ampစက်ပစ္စည်းမန်နေဂျာများ၊ HAL စက်များနှင့် ပတ်သက်သည့် ဖြစ်ရပ်ယန္တရားများကို နားလည်ပါ။

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

NXP AN14263 ကို Framewor တွင် LVGL GUI Face Recognition ကို အကောင်အထည်ဖော်ပါ။ [pdf] အသုံးပြုသူလမ်းညွှန်
AN14263 Framewor တွင် LVGL GUI မျက်နှာအသိအမှတ်ပြုခြင်းကို အကောင်အထည်ဖော်ပါ၊ AN14263၊ Framewor တွင် LVGL GUI မျက်နှာအသိအမှတ်ပြုခြင်းကို အကောင်အထည်ဖော်ပါ၊ Framewor တွင် LVGL GUI မျက်နှာအသိအမှတ်ပြုမှု၊ Framewor တွင်မျက်နှာအသိအမှတ်ပြုမှု၊ Framewor တွင်အသိအမှတ်ပြုမှု၊ Framewor

ကိုးကား

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

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