ST-FP-LIT-BLEMESH1-កម្មវិធី-ស្ថាបត្យកម្ម-LOGO

ស្ថាបត្យកម្មកម្មវិធី ST FP-LIT-BLEMESH1

ST-FP-LIT-BLEMESH1-កម្មវិធី-ស្ថាបត្យកម្ម-ផលិតផល

សេចក្តីផ្តើម

FP-LIT-BLEMESH1 គឺជាកញ្ចប់មុខងារ STM32Cube ដែលអនុញ្ញាតឱ្យអ្នកភ្ជាប់Bluetooth® Low Energy nodes ទៅកាន់ស្មាតហ្វូនតាមរយៈ Bluetooth® Low Energy តាមរយៈកម្មវិធី Android™ ឬ iOS™ ដែលសមស្របដើម្បីកំណត់តម្លៃ HSL និងបញ្ជូនទិន្នន័យទៅកាន់ គ្រឿងបំភ្លឺដោយប្រើគំរូពន្លឺសំណាញ់Bluetooth® ថាមពលទាប។ កម្មវិធីនេះអនុញ្ញាតឱ្យអ្នកបង្កើតកម្មវិធីផ្ទាល់ខ្លួនរបស់អ្នកយ៉ាងងាយស្រួលសម្រាប់ការពង្រីកបណ្តាញសំណាញ់Bluetooth® (ដោយផ្តល់ជូននូវបណ្ណាល័យស្នូលសំណាញ់ដែលត្រៀមរួចជាស្រេច) សំណុំពេញលេញនៃ APIs ដែលត្រូវគ្នា និងកម្មវិធីបង្ហាញពន្លឺដែលដំណើរការលើ X-NUCLEO-IDB05A2 ឬ បន្ទះពង្រីក X-NUCLEO-BNRG2A1 និង X-NUCLEO-LED12A1 ភ្ជាប់ទៅក្រុមប្រឹក្សាអភិវឌ្ឍន៍ NUCLEO-L476RG ។ កម្មវិធីដំណើរការលើ microcontroller STM32 និងរួមបញ្ចូលនូវកម្មវិធីបញ្ជាចាំបាច់ទាំងអស់ដើម្បីសម្គាល់ឧបករណ៍នៅលើ STM32 Nucleo development boards និង expansion boards។

តំណភ្ជាប់ដែលទាក់ទង
ទស្សនាប្រព័ន្ធអេកូ STM32Cube web ទំព័រនៅលើ www.st.com សម្រាប់ព័ត៌មានបន្ថែម

អក្សរកាត់និងអក្សរកាត់

អក្សរកាត់ ការពិពណ៌នា
ហ្គាត គុណលក្ខណៈទូទៅ profile
BSP កញ្ចប់គាំទ្រក្តារ
ហាល ស្រទាប់អរូបីផ្នែករឹង
SPI ចំណុចប្រទាក់គ្រឿងកុំព្យូទ័រស៊េរី
ស៊ី។ ស៊ី។ អាយ។ អេស ស្ដង់ដារចំណុចប្រទាក់កម្មវិធី Cortex® microcontroller
HSL ពន្លឺតិត្ថិភាពពណ៌លាំៗ

តារាងទី 1. បញ្ជីអក្សរកាត់

ការពង្រីកកម្មវិធី FP-LIT-BLEMESH1 សម្រាប់ STM32Cube

ជាងview

កញ្ចប់កម្មវិធី FP-LIT-BLEMESH1 ពង្រីកមុខងារ STM32Cube ។ លក្ខណៈសំខាន់ៗនៃកញ្ចប់គឺ៖

  • កម្មវិធីពេញលេញដើម្បីបង្កើតបណ្តាញសំណាញ់ជាមួយនឹងថ្នាំងBluetooth®ថាមពលទាបដែលគាំទ្រគំរូពន្លឺសំណាញ់Bluetooth® ដែលបានកំណត់ក្នុងលក្ខណៈបច្ចេកទេសBluetooth® mesh V1.0.1
  • តម្លៃពណ៌លាំៗ តិត្ថិភាព និងពន្លឺ (HSL) ដែលកំណត់ដោយកម្មវិធី STBLEMesh Android និង iOS ដោយប្រើគំរូពន្លឺផ្លាស់ប្តូរតម្លៃ RGB នៃបន្ទះពង្រីក LED X-NUCLEO-LED12A1 ដែលភ្ជាប់ទៅ NUCLEO-L476RG
  • ឆបគ្នាជាមួយស្មាតហ្វូនដែលបើកដំណើរការ BLE ដើម្បីត្រួតពិនិត្យ និងគ្រប់គ្រងថ្នាំងBluetooth® Low Energy ជាច្រើន ដោយប្រើពិធីការប្រូកស៊ី និងតំណ Bluetooth® Low Energy GATT connectivity
  • សុវត្ថិភាពពីរស្រទាប់ ដោយសារការអ៊ិនគ្រីប AES CCM 128 ប៊ីត និងពិធីការ ECDH 256 ប៊ីត ដែលធានាបាននូវការការពារពីការវាយប្រហារជាច្រើន រួមទាំងការចាក់ឡើងវិញ ប៊ីត - ហ្វ្លីប លួចស្តាប់ មេននៅកណ្តាល និងធុងសំរាម។
  • Sampការអនុវត្តមាននៅលើ៖
    • បន្ទះពង្រីក X-NUCLEO-IDB05A2 និង X-NUCLEO-LED12A1 ភ្ជាប់ទៅក្រុមប្រឹក្សាអភិវឌ្ឍន៍ NUCLEO-L476RG
    • បន្ទះពង្រីក X-NUCLEO-BNRG2A1 និង X-NUCLEO-LED12A1 ភ្ជាប់ទៅក្រុមប្រឹក្សាអភិវឌ្ឍន៍ NUCLEO-L476RG
  • ងាយស្រួលចល័តតាមគ្រួសារ MCU ផ្សេងៗគ្នា សូមអរគុណដល់ STM32Cube
  •  លក្ខខណ្ឌអាជ្ញាបណ្ណដែលងាយស្រួលប្រើ និងឥតគិតថ្លៃ

