របៀបបង្កើតស្មាតហ្វូនដែលមានមុខងារ NFC

របៀបបង្កើតស្មាតហ្វូនដែលមានមុខងារ NFC

NFC (Near Field Communication) គឺជាលក្ខណៈពិសេសដ៏សំខាន់មួយរបស់ស្មាតហ្វូនទំនើបៗ។ បច្ចេកវិទ្យានេះអនុញ្ញាតឱ្យឧបករណ៍ទំនាក់ទំនងគ្នាក្នុងចម្ងាយខ្លី (ជាធម្មតាតិចជាង 4 សង់ទីម៉ែត្រ) សម្រាប់គោលបំណងផ្សេងៗដូចជាការទូទាត់ដោយមិនប្រើសាច់ប្រាក់ ការបញ្ចូលទឹកប្រាក់ក្នុងកាត ការចូលទ្វារ និងសូម្បីតែការភ្ជាប់ឧបករណ៍ដូចជាកាសស្តាប់ត្រចៀក ឬឧបករណ៍បំពងសម្លេង។ មនុស្សជាច្រើនឆ្ងល់ថា តើអាច "បង្កើតស្មាតហ្វូនជាមួយ NFC" បានទេ? ចម្លើយគឺបាទ/ចាស៎ ប៉ុន្តែនោះមិនមានន័យថាយើងត្រូវបង្កើតស្មាតហ្វូនពីដំបូងដូចរោងចក្រធំមួយនោះទេ។ អត្ថបទនេះនឹងពិភាក្សាអំពីវិធីប្រាកដនិយម និងសមហេតុផលបំផុតដើម្បីណែនាំមុខងារ NFC ទៅ "ស្មាតហ្វូនផលិតនៅផ្ទះ" ឬឧបករណ៍ស្មាតហ្វូនដែលបានកែប្រែ/ផ្គុំរួច រួមទាំងសមាសធាតុដែលត្រូវការ ដំណាក់កាលរួមបញ្ចូល និងបញ្ហាប្រឈមសំខាន់ៗ។

១. ស្វែងយល់ពី NFC និងរបៀបដែលវាដំណើរការ

NFC ដំណើរការលើប្រេកង់ 13,56 MHz និងគាំទ្ររបៀបទំនាក់ទំនងដូចជា៖

១. របៀបអាន/សរសេរ៖ ស្មាតហ្វូនដើរតួជាឧបករណ៍អានស្លាក NFC (ឧ. អានកាតចូលប្រើ ឬស្លាក NFC ស្អិត)។
2. របៀបធ្វើត្រាប់តាមកាត៖ ស្មាតហ្វូន "ធ្វើត្រាប់តាម" កាត ឧទាហរណ៍សម្រាប់ការទូទាត់ ឬការគ្រប់គ្រងការចូលប្រើ។
៣. របៀប Peer-to-Peer៖ ការផ្លាស់ប្តូរទិន្នន័យរវាងឧបករណ៍ (ឧ. ការផ្ញើទំនាក់ទំនង ឬការភ្ជាប់លឿន)។

នៅក្នុងស្មាតហ្វូន ម៉ូឌុល NFC ជាធម្មតាមាន៖
– ឧបករណ៍បញ្ជា NFC/IC (បន្ទះឈីបសំខាន់របស់ឧបករណ៍បញ្ជា NFC)
– អង់តែន NFC (អង់តែនរាងដូចខ្សែរុំ)
– ធាតុសុវត្ថិភាព (SE) ឬជម្រើសផ្សេងទៀតដូចជា HCE (Host Card Emulation) សម្រាប់ការត្រាប់តាមកាត
- ការតភ្ជាប់ទៅឧបករណ៍ដំណើរការសំខាន់តាមរយៈឡានក្រុងដូចជា I2C ឬ SPI ក៏ដូចជាការគ្រប់គ្រងថាមពល។

2. កំណត់វិធីសាស្រ្ត៖ សាងសង់ពីដំបូង ទល់នឹង កែប្រែឧបករណ៍

