ស្ថាបត្យកម្មកម្មវិធី 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 ប៊ូតុងអ្នកប្រើប្រាស់ជាដើម។ ចំណុចប្រទាក់នេះក៏ជួយក្នុងការកំណត់អត្តសញ្ញាណកំណែក្តារជាក់លាក់ផងដែរ។
រូបភាពទី 1. ស្ថាបត្យកម្មកម្មវិធី FP-LIT-BLEMESH1
រចនាសម្ព័ន្ធថត
រូបភាពទី 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 ដើម្បីហៅមុខងារដោយផ្អែកលើព្រឹត្តិការណ៍ជាក់លាក់ ឬដោយម៉ាស៊ីនរដ្ឋបណ្ណាល័យសំណាញ់។
រចនាសម្ព័ន្ធ 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 = ។
ជំហានទី 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® អ្នកត្រូវការសមាសធាតុផ្នែករឹងខាងក្រោម៖
- ក្រុមប្រឹក្សាអភិវឌ្ឍន៍នុយក្លេអ៊ែរ STM32 មួយ (លេខកូដបញ្ជាទិញ៖ NUCLEO-L476RG)
- បន្ទះពង្រីកថាមពលទាប Bluetooth® មួយ (លេខកូដបញ្ជាទិញ៖ X-NUCLEO-IDB05A2 ឬ X-NUCLEO-BNRG2A1)
- បន្ទះពង្រីក LED មួយ (លេខកូដបញ្ជាទិញ៖ X-NUCLEO-LED12A1)
- ខ្សែ 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 ឯកសារយោង
- Mesh លើ Bluetooth® ថាមពលទាប៖ STSW-BNRG-Mesh
- លក្ខណៈបច្ចេកទេសបណ្តាញសំណាញ់ប៊្លូធូស៖ https://www.bluetooth.com/specifications/mesh-specifications
- លក្ខណៈពិសេសម៉ូដែលសំណាញ់ប៊្លូធូស៖ 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 |