កម្មវិធីកញ្ចប់មុខងាររួមមាន LED1202 ដែលជាកម្មវិធីបញ្ជា LED បច្ចុប្បន្នស្ងាត់ 12-channel នៅពេលដែលបន្ទះពង្រីក X-NUCLEO-LED12A1 ត្រូវបានម៉ោននៅលើកំពូលនៃ STM32 Nucleo ។
កញ្ចប់នេះអាចប្រើបានជាមួយកម្មវិធី STBLEMesh Android/iOS ដែលមាននៅហាង GooglePlay/iTunes ដែលអាចត្រូវបានប្រើដើម្បីកំណត់ព័ត៌មាន និងផ្ញើវាតាមរយៈ Bluetooth® Low Energy។ វារួមបញ្ចូលផលិតផល BlueNRG ជាមួយនឹងទំនាក់ទំនង Bluetooth® Low Energy ដែលបានបង្កប់នៅក្នុងបណ្តាញសំណាញ់ពង្រីកដ៏មានអានុភាព ជាមួយនឹងការទំនាក់ទំនងពេញលេញពីរជាន់ពិតប្រាកដ។ ភាពបត់បែននៃកញ្ចប់អនុញ្ញាតឱ្យអ្នកបង្កើតកម្មវិធីផ្ទាល់ខ្លួនរបស់អ្នក។

ស្ថាបត្យកម្ម
កម្មវិធីនេះផ្អែកលើ STM32CubeHAL ដែលជាស្រទាប់អរូបីផ្នែករឹងសម្រាប់ microcontroller STM32 ។ កញ្ចប់ពង្រីក STM32Cube ដោយផ្តល់នូវកញ្ចប់គាំទ្រក្តារ (BSP) ដើម្បីបើកដំណើរការការអភិវឌ្ឍន៍កម្មវិធីដោយប្រើ Bluetooth mesh profile និងលក្ខណៈបច្ចេកទេសនៃម៉ូដែល។

ស្រទាប់សូហ្វវែរដែលប្រើដោយកម្មវិធីកម្មវិធីដើម្បីចូលប្រើ និងប្រើបន្ទះពង្រីកគឺ៖

  • ស្រទាប់ STM32Cube HAL ដែលផ្តល់នូវសំណុំនៃចំណុចប្រទាក់កម្មវិធីកម្មវិធី (APIs) សាមញ្ញ ទូទៅ ដើម្បីធ្វើអន្តរកម្មជាមួយកម្មវិធីខាងលើ បណ្ណាល័យ និងស្រទាប់ជង់។ វាមាន APIs ទូទៅ និងផ្នែកបន្ថែម ហើយត្រូវបានសាងសង់ដោយផ្ទាល់ជុំវិញស្ថាបត្យកម្មទូទៅ និងអនុញ្ញាតឱ្យស្រទាប់បន្តបន្ទាប់ដូចជាស្រទាប់កណ្តាលដើម្បីអនុវត្តមុខងារដោយមិនតម្រូវឱ្យមានការកំណត់រចនាសម្ព័ន្ធផ្នែករឹងជាក់លាក់សម្រាប់អង្គភាព microcontroller (MCU) ដែលបានផ្តល់ឱ្យ។ រចនាសម្ព័ននេះធ្វើអោយប្រសើរឡើងនូវលទ្ធភាពប្រើប្រាស់ឡើងវិញនៃកូដបណ្ណាល័យ និងធានានូវភាពងាយស្រួលនៃការចល័តនៅលើឧបករណ៍ផ្សេងទៀត។
  • ស្រទាប់កញ្ចប់គាំទ្រក្តារ (BSP) គាំទ្រគ្រឿងកុំព្យូទ័រទាំងអស់នៅលើ STM32 Nucleo លើកលែងតែ MCU ។ សំណុំ APIs មានកំណត់នេះផ្តល់នូវចំណុចប្រទាក់សរសេរកម្មវិធីសម្រាប់គ្រឿងកុំព្យូទ័រជាក់លាក់មួយចំនួនដូចជា LED ប៊ូតុងអ្នកប្រើប្រាស់ជាដើម។ ចំណុចប្រទាក់នេះក៏ជួយក្នុងការកំណត់អត្តសញ្ញាណកំណែក្តារជាក់លាក់ផងដែរ។ST-FP-LIT-BLEMESH1-កម្មវិធី-ស្ថាបត្យកម្ម-FIG-1

រូបភាពទី 1. ស្ថាបត្យកម្មកម្មវិធី FP-LIT-BLEMESH1

រចនាសម្ព័ន្ធថតST-FP-LIT-BLEMESH1-កម្មវិធី-ស្ថាបត្យកម្ម-FIG-2

រូបភាពទី 2. រចនាសម្ព័ន្ធថតកញ្ចប់ FP-LIT-BLEMESH1