ការបង្កើតស្មាតហ្វូនមួយពីដំបូង (ការរចនា PCB ការជ្រើសរើស SoC ការបង្កើតកម្មវិធីបង្កប់ baseband វិញ្ញាបនបត្រវិទ្យុ។ល។) គឺស្មុគស្មាញខ្លាំងណាស់ ហើយស្ទើរតែមិនអាចធ្វើមាត្រដ្ឋានជាលក្ខណៈបុគ្គលបានទេ បើគ្មានក្រុមការងារ និងការចំណាយច្រើន។

វិធីសាស្រ្តជាក់ស្តែងជាងនេះ៖
1. ជ្រើសរើសស្មាតហ្វូន/ក្តារដែលគាំទ្រ NFC រួចហើយ ប៉ុន្តែមិនទាន់សកម្មនៅឡើយទេ (ករណីមួយចំនួននៅលើឧបករណ៍ផ្សេងៗគ្នា)។
2. បង្កើតស្មាតហ្វូនដោយផ្អែកលើកុំព្យូទ័របន្ទះតែមួយ (SBC) + ម៉ូឌុលទូរស័ព្ទ បន្ទាប់មកបន្ថែម NFC។
៣. បង្កើតឧបករណ៍ "ដូចស្មាតហ្វូន" (ឧបករណ៍ Android) ដែលមាន NFC ឧទាហរណ៍ ឧបករណ៍បញ្ជរ ឧបករណ៍យួរដៃផ្ទាល់ខ្លួន ឬគំរូដើម។

សម្រាប់អត្ថបទនេះ យើងផ្តោតលើវិធីសាស្រ្តទី 2 និងទី 3 ពីព្រោះវាសមហេតុផលបំផុត និងអាចធ្វើទៅបានជាគម្រោងអភិវឌ្ឍន៍ឧបករណ៍។

៤. សមាសធាតុដែលត្រូវការ

ខាងក្រោមនេះជាសមាសធាតុសំខាន់ៗ ប្រសិនបើអ្នកចង់បង្កើតឧបករណ៍ Android/ឧបករណ៍យួរដៃដែលមាន NFC៖

អាន  បច្ចេកវិទ្យាផលិតបន្ទះឈីបសម្រាប់ថេប្លេត

ក) វេទិកាកុំព្យូទ័រ (ខួរក្បាលរបស់ឧបករណ៍)
– SBC (ឧ. ផ្អែកលើ ARM) ដែលអាចដំណើរការ Android/Linux។
– ជម្រើសមួយទៀត៖ ក្តារអភិវឌ្ឍន៍ Android ដែល «ត្រៀមរួចជាស្រេចសម្រាប់ប្រើប្រាស់»។

លក្ខណៈវិនិច្ឆ័យសំខាន់ៗ៖
- គាំទ្រចំណុចប្រទាក់ I2C/SPI/UART សម្រាប់ម៉ូឌុល NFC,
- ការគាំទ្រសម្រាប់កម្មវិធីបញ្ជា និងខឺណែលដែលអាចកែប្រែបាន
- មានថាមពលគ្រប់គ្រាន់ដើម្បីដំណើរការប្រព័ន្ធប្រតិបត្តិការ Android ។

ខ) ម៉ូឌុលកោសិកា (ដើម្បីឱ្យសក្តិសមនឹងត្រូវបានគេហៅថា "ស្មាតហ្វូន")
ប្រសិនបើអ្នកចង់ឱ្យឧបករណ៍ពិតជាអាចហៅទូរសព្ទ/សារ SMS/ទិន្នន័យទូរសព្ទចល័តបាន៖
– ម៉ូឌុល 4G/5G (ឧ. ម៉ូដឹម LTE ដែលមានមូលដ្ឋានលើ USB ឬ M.2)
- ការគាំទ្រកម្មវិធីបញ្ជា និងការរួមបញ្ចូលទៅក្នុងប្រព័ន្ធប្រតិបត្តិការ។

ចំណាំ៖ នេះ​ច្រើនតែ​ជា​ផ្នែក​ស្មុគស្មាញ​បំផុត ពីព្រោះ​ការហៅ​ជា​សំឡេង​ទាមទារ​ការគាំទ្រ IMS/VoLTE ដែល​មិនមែន​តែងតែ​ងាយស្រួល​នោះទេ។

