NXP AN14263 ফ্রেমওয়ারে LVGL GUI ফেস রিকগনিশন প্রয়োগ করুন
পণ্য তথ্য
স্পেসিফিকেশন
- পণ্যের নাম: ফ্রেমওয়ার্কে LVGL GUI ফেস রিকগনিশন
- নথি সংশোধন: 1 - 19 এপ্রিল 2024
- কীওয়ার্ড: ফেস রিকগনিশন, LVGL GUI, ফ্রেমওয়ার্ক
পণ্য ব্যবহারের নির্দেশাবলী
- ওভারview
এই পণ্যটি একটি সাধারণ LVGL GUI প্রাক্তন সহ মুখ শনাক্তকরণ ফাংশন বাস্তবায়নের জন্য একটি কাঠামোতে মুখ শনাক্তকরণের জন্য AI&ML দৃষ্টি অ্যালগরিদম মডেল সক্ষম করেampSLN-TLHMI-IOT বোর্ডে। - ফ্রেমওয়ার্ক ওভারview
সমাধান সফ্টওয়্যারটি ফ্রেমওয়ার্ক আর্কিটেকচারের চারপাশে ডিজাইন করা হয়েছে যাতে ডিভাইস পরিচালনার জন্য দায়ী ডিভাইস ম্যানেজার, অন্তর্নিহিত বিবরণ বিমূর্ত করার জন্য HAL ডিভাইস এবং বিভিন্ন ডিভাইসের মধ্যে যোগাযোগের জন্য ইভেন্ট অন্তর্ভুক্ত থাকে। - বৈশিষ্ট্য
পণ্যটি ক্যামেরা প্রি-এর মাধ্যমে মুখ শনাক্তকরণ ফাংশন বাস্তবায়নের অনুমতি দেয়view মুখ নিবন্ধন, স্বীকৃতি, এবং অপসারণ ট্রিগার করতে বোতাম সহ GUI স্ক্রিনে। নিবন্ধিত মুখের ডেটা ফ্ল্যাশে a এর মাধ্যমে সংরক্ষণ করা হয় file সিস্টেম - আবেদন নোট বিষয়বস্তু
অ্যাপ্লিকেশন নোট ক্যামেরা প্রি সহ একটি LVGL GUI স্ক্রিন উপস্থাপন করেview এবং মুখ-সম্পর্কিত কর্মের জন্য বোতাম। এটি ডেভেলপারদের ফ্রেমওয়ার্ক বুঝতে সাহায্য করে এবং প্রদত্ত এক্স ব্যবহার করে কীভাবে মুখের স্বীকৃতি প্রয়োগ করতে হয়ampলে
ওভারview
NXP SLN-TLHMI-IOT নামে একটি সলিউশন ডেভেলপমেন্ট কিট চালু করেছে যা স্মার্ট HMI অ্যাপ্লিকেশনের উপর ফোকাস করে। এটি একটি NXP i.MX RT117H MCU এ বাস্তবায়িত ML দৃষ্টি, ভয়েস এবং গ্রাফিক্স UI সহ স্মার্ট HMI সক্ষম করে৷ SDK-এর উপর ভিত্তি করে, সমাধান সফ্টওয়্যারটি ফ্রেমওয়ার্ক নামক একটি ডিজাইনের উপর নির্মিত হয়েছে যা নমনীয় ডিজাইন এবং দৃষ্টি এবং ভয়েস ফাংশনগুলির কাস্টমাইজেশন সমর্থন করে। ব্যবহারকারীদের সফ্টওয়্যার প্ল্যাটফর্মটি আরও ভালভাবে ব্যবহার করতে সহায়তা করার জন্য, প্রাক্তনের জন্য কিছু মৌলিক নথি সরবরাহ করা হয়েছেampলে, সফ্টওয়্যার উন্নয়ন ব্যবহারকারী গাইড. গাইডটি SLN-TLHMI-IOT ব্যবহার করে বিকাশকারীদের তাদের অ্যাপ্লিকেশনগুলিকে আরও সহজে এবং দক্ষতার সাথে বাস্তবায়নে সহায়তা করার জন্য ফ্রেমওয়ার্ক সহ সমাধানের সমস্ত উপাদানকে কভার করে অ্যাপ্লিকেশনগুলির মৌলিক সফ্টওয়্যার ডিজাইন এবং আর্কিটেকচারের পরিচয় দেয়৷
সমাধান এবং প্রাসঙ্গিক নথি সম্পর্কে আরো বিস্তারিত জানার জন্য, দেখুন web ML ভিশন, ভয়েস এবং গ্রাফিকাল UI সহ i.MX RT117H এর উপর ভিত্তি করে NXP EdgeReady স্মার্ট HMI সলিউশনের পৃষ্ঠা। যাইহোক, বিকাশকারীদের জন্য এই মৌলিক গাইডগুলি উল্লেখ করে তাদের স্মার্ট HMI অ্যাপ্লিকেশনগুলি বাস্তবায়ন করা এখনও এত সহজ নয়। ধাপে ধাপে কাঠামোর উন্নয়ন অধ্যয়ন করতে সাহায্য করার জন্য অ্যাপ্লিকেশন নোটের একটি সিরিজ পরিকল্পনা করা হয়েছে। এই অ্যাপ্লিকেশন নোটটি এলভিজিএল জিইউআই ক্যামেরা প্রি বাস্তবায়নের উপর ভিত্তি করেview ফ্রেমওয়ার্কের উপর (নথি AN14147)। এই অ্যাপ্লিকেশন নোটটি বর্ণনা করে যে কীভাবে ক্যামেরা প্রি-এর মাধ্যমে মুখ শনাক্তকরণ ফাংশন বাস্তবায়নের জন্য ফ্রেমওয়ার্কে মুখ শনাক্তকরণের জন্য AI&ML ভিশন অ্যালগরিদম মডেলটি সক্ষম করা যায়view GUI স্ক্রিনে একটি সাধারণ LVGL GUI প্রাক্তন সহampSLN-TLHMI-IOT বোর্ডে। আবেদনপত্রে প্রাক্তন ডample একটি ক্যামেরা প্রি সহ একটি LVGL GUI স্ক্রিন উপস্থাপন করে৷view এবং মুখ নিবন্ধন, স্বীকৃতি, এবং অপসারণ ট্রিগার কিছু বোতাম. রেজিস্টার্ড ফেস ডাটা অল্প অল্প করে ফ্ল্যাশে সংরক্ষণ করা হয় file সিস্টেম
উচ্চ স্তরে, অ্যাপ্লিকেশন নোটে নিম্নলিখিত বিষয়বস্তু রয়েছে:
- ফ্রেমওয়ার্কে মুখ শনাক্তকরণ বৈশিষ্ট্য সক্ষম করুন৷
- এর মাধ্যমে ফ্রেমওয়ার্কে ফেস ডাটাবেস সমর্থন যোগ করুন file ফ্ল্যাশে সিস্টেম।
- LVGL GUI অ্যাপটি বাস্তবায়ন করুন। উপরের ভূমিকার মাধ্যমে, এই নথিটি ডেভেলপারদের সাহায্য করে:
- ফ্রেমওয়ার্ক এবং স্মার্ট HMI সমাধান সফ্টওয়্যার আরও গভীরভাবে বুঝুন।
- LVGL GUI অ্যাপের মাধ্যমে ফ্রেমওয়ার্কে তাদের AI&ML ফেস রিকগনিশন ডেভেলপ করুন।
ফ্রেমওয়ার্ক শেষview
সমাধান সফ্টওয়্যারটি প্রাথমিকভাবে ফ্রেমওয়ার্ক আর্কিটেকচারের ব্যবহারকে ঘিরে ডিজাইন করা হয়েছে যা বিভিন্ন অংশের সমন্বয়ে গঠিত:
- ডিভাইস ম্যানেজার - মূল অংশ
- হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) ডিভাইস
- বার্তা/ইভেন্ট
চিত্র 1 এ দেখানো হয়েছে, ওভারview কাঠামোর প্রক্রিয়া হল:
ডিভাইস ম্যানেজার সিস্টেম দ্বারা ব্যবহৃত ডিভাইস পরিচালনার জন্য দায়ী। প্রতিটি ডিভাইসের ধরন (ইনপুট, আউটপুট এবং তাই) এর নিজস্ব টাইপ-নির্দিষ্ট ডিভাইস ম্যানেজার রয়েছে। একটি ডিভাইস ম্যানেজার এর সাথে ডিভাইসগুলি নিবন্ধিত হওয়ার পরে শুরু হয়, এটি নিবন্ধিত ডিভাইসগুলি শুরু এবং শুরু করার পরে ডিভাইস এবং অন্যান্য পরিচালকদের কাছে ডেটা স্থানান্তর করার জন্য একটি বার্তা অপেক্ষা করে এবং পরীক্ষা করে। HAL ডিভাইসগুলি নিম্ন-স্তরের ড্রাইভার কোডের উপরে লেখা হয়, যা অন্তর্নিহিত বিবরণের অনেকগুলি বিমূর্ত করে কোড বোঝার ক্ষমতা বাড়াতে সাহায্য করে।
ইভেন্ট হল একটি মাধ্যম যার মাধ্যমে বিভিন্ন ডিভাইসের মধ্যে তাদের পরিচালকদের মাধ্যমে তথ্য আদান প্রদান করা হয়। যখন একটি ইভেন্ট ট্রিগার করা হয়, যে ডিভাইসটি প্রথমে ইভেন্টটি পেয়েছিল সেটি সেই ইভেন্টটি তার পরিচালকের সাথে যোগাযোগ করে, তারপরে এটি ইভেন্টটি গ্রহণ করার জন্য মনোনীত অন্যান্য পরিচালকদের অবহিত করে।
কাঠামোর স্থাপত্য নকশা তিনটি প্রাথমিক লক্ষ্যের উপর কেন্দ্রীভূত ছিল:
- ব্যবহার সহজ
- নমনীয়তা / বহনযোগ্যতা
- কর্মক্ষমতা
দৃষ্টিভঙ্গি এবং অন্যান্য মেশিন-লার্নিং অ্যাপ্লিকেশনগুলির জন্য বাজারের সময়কে দ্রুত করার লক্ষ্যে কাঠামোটি ডিজাইন করা হয়েছে। বাজারের জন্য একটি দ্রুত সময় নিশ্চিত করার জন্য, এটি গুরুত্বপূর্ণ যে সফ্টওয়্যারটি নিজেই বুঝতে এবং পরিবর্তন করা সহজ। এই লক্ষ্যটি মাথায় রেখে, ফ্রেমওয়ার্কের আর্কিটেকচারটি সীমাবদ্ধ না হয়ে এবং পারফরম্যান্সের খরচ ছাড়াই পরিবর্তন করা সহজ।
ফ্রেমওয়ার্ক সম্পর্কে আরও বিস্তারিত জানার জন্য, স্মার্ট এইচএমআই সফ্টওয়্যার ডেভেলপমেন্ট ইউজার গাইড (নথি MCU-SMHMI-SDUG) দেখুন।
হালকা এবং বহুমুখী গ্রাফিক্স লাইব্রেরি (LVGL)
LVGL (হালকা এবং বহুমুখী গ্রাফিক্স লাইব্রেরি) হল একটি বিনামূল্যের এবং ওপেন-সোর্স গ্রাফিক্স লাইব্রেরি যা আপনাকে সহজে ব্যবহারযোগ্য গ্রাফিকাল উপাদান, সুন্দর ভিজ্যুয়াল এফেক্ট এবং কম মেমরির পদচিহ্ন সহ একটি এমবেডেড GUI তৈরি করার জন্য প্রয়োজনীয় সবকিছু প্রদান করে।
GUI গাইড
GUI গাইড হল NXP-এর একটি ব্যবহারকারী-বান্ধব গ্রাফিকাল ইউজার ইন্টারফেস ডেভেলপমেন্ট টুল যা ওপেন-সোর্স LVGL গ্রাফিক্স লাইব্রেরির সাথে উচ্চ মানের ডিসপ্লেগুলির দ্রুত বিকাশকে সক্ষম করে। GUI গাইডের ড্র্যাগ-এন্ড-ড্রপ এডিটর LVGL-এর অনেকগুলি বৈশিষ্ট্য যেমন উইজেট, অ্যানিমেশন এবং শৈলীগুলিকে ন্যূনতম বা কোনও কোডিং ছাড়াই GUI তৈরি করতে সহজ করে তোলে৷
একটি বোতামে ক্লিক করে, আপনি একটি সিমুলেটেড পরিবেশে আপনার অ্যাপ্লিকেশন চালাতে পারেন বা এটি একটি লক্ষ্য প্রকল্পে রপ্তানি করতে পারেন। GUI গাইড থেকে জেনারেট করা কোড সহজেই আপনার প্রোজেক্টে যোগ করা যেতে পারে, ডেভেলপমেন্ট প্রক্রিয়াকে ত্বরান্বিত করে এবং আপনাকে আপনার অ্যাপ্লিকেশনে একটি এমবেডেড ইউজার ইন্টারফেস যোগ করার অনুমতি দেয়। GUI গাইড NXP-এর সাধারণ উদ্দেশ্য এবং ক্রসওভার MCUগুলির সাথে ব্যবহার করার জন্য বিনামূল্যে এবং এতে বেশ কয়েকটি সমর্থিত প্ল্যাটফর্মের জন্য অন্তর্নির্মিত প্রকল্প টেমপ্লেট অন্তর্ভুক্ত রয়েছে। GUI গাইডে LVGL এবং GUI ডেভেলপমেন্ট সম্পর্কে আরও জানতে, লাইট এবং বহুমুখী গ্রাফিক্স লাইব্রেরি এবং GUI গাইড চেক করুন।
উন্নয়ন পরিবেশ
প্রথমত, প্রাক্তন বাস্তবায়নের জন্য হার্ডওয়্যার এবং সফ্টওয়্যার পরিবেশ প্রস্তুত এবং সেট আপ করুনampফ্রেমওয়ার্ক উপর লে.
হার্ডওয়্যার পরিবেশ
প্রাক্তন যাচাই করার জন্য হার্ডওয়্যার পরিবেশ সেট আপ করা হয়েছেampLe:
- NXP i.MX RT117H (SLN_TLHMI_IOT কিট) এর উপর ভিত্তি করে স্মার্ট HMI ডেভেলপমেন্ট কিট
- একটি 9-পিন কর্টেক্স-এম অ্যাডাপ্টার এবং V7.84a বা ড্রাইভারের একটি নতুন সংস্করণ সহ SEGGER J-Link
সফটওয়্যার পরিবেশ
সফ্টওয়্যার পরিবেশ প্রাক্তন উন্নয়নের জন্য সেট আপ করা হয়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 সোর্স কোড। বিস্তারিত জানার জন্য, দেখুন: GitHub – NXP/mcu-smhmi v1.1.2 এ
সফ্টওয়্যার পরিবেশের অধিগ্রহণ এবং সেটআপ সম্পর্কে বিশদ বিবরণের জন্য, দেখুন: SLN-TLHMI-IOT দিয়ে শুরু করা।
কাঠামোর উপর দৃষ্টি আর্কিটেকচার
ফ্রেমওয়ার্কের ভিশন আর্কিটেকচার চিত্র 2-এ দেখানো হয়েছে। ভিশন অ্যালগো HAL (OASIS_HAL) এর নিম্নলিখিত প্রক্রিয়াগুলি রয়েছে:
- আউটপুট UI HAL থেকে সম্পর্কিত ইভেন্টগুলি পাওয়ার পরে AI&ML ভিশন অ্যালগরিদম মডেলের মাধ্যমে ফেস রেজিস্ট্রেশন এবং স্বীকৃতি দিন। অ্যালগরিদম মডেল থেকে আউটপুট UI HAL-এ অনুমান ফলাফলগুলিকে অবহিত করুন।
- সামান্য উপর ভিত্তি করে মুখ বৈশিষ্ট্য ডাটাবেস অ্যাক্সেস (যোগ করুন, মুছুন...) file আউটপুট UI HAL থেকে সম্পর্কিত ইভেন্টগুলি পাওয়ার পরে FaceDB HAL-এর API-কে কল করে সিস্টেম।
- ফেস রেজিস্ট্রেশন এবং রিকগনিশন করার সময় ক্যামেরা HAL থেকে ক্যামেরা ভিডিও ফ্রেমের অনুরোধ করুন।
ফ্রেমওয়ার্কে মুখের স্বীকৃতি প্রয়োগ করুন
LVGL GUI ফেস রিকগনিশন প্রাক্তনample (প্রাক্তনample পরে প্রদান করা হয়) ফ্রেমওয়ার্কের উপর ভিত্তি করে প্রয়োগ করা হয় প্রাক্তনampএলভিজিএল জিইউআই ক্যামেরা প্রি ইমপ্লিমেন্টের কোডview ফ্রেমওয়ার্কের উপর (নথি AN14147)।
প্রাক্তন মধ্যে মুখ স্বীকৃতি প্রদর্শনের জন্যample, GUI অ্যাপের মৌলিক ফাংশন (চিত্র 3-এ প্রধান স্ক্রীন দেখুন) নীচে বর্ণিত হিসাবে ডিজাইন করা হয়েছে:
- GUI অ্যাপ রেজিস্ট্রেশন বা স্বীকৃতি বোতামে ক্লিক করার সময় আউটপুট UI HAL-এ ফেস রেজিস্ট্রেশন বা স্বীকৃতি ইভেন্ট ট্রিগার করে। এবং আউটপুট UI HAL ফেস রেজিস্ট্রেশন সফল হওয়ার পরে ভিশন অ্যালগো HAL-এ একজন ব্যবহারকারীকে যুক্ত করার ঘটনাকে অবহিত করে।
- GUI অ্যাপ ব্যবহারকারীর মুখ চেনা যাওয়ার পরে ব্যবহারকারী মুছুন বোতামটি ক্লিক করার সময় আউটপুট UI HAL থেকে ব্যবহারকারীকে মুছে ফেলার ঘটনাকে ট্রিগার করে।
- GUI অ্যাপটি বোতাম এবং চিত্রগুলির বাইরে স্ক্রীনে ক্লিক করার সময় আউটপুট UI HAL-এ চলমান মরুদ্যান অ্যালগো বন্ধ করার ঘটনাকে ট্রিগার করে৷
প্রাক্তন বাস্তবায়নের জন্য সফ্টওয়্যার প্যাকেজ প্রস্তুত করুনampলে
- বেস সফটওয়্যার lvgl_gui_camera_pre ক্লোন করুনview_cm7। প্রকল্পের নাম এবং প্রধান পরিবর্তন করুন filelvgl_gui_face_rec_cm7 এর নাম।
- ফ্রেমওয়ার্কটি সফ্টওয়্যারে আপডেট করা প্রয়োজন কারণ ফ্রেমওয়ার্ক কোরের সোর্স কোডগুলি 1.1.2 সংস্করণ থেকে GitHub-এ সর্বজনীন হতে শুরু করেছে।
- ফ্রেমওয়ার্ক ফোল্ডারটি GitHub থেকে V1.1.2 এর অনুলিপি দিয়ে প্রতিস্থাপন করুন files fwk_log.h এবং fwk_common.h inc\ এর অধীনে যেহেতু তারা অ্যাপ্লিকেশন নোটের সিরিজের জন্য সংশোধন করা হয়েছে। অপারেশনগুলি চিত্র 4 এ দেখানো হয়েছে:
- libs গোষ্ঠীর অধীনে ফোল্ডার framework_cm7 মুছুন এবং লাইব্রেরি framework_cm7 এবং প্রকল্প > বৈশিষ্ট্য > C/C++ Build > settings > Tool Settings > MCU C++ Linker > Libraries-এ কনফিগার করা লাইব্রেরি framework_cmXNUMX সরিয়ে ফেলুন যেহেতু কোরের সোর্স কোড দেওয়া হয়েছে।
ফ্রেমওয়ার্কে মুখ শনাক্তকরণ বৈশিষ্ট্য সক্ষম করুন
ফেস রিকগনিশন ফিচারটি স্ট্যাটিক লাইব্রেরি হিসেবে প্রদত্ত এমএল ভিশন অ্যালগরিদম মডেলের উপর তৈরি করা হয়েছে - এনএক্সপি দ্বারা একটি মরুদ্যান লাইট রানটাইম লাইব্রেরি। লাইব্রেরি একটি ক্ষুদ্র, অত্যন্ত দক্ষ, কাস্টমাইজড এবং অপ্টিমাইজ করা এআই লাইব্রেরি। মডেলটিতে মুখ সনাক্তকরণ, মুখ শনাক্তকরণ, গ্লাস সনাক্তকরণ এবং সজীবতা সনাক্তকরণ অন্তর্ভুক্ত রয়েছে। এটি প্রধানত API OASISLT_run_extended() প্রদান করে মুখ শনাক্তকরণ পাইপলাইন চালানোর জন্য ইভেন্ট কলব্যাকের মাধ্যমে কলারের ফলাফল আপডেট করার সময়, এবং উৎস ফ্রেমের তথ্য, কলব্যাক এবং মেমরি নির্দিষ্ট করার পরে ফেস ডাটাবেস কলব্যাকের মাধ্যমে ডাটাবেসে মুখগুলি যোগ/আপডেট/মুছে দেয়। আরম্ভ করার সময় অন্য API OASISLT_init() কল করে লাইব্রেরি দ্বারা ব্যবহৃত পুল। এপিআই-এর কলিং এবং কলব্যাক ফাংশনগুলি কাঠামোর ভিশন অ্যালগো HAL-এ প্রয়োগ করা হয়।
ভিশন অ্যালগো মডেল লাইব্রেরি যোগ করুন
- লাইব্রেরি এবং সংশ্লিষ্ট হেডার ধারণকারী ফোল্ডার মরূদ্যান অনুলিপি করুন file স্মার্ট HMI\coffee_machine\cm7\libs\ থেকে প্রাক্তনের libs ফোল্ডারেample SW.
- হেডারের অনুসন্ধান পথ যোগ করুন file প্রজেক্টে > বৈশিষ্ট্য > C/C++ বিল্ড > সেটিংস > টুল সেটিংস > MCU C কম্পাইলার > অন্তর্ভুক্ত এবং MCU C++ কম্পাইলার > অন্তর্ভুক্ত: “${workspace_loc:/${ProjName}/libs/oasis/include}”
- প্রোজেক্ট > প্রোপার্টিজ > C/C++ বিল্ড > সেটিংস > MCU C+ + Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” এবং ম্যাক্রো সংজ্ঞাতে lib এবং এর অনুসন্ধানের পথ যোগ করুন প্রকল্প > বৈশিষ্ট্য > C/C++ বিল্ড > সেটিংস > টুল সেটিংস > MCU C কম্পাইলার > প্রিপ্রসেসর এবং MCU C++ কম্পাইলার > প্রিপ্রসেসর: SMART_TLHMI_2D-এ বৈশিষ্ট্যটি সক্ষম করুন
দৃষ্টি এলগো HAL সক্ষম করুন
ভিশন অ্যালগো HAL ভিশন অ্যালগো মডেলটিকে কাজ করার জন্য চালিত করে এবং এটি থেকে ইভেন্টগুলি পাওয়ার পরে UI আউটপুট HAL-এ ফলাফলের প্রতিক্রিয়া জানায়।
এটি সক্রিয় করতে, বিদ্যমান অনুরূপ HAL ড্রাইভার ক্লোন করুন file যেখানে নীচের ফাংশনগুলি প্রয়োগ করা হয়:
- ফেস ডাটাবেস অপারেশন এবং ইভেন্ট হ্যান্ডলিং এর কলব্যাকগুলি বাস্তবায়ন করুন।
- মরুদ্যান লাইব্রেরির API গুলিকে কল করে দৃষ্টি অ্যালগোকে কাজ করতে চালান৷
- ব্যবহারকারীর মুখ ডাটাবেস এবং অ্যাপ ডাটাবেস অ্যাক্সেস করুন (এটি প্রাক্তনampলে)।
- থেকে ইভেন্টগুলি গ্রহণ করুন এবং আউটপুট UI HAL-এ ফলাফল পাঠান।
প্রাক্তন জন্য HAL বাস্তবায়ন প্রধান কাজample হল:
- বিদ্যমান অনুরূপ HAL ড্রাইভার ক্লোন করুন file এবং সংশ্লিষ্ট নাম পরিবর্তন করুন।
- অ্যাপ ডেটা অপারেশন সম্পর্কিত কোডগুলি সরান।
- প্রাক্তন প্রতি আউটপুট UI HAL থেকে ইভেন্ট পরিচালনার জন্য সংজ্ঞা এবং ফাংশন আপডেট করুনampলে ডিজাইন।
- মরূদ্যান শুরুতে প্রয়োজনীয় কনফিগারেশন যোগ করুন।
বিস্তারিত ধাপগুলো নিম্নরূপ:
- ক্লোন hal_vision_algo_oasis_coffeemachine.c. পরিবর্তন fileনাম hal_vision_algo_oasis_guifacerec.c. এবং সমস্ত স্ট্রিং CoffeeMachine-এ GUIFaceRec দিয়ে প্রতিস্থাপন করুন file.
- অ্যাপ ডাটাবেসের সাথে সম্পর্কিত স্ট্রিং coffeedb (কেস সংবেদনশীল নয়) ধারণকারী কোডগুলি সরান, প্রাক্তনের জন্যample, #include hal_sln_coffeedb.h.
- আউটপুট UI HAL থেকে ইভেন্টগুলি পরিচালনা করার জন্য HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() ফাংশনটি পরিবর্তন করুন।
- ইভেন্ট সংজ্ঞা kEventFaceRecId_RegisterCoffeeSelection কে kEventFaceRecId_RegisterUserFace এ পরিবর্তন করুন এবং ডাটাবেসে নতুন মুখ বৈশিষ্ট্য ডেটা যোগ করার জন্য ইভেন্ট পরিচালনার জন্য স্ট্রাকচার স্ট্রিং regCoffeeSelection কে regGUIFaceRec এ পরিবর্তন করুন।
- প্রাক্তন মধ্যে মুখ শনাক্তকরণ কর্মের মান প্রক্রিয়া দেখানোর জন্যample, রাজ্যগুলির সংজ্ঞা সহ kEventFaceRecID_OasisSetState-এর ক্ষেত্রে হ্যান্ডলিং সংশোধন করুন:
- kOASISLIteState
- রেজিস্ট্রেশন kOASISLIteState
- স্বীকৃতি kOASISLIteState
- থেমে গেল
- উপরের ধাপে উল্লিখিত ঘটনাগুলির সংজ্ঞা যোগ করুন এবং সংশোধন করুন।
- হেডার কপি করুন file smart_tlhmi_event_descriptor.h স্মার্ট HMI\coffee_machine \cm7\source\event_handlers\ থেকে প্রাক্তনের ফোল্ডার উত্সেample SW. আপডেট করুন file নীচের হিসাবে:
- ইভেন্টের সংজ্ঞা kEventFaceRecId_RegisterCoffeeSelection কে enum টাইপ _event_smart_tlhmi_id-এ kEventFaceRecId_RegisterUserFace এবং স্ট্রাকচার স্ট্রিং regCoffeeSelection-কে _event_smart_smart-এ regGUIFaceRec-এ পরিবর্তন করুন। সুতরাং, regCoffeeSelection-এর জন্য struct register_coffee_selection_event_t পরিবর্তন করে register_gui_facerec_event_t করুন।
- কফি মেশিন অ্যাপের জন্য ব্যবহৃত অন্যান্য বিষয়বস্তু মুছুন, প্রাক্তন জন্যample, ভয়েস সম্পর্কে কোড লাইন: # "hal_event_descriptor_voice.h" অন্তর্ভুক্ত করুন।
- নিচের মতো প্রজেক্টে ফ্রেমওয়ার্ক>হল>ভিশনের অধীনে hal_vision_algo.h-এর enum টাইপ oasis_lite_state_t-এ kOASISLiteState_Stopped এবং kOASISLiteState_Running প্রকারগুলি যোগ করুন:
typedef enum _oasis_lite_state {- kOASISLIteState
- চলমান, kOASISLIteState
- থামানো হয়েছে, kOASISLIteState
- স্বীকৃতি,
- kOASISLIteState
- নিবন্ধন, kOASISLIteState
- ডি-রেজিস্ট্রেশন, kOASISLIteState
- রিমোট রেজিস্ট্রেশন, kOASISLIteState
- গণনা
- উপরের আপডেট করা struct oasis_lite_state_t ব্যবহার করুন struct oasis_state_event_t hal_event_descriptor_face_rec.h-এর অধীনে ফ্রেমওয়ার্ক>hal>ভিশনের অধীনে নিচের মতো: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
- ভিশন অ্যালগো HAL থেকে অন্যান্য HAL-তে ইভেন্টগুলি পাঠানোর জন্য kEventInfo_Remote কে kEventInfo_Local-এ পরিবর্তন করুন যেমন ডুয়াল-কোরের পরিবর্তে একক কোরের পরিবর্তে একই কোরে চলমানampলে
- OASISLT_init(এ মরুদ্যান আরম্ভ করার জন্য নীচের কনফিগারেশনগুলি যোগ করুন এবং সংশোধন করুন):
- board_define.h: #define OASIS_RGB_FRAME_WIDTH 800-এ ভিডিও ফ্রেমের জন্য ম্যাক্রো সংজ্ঞা এবং মেমরি বিভাগ যোগ করুন
- # OASIS_RGB_FRAME_HEIGHT 600 সংজ্ঞায়িত করুন
- #OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB সংজ্ঞায়িত করুন
- # OASIS_RGB_FRAME_BYTE_PER_PIXEL 3 সংজ্ঞায়িত করুন
- # AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) সংজ্ঞায়িত করুন \
- __অ্যাট্রিবিউট__((বিভাগ(“.bss.$fb_sh_mem,\"aw\",%nobits @"))) var
- __অ্যাট্রিবিউট__((সারিবদ্ধ(সারিবদ্ধ)))
- উপরের মেমরি বিভাগে মেমরি অ্যাসাইনমেন্ট কনফিগার করুন
- 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-এ উপরের বিভাগটি সংজ্ঞায়িত করুন:
- #AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) সংজ্ঞায়িত করুন \
- অ্যাট্রিবিউট__((বিভাগ(“.bss.$SRAM_DTC_cm7,\"aw\",%nobits @"))) var
- অ্যাট্রিবিউট__((সারিবদ্ধ(অ্যালাইনবাইট)))
- হেডার অন্তর্ভুক্ত করুন file hal_vision_algo.h lvgl_gui_face_rec_cm7.cpp-এ অন্তর্ভুক্ত app_config.h-এ ম্যাক্রো সংজ্ঞা DTC_OPTIMIZE_BUFFER_SIZE ধারণকারী।
- board_define.h: #define OASIS_RGB_FRAME_WIDTH 800-এ ভিডিও ফ্রেমের জন্য ম্যাক্রো সংজ্ঞা এবং মেমরি বিভাগ যোগ করুন
- মুখ শনাক্তকরণে অগ্রগতি স্থিতি দেখানোর জন্য ভেরিয়েবল s_debugOption কে সত্যে সেট করুন।
- হেডারের অনুসন্ধান পথ যোগ করুন fileপ্রকল্পে HAL এর ভিশন > বৈশিষ্ট্য > C/C++ বিল্ড > সেটিংস > টুল সেটিংস > MCU C কম্পাইলার > অন্তর্ভুক্ত এবং MCU C++ কম্পাইলার > অন্তর্ভুক্ত: “${workspace_loc:/${ProjName}/framework/hal/vision}”
- board_define.h-এ দৃষ্টি অ্যালগো HAL সক্ষম করতে নীচের সংজ্ঞা যোগ করুন: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
আউটপুট UI HAL সক্ষম করুন
আউটপুট UI HAL ইভেন্টগুলি দৃষ্টি অ্যালগো HAL-কে অবহিত করে এবং দৃষ্টি অ্যালগো HAL থেকে অনুমান ফলাফলগুলিতে প্রতিক্রিয়া জানায়। GUI অ্যাপের মাধ্যমে, ইভেন্টগুলি সাধারণত অ্যাপ দ্বারা ট্রিগার হয় এবং ফলাফলগুলি অ্যাপে দেখানো হয়।
এটি সক্রিয় করতে, বিদ্যমান অনুরূপ HAL ড্রাইভার ক্লোন করুন file যেখানে সাধারণত নীচের ফাংশনগুলি প্রয়োগ করা হয়:
- মুখ শনাক্তকরণ এবং ডাটাবেস অ্যাক্সেসের জন্য ইভেন্টগুলিকে অবহিত করুন।
- ইভেন্টগুলিকে ট্রিগার করতে GUI অ্যাপের জন্য কলব্যাকগুলি প্রয়োগ করুন৷
- দৃষ্টি অ্যালগো মডিউল থেকে অনুমান ফলাফল পরিচালনা করুন।
- টাইমার এবং ফেস গাইড আয়তক্ষেত্রের সাহায্যে নিয়ন্ত্রিত অগ্রগতি বার দ্বারা UI-তে হ্যান্ডলিং ইভেন্টগুলির প্রক্রিয়া এবং ফলাফলগুলি দেখান৷
প্রাক্তন জন্য HAL বাস্তবায়ন প্রধান কাজampএই নথিতে ব্যবহৃত le হল:
- বিদ্যমান অনুরূপ HAL ড্রাইভার ক্লোন করুন file এবং সংশ্লিষ্ট নাম পরিবর্তন করুন।
- অ্যাপ সম্পর্কিত কোডগুলি সরান।
- প্রাক্তন প্রতি ইভেন্ট বিজ্ঞপ্তি এবং ফলাফল প্রতিক্রিয়া জন্য ফাংশন আপডেটampলে ডিজাইন।
- ইভেন্ট ট্রিগার করতে GUI অ্যাপের জন্য কলব্যাক যোগ করুন।
বিস্তারিত ধাপগুলো নিম্নরূপ:
- ক্লোন hal_output_ui_coffee_machine.c. পরিবর্তন fileনাম hal_ output_ui_guifacerec.c.
- সমস্ত স্ট্রিং CoffeeMachine এর মধ্যে GUIFaceRec দিয়ে প্রতিস্থাপন করুন file.
- অ্যাপের সাথে সম্পর্কিত কোডগুলি সরান - কফি মেশিন।
- WakeUp() এবং _StandBy() ফাংশন এবং সম্পর্কিত কোডগুলি সরান (স্ট্রিং wake_up এবং স্ট্যান্ডবাই তাদের জন্য অনুসন্ধান করতে পারে)।
- প্রাক সরানview HAL_OutputDev_UiGUIFaceRec_Input Notify() এ সম্পর্কিত কোড পরিচালনা করার মোড ইভেন্ট।
- পূর্বের জন্য gui_set_virtual_face() ছাড়া কফি মেশিনের GUI এর সাথে সম্পর্কিত UI_xxx_Callback() ফাংশন এবং স্ট্রিং gui_ এবং স্ক্রীন সম্বলিত কোডগুলি সরানview মোড বৈশিষ্ট্য।
- কফি মেশিন অ্যাপের সাথে সম্পর্কিত s_IsWaitingAnotherSelection এবং s_IsWaitingRegisterSelection ভেরিয়েবলের সাথে জড়িত সমস্ত কোডগুলি সরান৷
- ভয়েস, অডিও এবং ভাষা সম্পর্কিত কোডগুলি সরান৷ প্রাক্তন জন্যampLe:
- # "hal_voice_algo_asr_local.h" অন্তর্ভুক্ত করুন,
- # "hal_event_descriptor_voice.h" অন্তর্ভুক্ত করুন
- বিভিন্ন ইভেন্ট নোটিফিকেশনের জন্য, নতুন ফাংশনগুলি _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), এবং DeregisterGUIFaceRec() _StopFaceRec(), _RegisterCoffeeSelection(), এবং deregisterCoffe(ডিরিজিস্টার কফি) এর আগে উল্লেখ করে কার্যকর করুন।
- _OutputManagerNotify() ভিশন অ্যালগো HAL-এ একটি ইভেন্ট পাঠাতে মৌলিক ইভেন্ট আউটপুট ফাংশন প্রয়োগ করে। নীচের ফাংশনগুলি তাদের নিজস্ব ইভেন্টগুলি পাঠাতে কল করে।
- _SetFaceRec() ফেস রেজিস্ট্রেশন, স্বীকৃতি এবং অ্যালগো বন্ধ করার জন্য ভিশন অ্যালগো ট্রিগার করতে ইভেন্ট kEventFaceRecID_OasisSetState পাঠায়।
- _RegisterGUIFaceRec() ইভেন্টটি পাঠায় kEventFaceRecId_RegisterGUIFaceRec যা smart_tlhmi_event_descriptor.h-এ সংজ্ঞায়িত করা হয়েছে যখন নিবন্ধন ঠিক আছে তখন ডাটাবেসে ফেস ফিচার ডেটা যোগ করতে।
- DeregisterGUIFaceRec() মুখ শনাক্তকরণ পাস করার সময় ডাটাবেস থেকে মুখ বৈশিষ্ট্য ডেটা মুছে ফেলার জন্য ইভেন্ট kEventFaceRecID_DelUser পাঠায়।
- প্রাক্তন প্রতি _InferComplete_Vision() ফাংশনে ফেস রেজিস্ট্রেশন এবং স্বীকৃতির অনুমান ফলাফলের জন্য LVGL GUI অ্যাপ থেকে API গুলিকে কল করে GUI রিফ্রেশ সহ সংশ্লিষ্ট ক্রিয়াগুলি নেওয়ার জন্য কোডগুলি আপডেট করুনampলে এর ডিজাইন। প্রাক্তন জন্যample, যখন মুখ নিবন্ধন সফল হয়,
- _FaceRecProcess_Stop(); কল করে অগ্রগতি দেখানো বন্ধ করুন;
- _SetFaceRec(kOASISLiteState_Stopped) এ কল করে ফেস রেজিস্ট্রেশন বন্ধ করুন;
- GUI-তে সফল ফলাফল দেখান: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- ডাটাবেসে মুখের ডেটা নিবন্ধন করুন: _RegisterUserFace(s_UserId);
- ইভেন্টগুলি পরিচালনা করতে UI কলব্যাক ফাংশন যুক্ত করুন: প্রিview, মুখ নিবন্ধন, স্বীকৃতি, এবং GUI থেকে ট্রিগার করা ব্যবহারকারী মুছে ফেলা। প্রাক্তন জন্যample, ফেস রেজিস্ট্রেশন কলব্যাক: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- এবং বিভিন্ন ইভেন্ট এবং ফলাফলের অগ্রগতি এবং অবস্থা দেখানোর জন্য _FaceRecProcess_Start() এবং _FaceRecProcess_Stop() ফাংশন যোগ করুন।
- টাইমার আইএসআর কলব্যাক ফাংশন আপডেট করুন _SessionTimer_Callback() কল করে টাইম-আউটের কেস পরিচালনা করতে: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- board_define.h-এ UI আউটপুট HAL সক্ষম করতে নীচের সংজ্ঞা যোগ করুন: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
বিজ্ঞপ্তি:
মুখ শনাক্তকরণ বৈশিষ্ট্যটি আরও ভালভাবে উপস্থাপন করতে, আউটপুট UI HAL-এ মুখ শনাক্তকরণের প্রক্রিয়া এবং ফলাফল দেখানোর জন্য ফাংশনটি রাখুন। ফাংশনটি নীচে বর্ণনা করা হয়েছে
- মুখ নির্দেশিকা আয়তক্ষেত্র নীল দেখায়, এবং অগ্রগতি বার মুখ নিবন্ধন বা স্বীকৃতি শুরু করার সময় অগ্রগতি দেখায়।
- মুখ রেজিস্ট্রেশন সফল হলে মুখ নির্দেশিকা আয়তক্ষেত্র লাল দেখায়।
- মুখ শনাক্তকরণ সফল হলে মুখ নির্দেশিকা আয়তক্ষেত্র সবুজ দেখায়।
- ফেস গাইড আয়তক্ষেত্রটি নীল রাখে, এবং টাইমারের মেয়াদ শেষ হওয়ার পরে অ্যাকশনটি ব্যর্থ হলে অগ্রগতি বারটি সম্পূর্ণ অগ্রগতি দেখায়। সেই সময়ে, মুখ নিবন্ধন বা স্বীকৃতি বন্ধ করুন।
প্রোগ্রেস বার এবং ফেস গাইড আয়তক্ষেত্র আইকন হিসাবে উপস্থাপন করা হয় যা রিসোর্স বাইনারিতে তৈরি করা হয়েছে file ফ্ল্যাশে প্রোগ্রাম করা। SDRAM-এ আইকন ডেটার পয়েন্টারগুলি লোডআইকনস(APP_ICONS_BASE) ফাংশনে সেট আপ করা হয় যা আউটপুট UI HAL ডিভাইসের আউটপুট UI HAL-এর ইনিশিয়ালাইজেশনে বলা হয়। এটি অবশ্যই ফাংশনের জন্য আইকন সমর্থন বাস্তবায়ন করবে।
আইকন সমর্থন বাস্তবায়ন
- এলভিজিএল জিইউআই অ্যাপে ব্যবহৃত চিত্রগুলির সাথে আইকনগুলিকে একত্রিত করে সংস্থান তৈরি করুন:
- চারটি আইকন হেডার ক্লোন করুন files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, এবং virtual_face_red_420x426.h স্মার্ট HMI থেকে
প্রাক্তনের রিসোর্স ফোল্ডারের অধীনে নতুন ফোল্ডার আইকনগুলিতে \coffee machine\resource\icons\ample SW. - চারটি আইকনের জন্য অনুসন্ধানের পথ যোগ করুন fileক্যামেরা_প্রেview_resource.txt file রিসোর্স ফোল্ডারে, যেমনample: icon ../resource/icons/process_bar_240x14.h
- ক্যামেরা_প্রে চালানview_resource_build.bat বিন তৈরি করতে ছবি এবং আইকন সংস্থান তৈরি করতে file ক্যামেরা_প্রিview_resource.bin এবং তথ্য file resource_information_table.txt (চিত্র 6 দেখুন)।
- চারটি আইকন হেডার ক্লোন করুন files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, এবং virtual_face_red_420x426.h স্মার্ট HMI থেকে
- SDRAM-তে শুরুর ঠিকানা এবং app_config.h-এ আইকনগুলির আকার নির্ধারণ করুন। ঠিকানাটি GUI অ্যাপের ছবির পাশে শুরু হয়। আকার তথ্য উত্পন্ন হয় file. #সংজ্ঞায়িত করুন APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #সংজ্ঞায়িত করুন APP_ICONS_SIZE 0x107c40
- res_sh_mem নামের মেমরি বিভাগের নির্ধারিত আকারটিকে app_config.h-এ পুনরায় সংজ্ঞায়িত করে 0x200000-এ আপডেট করুন: #define RES_SHMEM_TOTAL_SIZE 0x200000 এবং প্রকল্প > বৈশিষ্ট্য > C/C++ বিল্ড > MCU সেটিংসে সংশ্লিষ্ট সেটিংস।
- প্রধান APP_LoadResource() ফাংশনে ফ্ল্যাশ থেকে 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 HAL-এ UI কলব্যাক ফাংশনগুলিকে UI স্ক্রীন থেকে ইভেন্টগুলি পরিচালনা করার জন্য LVGL GUI অ্যাপ দ্বারা ডাকা হয়। অন্যদিকে, আউটপুট UI HAL ফলাফল এবং স্থিতি দেখানোর জন্য UI আপডেট করার জন্য LVGL GUI অ্যাপ থেকে APIগুলিকে কল করে। LVGL GUI অ্যাপের বিকাশ তুলনামূলকভাবে স্বাধীন এবং বিভাগ 4.3-এ চালু করা হয়েছে।
4.1.5 মুখ শনাক্তকরণের জন্য HAL ডিভাইস এবং ম্যানেজার শুরু করুন
সক্রিয় দৃষ্টি আলগো HAL এবং UI আউটপুট HAL এবং তাদের ম্যানেজার প্রধান শুরু হয় file
lvgl_gui_face_rec_cm7.cpp ফ্রেমওয়ার্কের উন্নয়নের রূপান্তরগুলি নিম্নরূপ:
- হেডার অন্তর্ভুক্ত করুন file কোড লাইন যোগ করে দুটি HAL পরিচালকের সাথে সম্পর্কিত:
- # অন্তর্ভুক্ত করুন " fwk_output_manager.h "
- # "fwk_vision_algo_manager.h" অন্তর্ভুক্ত করুন
- HAL ডিভাইস ঘোষণা করুন:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- HAL ডিভাইসগুলি নিবন্ধন করুন:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- পরিচালকদের শুরু করুন:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(আউটপুট ম্যানেজার, ret);
- পরিচালকদের শুরু করুন:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
- FWK_MANAGER_START(আউটপুট ম্যানেজার, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- পরিচালকের কাজগুলির অগ্রাধিকার নির্ধারণ করুন:
- #ভিশন_ALGO_MANAGER_TASK_PRIORITY 3 সংজ্ঞায়িত করুন
- # OUTPUT_MANAGER_TASK_PRIORITY 1 সংজ্ঞায়িত করুন
ফ্রেমওয়ার্কে ফেস ডাটাবেস সমর্থন যোগ করুন
ফ্ল্যাশে সংরক্ষিত ফেস ডাটাবেসে রেজিস্টার্ড ফেস ফিচারের ডেটা সামান্যের মাধ্যমে অ্যাক্সেস করা হয় file পদ্ধতি। ফেস ডাটাবেস সমর্থন যোগ করার পদক্ষেপগুলি নীচে বর্ণনা করা হয়েছে।
ফ্ল্যাশ স্টোরেজের জন্য ড্রাইভার যোগ করুন
ফ্ল্যাশ ইন্টারফেস FlexSPI ড্রাইভার অনুলিপি করুন files fsl_flexspi.c এবং fsl_flexspi.h, এবং ডেটা এনক্রিপশন ড্রাইভার files fsl_caam.c এবং fsl_caam.h SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ থেকে প্রাক্তনের ড্রাইভার ফোল্ডারেample SW.
বোর্ড-স্তরের সমর্থন যোগ করুন
- বোর্ডে বোর্ডে ফ্ল্যাশ ডিভাইসের জন্য ব্যবহৃত FlexSPI-এর সংজ্ঞা যোগ করুন:
- # BOARD_FLEXSPI FLEXSPI1 সংজ্ঞায়িত করুন
- # BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 সংজ্ঞায়িত করুন
- # BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE সংজ্ঞায়িত করুন
- অপারেটর এবং কনফিগারেশন কপি করুন fileফ্ল্যাশ ডিভাইসের flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h পাথের অধীনে স্মার্ট HMI\flash_ops.h ফোল্ডারটিample SW.
- C/C++ বিল্ড > সেটিংস-এ ডান-ক্লিক করার পর "বিল্ড থেকে রিসোর্স বাদ দিন" টিক চিহ্ন মুক্ত করুন files' নাম এবং প্রোপার্টি খোলার জন্য সেগুলিকে প্রোজেক্টে বিল্ট করা যাবে।
- অন্তর্ভুক্ত হেডার পরিবর্তন করুন filesln_flash_config.c এবং flexspi_nor_flash_ops.h-এ sln_flash_config_w25q256jvs.h থেকে sln_flash_config.h নাম দিন।
- তে ফ্লেক্সএসপিআই1 ঘড়ির উৎস সেট করুন file clock_config.c কফি মেশিন অ্যাপ উল্লেখ করে।
অ্যাডাপ্টার এবং মধ্যম স্তরের সমর্থন যোগ করুন
- কপি করুন files sln_flash.c, sln_flash.h, sln_encrypt.c, এবং sln_encrypt.h অ্যাডাপ্টার ড্রাইভার হিসাবে file সিস্টেম এবং অ্যাপ স্মার্ট HMI\coffee_machine\cm7\source\ থেকে প্রাক্তনের ফোল্ডার উত্স পর্যন্তampলে নতুন আপডেট করুন files:
- বিল্ডিংয়ের জন্য তাদের উপর "বিল্ড থেকে সংস্থান বাদ দিন" টিক চিহ্ন সরিয়ে দিন।
- সমস্ত অন্তর্ভুক্ত হেডার পরিবর্তন করুন file নাম sln_flash_config.h থেকে sln_flash_config_w25q256jvs.h.
- ফোল্ডারটি কপি করুন fileসামান্য জন্য APIs ধারণকারী সিস্টেম fileসিস্টেম এবং HAL ড্রাইভার স্মার্ট HMI \coffee_machine\cm7\source\ থেকে প্রাক্তন পর্যন্তample SW. এবং নতুন ফোল্ডারের জন্য আপডেট করুন:
- বিল্ডিংয়ের জন্য এটিতে "বিল্ড থেকে সংস্থান বাদ দিন" টিক চিহ্ন সরিয়ে দিন।
- প্রকল্প সেটিংসে এটির জন্য অন্তর্ভুক্ত পথ যোগ করুন: “${workspace_loc:/${ProjName}/fileপদ্ধতি}"
- অন্তর্ভুক্ত হেডার পরিবর্তন করুন file নাম sln_flash_config.h থেকে sln_flash_config_w25q256jvs.h এবং fica_definition.h থেকে app_config.h file sln_flash_littlefs.h.
- লিটলফস ফোল্ডারটি কপি করুন যাতে মিডল ওয়্যার থাকে – সামান্য fileSDK_2_13_0_ MIMXRT1170-EVK\midleware\ থেকে প্রাক্তন পর্যন্ত সিস্টেমample SW. এবং নতুন ফোল্ডার আপডেট করুন:
- বিল্ডিংয়ের জন্য এটিতে "বিল্ড থেকে সংস্থান বাদ দিন" টিক চিহ্ন সরিয়ে দিন।
- প্রকল্প সেটিংসে এটির জন্য অন্তর্ভুক্ত পথ যোগ করুন: “${workspace_loc:/${ProjName}/littlefs}”
HAL ড্রাইভার যোগ করুন
- দুটি HAL ডিভাইস আছে - file সিস্টেম এবং ফেস ডাটাবেস HAL ডাটাবেস অ্যাক্সেস বৈশিষ্ট্যের জন্য সমর্থিত এবং সেগুলি ইতিমধ্যেই কোনও পরিবর্তন ছাড়াই কাঠামোর মধ্যে প্রয়োগ করা হয়েছে। board_define.h-এ নীচের সংজ্ঞা যোগ করে তাদের সক্ষম করুন:
- # ENABLE_FLASH_DEV_Littlefs সংজ্ঞায়িত করুন
- #ENABLE_FACEDB সংজ্ঞায়িত করুন
এবং প্রাক্তনের জন্য মুখের ডাটাবেসের নাম পরিবর্তন করুনample: #OASIS_FACE_DB_DIR “oasis_gui_face_rec” সংজ্ঞায়িত করুন
অ্যাপ-স্তরের সমর্থন যোগ করুন
- প্রধান আপডেট করুন file lvgl_gui_face_rec_cm7.cpp:
- হেডার অন্তর্ভুক্ত করুন file ফ্ল্যাশের সাথে সম্পর্কিত file কোড লাইন যোগ করে সিস্টেম HAL ম্যানেজার: #include “fwk_flash.h”
- ঘোষণা করুন এবং নিবন্ধন করুন file সিস্টেম HAL ডিভাইস:
- HAL_FLASH_DEV_DECLARE(লিটলফস);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
দ্রষ্টব্য: দ file APP_InitFramework() ফাংশনে সমস্ত ডিভাইস ম্যানেজার শুরু হওয়ার আগে সিস্টেম HAL ডিভাইস অবশ্যই নিবন্ধিত হতে হবে।
- MPU কনফিগার করতে APP_BoardInit() এ BOARD_ConfigMPU() ফাংশনটিকে কল করুন।
- সেট করুন file ফ্ল্যাশে সিস্টেম অ্যাসাইনমেন্ট file app_config.h-এ ব্যবহৃত ম্যাক্রো সংজ্ঞা নির্ধারণ করে file sln_flash_littlefs.h:
- #FICA_IMG_ সংজ্ঞায়িত করুনFILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #FICA_ সংজ্ঞায়িত করুনFILE_SYS_SIZE (0x280000)
কনফিগারেশন
কিছু ফ্ল্যাশ-সম্পর্কিত কোড পর্যাপ্ত কর্মক্ষমতার জন্য SRAM ITC এলাকায় কার্যকর করা হয়। পাথ স্মার্ট HMI\coffee_machine\cm7\ থেকে লিঙ্কার কনফিগারেশন ধারণকারী ফোল্ডার লিঙ্কস্ক্রিপ্টগুলি অনুলিপি করুনample SW.
একটি LVGL GUI অ্যাপ প্রয়োগ করুন
ফ্রেমওয়ার্কের উপর ভিত্তি করে একটি LVGL GUI অ্যাপের বিকাশ আউটপুট UI HAL থেকে API-কে কল করে এবং UI HAL আউটপুট করার জন্য API প্রদান করে (আউটপুট UI HAL বাস্তবায়নের জন্য বিভাগ 4.1.3 দেখুন)।
যাইহোক, একটি LVGL GUI অ্যাপের বিস্তারিত বাস্তবায়ন অ্যাপ্লিকেশনটির প্রয়োজনীয়তা এবং নকশার উপর নির্ভর করে। এই প্রাক্তন GUI অ্যাপample বিভাগ 4 এর শুরুতে বর্ণিত হিসাবে ডিজাইন করা হয়েছে৷
নীচে বাস্তবায়ন ভূমিকা:
- কাস্টমাইজড কোডগুলি GUI গাইড প্রজেক্ট এবং এমবেডেড সিস্টেম প্রজেক্টের মধ্যে ইন্টারফেস হিসাবে GUI গাইডের দেওয়া custom.c এবং custom.h-এ প্রয়োগ করা হয়।
- নিচের ফাংশনগুলি অর্জন করতে custom.c-এ gui_xxx() নামের নতুন ফাংশন যোগ করুন:
- UI আপডেট করার জন্য আউটপুট UI HAL এবং GUI অ্যাপের জন্য।
- GUI অ্যাপের জন্য আউটপুট UI HAL থেকে UI কলব্যাক ফাংশন কল করে ইভেন্ট ট্রিগার করতে।
প্রাক্তন জন্যample, নতুন ফাংশন gui_event_face_rec_action() UI কলব্যাক ফাংশনগুলিকে কল করে মুখ নিবন্ধন, মুখ শনাক্তকরণ এবং GUI অ্যাপ থেকে ট্রিগার হওয়া ব্যবহারকারী মুছে ফেলার ইভেন্টগুলির একটি পরিচালনা করতে যখন সম্পর্কিত বোতামটি ক্লিক করা হয়।
দ্রষ্টব্য: gui_set_virtual_face() ফাংশনটিকে প্রাক-এর জন্য আউটপুট UI HAL-এ বলা হয়view মোডটি custom.c এ প্রয়োগ করা দরকার:
- ক্লোন ফাংশন gui_set_virtual_face() স্মার্ট HMI\coffee_machine\cm4\custom \custom.c থেকে।
- উইজেটের নাম home_img_cameraPre পরিবর্তন করুনview screen_img_camera_preview ফাংশনে
- GUI গাইড প্রজেক্টের সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য custom.c-এ ম্যাক্রো ডেফিনিশন #ifndef RT_PLATFORM-এর নিয়ন্ত্রণে আউটপুট UI HAL-এর সমস্ত প্রোটোটাইপের সাথে একই প্রোটোটাইপের সাথে UI কলব্যাক ফাংশনগুলি প্রয়োগ করুন কারণ আউটপুট UI HAL-এ এই ফাংশনগুলি নির্ভর করে এমবেডেড প্ল্যাটফর্ম। Custom.c-এ, তারা GUI গাইডের সিমুলেটরের উপর নির্ভর করে এবং এমবেডেড প্ল্যাটফর্মের জন্য স্বাধীন। প্রাক্তন জন্যample, মুখ নিবন্ধন কলব্যাক GUI গাইড সিমুলেটর চালানোর জন্য নীচের মত প্রয়োগ করা হয়েছে: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = মিথ্যা; প্রত্যাবর্তন }
দ্রষ্টব্য: বিভাগ 6 এর ধাপ 4.1.3 এ প্রবর্তিত ফাংশনের একই প্রোটোটাইপ পড়ুন
ম্যাক্রো সংজ্ঞা RT_PLATFORM চিত্র 7 এ দেখানো হিসাবে MCUXpresso এর প্রকল্প সেটিংসে সেট করা হয়েছে: - custom.h-এ UI_xxx_Callback() এবং gui_xxx() নামের সমস্ত ফাংশন ঘোষণা করুন এবং UI আউটপুট HAL-এ GUI API শেয়ার করতে smart_tlhmi_event_descriptor.h-এ অন্তর্ভুক্ত custom.h যোগ করুন।
- নিচের ফাংশনগুলি অর্জন করতে custom.c-এ gui_xxx() নামের নতুন ফাংশন যোগ করুন:
- GUI গাইডে GUI বিকাশ করুন:
- ফোল্ডার ক্যামেরা প্রি ক্লোন করুনview বেস সফ্টওয়্যার প্যাকেজে gui_guider ফোল্ডারে GUI গাইড প্রজেক্ট সফ্টওয়্যার রয়েছে lvgl_gui_camera_preview_cm7। সংশ্লিষ্ট নাম camera_pre পরিবর্তন করুনview নতুন প্রাক্তনের জন্য face_recampলে
- উপরের আপডেট করা custom.c এবং কাস্টম কপি করুন। h নতুন GUI গাইড প্রকল্প সফ্টওয়্যার.
- GUI গাইডে নতুন face_rec প্রকল্প খুলুন। নীচের হিসাবে আপডেট করুন:
- ব্যবহারকারী মুছুন লেবেলযুক্ত নতুন বোতাম যোগ করুন। এতে লুকানো পতাকা যোগ করুন যাতে GUI অ্যাপ শুরু হলে বোতামটি লুকানো থাকে।
- মুখ নিবন্ধন, মুখ শনাক্তকরণ এবং ব্যবহারকারীকে মুছে ফেলার ঘটনাগুলিকে ট্রিগার করার জন্য সমস্ত বোতাম নিবন্ধকরণ, স্বীকৃতি এবং মুছুন ব্যবহারকারীর ইভেন্ট সেটিং-এ “রিলিজড” ট্রিগারে ভিন্ন ইভেন্ট আইডি প্যারামিটার সহ API gui_event_face_rec_action() কল করার কোড লাইন যোগ করুন। চিত্র 8 বোতাম নিবন্ধনের ঘটনার জন্য কোড দেখায়:
- MCUXpresso প্রোজেক্টে GUI গাইড থেকে জেনারেট করা কোড আপডেট করুন।
- MCUXpresso প্রোজেক্ট SW-এর জেনারেট করা ফোল্ডারে থাকা ফোল্ডার ইমেজগুলি ব্যতীত বিষয়বস্তুগুলি GUI Guider প্রোজেক্ট SW-এর জেনারেট করা ফোল্ডারে সংশ্লিষ্টদের সাথে প্রতিস্থাপন করুন।
দ্রষ্টব্য: উপরে প্রবর্তিত পরিবর্তনগুলি সম্পর্কে আরও বিশদ বিবরণের জন্য, প্রাক্তনটি দেখুন৷ample সফটওয়্যার এ https://mcuxpresso.nxp.com/appcodehub.
প্রাক্তন সঙ্গে যাচাইampলে প্রকল্প
প্রাক্তন পেতেample সফ্টওয়্যার প্যাকেজটি এই অ্যাপ্লিকেশন নোটের জন্য সংস্থান এবং সরঞ্জাম সহ, এখানে যান: https://mcuxpresso.nxp.com/appcodehub. প্রাক্তন খুলুনampMCUXpresso IDE-তে le প্রকল্প। .axf তৈরি করুন এবং প্রোগ্রাম করুন file 0x30000000 ঠিকানায় এবং রিসোর্স বিন প্রোগ্রাম করুন file ক্যামেরা_প্রিview_resource.bin ঠিকানায় 0x30800000।
LVGL GUI ফেস রিকগনিশন প্রাক্তনample নীচের মত সাধারণত কাজ করে:
- প্রিview: পাওয়ার আপের সাথে, ক্যামেরা দ্বারা ক্যাপচার করা ভিডিও স্ট্রীমগুলি ক্যামেরা পূর্বের নির্দিষ্ট এলাকায় দেখায়view GUI স্ক্রিনে। স্ট্যাটাস লেবেল "প্রিview…”। বিস্তারিত জানার জন্য, চিত্র 3 দেখুন। ব্যবহারকারী মুছুন বোতামটি লুকানো আছে। বোতাম এবং ছবির বাইরের এলাকায় ক্লিক করার সময়, এটি পূর্ব দেখায়view ফেস রেজিস্ট্রেশন বা রিকগনিশন অ্যাকশন শেষ হওয়ার পর উপরের মত করে বলুন।
- নিবন্ধন:
- টার্টআপ: রেজিস্ট্রেশন বাটনে ক্লিক করলেই ফেস রেজিস্ট্রেশন শুরু হয়। স্ট্যাটাস লেবেল "রেজিস্ট্রেশন..." প্রদর্শন করতে পরিবর্তিত হয়, মুখ নির্দেশিকা আয়তক্ষেত্র নীল দেখায়, এবং অগ্রগতি বার অগ্রগতি দেখাতে শুরু করে। নিশ্চিত করুন যে ব্যবহারকারীর মুখটি রেজিস্ট্রেশনের জন্য নীল মুখ নির্দেশিকা আয়তক্ষেত্রে দেখাচ্ছে।
- সাফল্য: স্ট্যাটাস লেবেল দেখায় "রেজিস্ট্রেশন...ঠিক আছে" এবং নিবন্ধিত ইউজার আইডি নম্বর, ফেস গাইড আয়তক্ষেত্র লাল হয়ে যায় যদি ফেস রেজিস্ট্রেশন সফল হয় বারে পূর্ণ দেখানোর আগে।
- ব্যর্থতা -> টাইম আউট: স্ট্যাটাস লেবেল দেখায় "রেজিস্ট্রেশন...টাইম আউট" যদি ফেস রেজিস্ট্রেশন এখনও ব্যর্থ হয় যখন অগ্রগতি বারে সম্পূর্ণ দেখায়।
- ব্যর্থতা -> ডুপ্লিকেশন: স্ট্যাটাস লেবেল দেখায় "নিবন্ধন...বিফল", ফেস গাইড আয়তক্ষেত্র সবুজ হয়ে যায় যদি বারে অগ্রগতি সম্পূর্ণ দেখানোর আগে নিবন্ধিত মুখটি স্বীকৃত হয়।
- ecognition:
- স্টার্টআপ: যখন স্বীকৃতি বোতামটি ক্লিক করা হয়, তখন মুখ শনাক্তকরণ শুরু হয়। স্ট্যাটাস লেবেল "স্বীকৃতি..." প্রদর্শনে পরিবর্তিত হয়, মুখ নির্দেশিকা আয়তক্ষেত্রটি নীল দেখায়, এবং অগ্রগতি বারটি অগ্রগতি দেখাতে শুরু করে। নিশ্চিত করুন যে ব্যবহারকারীর মুখটি নিবন্ধনের জন্য নীল মুখ নির্দেশিকা আয়তক্ষেত্রে দেখানো হয়েছে৷
- সাফল্য: স্ট্যাটাস লেবেল "রিকগনিশন...ওকে" এবং স্বীকৃত ইউজার আইডি নম্বর দেখায়, ফেস গাইড আয়তক্ষেত্র সবুজ হয়ে যায় যদি বারে অগ্রগতি সম্পূর্ণ দেখানোর আগে মুখ শনাক্তকরণ সফল হয়। বিন্দুতে, ব্যবহারকারী মুছুন বোতামটি প্রদর্শিত হবে। এর মানে হল যে ব্যবহারকারীকে তখনই মুছে ফেলার অনুমতি দেওয়া হয় যখন এটি স্বীকৃত হয়।
- অসুস্থতা: স্ট্যাটাস লেবেল দেখায় "রিকগনিশন...টাইম আউট" যদি মুখ শনাক্তকরণ এখনও ব্যর্থ হয় যখন অগ্রগতি বারে পূর্ণ দেখায়।
- ব্যবহারকারী মুছুন: যখন "ব্যবহারকারী মুছুন" বোতামটি ক্লিক করা হয়, মুখ শনাক্তকরণ সফল হওয়ার পরে, স্ট্যাটাস লেবেলটি "ব্যবহারকারীকে মুছুন...ঠিক আছে" প্রদর্শন করতে পরিবর্তিত হয় এবং ফেস গাইড আয়তক্ষেত্রটি নীল হয়ে যায় এবং বারে সম্পূর্ণ অগ্রগতি দেখায়। ব্যবহারকারী মুছুন বোতামটি আবার লুকানো হয়েছে। স্বীকৃত মুখ/ব্যবহারকারী ডাটাবেস থেকে মুছে ফেলা হয়। এর অর্থ হল এই মুখ/ব্যবহারকারীকে পুনরায় নিবন্ধিত না হওয়া পর্যন্ত চেনা যাবে না।
নথিতে সোর্স কোড সম্পর্কে নোট করুন
Exampএই নথিতে দেখানো le কোডের নিম্নলিখিত কপিরাইট এবং BSD-3-ক্লজ লাইসেন্স রয়েছে:
কপিরাইট 2024 NXP পুনঃবন্টন এবং উৎস এবং বাইনারি আকারে ব্যবহার, পরিবর্তন সহ বা ছাড়াই অনুমোদিত, যদি নিম্নলিখিত শর্তগুলি পূরণ করা হয়:
- সোর্স কোডের পুনঃবন্টন অবশ্যই উপরে কপিরাইট বিজ্ঞপ্তি, শর্তের এই তালিকা এবং নিম্নলিখিত দাবিত্যাগ বজায় রাখতে হবে।
- বাইনারি আকারে পুনঃবন্টনগুলি অবশ্যই উপরোক্ত কপিরাইট বিজ্ঞপ্তিটি পুনরুত্পাদন করতে হবে, শর্তের এই তালিকা এবং ডকুমেন্টেশনে নিম্নলিখিত দাবিত্যাগ এবং/অথবা অন্যান্য উপকরণ বিতরণের সাথে অবশ্যই সরবরাহ করতে হবে।
- কপিরাইট ধারকের নাম বা এর অবদানকারীদের নাম নির্দিষ্ট পূর্বে লিখিত অনুমতি ছাড়া এই সফ্টওয়্যার থেকে প্রাপ্ত পণ্যগুলিকে সমর্থন বা প্রচার করতে ব্যবহার করা যাবে না
এই সফ্টওয়্যারটি কপিরাইট ধারক এবং অবদানকারীরা “যেমন আছে” এবং যেকোন প্রকাশ্য বা উহ্য ওয়্যারেন্টিগুলি দ্বারা সরবরাহ করা হয়েছে, তবে এর মধ্যে সীমাবদ্ধ নয়, দায়বদ্ধতার উহ্য ওয়্যারেন্টি উদ্দেশ্য অস্বীকার করা হয়. কোনো অবস্থাতেই কপিরাইট ধারক বা অবদানকারীরা কোনো প্রত্যক্ষ, পরোক্ষ, আকস্মিক, বিশেষ, দৃষ্টান্তমূলক, বা ফলস্বরূপ ক্ষতির জন্য দায়বদ্ধ হবেন না (সহ, কিন্তু সীমিত নয় বা পরিষেবাগুলি ব্যবহার, ডেটা, বা লাভ বা ব্যবসায়িক বাধা) তবে চুক্তিতে, কঠোর দায়বদ্ধতা, বা দায়বদ্ধতার কোনও তত্ত্বের কারণে এই সফ্টওয়্যার ব্যবহার থেকে যে কোনো উপায়ে, এমনকি যদি এই ধরনের ক্ষতির সম্ভাবনার পরামর্শ দেওয়া হয়।
পুনর্বিবেচনার ইতিহাস
আইনি তথ্য
সংজ্ঞা
খসড়া - একটি নথিতে একটি খসড়া স্থিতি নির্দেশ করে যে বিষয়বস্তু এখনও অভ্যন্তরীণ পুনর্বিবেচনার অধীনে রয়েছেview এবং আনুষ্ঠানিক অনুমোদন সাপেক্ষে, যার ফলে পরিবর্তন বা সংযোজন হতে পারে। NXP সেমিকন্ডাক্টররা একটি নথির খসড়া সংস্করণে অন্তর্ভুক্ত তথ্যের নির্ভুলতা বা সম্পূর্ণতা সম্পর্কে কোনো উপস্থাপনা বা ওয়ারেন্টি দেয় না এবং এই ধরনের তথ্য ব্যবহারের ফলাফলের জন্য তাদের কোনো দায় থাকবে না।
দাবিত্যাগ
- সীমিত ওয়ারেন্টি এবং দায়বদ্ধতা — এই নথিতে তথ্য সঠিক এবং নির্ভরযোগ্য বলে বিশ্বাস করা হয়। যাইহোক, NXP সেমিকন্ডাক্টররা এই ধরনের তথ্যের যথার্থতা বা সম্পূর্ণতা হিসাবে প্রকাশ বা উহ্য কোনো উপস্থাপনা বা ওয়ারেন্টি দেয় না এবং এই ধরনের তথ্য ব্যবহারের ফলাফলের জন্য তাদের কোনো দায় থাকবে না। NXP সেমিকন্ডাক্টররা NXP সেমিকন্ডাক্টরগুলির বাইরে কোনও তথ্য উত্স দ্বারা সরবরাহ করা হলে এই নথিতে থাকা বিষয়বস্তুর জন্য কোনও দায়িত্ব নেয় না৷
কোনো ঘটনাতেই NXP সেমিকন্ডাক্টররা কোনো পরোক্ষ, আনুষঙ্গিক, শাস্তিমূলক, বিশেষ বা আনুষঙ্গিক ক্ষতির জন্য দায়বদ্ধ থাকবে না (সহ - সীমাবদ্ধতা ছাড়াই - হারানো লাভ, হারানো সঞ্চয়, ব্যবসায় বাধা, কোনো পণ্য অপসারণ বা প্রতিস্থাপন সম্পর্কিত খরচ বা পুনর্ব্যবহার চার্জ) কিনা বা না এই ধরনের ক্ষতির উপর ভিত্তি করে (অবহেলা সহ), ওয়ারেন্টি, চুক্তি লঙ্ঘন বা অন্য কোন আইনি তত্ত্ব।
যে কোন কারণে গ্রাহকের যে কোন ক্ষতি হতে পারে তা সত্ত্বেও, এখানে বর্ণিত পণ্যগুলির জন্য গ্রাহকের প্রতি NXP সেমিকন্ডাক্টরের সামগ্রিক এবং ক্রমবর্ধমান দায় NXP সেমিকন্ডাক্টরগুলির বাণিজ্যিক বিক্রয়ের শর্তাবলী এবং শর্তাবলী অনুসারে সীমিত হবে৷ - পরিবর্তন করার অধিকার — NXP সেমিকন্ডাক্টররা এই নথিতে প্রকাশিত তথ্যে পরিবর্তন করার অধিকার সংরক্ষণ করে, যার মধ্যে সীমাবদ্ধতা নির্দিষ্টকরণ এবং পণ্যের বিবরণ ছাড়াই, যেকোনো সময় এবং বিজ্ঞপ্তি ছাড়াই। এই দস্তাবেজটি এখানে প্রকাশের আগে সরবরাহ করা সমস্ত তথ্যকে সরিয়ে দেয় এবং প্রতিস্থাপন করে।
- ব্যবহারের জন্য উপযুক্ততা — NXP সেমিকন্ডাক্টর পণ্যগুলি লাইফ সাপোর্ট, লাইফ-ক্রিটিকাল বা সেফটি-ক্রিটিকাল সিস্টেম বা সরঞ্জামগুলিতে ব্যবহারের জন্য উপযুক্ত হওয়ার জন্য ডিজাইন, অনুমোদিত বা ওয়ারেন্টি দেওয়া হয় না বা এমন অ্যাপ্লিকেশনগুলিতে যেখানে কোনও NXP সেমিকন্ডাক্টর পণ্যের ব্যর্থতা বা ত্রুটির কারণে যুক্তিসঙ্গতভাবে আশা করা যায় ব্যক্তিগত আঘাত, মৃত্যু বা গুরুতর সম্পত্তি বা পরিবেশগত ক্ষতি। NXP সেমিকন্ডাক্টর এবং এর সরবরাহকারীরা এই জাতীয় সরঞ্জাম বা অ্যাপ্লিকেশনগুলিতে NXP সেমিকন্ডাক্টর পণ্যগুলি অন্তর্ভুক্ত এবং/অথবা ব্যবহারের জন্য কোনও দায় স্বীকার করে না এবং তাই এই জাতীয় অন্তর্ভুক্তি এবং/অথবা ব্যবহার গ্রাহকের নিজের ঝুঁকিতে।
- অ্যাপ্লিকেশন — এই পণ্যগুলির যে কোনও একটির জন্য এখানে বর্ণিত অ্যাপ্লিকেশনগুলি শুধুমাত্র উদাহরণের উদ্দেশ্যে। এনএক্সপি সেমিকন্ডাক্টরগুলি কোনও উপস্থাপনা বা ওয়ারেন্টি দেয় না যে এই জাতীয় অ্যাপ্লিকেশনগুলি আরও পরীক্ষা বা পরিবর্তন ছাড়াই নির্দিষ্ট ব্যবহারের জন্য উপযুক্ত হবে।
গ্রাহকরা NXP সেমিকন্ডাক্টর পণ্য ব্যবহার করে তাদের অ্যাপ্লিকেশন এবং পণ্যগুলির নকশা এবং পরিচালনার জন্য দায়ী, এবং NXP সেমিকন্ডাক্টররা অ্যাপ্লিকেশন বা গ্রাহক পণ্য ডিজাইনের সাথে কোনও সহায়তার জন্য কোনও দায় স্বীকার করে না। NXP সেমিকন্ডাক্টর পণ্যটি গ্রাহকের অ্যাপ্লিকেশন এবং পরিকল্পিত পণ্যের পাশাপাশি গ্রাহকের তৃতীয় পক্ষের গ্রাহক(দের) পরিকল্পিত অ্যাপ্লিকেশন এবং ব্যবহারের জন্য উপযুক্ত এবং উপযুক্ত কিনা তা নির্ধারণ করা গ্রাহকের একমাত্র দায়িত্ব৷ গ্রাহকদের তাদের অ্যাপ্লিকেশন এবং পণ্যগুলির সাথে যুক্ত ঝুঁকি কমাতে উপযুক্ত নকশা এবং অপারেটিং সুরক্ষা প্রদান করা উচিত। এনএক্সপি সেমিকন্ডাক্টরগুলি গ্রাহকের অ্যাপ্লিকেশন বা পণ্যগুলির কোনও দুর্বলতা বা ডিফল্টের উপর ভিত্তি করে বা গ্রাহকের তৃতীয় পক্ষের গ্রাহক(গুলি) দ্বারা অ্যাপ্লিকেশন বা ব্যবহারের উপর ভিত্তি করে কোনও ডিফল্ট, ক্ষতি, খরচ বা সমস্যা সম্পর্কিত কোনও দায় স্বীকার করে না। এনএক্সপি সেমিকন্ডাক্টর পণ্য ব্যবহার করে গ্রাহকের অ্যাপ্লিকেশান এবং পণ্যগুলির জন্য সমস্ত প্রয়োজনীয় পরীক্ষা করার জন্য গ্রাহক দায়বদ্ধ যাতে অ্যাপ্লিকেশন এবং পণ্যগুলির ডিফল্ট বা অ্যাপ্লিকেশন বা গ্রাহকের তৃতীয় পক্ষের গ্রাহক(গুলি) দ্বারা ব্যবহার না হয়। NXP এই বিষয়ে কোন দায় স্বীকার করে না। - বাণিজ্যিক বিক্রয়ের শর্তাবলী — NXP সেমিকন্ডাক্টর পণ্যগুলি https://www.nxp.com/pro-এ প্রকাশিত বাণিজ্যিক বিক্রয়ের সাধারণ শর্তাবলী সাপেক্ষে বিক্রি করা হয়file/ শর্তাবলী, যদি না অন্যথায় একটি বৈধ লিখিত পৃথক চুক্তিতে সম্মত হয়। যদি একটি পৃথক চুক্তি সমাপ্ত হয় তবে শুধুমাত্র সংশ্লিষ্ট চুক্তির শর্তাবলী প্রযোজ্য হবে। NXP সেমিকন্ডাক্টরস এতদ্বারা গ্রাহকের দ্বারা NXP সেমিকন্ডাক্টর পণ্য ক্রয়ের ক্ষেত্রে গ্রাহকের সাধারণ শর্তাবলী প্রয়োগ করতে স্পষ্টভাবে আপত্তি জানায়।
- রপ্তানি নিয়ন্ত্রণ — এই নথির পাশাপাশি এখানে বর্ণিত আইটেম(গুলি) রপ্তানি নিয়ন্ত্রণ প্রবিধানের অধীন হতে পারে। রপ্তানির জন্য উপযুক্ত কর্তৃপক্ষের কাছ থেকে পূর্ব অনুমোদনের প্রয়োজন হতে পারে।
- অ-অটোমোটিভ যোগ্যতাসম্পন্ন পণ্য ব্যবহারের জন্য উপযুক্ততা — যদি না এই নথিটি স্পষ্টভাবে বলে যে এই নির্দিষ্ট NXP সেমিকন্ডাক্টর পণ্যটি স্বয়ংচালিত যোগ্য, পণ্যটি স্বয়ংচালিত ব্যবহারের জন্য উপযুক্ত নয়। এটি স্বয়ংচালিত পরীক্ষা বা অ্যাপ্লিকেশন প্রয়োজনীয়তা অনুসারে যোগ্য বা পরীক্ষিত নয়। এনএক্সপি সেমিকন্ডাক্টররা স্বয়ংচালিত সরঞ্জাম বা অ্যাপ্লিকেশনগুলিতে অ-অটোমোটিভ যোগ্য পণ্য অন্তর্ভুক্তি এবং/অথবা ব্যবহারের জন্য কোনও দায় স্বীকার করে না।
যদি গ্রাহক স্বয়ংচালিত স্পেসিফিকেশন এবং স্ট্যান্ডার্ডের জন্য স্বয়ংচালিত অ্যাপ্লিকেশনগুলিতে ডিজাইন-ইন এবং ব্যবহারের জন্য পণ্য ব্যবহার করেন, গ্রাহক (ক) এই ধরনের স্বয়ংচালিত অ্যাপ্লিকেশন, ব্যবহার এবং নির্দিষ্টকরণের জন্য পণ্যের NXP সেমিকন্ডাক্টর ওয়ারেন্টি ছাড়াই পণ্যটি ব্যবহার করবেন এবং ( খ) যখনই গ্রাহক এনএক্সপি সেমিকন্ডাক্টর-এর স্পেসিফিকেশনের বাইরে স্বয়ংচালিত অ্যাপ্লিকেশনের জন্য পণ্য ব্যবহার করেন তখন এই ধরনের ব্যবহার সম্পূর্ণরূপে গ্রাহকের নিজস্ব ঝুঁকিতে হবে এবং (গ) গ্রাহকের নকশা এবং ব্যবহারের ফলে কোনও দায়, ক্ষতি বা ব্যর্থ পণ্যের দাবির জন্য গ্রাহক সম্পূর্ণরূপে এনএক্সপি সেমিকন্ডাক্টরকে ক্ষতিপূরণ দেয়। এনএক্সপি সেমিকন্ডাক্টরের স্ট্যান্ডার্ড ওয়ারেন্টি এবং এনএক্সপি সেমিকন্ডাক্টরের পণ্যের স্পেসিফিকেশনের বাইরে অটোমোটিভ অ্যাপ্লিকেশনের জন্য পণ্য। - অনুবাদ — একটি নথির একটি নন-ইংরেজি (অনুবাদিত) সংস্করণ, সেই নথিতে থাকা আইনি তথ্য সহ, শুধুমাত্র রেফারেন্সের জন্য। অনূদিত এবং ইংরেজি সংস্করণের মধ্যে কোনো অমিল হলে ইংরেজি সংস্করণ প্রাধান্য পাবে।
- নিরাপত্তা — গ্রাহক বোঝেন যে সমস্ত NXP পণ্যগুলি অজ্ঞাত দুর্বলতার বিষয় হতে পারে বা পরিচিত সীমাবদ্ধতার সাথে প্রতিষ্ঠিত সুরক্ষা মান বা স্পেসিফিকেশন সমর্থন করতে পারে৷ গ্রাহকের অ্যাপ্লিকেশন এবং পণ্যগুলির উপর এই দুর্বলতার প্রভাব কমাতে গ্রাহক তার অ্যাপ্লিকেশন এবং পণ্যগুলির নকশা এবং পরিচালনার জন্য তাদের জীবনচক্র জুড়ে দায়ী৷ গ্রাহকের দায়বদ্ধতা গ্রাহকের অ্যাপ্লিকেশনগুলিতে ব্যবহারের জন্য NXP পণ্য দ্বারা সমর্থিত অন্যান্য উন্মুক্ত এবং/অথবা মালিকানা প্রযুক্তিতেও প্রসারিত। NXP কোনো দুর্বলতার জন্য কোনো দায় স্বীকার করে না। গ্রাহকের উচিত নিয়মিত NXP থেকে নিরাপত্তা আপডেট চেক করা এবং যথাযথভাবে অনুসরণ করা। গ্রাহককে নিরাপত্তা বৈশিষ্ট্য সহ পণ্যগুলি নির্বাচন করতে হবে যা উদ্দেশ্যপ্রণোদিত অ্যাপ্লিকেশনের নিয়ম, প্রবিধান এবং মানগুলিকে সর্বোত্তমভাবে পূরণ করে এবং তার পণ্যগুলির বিষয়ে চূড়ান্ত ডিজাইনের সিদ্ধান্ত নিতে পারে এবং তার পণ্যগুলির বিষয়ে সমস্ত আইনি, নিয়ন্ত্রক, এবং নিরাপত্তা সম্পর্কিত প্রয়োজনীয়তাগুলি মেনে চলার জন্য সম্পূর্ণরূপে দায়ী, নির্বিশেষে NXP দ্বারা প্রদত্ত যেকোন তথ্য বা সহায়তা।
NXP-এর একটি প্রোডাক্ট সিকিউরিটি ইনসিডেন্ট রেসপন্স টিম (PSIRT) (PSIRT@nxp.com-এ পৌঁছানো যায়) রয়েছে যেটি NXP পণ্যগুলির নিরাপত্তা দুর্বলতার জন্য তদন্ত, রিপোর্টিং এবং সমাধান প্রকাশ পরিচালনা করে।
NXP B.V. - NXP B.V. একটি অপারেটিং কোম্পানি নয় এবং এটি পণ্য বিতরণ বা বিক্রি করে না।
ট্রেডমার্ক
লক্ষ্য করুন: সমস্ত রেফারেন্সযুক্ত ব্র্যান্ড, পণ্যের নাম, পরিষেবার নাম এবং ট্রেডমার্ক তাদের নিজ নিজ মালিকদের সম্পত্তি।
এনএক্সপি — শব্দচিহ্ন এবং লোগো হল NXP BV-এর ট্রেডমার্ক
AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed সক্ষম, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — হল মার্কিন যুক্তরাষ্ট্রে এবং/অথবা আর্ম লিমিটেডের (বা এর সহযোগী সংস্থাগুলি) ট্রেডমার্ক এবং/অথবা নিবন্ধিত ট্রেডমার্ক অন্যত্র সম্পর্কিত প্রযুক্তি যে কোনো বা সমস্ত পেটেন্ট, কপিরাইট, ডিজাইন এবং ট্রেড সিক্রেট দ্বারা সুরক্ষিত হতে পারে। সমস্ত অধিকার সংরক্ষিত.
- i.MX - NXP BV এর একটি ট্রেডমার্ক
- জে-লিংক — SEGGER মাইক্রোকন্ট্রোলার GmbH-এর একটি ট্রেডমার্ক৷
Microsoft, Azure, এবং ThreadX — হল Microsoft গ্রুপ অফ কোম্পানির ট্রেডমার্ক।
অনুগ্রহ করে সচেতন থাকুন যে এই নথি এবং এখানে বর্ণিত পণ্য(গুলি) সম্পর্কিত গুরুত্বপূর্ণ বিজ্ঞপ্তিগুলি 'আইনি তথ্য' বিভাগে অন্তর্ভুক্ত করা হয়েছে।
© 2024 NXP BV
আরও তথ্যের জন্য, অনুগ্রহ করে দেখুন: https://www.nxp.com
- মুক্তির তারিখ: 19 এপ্রিল 2024
- নথি শনাক্তকারী: AN14263
FAQ
প্রশ্ন: এই পণ্যের মূল উদ্দেশ্য কি?
উত্তর: মূল উদ্দেশ্য হল একটি সাধারণ LVGL GUI প্রাক্তন সহ একটি AI&ML ভিশন অ্যালগরিদম মডেল ব্যবহার করে মুখ শনাক্তকরণ ফাংশন সক্ষম করাampSLN-TLHMI-IOT বোর্ডে।
প্রশ্ন: কীভাবে বিকাশকারীরা এই অ্যাপ্লিকেশন নোট থেকে উপকৃত হতে পারে?
উত্তর: প্রদত্ত এক্স ব্যবহার করে ধাপে ধাপে ফ্রেমওয়ার্কে মুখের স্বীকৃতি কীভাবে প্রয়োগ করতে হয় তা বিকাশকারীরা শিখতে পারেনample এবং জড়িত ডিভাইস ম্যানেজার, HAL ডিভাইস, এবং ইভেন্ট প্রক্রিয়া বুঝতে.
দলিল/সম্পদ
![]() |
NXP AN14263 ফ্রেমওয়ারে LVGL GUI ফেস রিকগনিশন প্রয়োগ করুন [পিডিএফ] ব্যবহারকারীর নির্দেশিকা AN14263 Framewor-এ LVGL GUI ফেস রিকগনিশন প্রয়োগ করুন, AN14263, Framewor-এ LVGL GUI ফেস রিকগনিশন, Framewor-এ LVGL GUI ফেস রিকগনিশন, Framewor-এ ফেস রিকগনিশন, Framewor-এ স্বীকৃতি, |