ថតខាងក្រោមត្រូវបានរួមបញ្ចូលនៅក្នុងកញ្ចប់កម្មវិធី៖

  • ឯកសារ៖ មាន HTML ដែលបានចងក្រង file បង្កើត​ឡើង​ពី​កូដ​ប្រភព ដែល​លម្អិត​អំពី​សមាសធាតុ​កម្មវិធី និង APIs ។
  • កម្មវិធីបញ្ជា៖ មានកម្មវិធីបញ្ជា HAL និងកម្មវិធីបញ្ជាជាក់លាក់សម្រាប់ក្រុមប្រឹក្សាភិបាល ឬវេទិកាផ្នែករឹងនីមួយៗ រួមទាំងសមាសធាតុនៅលើយន្តហោះ និងស្រទាប់អរូបីផ្នែករឹងឯករាជ្យរបស់អ្នកលក់ CMSIS សម្រាប់ស៊េរីដំណើរការ Arm® Cortex®-M ។
  • Middlewares៖ មានបណ្ណាល័យ និងពិធីការដែលទាក់ទងនឹង Bluetooth និង Bluetooth mesh profile និងលក្ខណៈបច្ចេកទេសនៃម៉ូដែល។
  • គម្រោង៖ មានដូចជាampកម្មវិធី le ប្រើដើម្បីធ្វើបច្ចុប្បន្នភាពតម្លៃ RGB lights HSL ដែលផ្តល់ជូនសម្រាប់វេទិកា NUCLEO-L476RG ជាមួយនឹងបរិស្ថានអភិវឌ្ឍន៍បី IAR Embedded Workbench for Arm (IAR-EWARM), RealView ឧបករណ៍អភិវឌ្ឍឧបករណ៍បញ្ជាខ្នាតតូច (MDK-ARM-STM32) និង STM32CubeIDE ។
  • ឧបករណ៍ប្រើប្រាស់៖ មានថត STM32L4_MAC ដែលផ្តល់អាសយដ្ឋាន MAC ខាងក្រៅ។

APIs
ព័ត៌មានបច្ចេកទេសលម្អិតជាមួយនឹងមុខងារ API របស់អ្នកប្រើប្រាស់ពេញលេញ និងការពិពណ៌នាប៉ារ៉ាម៉ែត្រគឺនៅក្នុង HTML ដែលបានចងក្រង file នៅក្នុងថតឯកសារ "ឯកសារ" ។

Sample ការពិពណ៌នាអំពីកម្មវិធី ការចាប់ផ្តើមនៃការហៅត្រឡប់មកវិញកម្មវិធី ថត "គម្រោង" ផ្តល់នូវអតីតample កម្មវិធីដោយប្រើបន្ទះពង្រីក X-NUCLEO-IDB05A2 ឬ X-NUCLEO-BNRG2A1 និង X-NUCLEO-LED12A1 ជាមួយក្រុមប្រឹក្សាអភិវឌ្ឍន៍ NUCLEO-L476RG ។
គម្រោងដែលត្រៀមរួចជាស្រេចគឺអាចរកបានសម្រាប់ IDEs ច្រើន។
កម្មវិធីនេះចាប់ផ្តើមដោយចាប់ផ្តើមការហៅត្រឡប់មកវិញដែលត្រូវការសម្រាប់ព្រឹត្តិការណ៍ និងមុខងារផ្សេងៗ។ ការហៅត្រឡប់មកវិញត្រូវបានប្រើនៅក្នុងបណ្ណាល័យ BlueNRG-Mesh ដើម្បីហៅមុខងារដោយផ្អែកលើព្រឹត្តិការណ៍ជាក់លាក់ ឬដោយម៉ាស៊ីនរដ្ឋបណ្ណាល័យសំណាញ់។ST-FP-LIT-BLEMESH1-កម្មវិធី-ស្ថាបត្យកម្ម-FIG-3

រចនាសម្ព័ន្ធ Model_SIG_cb ត្រូវបានប្រើដើម្បីចាប់ផ្តើមគំរូ SIG សម្រាប់ការអនុវត្តកម្មវិធី។ BluenrgMesh_SetSIGMmodelsCbMap(Model_SIG_cb, MODEL_SIG_COUNT); មុខងារ​ត្រូវ​បាន​ប្រើ​ដើម្បី​ចាប់​ផ្ដើម​ការ​ហៅ​ត្រឡប់​ផ្សេង​គ្នា​ក្នុង​បណ្ណាល័យ។

ការចាប់ផ្តើមនិងរង្វិលជុំកម្មវិធីសំខាន់

នីតិវិធីនេះបង្កើតកម្មវិធីសម្រាប់ Mesh លើBluetooth® Low Energy នៅលើវេទិកា BlueNRG។