គ) ម៉ូឌុល NFC
អ្នកនឹងត្រូវការម៉ូឌុល NFC ដែលមានលក្ខណៈបច្ចេកទេសច្បាស់លាស់។ ម៉ូឌុលនេះអាចជា៖
– IC NFC + អង់តែនដាច់ដោយឡែក,
– ម៉ូឌុល​ត្រៀម​សម្រាប់​ការ​ធ្វើ​សមាហរណកម្ម (បន្ទះ​តូច) ដែល​ផ្តល់​នូវ​ការ​តភ្ជាប់ I2C/SPI និង​ម្ជុល​រំខាន។

បន្ទះឈីប NFC ដ៏ពេញនិយមនៅក្នុងឧស្សាហកម្មនេះរួមមានបន្ទះឈីបពី NXP, STMicroelectronics និងផ្សេងៗទៀត។ ទោះជាយ៉ាងណាក៏ដោយ ការជ្រើសរើសបន្ទះឈីបក៏គួរពិចារណាផងដែរ៖
- ភាពអាចរកបាននៃកម្មវិធីបញ្ជាសម្រាប់ប្រព័ន្ធប្រតិបត្តិការ Android,
- ឯកសារ​សមាហរណកម្ម,
– តម្រូវការធាតុសុវត្ថិភាព ប្រសិនបើអ្នកចង់បានមុខងារទូទាត់។

ឃ) អង់តែន NFC
អង់តែនគឺជាកត្តាចម្បងមួយនៃដំណើរការ។ ចំណុចដែលត្រូវពិចារណា៖
- ទំហំខ្សែរុំ,
– ទីតាំង (ជាធម្មតានៅជិតគម្របខាងក្រោយ)
- ចម្ងាយពីលោហៈ/ថ្ម
– ការផ្គូផ្គង/កែតម្រូវ​ភាពធន់ ដើម្បីធានាបាននូវការអានដែលមានស្ថេរភាព។

ង) ធាតុសុវត្ថិភាព (ស្រេចចិត្ត ប៉ុន្តែចាំបាច់សម្រាប់ការទូទាត់)
ប្រសិនបើគោលដៅគឺគ្រាន់តែអានស្លាក (ឧទាហរណ៍ ពិនិត្យមើលសមតុល្យនៃកាតជាក់លាក់មួយ អានស្លាក UID ស្វ័យប្រវត្តិកម្ម) អ្នកអាចប្រើ NFC ធម្មតាដោយមិនចាំបាច់មានធាតុសុវត្ថិភាព។

ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើគោលដៅគឺការទូទាត់តាមប្រព័ន្ធ Tap-to-Pay ឬការក្លែងធ្វើកាតដែលមានសុវត្ថិភាព៖
– តម្រូវ​ឱ្យ​មាន​ធាតុ​សុវត្ថិភាព (SE ដែល​បាន​បង្កប់, SE ដែល​មាន​មូលដ្ឋាន​លើ​ស៊ីម ឬ SE ខាងក្រៅ),
– បូករួមទាំងការរួមបញ្ចូលប្រព័ន្ធអេកូឡូស៊ីទូទាត់ និងការបញ្ជាក់ (ពិបាកខ្លាំងណាស់សម្រាប់គម្រោង DIY)។

ម្យ៉ាងវិញទៀត Android គាំទ្រ HCE (Host Card Emulation) សម្រាប់ករណីប្រើប្រាស់មួយចំនួន ប៉ុន្តែសម្រាប់ការទូទាត់ពាណិជ្ជកម្ម វានៅតែតម្រូវឱ្យមានតម្រូវការសុវត្ថិភាព និងកិច្ចសហប្រតិបត្តិការបណ្តាញអ្នកលក់/ការទូទាត់។

ច) ថាមពល ស្រោម ថ្ម និងអេក្រង់
ដើម្បីធ្វើឱ្យឧបករណ៍នេះពិតជាដូចជាស្មាតហ្វូន៖
- អេក្រង់ (LCD/OLED) + ឧបករណ៍បញ្ជាអេក្រង់ប៉ះ
– ថ្ម Li-ion + BMS/IC សាកថ្ម,
- ការគ្រប់គ្រងថាមពល,
– ស្រោម​មួយ​ដែល​មិន​ជ្រៀតជ្រែក​ជាមួយ​អង់តែន NFC។