ជំហានទី 1 ។ ហៅទៅ InitDevice() API ដែលហៅ SystemInit() API ដើម្បីចាប់ផ្តើមតារាងវ៉ិចទ័រឧបករណ៍ រំខានអាទិភាព និងនាឡិកា។
ជំហាន 2. ហៅ Appli_CheckBdMacAddr() API ដើម្បីពិនិត្យមើលសុពលភាពនៃអាសយដ្ឋាន MAC ។ ប្រសិនបើអាសយដ្ឋាន MAC មិនត្រឹមត្រូវ នោះកម្មវិធីបង្កប់នឹងជាប់គាំងក្នុងខណៈពេល (1) រង្វិលជុំ ហើយ LED បន្តព្រិចភ្នែក។
ជំហានទី 3. ចាប់ផ្តើមមុខងារហៅត្រលប់ផ្នែករឹងសម្រាប់ផ្នែករឹងBluetooth® Low Energy ដោយធ្វើបច្ចុប្បន្នភាព MOBLE_USER_BLE_CB_MAP user_ble_cb = ។ST-FP-LIT-BLEMESH1-កម្មវិធី-ស្ថាបត្យកម្ម-FIG-4
ជំហានទី 4. ដើម្បីពឹងផ្អែកលើចំណុចប្រទាក់កម្មវិធីសម្រាប់ការចាប់ផ្តើមវិទ្យុBluetooth® Low Energy និងការកំណត់ថាមពល Tx សូមចាប់ផ្តើមការតភ្ជាប់ GATT និងផ្តាច់ការហៅត្រឡប់មកវិញសម្រាប់ចំណុចប្រទាក់កម្មវិធី។
ជំហានទី 5. ហៅទូរស័ព្ទទៅ BluenrgMesh_BleHardwareInitCallBack(&user_ble_cb) ដើម្បីបញ្ចប់ការចាប់ផ្តើមនៃការហៅត្រឡប់ផ្នែករឹង។
ជំហានទី 6. ចាប់ផ្តើមបណ្ណាល័យ BlueNRG-Mesh ដោយហៅ BluenrgMesh_Init(&BLEMeshlib_Init_params)។ ប្រសិនបើមានកំហុសកើតឡើង សារមួយ ("មិនអាចចាប់ផ្តើមបណ្ណាល័យ BlueNRG-Mesh!") លេចឡើងនៅលើបង្អួចស្ថានីយ ដែលត្រូវបានបើកសម្រាប់ច្រក VCOM ដែលបង្កើតឡើងដោយការភ្ជាប់ USB របស់ក្រុមប្រឹក្សាភិបាល។ កំហុសនេះធ្វើឱ្យ LED ភ្លឹបភ្លែតៗ។
ជំហានទី 7. ពិនិត្យមើលថាតើឧបករណ៍នេះត្រូវបានផ្តល់ជូនឬអត់។ ឧបករណ៍ដែលបានផ្តល់មានកូនសោបណ្តាញ និងប៉ារ៉ាម៉ែត្រផ្សេងទៀតដែលបានកំណត់រចនាសម្ព័ន្ធនៅក្នុងអង្គចងចាំពន្លឺខាងក្នុង។ អ្នកអាចពិនិត្យមើលពួកវាដោយប្រើ BluenrgMesh_IsUnprovisioned() API។ ប្រសិនបើថ្នាំងមិនត្រូវបានផ្តល់ជូននោះ BluenrgMesh_InitUnprovisionedNode() API ចាប់ផ្តើមវា។ ប្រសិនបើឧបករណ៍ត្រូវបានផ្តល់ជូនរួចហើយ BluenrgMesh_InitprovisionedNode() API ជួយក្នុងការចាប់ផ្តើមឧបករណ៍។
ជំហាន 8. បោះពុម្ពសារទៅបង្អួចស្ថានីយសម្រាប់ថ្នាំងដែលកំពុងត្រូវបានចាប់ផ្តើម។ សារក៏បោះពុម្ពអាសយដ្ឋាន MAC ដែលត្រូវបានកំណត់ទៅថ្នាំង។
ជំហានទី 9. ចាប់ផ្តើមម៉ូដែល BlueNRG-Mesh ដោយប្រើ BluenrgMesh_ModelsInit() API ។
ជំហាន 10. ដើម្បីចាប់ផ្តើមថ្នាំងទៅស្ថានភាពដែលមិនបានរៀបចំ សូមសង្កត់ប៊ូតុងអ្នកប្រើប្រាស់។ វាលុបប៉ារ៉ាម៉ែត្របណ្តាញទាំងអស់ដែលបានកំណត់រចនាសម្ព័ន្ធនៅក្នុងអង្គចងចាំខាងក្នុងរបស់ឧបករណ៍។ នៅពេលដែលការមិនរៀបចំត្រូវបានបញ្ចប់ សូមកំណត់បន្ទះឡើងវិញ។
ជំហានទី 11. ចាប់ផ្តើមកម្មវិធីបញ្ជា LED និង GPIO ដែលបានតំឡើងនៅលើ X-NUCLEO-LED12A1 ។ កម្មវិធីត្រូវតែហៅ BluenrgMesh_Process() នៅក្នុង while(1) loop ឱ្យបានញឹកញាប់តាមដែលអាចធ្វើទៅបាន។ មុខងារនេះហៅ BLE_StackTick() ខាងក្នុង ដើម្បីដំណើរការទំនាក់ទំនង Bluetooth® ថាមពលទាប។ BluenrgMesh_ModelsProcess() (ដំណើរការគំរូ) និង Appli_Process() APIs ត្រូវបានហៅផងដែរនៅក្នុង while(1) loop។ ការអនុវត្តកម្មវិធីណាមួយត្រូវបានអនុវត្តនៅក្នុងម៉ាស៊ីនរដ្ឋដោយមុខងារមិនទប់ស្កាត់ជាមួយនឹងការហៅញឹកញាប់ទៅកាន់ BluenrgMesh_Process() ។
ជំហាន​ទី 12. ពិនិត្យ​មើល​ការ​បញ្ចូល​ឬ​ប៊ូតុង​របស់​អ្នក​ប្រើ​សម្រាប់​សកម្មភាព​ណា​មួយ​ដែល​ត្រូវ​ធ្វើ។

GATT ភ្ជាប់/ផ្តាច់ថ្នាំង
ថ្នាំងនីមួយៗនៅក្នុងបណ្តាញអាចភ្ជាប់ទៅស្មាតហ្វូនតាមរយៈចំណុចប្រទាក់ GATT ។ នៅពេលដែលការតភ្ជាប់នេះត្រូវបានបង្កើតឡើង ថ្នាំងក្លាយជាប្រូកស៊ី ដែលដើរតួជាស្ពានរវាងពាក្យបញ្ជាបណ្តាញសំណាញ់ និងការឆ្លើយតបរបស់ស្មាតហ្វូន។
អ្នកអាចរកឃើញការភ្ជាប់ស្មាតហ្វូន និងការផ្ដាច់តាមរយៈការហៅត្រឡប់មកវិញដូចខាងក្រោម៖

  • Appli_BleGattConnectionCompleteCb;
  • Appli_BleGattDisconnectionCompleteCb;

ទាំងនេះត្រូវបានចាប់ផ្តើមក្នុងអំឡុងពេលរង្វិលជុំមេ។
ក្នុងអំឡុងពេលនៃការផ្តល់ ការតភ្ជាប់ GATT ត្រូវបានបង្កើតឡើងជាមួយនឹងថ្នាំងដែលចាំបាច់ត្រូវផ្តល់។
ប្រសិនបើស្មាតហ្វូនផ្លាស់ទីចេញពីជួរថ្នាំងប្រូកស៊ី វាបង្កើតការភ្ជាប់ថ្មីជាមួយនឹងថ្នាំងដែលមាន។

ម៉ូដែលពន្លឺ

  • ការបញ្ជាក់កំណត់ចំនួននៃស្ថានភាពពន្លឺ សារ និងម៉ូដែលដែលត្រូវបានកំណត់យ៉ាងច្បាស់ថាមិនជាក់លាក់នៅក្នុងមុខងាររបស់វា។
  • មានប្រភេទផ្សេងគ្នានៃប្រភពពន្លឺដែលមានសមត្ថភាពផ្សេងគ្នា។ ដូច្នោះហើយ មានវិធីផ្សេងគ្នាដើម្បីបង្ហាញពីស្ថានភាពនៃពន្លឺ។
  • វិធីសាស្រ្តកម្រិតខ្ពស់នៃការគ្រប់គ្រងពន្លឺគឺការផ្លាស់ប្តូរពន្លឺដោយគ្រប់គ្រងស្ថានភាពជាក់ស្តែងនៃពន្លឺ។
  • ប្រសិនបើពន្លឺមានពណ៌ស វាអាចគ្រប់គ្រងសីតុណ្ហភាពពណ៌របស់វាតាមរយៈពន្លឺ CTL ។
  • ប្រសិនបើពន្លឺគឺជាពន្លឺដែលផ្លាស់ប្តូរពណ៌ វាអាចគ្រប់គ្រងវិមាត្រទាំងបី (ពណ៌លាំ តិត្ថិភាព និងពន្លឺ) ដោយគ្រប់គ្រងរដ្ឋនីមួយៗដោយឯករាជ្យ។

រូបភាពទី 3. លំហូរសារគំរូពន្លឺ

ចំនួន octets អាស្រ័យលើប៉ារ៉ាម៉ែត្រដែលបានឧទ្ទិសសម្រាប់ម៉ូដែល។ ពួកវាខុសគ្នាសម្រាប់ម៉ូដែលភ្លើងបំភ្លឺនីមួយៗ។
ស្រទាប់កណ្តាលទទួលសារពីបណ្ណាល័យ។ បន្ទាប់​មក​វា​ពិនិត្យ​មើល opcode ដោយ​យោង​តាម​កម្មវិធី​ផ្សេង​គ្នា​នៃ​គំរូ​ពន្លឺ។ ក្នុងនាមជាអតីតample នៃ​គំរូ​ពន្លឺ​ពន្លឺ​, opcode ត្រូវ​បាន​ពិនិត្យ​នៅ​ក្នុង​ស្រទាប់​កណ្តាល​។ សារដែលមានប៉ារ៉ាម៉ែត្រទិន្នន័យដែលបានកំណត់បន្ទាប់មកត្រូវបានបញ្ជូនទៅកម្មវិធីពន្លឺពន្លឺ។

ប្រភេទនៃសារគឺ៖

  • កំណត់សារទទួលស្គាល់ ផ្ញើដោយម៉ាស៊ីនភ្ញៀវដើម្បីកំណត់តម្លៃដែលចង់បានទៅម៉ូដែលនៅលើម៉ាស៊ីនមេ។ វារំពឹងថានឹងមានសារឆ្លើយតបពីម៉ាស៊ីនមេ។
  • កំណត់សារដែលមិនទទួលស្គាល់ ផ្ញើដោយម៉ាស៊ីនភ្ញៀវដើម្បីកំណត់តម្លៃដែលចង់បានទៅម៉ូដែលនៅលើម៉ាស៊ីនមេ។ វាមិនរំពឹងថានឹងមានសារឆ្លើយតបណាមួយពីម៉ាស៊ីនមេទេ។
  •  ទទួលសារ ដែលអតិថិជនផ្ញើទៅម៉ាស៊ីនមេ ដើម្បីទទួលបានស្ថានភាពនៃគំរូជាសារឆ្លើយតបពីម៉ាស៊ីនមេ។

ឧបករណ៍ប្រើប្រាស់អាសយដ្ឋាន MAC ខាងក្រៅ

  • ថត "ឧបករណ៍ប្រើប្រាស់" មានថត STM32L4_MAC ដែលផ្តល់លេខគោលដប់ប្រាំមួយ។ file នៃអាសយដ្ឋាន MAC ខាងក្រៅ។
  • ដើម្បីប្រើអាសយដ្ឋាននេះ សូមកុំបញ្ចេញមតិម៉ាក្រូ EXTERNAL_MAC_ADDR_MGMT ក្នុង mesh_cfg.h file នៃថត "Middleware" ។
  • កម្មវិធីបង្កប់កម្មវិធីសាកល្បង និងអាសយដ្ឋាន MAC ត្រូវបានបញ្ចេញដោយឯករាជ្យ។ ដូច្នេះ អ្នកមិនចាំបាច់ធ្វើបច្ចុប្បន្នភាពកម្មវិធីបង្កប់ទេ ប្រសិនបើកម្មវិធីបង្កប់ផ្សេងទៀតត្រូវបានបញ្ចេញពន្លឺរួចហើយ។
  • អាសយដ្ឋាន MAC ត្រូវបានបញ្ចេញពន្លឺជាលើកដំបូង ហើយនៅរាល់ការលុបបន្ទះឈីបពេញលេញ។