លោហៈនៅក្នុងប្រអប់អាចរំខានដល់ NFC ដូច្នេះសម្ភារៈប្លាស្ទិកគឺងាយស្រួលប្រើជាងសម្រាប់ NFC។

អាន  របៀបបង្កើតស្មាតហ្វូនដែលមានមុខងារអ៊ីនហ្វ្រារ៉េដ

៤. ដំណាក់កាល​សមាហរណកម្ម​ផ្នែករឹង NFC

ជំហានទី 1: កំណត់ចំណុចប្រទាក់
ម៉ូឌុល NFC ភាគច្រើនភ្ជាប់ទៅឧបករណ៍ដំណើរការតាមរយៈ៖
– I2C (ទូទៅ),
- SPI (លឿនជាង)
– បូករួមទាំងម្ជុល IRQ/Interrupt ដើម្បីជូនដំណឹងដល់ប្រព័ន្ធនៅពេលដែលមានស្លាក។

ត្រូវប្រាកដថា motherboard មាន pin និងកម្រិតវ៉ុលដែលឆបគ្នា (ឧទាហរណ៍ 1,8V ឬ 3,3V)។ ប្រសិនបើពួកវាមិនត្រូវគ្នា សូមប្រើឧបករណ៍ប្តូរកម្រិត។

ជំហានទី 2: រចនាទីតាំងអង់តែន
អង់តែនគួរតែត្រូវបានដាក់៖
– ឱ្យជិតបំផុតតាមដែលអាចធ្វើទៅបានទៅនឹងផ្ទៃខាងក្រៅ (គម្របខាងក្រោយ)
– ឆ្ងាយពីថ្មធំៗ ឬរបាំងដែក
– មិនត្រូវបានគ្របដណ្ដប់ដោយស្ទីគ័រដែក ឬចិញ្ចៀនម៉ាញេទិកដែលរំខាននោះទេ។

ស៊ុមដែក ឬ​ឧបករណ៍​ម៉ោន​ម៉ាញេទិក​អាច​កាត់បន្ថយ​ជួរ NFC យ៉ាង​ខ្លាំង។

ជំហានទី 3: ការផ្គូផ្គង និងការលៃតម្រូវអង់តែន
នៅក្នុងការរចនាឧស្សាហកម្ម អង់តែន NFC ត្រូវបានលៃតម្រូវដោយប្រើសៀគ្វីផ្គូផ្គង (ឧបករណ៍ផ្ទុក/អាំងឌុចទ័រ) ដើម្បីសម្រេចបាននូវភាពរសើបនៅប្រេកង់ 13,56 MHz។ ប្រសិនបើអ្នកកំពុងប្រើម៉ូឌុលដែលមានស្រាប់ ជាធម្មតាវាត្រូវបានលៃតម្រូវជាមុន ប៉ុន្តែវាអាចត្រូវការការកែតម្រូវអាស្រ័យលើករណី និងទីតាំង។

ជំហានទី 4: ការធ្វើតេស្តទំនាក់ទំនងជាមូលដ្ឋាន
អនុវត្តការធ្វើតេស្តដំបូង៖
– ថាតើម៉ូឌុលត្រូវបានរកឃើញដោយប្រព័ន្ធ (ឧបករណ៍ I2C អាចមើលឃើញ)
- តើម៉ូឌុលអាចរកឃើញស្លាកបានទេ
- តើការគ្របដណ្តប់មានស្ថេរភាពដែរឬទេ?

ឧបករណ៍​មូលដ្ឋាន​នៅក្នុង Linux អាចជួយពិនិត្យមើល​ឡានក្រុង I2C ខណៈពេលដែលនៅក្នុង Android អ្នកនឹងសាកល្បងតាមរយៈកម្មវិធីសាកល្បង logcat និង NFC។

៥. ការរួមបញ្ចូលកម្មវិធី៖ កម្មវិធីបញ្ជា ខឺណែល និងក្របខ័ណ្ឌ Android