ការណែនាំអំពីការដំឡើងប្រព័ន្ធ

ការពិពណ៌នាផ្នែករឹង

នុយក្លេអូ STM32

  • ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ STM32 Nucleo ផ្តល់នូវមធ្យោបាយដែលមានតម្លៃសមរម្យ និងអាចបត់បែនបានសម្រាប់អ្នកប្រើប្រាស់ដើម្បីសាកល្បងដំណោះស្រាយ និងបង្កើតគំរូជាមួយនឹងបន្ទាត់មីក្រូកុងទ័រ STM32 ណាមួយ។
  • ការគាំទ្រការតភ្ជាប់ Arduino និងឧបករណ៍ភ្ជាប់ ST morpho ធ្វើឱ្យវាមានភាពងាយស្រួលក្នុងការពង្រីកមុខងារនៃវេទិកាអភិវឌ្ឍន៍បើកចំហ STM32 Nucleo ជាមួយនឹងឯកទេសជាច្រើន
  • បន្ទះពង្រីកដើម្បីជ្រើសរើស។
  • បន្ទះ STM32 Nucleo មិនតម្រូវឱ្យមានការស៊ើបអង្កេតដាច់ដោយឡែកទេព្រោះវារួមបញ្ចូល ST-LINK/V2-1 debugger/programmer ។
  • បន្ទះ STM32 Nucleo ភ្ជាប់មកជាមួយនូវបណ្ណាល័យ HAL ផ្នែកទន់ STM32 ដ៏ទូលំទូលាយ រួមជាមួយនឹងកម្មវិធីដែលបានវេចខ្ចប់ផ្សេងៗamples សម្រាប់ IDEs ផ្សេងៗ (IAR EWARM, Keil MDK-ARM,
  • STM32CubeIDE, mbed និង GCC/LLVM)។
  • អ្នកប្រើប្រាស់ STM32 Nucleo ទាំងអស់អាចចូលប្រើប្រាស់ធនធានអនឡាញ mbed ដោយឥតគិតថ្លៃ (អ្នកចងក្រង C/C++ SDK និងសហគមន៍អ្នកអភិវឌ្ឍន៍) នៅ www.mbed.org ដើម្បីងាយស្រួលបង្កើតកម្មវិធីពេញលេញ។

រូបភាពទី 4. STM32 Nucleo board

បន្ទះពង្រីក X-NUCLEO-IDB05A2

  • X-NUCLEO-IDB05A2 Bluetooth® បន្ទះពង្រីកថាមពលទាបគឺផ្អែកលើម៉ូឌុលដំណើរការបណ្តាញ BlueNRG-M0 Bluetooth® Low Energy ។
  • BlueNRG-M0 គឺអនុលោមតាមប៊្លូធូស v4.2, FCC, និង IC បានបញ្ជាក់ (លេខសម្គាល់ FCC: S9NBNRGM0AL; IC: 8976C-BNRGM0AL) ។ វាគាំទ្រតួនាទីមេ/ទាសករក្នុងពេលដំណាលគ្នា ហើយអាចដើរតួជា
  • Bluetooth® ឧបករណ៍ចាប់សញ្ញាថាមពលទាប និងឧបករណ៍មជ្ឈមណ្ឌលក្នុងពេលតែមួយ។
  • BlueNRG-M0 ផ្តល់នូវវេទិកា RF ពេញលេញក្នុងទម្រង់តូចមួយ ជាមួយនឹងវិទ្យុ អង់តែន ប្រេកង់ខ្ពស់ និងលំយោល LPO ។
  • X-NUCLEO-IDB05A2 អាចប្រើបានជាមួយ ST morpho (មិនបានម៉ោន) និងប្លង់ឧបករណ៍ភ្ជាប់ Arduino UNO R3 ។
  • ចំណុចប្រទាក់ X-NUCLEO-IDB05A2 ជាមួយ microcontroller STM32 តាមរយៈ SPI pin និងអនុញ្ញាតឱ្យផ្លាស់ប្តូរនាឡិកា SPI លំនាំដើម ជ្រើសរើសបន្ទះឈីប SPI និង SPI IRQ ដោយជំនួស resistor នៅលើបន្ទះពង្រីក។

បន្ទះពង្រីក X-NUCLEO-BNRG2A1

  • បន្ទះពង្រីក X-NUCLEO-BNRG2A1 ផ្តល់នូវការភ្ជាប់Bluetooth® Low Energy សម្រាប់កម្មវិធីអ្នកអភិវឌ្ឍន៍ ហើយអាចដោតនៅលើបន្ទះអភិវឌ្ឍន៍ STM32 Nucleo (សម្រាប់
  • example, NUCLEO-L476RG ជាមួយនឹង microcontroller STM32 ដែលមានថាមពលទាបបំផុត) តាមរយៈឧបករណ៍ភ្ជាប់ Arduino UNO R3 របស់វា។
  • បន្ទះពង្រីកមានលក្ខណៈពិសេសដែលអនុលោមតាមBluetooth® v5.2 និងម៉ូឌុលដំណើរការកម្មវិធី BlueNRG-M2SP ដែលមានការបញ្ជាក់ FCC ដោយផ្អែកលើ ST BlueNRG-2 System-on-Chip ។ SoC នេះគ្រប់គ្រង
  • ជង់ និងពិធីការថាមពលទាប Bluetooth® ពេញលេញនៅលើស្នូល Cortex-M0 និងអង្គចងចាំពន្លឺដែលអាចសរសេរកម្មវិធីបាន ដែលអាចផ្ទុកកម្មវិធីផ្ទាល់ខ្លួនដែលបានបង្កើតដោយប្រើ SDK ។ នេះ។
  • ម៉ូឌុល BlueNRG-M2SP គាំទ្ររបៀបមេ និងទាសករ អត្រាផ្ទេរទិន្នន័យកើនឡើងជាមួយនឹងផ្នែកបន្ថែមប្រវែងទិន្នន័យ (DLE) និងការអ៊ិនគ្រីបសុវត្ថិភាព AES-128 ។
  • ចំណុចប្រទាក់ X-NUCLEO-BNRG2A1 ជាមួយ microcontroller STM32 Nucleo តាមរយៈការតភ្ជាប់ SPI និងម្ជុល GPIO ដែលមួយចំនួនអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធតាមរយៈផ្នែករឹង។