ដើម្បីឱ្យ NFC ដំណើរការលើប្រព័ន្ធប្រតិបត្តិការ Android វាមិនគ្រប់គ្រាន់ទេ គ្រាន់តែដំឡើងផ្នែករឹង។ អ្នកត្រូវការស្រទាប់កម្មវិធី៖

ក) កម្មវិធីបញ្ជាខឺណែល
– ម៉ូឌុល NFC ត្រូវតែទទួលស្គាល់ដោយខឺណែលតាមរយៈកម្មវិធីបញ្ជាសមស្រប។
– អ្នកប្រហែលជាត្រូវបើកការកំណត់រចនាសម្ព័ន្ធខឺណែល ឬបន្ថែមកម្មវិធីបញ្ជា។

ខ) HAL (ស្រទាប់អរូបីផ្នែករឹង)
ប្រព័ន្ធប្រតិបត្តិការ Android ប្រើប្រាស់ HAL ដើម្បីភ្ជាប់ក្របខ័ណ្ឌជាមួយផ្នែករឹង។ ចំពោះ NFC HAL ត្រូវតែឆបគ្នាជាមួយបន្ទះឈីបដែលបានប្រើ។

គ) ការកំណត់រចនាសម្ព័ន្ធប្រព័ន្ធ និងការអនុញ្ញាត
នៅលើប្រព័ន្ធប្រតិបត្តិការ Android អ្នកត្រូវ៖
- បើកដំណើរការមុខងារ NFC នៅពេលបង្កើត (ទង់មុខងារ)
- ត្រូវប្រាកដថាសេវាកម្ម NFC កំពុងដំណើរការ
– បានបន្ថែមឯកសារកំណត់រចនាសម្ព័ន្ធអ្នកលក់ដែលទាក់ទងនឹងបន្ទះឈីប NFC
– ធានាថាការអនុញ្ញាត និងគោលការណ៍ SELinux មិនរារាំងការចូលប្រើ។

ឃ) ការអនុវត្ត និងការធ្វើតេស្ត
នៅពេលដែល NFC សកម្ម៖
– ការធ្វើតេស្តអានស្លាក NDEF
- ការធ្វើតេស្តរបៀបអាន/សរសេរ
– ការធ្វើតេស្ត Android Beam (មុខងារចាស់) ឬការផ្លាស់ប្តូរទិន្នន័យពាក់ព័ន្ធ
– ការធ្វើតេស្តភាពឆបគ្នាជាមួយស្លាក MIFARE/NTAG តាមតម្រូវការ។

អាន  ដំណើរការផលិតកាមេរ៉ា periscope នៅលើស្មាតហ្វូន

៦. បញ្ហាប្រឈមធំៗ៖ ការទូទាត់ និងវិញ្ញាបនបត្រ

មនុស្សជាច្រើនសន្មតថា «ការមាន NFC» មានន័យថាអ្នកអាចប្រើវាសម្រាប់ការទូទាត់បានភ្លាមៗ។ តាមពិតទៅ ការទូទាត់តាម NFC រួមមាន៖
– ធាតុផ្សំសុវត្ថិភាព ឬគ្រោងការណ៍សុវត្ថិភាពសមមូល
- ការបញ្ជាក់សុវត្ថិភាព,
– ការយល់ព្រមពីបណ្តាញទូទាត់ និងធនាគារ
- ការរួមបញ្ចូលជាមួយសេវាកម្មដូចជា Google Wallet ឬគម្រោងទូទាត់ក្នុងស្រុក។

សម្រាប់គម្រោងផ្ទាល់ខ្លួន អ្វីដែលប្រាកដនិយមបំផុតគឺ៖
- អានស្លាក NFC,
- ប្រព័ន្ធចូល (ឧទាហរណ៍សម្រាប់ទ្វារ)
- ស្វ័យប្រវត្តិកម្មជាមួយស្លាក NFC,
– កាតសមាជិកភាព បញ្ជរ ឬកម្មវិធីផ្ទៃក្នុង។

ការបង្កើតឧបករណ៍ DIY ដែលអាចប្រើសម្រាប់ប្រព័ន្ធទូទាត់ប្រាក់សាធារណៈគឺស្ទើរតែមិនប្រាកដនិយមទេបើគ្មានបណ្តាញឧស្សាហកម្មផ្លូវការ។

៧. គន្លឹះជាក់ស្តែងសម្រាប់ភាពជោគជ័យនៃគម្រោង

១. ចាប់ផ្តើមជាមួយនឹងគោលដៅសាមញ្ញមួយ៖ ផ្តោតសំខាន់លើការអានស្លាក និងការសរសេរ NDEF ជាមុនសិន។
2. ប្រើម៉ូឌុល NFC ទូទៅ៖ ជ្រើសរើសមួយដែលមានឯកសារពេញលេញ និងឧទាហរណ៍នៃការធ្វើសមាហរណកម្ម។
៣. សូមពិចារណាករណីនេះតាំងពីដំបូង៖ ស្រោមដែក និងមេដែកគឺជាសត្រូវរបស់ NFC។
៤. ទុកពេលវេលាសម្រាប់ការបំបាត់កំហុសកម្មវិធី៖ ជម្លោះកម្មវិធីបញ្ជា SELinux ការអនុញ្ញាតប្រព័ន្ធ និងភាពឆបគ្នារបស់ Android ជារឿយៗត្រូវការពេលវេលា។
៥. វាស់ស្ទង់ការប្រើប្រាស់ថាមពល៖ NFC អាចបង្កើនថាមពលទំនេរប្រសិនបើមិនបានកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវ។
៦. កត់ត្រាប្លង់ និងខ្សែភ្លើង៖ កំហុសតូចមួយនៅក្នុង IRQ ឬ reset pin អាចធ្វើឱ្យ NFC មិនស្ថិតស្ថេរ។

8. Kesimpulan

ការបង្កើតស្មាតហ្វូនដែលបើកដំណើរការដោយ NFC មិនមែនគ្រាន់តែជាការបិទម៉ូឌុល NFC នៅលើឧបករណ៍ ហើយធ្វើវាឲ្យរួចរាល់នោះទេ។ ដំណើរការជាក់ស្តែងមួយពាក់ព័ន្ធនឹងការបង្កើត ឬកែប្រែឧបករណ៍ Android/ឧបករណ៍យួរដៃដែលមានមូលដ្ឋានលើក្តារ ដែលគាំទ្រការរួមបញ្ចូល NFC បន្ទាប់មកបន្ថែមម៉ូឌុល NFC អង់តែនសមស្រប និងការរៀបចំការគាំទ្រកម្មវិធី (កម្មវិធីបញ្ជា HAL និងការកំណត់រចនាសម្ព័ន្ធ Android)។ សម្រាប់កម្មវិធីដូចជាការអានស្លាក ស្វ័យប្រវត្តិកម្ម ការគ្រប់គ្រងការចូលប្រើ ឬកម្មវិធីផ្ទៃក្នុង គម្រោងនេះពិតជាអាចធ្វើទៅបាន។ ទោះជាយ៉ាងណាក៏ដោយ សម្រាប់លក្ខណៈពិសេសកម្រិតខ្ពស់ដូចជាការទូទាត់ដោយមិនប៉ះ អ្នកនឹងត្រូវដោះស្រាយជាមួយធាតុសុវត្ថិភាពស្មុគស្មាញ វិញ្ញាបនបត្រ និងតម្រូវការឧស្សាហកម្ម។

ប្រសិនបើអ្នកចង់បាន ខ្ញុំអាចកែសម្រួលអត្ថបទនេះឱ្យមានលក្ខណៈបច្ចេកទេសជាងមុន (ឧទាហរណ៍ ជាមួយឧទាហរណ៍នៃស្ថាបត្យកម្មជង់ Android NFC គ្រោងការណ៍ខ្សែភ្លើង I2C + IRQ + កំណត់ឡើងវិញ ឬជំហានសាងសង់ AOSP) ឬជាក់ស្តែងជាងមុន (បញ្ជីសមាសធាតុ និងជំហានសាកល្បងដែលងាយស្រួលរក)។

សូម​បញ្ចេញ​មតិ