រូបភាពទី 6. បន្ទះពង្រីក X-NUCLEO-BNRG2A1

បន្ទះពង្រីក X-NUCLEO-LED12A1

  • បន្ទះពង្រីកកម្មវិធីបញ្ជា LED X-NUCLEO-LED12A1 សម្រាប់ STM32 Nucleo បំពាក់នូវឧបករណ៍ LED1202 ចំនួនបួនដែលអាចជំរុញបានរហូតដល់ទៅ 48 LEDs ។
  • LED1202 គឺជាកម្មវិធីបញ្ជា LED បច្ចុប្បន្នស្ងាត់ 12-channel ដែលធានានូវសមត្ថភាពបើកបរ 5 V ។ ឆានែលនីមួយៗអាចផ្តល់រហូតដល់ 20 mA ជាមួយនឹង headroom voltage នៃ 350 mV
  • (ធម្មតា) តែប៉ុណ្ណោះ។
  • ចរន្តលទ្ធផលអាចត្រូវបានកែតម្រូវដោយឡែកពីគ្នាសម្រាប់ឆានែលនីមួយៗតាមរយៈអាណាឡូក 8 ប៊ីត និងការគ្រប់គ្រងភាពស្រអាប់ឌីជីថល 12 ប៊ីត។
  • បន្ទះពង្រីក X-NUCLEO-LED12A1 ភ្ជាប់មកជាមួយបន្ទះ LED បន្ថែមដែលមានបន្ទះ LEDs ចំនួនពីរ៖ ម៉ាទ្រីស LED ពណ៌ស 6×8 និងម៉ាទ្រីស 4×4 RGB ។
  • ម៉ាទ្រីស LED អាចត្រូវបានផ្គត់ផ្គង់តាមរយៈការផ្គត់ផ្គង់ថាមពលខាងក្រៅដែលត្រូវបានភ្ជាប់ទៅនឹងឧបករណ៍ភ្ជាប់ J13 ហើយដោយជ្រើសរើសផ្លូវត្រឹមត្រូវតាមរយៈ jumper J15 ដើម្បីឈានដល់ពន្លឺអតិបរមា។
  • មាន។

រូបភាពទី 7. បន្ទះពង្រីក X-NUCLEO-LED12A1

ការដំឡើងផ្នែករឹង
ដើម្បីរៀបចំបរិយាកាសអភិវឌ្ឍន៍សមរម្យសម្រាប់បង្កើតកម្មវិធីសម្រាប់ STM32 Nucleo ដែលបំពាក់ដោយភ្លើង ឬបន្ទះពង្រីកថាមពលទាប Bluetooth® អ្នកត្រូវការសមាសធាតុផ្នែករឹងខាងក្រោម៖

  1.  ក្រុមប្រឹក្សាអភិវឌ្ឍន៍នុយក្លេអ៊ែរ STM32 មួយ (លេខកូដបញ្ជាទិញ៖ NUCLEO-L476RG)
  2.  បន្ទះពង្រីកថាមពលទាប Bluetooth® មួយ (លេខកូដបញ្ជាទិញ៖ X-NUCLEO-IDB05A2 ឬ X-NUCLEO-BNRG2A1)
  3.  បន្ទះពង្រីក LED មួយ (លេខកូដបញ្ជាទិញ៖ X-NUCLEO-LED12A1)
  4.  ខ្សែ USB ប្រភេទ A ទៅ Mini-B មួយ USB ដើម្បីភ្ជាប់ STM32 Nucleo ទៅកុំព្យូទ័រ

ការដំឡើងកម្មវិធី
សមាសធាតុសូហ្វវែរខាងក្រោមត្រូវបានទាមទារសម្រាប់ការរៀបចំបរិយាកាសអភិវឌ្ឍន៍សមស្របដើម្បីបង្កើតកម្មវិធីសម្រាប់បន្ទះ STM32 Nucleo ជាមួយនឹងBluetooth® Low Energy និងបន្ទះពង្រីក LED៖

  • FP-LIT-BLEMESH1៖ កញ្ចប់មុខងារ STM32Cube សម្រាប់ថ្នាំង IoT ជាមួយឧបករណ៍ភ្ជាប់បណ្តាញ Bluetooth® Low Energy Mesh និងគំរូពន្លឺ។ កម្មវិធីបង្កប់ និងឯកសារពាក់ព័ន្ធមាននៅលើគេហទំព័រ www.st.com ។
  • ឧបករណ៍អភិវឌ្ឍន៍ - ខ្សែសង្វាក់និងអ្នកចងក្រង។ កម្មវិធីពង្រីក STM32Cube គាំទ្របរិស្ថានបីខាងក្រោមដើម្បីជ្រើសរើសពី៖
    •  IAR Embedded Workbench សម្រាប់ Arm® (IAR-EWARM) toolchain + ST-LINK
    • ពិតView ឧបករណ៍អភិវឌ្ឍឧបករណ៍បញ្ជាខ្នាតតូច (MDK-ARM-STM32) + ST-LINK
    • STM32CubeIDE +ST-LINK

ការរៀបចំប្រព័ន្ធ
បន្ទះ STM32 Nucleo រួមបញ្ចូល ST-LINK/V2-1 បំបាត់កំហុស/អ្នកសរសេរកម្មវិធី។
អ្នកអភិវឌ្ឍន៍អាចទាញយកកម្មវិធីបញ្ជា USB ST-LINK/V2-1 ដោយស្វែងរកកម្មវិធី STSW-LINK009 នៅលើ www.st.com ។
អ្នកអាចភ្ជាប់បន្ទះពង្រីក LED X-NUCLEO-LED12A1 បានយ៉ាងងាយស្រួលទៅនឹង STM32 Nucleo តាមរយៈឧបករណ៍ភ្ជាប់ផ្នែកបន្ថែម Arduino UNO R3 ។

X-NUCLEO-LED12A1 អាចទាក់ទងជាមួយ microcontroller STM32 ខាងក្រៅនៅលើ STM32 Nucleo ដោយប្រើពិធីការទំនាក់ទំនង I²C ។
អ្នកក៏អាចភ្ជាប់ X-NUCLEO-IDB05A2 ឬបន្ទះពង្រីក X-NUCLEO-BNRG2A1 ទៅ STM32 Nucleo តាមរយៈឧបករណ៍ភ្ជាប់ផ្នែកបន្ថែម Arduino UNO R3 ។

ឧបសម្ព័ន្ធ A ឯកសារយោង

  1.  Mesh លើ Bluetooth® ថាមពលទាប៖ STSW-BNRG-Mesh
  2.  លក្ខណៈបច្ចេកទេសបណ្តាញសំណាញ់ប៊្លូធូស៖ https://www.bluetooth.com/specifications/mesh-specifications
  3.  លក្ខណៈ​ពិសេស​ម៉ូដែល​សំណាញ់​ប៊្លូធូស៖ https://www.bluetooth.com/specifications/adopted-specifications

ប្រវត្តិនៃការពិនិត្យឡើងវិញ

ការជូនដំណឹងសំខាន់ - សូមអានដោយយកចិត្តទុកដាក់

  • STMicroelectronics NV និងក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួន (“ST”) រក្សាសិទ្ធិដើម្បីធ្វើការផ្លាស់ប្តូរ ការកែតម្រូវ ការកែលម្អ ការកែប្រែ និងការកែលម្អចំពោះផលិតផល ST និង/ឬឯកសារនេះនៅពេលណាមួយ
  • ពេលវេលាដោយគ្មានការជូនដំណឹង។ អ្នកទិញគួរតែទទួលបានព័ត៌មានពាក់ព័ន្ធចុងក្រោយបំផុតលើផលិតផល ST មុនពេលធ្វើការបញ្ជាទិញ។ ផលិតផល ST ត្រូវបានលក់ដោយអនុលោមតាមលក្ខខណ្ឌនៃការលក់របស់ ST នៅនឹងកន្លែង
  • ពេលវេលានៃការទទួលស្គាល់ការបញ្ជាទិញ។
  • អ្នកទិញទទួលខុសត្រូវទាំងស្រុងចំពោះជម្រើសការជ្រើសរើសនិងការប្រើប្រាស់ផលិតផលអេសធីនិងអេសអេសមិនទទួលខុសត្រូវចំពោះជំនួយក្នុងការដាក់ពាក្យសុំឬការរចនាផលិតផលរបស់អ្នកទិញឡើយ។
  • គ្មានអាជ្ញាប័ណ្ណ បង្ហាញ ឬបង្កប់ន័យចំពោះសិទ្ធិកម្មសិទ្ធិបញ្ញាណាមួយត្រូវបានផ្តល់ដោយ ST នៅទីនេះ។
  • ការលក់បន្តនៃផលិតផល ST ជាមួយនឹងបទប្បញ្ញត្តិខុសពីព័ត៌មានដែលមានចែងនៅទីនេះ នឹងត្រូវចាត់ទុកជាមោឃៈនូវការធានាណាមួយដែលផ្តល់ដោយ ST សម្រាប់ផលិតផលនោះ។
  • ST និងនិមិត្តសញ្ញា ST គឺជាពាណិជ្ជសញ្ញារបស់ ST ។ សម្រាប់ព័ត៌មានបន្ថែមអំពីពាណិជ្ជសញ្ញា ST សូមមើល www.st.com/trademarks ។ ឈ្មោះផលិតផល ឬសេវាកម្មផ្សេងទៀតទាំងអស់គឺជាកម្មសិទ្ធិរបស់ម្ចាស់រៀងៗខ្លួន។
  • ព័ត៌មាននៅក្នុងឯកសារនេះជំនួស និងជំនួសព័ត៌មានដែលបានផ្តល់ពីមុននៅក្នុងកំណែមុននៃឯកសារនេះ។
    2022 STMicroelectronics - រក្សាសិទ្ធិគ្រប់យ៉ាង

ឯកសារ/ធនធាន

ស្ថាបត្យកម្មកម្មវិធី ST FP-LIT-BLEMESH1 [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់
UM2992, ស្ថាបត្យកម្មកម្មវិធី FP-LIT-BLEMESH1, FP-LIT-BLEMESH1, ស្ថាបត្យកម្មកម្មវិធី, កញ្ចប់មុខងារ FP-LIT-BLEMESH1 STM32Cube

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *