silabs 21Q2 amintaccen na'urar BLE Tsaro Lab
BLE Tsaro Lab Manual
A cikin wannan dakin gwaje-gwaje, zaku ga yadda ake tsara na'urar BLE mafi aminci. Za mu fara da ƙarewaview na yadda ake amfani da wasu fasalulluka kuma matsa zuwa ga wasu nasiha na gabaɗaya game da dabaru don ƙarin amintaccen haɗi kuma a ƙarshe za mu ga yadda ake amfani da takaddun takaddun na'ura akan BLE don gano na'ura a matsayin ingantacce.
Farawa
Bluetooth sampaikace-aikacen da za ku gina a kai an yi nufin amfani da su tare da bootloader. Idan kuna aiki tare da sabon EFR32MG21B, ba zai sami bootloader ba. Kuna iya samun bootloader da aka riga aka gina a cikin dandamali\bootloader\sample-apps\bootloader-storage-internalsingle\efr32mg21a010f1024im32-brd4181a babban fayil na SDK ku.
- Fara da sampku app. Wannan sampAna amfani da le app azaman samfuri kuma yana yin kyakkyawan farawa ga kowane aikace-aikacen BLE.
- Bude Mayen Ayyukan Silicon Labs daga Sauƙaƙe Studio File menu -> sabo.
- Zaɓi BRD4181C kuma danna maɓallin 'na gaba'.
- Danna akwatin 'Bluetooth (9)' karkashin nau'in fasaha.
- Haskaka 'Bluetooth - SoC Empty' sannan danna gaba.
- Danna maɓallin 'Gama'.
- Yanzu zaku iya ƙara wasu halaye don ganin yadda ake kula da halaye masu kariya da marasa kariya daban.
- Bude aikin slcp file ta danna sau biyu a cikin taga Project Explorer
- Haskaka shafin 'SOFTWARE COMPONENTS' kuma buɗe kayan aikin daidaitawa na GATT kamar yadda aka nuna a ƙasa:
Kuma yi amfani da kayan aikin shigo da aka nuna a ƙasa don shigo da gatt_configuration.btconf file daga babban fayil ɗin uwar garken a cikin kayan da aka bayar.
Rukunin bayanai na GATT yana da sabis na al'ada, wanda ake kira 'Training', tare da wasu bayanai waɗanda ke da kariya wasu kuma waɗanda ba su da kyau. Wannan yana ba ku damar kwatanta abin da ke faruwa lokacin ƙoƙarin samun dama ga sifa mai kariya vs wanda ba shi da kariya. Wannan hanya ce mai sauri ta yin na'ura tare da ingantaccen tsaro.
- Za mu yi amfani da tashar tashar jiragen ruwa don bugawa zuwa na'ura wasan bidiyo a cikin Sauƙi Studio don bin abin da ke faruwa a cikin aikace-aikacen. Hanya mafi sauƙi don nemo waɗannan abubuwan haɗin gwiwa shine ta hanyar nemo su a cikin maganganun SOFTWARE COMPONENTS kamar yadda aka nuna:
-
- Shigar da bangaren IO Stream USART
- Shigar da bangaren IO Stream Retarget STIO
- Shigar da daidaitaccen bangaren I/O
- Shigar da bangaren Log
- Bude bangaren Control Board kuma kunna 'Enable Virtual COM UART'
- Danna dama-dama na adaftar a cikin panel 'Debug adapters' kuma zaɓi 'Launch Console'. Zaɓi shafin 'Serial 1' kuma sanya siginan kwamfuta a cikin filin shigarwar rubutu na taga na'urar bidiyo kuma latsa shigar don tada na'ura wasan bidiyo.
-
- Ƙirƙiri maɓalli na gida a cikin sl_bt_on_event(), da aka samo a cikin app.c, don adana hannun haɗin. Dole ne madaidaicin ya kasance a tsaye tunda ana kiran wannan aikin a duk lokacin da abin ya faru ta wurin tari kuma muna son ƙimar ta dawwama. Za a yi amfani da hannun haɗin kai a cikin wani gaba
sashen lab.
- Saka wasu bayanan app_log() don abubuwan da suka faru don ganin lokacin da aka haɗa mu, yanayin tsaro, da sauransu
-
- Haɗa taken app_log.h file
- sl_bt_evt_connection_bude - buga hannun jari kuma ajiye hannun haɗin. Idan hannun haɗin haɗin yana 0xFF, babu haɗin kai tsakanin na'urorin da aka haɗa. Gyara mai gudanar da taron don ya yi kama da wani abu kamar haka:
- sl_bt_evt_connection_parameters - yanayin tsaro. Anyi wannan don ku iya ganin lokacin da yanayin tsaro ya canza. Akwai bambanci a cikin lambobi na hanyoyin tsaro inda yanayin tsaro 1, aka ƙidaya tare da darajar 0, da dai sauransu. Ƙara mai sarrafa taron zuwa aikace-aikacenku:
- sl_bt_evt_connection_closed_id. An gyaggyara wannan mai kula da taron don sabunta hannun haɗin gwiwa. Ana amfani da ƙimar 0xFF don nuna cewa babu haɗin kai mai aiki. Ana amfani da umarnin app_log() don buga dalilin rufe haɗin, jerin lambobin matsayi yana nan. Gyara mai gudanar da taron don ya yi kama da wani abu kamar haka:
- Haɗa taken app_log.h file
-
- Gina da walƙiya aikin. A wannan gaba, za mu gudanar da sample app don ganin yadda yake aiki ba tare da wani canje-canje ba, ban da bayanan GATT.
- Haɗa da EFRConnect app ɗin wayar hannu kamar haka:
-
- Matsa alamar 'Bluetooth Browser'.
- Matsa alamar 'Haɗa' akan na'urar mai suna 'Training'.
-
- Karanta sifa ba ta da kariya kamar haka:
-
- Matsa hanyar haɗin 'Ƙarin Bayani' ƙarƙashin sabis ɗin da ba a sani ba tare da UUID a815944e-da1e-9d2a-02e2-a8d15e2430a0.
- Karanta halayen da ba su da kariya, UUID f9e91a44-ca91-4aba-1c33-fd43ca270b4c ta danna alamar 'Karanta'. Babu mamaki anan. Tun da yanayin ba a kiyaye shi ta kowace hanya, za a aika shi a fili.
-
- Yanzu karanta sifa mai kariya, UUID d4261dbb-dcd0-daab-ec95-deec088d532b. Wayarka ta hannu ya kamata ta sa ka haɗa da haɗi, saƙon na iya bambanta dangane da OS ta hannu. Bayan kun karɓi buƙatun don haɗawa, yakamata ku aika sako akan na'urar bidiyo kamar haka:
Lura: Shafi A a ƙarshen wannan jagorar yana da taƙaitaccen damar I/O da hanyoyin haɗin kai don tunani. Shafi B yana taƙaita hanyoyin tsaro na Bluetooth.
Kanfigareshan Mai sarrafa Tsaro
Manajan tsaro wani bangare ne na tarin Bluetooth wanda ke tantance waɗanne fasalolin tsaro ake amfani da su. Waɗannan fasalulluka sun haɗa da kariyar mutum-in-tsakiyar (MITM), haɗin haɗin LE Secure (aka ECDH), buƙatar tabbatarwa don haɗin gwiwa, da sauransu. / bonding (duba Karin Bayani A don taƙaitawa). A cikin wannan sashe za ku ga saitin mai sauƙi.
- Saita SM tare da tsarin da ake so. Kayan aikin wannan dakin gwaje-gwaje yana sauƙaƙa don nuna maɓallin wucewa akan na'ura mai kwakwalwa. Shigar da maɓalli buƙatu ne don ba da damar kariya ta MITM. Ƙara lambar mai zuwa zuwa mai kula da taron ku sl_bt_system_boot_id. Wannan yana bawa mutum-a-tsakiyar damar kuma yana sanar da na'urar nesa cewa muna da ikon nuna maɓalli, amma shi ke nan.
- Don nuna maɓallin wucewa akan na'urar bidiyo, ana buƙatar mai gudanar da taron kamar yadda aka nuna a ƙasa:
- Saita yanayin haɗin kai, max adadin bondings, da sauransu. Yi amfani da lambar mai zuwa don farawa:
Ana iya amfani da waɗannan saitunan don iyakance ikon maharin yin haɗin gwiwa da na'urarka. Idan samfurin ku yana buƙatar samun mai amfani ɗaya kawai, to zaku iya iyakance iyakar iyaka zuwa 1. Kyakkyawan wurin ƙara waɗannan kiran yana cikin mai sarrafa taron sl_bt_system_boot_id. Ba za mu ba da damar haɗin kai a wannan lokacin don sa sauran lab ɗin su tafi cikin kwanciyar hankali ba amma mun tsara tsarin haɗin gwiwa don ba da damar haɗin gwiwa ɗaya kawai. Don tunani, ana samun takaddun waɗannan APIs anan da nan.
- Ƙara masu gudanar da taron don sl_bt_evt_sm_bonded_id da sl_bt_evt_sm_bonding_failed_id. Babban amfani ga waɗannan abubuwan da suka faru yana da bayanai a halin yanzu amma daga baya a cikin dakin gwaje-gwaje za ku ƙara ayyuka.
- Gina da walƙiya zuwa allon manufa. Haɗa tare da EFRConnect kuma karanta halayen kariya kamar da. A wannan karon, za ku ga an nuna maɓalli na wucewa akan na'urar wasan bidiyo. Shigar da wannan maɓalli a wayarka ta hannu lokacin da aka sa.
- Gwada tabbatar da haɗin gwiwa. Wannan fasalin yana ba mai amfani damar buƙatar tabbatar da buƙatun haɗin kai. Yin hakan yana ba wa aikace-aikacen ikon sarrafa na'urorin takwarorin da yake haɗa su. Yiwuwa ɗaya shine buƙatar mai amfani ya danna maɓalli kafin barin haɗin.
- Bude saitunan Bluetooth a cikin wayar hannu kuma cire haɗin kan na'urar EFR32. Ayyukan wayar hannu sun bambanta don haka wannan matakin bazai zama dole ba. Idan baku ga na'urar 'Training' a cikin saitunan Bluetooth ɗinku ba, kawai ci gaba zuwa mataki na gaba.
- A cikin kayan aikin software, shigar da misali ɗaya na mai sauƙin maɓalli.
- Haɗa kan taken file sl_simple_button_instances.h a cikin app.c
- Ƙara mai kula da taron sl_bt_evt_sm_bonding_confirm_id. Babban aikin wannan mai kula da taron shine sanar da mai amfani cewa na'ura mai nisa tana neman sabon haɗin gwiwa.
- Ƙara aikin sake kira don sauƙi mai sarrafa maɓalli don aika sigina zuwa tarin Bluetooth yana nuna cewa an danna maɓallin. Wannan yana ƙetare tsohuwar kiran waya wanda kawai ke dawowa.
- Ƙara mai sarrafa taron sigina na waje. An ɗaga wannan taron don amsa sigina, kamar a mataki na baya. Za a yi amfani da taron siginar waje don tabbatar da haɗin gwiwa.
- Canza kira zuwa sl_bt_sm_configure don buƙatar tabbatar da haɗin gwiwa kamar
- Sake ginawa da walƙiya.
- Haɗa tare da EFRConnect kuma karanta halayen kariya kamar da. Yanzu zaku ga sako akan console kamar haka:
Latsa PB0 don tabbatar da haɗin gwiwa. Yanzu na'ura wasan bidiyo zai nuna maɓallin wucewa da za a shigar akan wayar hannu don haɗawa. Shigar da maɓallin wucewa don kammala aikin haɗin gwiwa.
Tukwici: Yi amfani da tsohuwar harka a cikin mai sarrafa taron don buga saƙo lokacin da tari ya aika taron da ba a sarrafa shi ba. Tarin yana iya ƙoƙarin gaya muku wani abu mai mahimmanci.
Bayan Basics
A wannan lokacin, kun ɗauki advantage na fasalulluka na tsaro da tarin mu ya bayar. Yanzu bari mu inganta aiwatarwa ta hanyar hikimar amfani da fasali a hannunmu. Matakan da ke biyowa na zaɓi ne kuma masu zaman kansu ba tare da juna ba, zaku iya ginawa da walƙiya bayan kowanne don ganin halayen ko gwada su duka tare.
- Cire haɗin kan yunƙurin haɗin gwiwa da bai yi nasara ba. Wannan wuri ne mai kyau don gano barazanar. Idan na'urar nesa ba ta goyan bayan ɓoyewa/tabbatacce ko kawai ba ta da maɓallan daidai, yana iya zama ɗan hacker. Don haka, bari mu karya haɗin. Gwada ƙara kira zuwa sl_bt_connection_close() a cikin taron sl_bt_sm_bonding_failed_id. API ɗin an rubuta shi anan.
Kuna iya gwada wannan fasalin ta shigar da maɓalli mara kyau.
- Ba da izinin haɗin kai kawai a wasu lokuta. Wannan yana iyakance lokacin da maharin zai samar da haɗin gwiwa kuma yana ba da damar yin amfani da fasalin 'ba da izinin haɗin haɗin gwiwa kawai'. Mai ƙira zai iya zaɓar yadda za a kunna ko kashe yanayin haɗin gwiwa. Don dalilai na nunawa a nan, za mu kunna 'yanayin saiti' tare da PB1 kuma mu yi amfani da mai ƙidayar lokaci don musaki shi bayan daƙiƙa 30.
- Shigar da misali na biyu na maɓalli mai sauƙi. Wannan zai ba da damar amfani da PB1.
- Gyara dawo da kiran don aika sigina daban zuwa tari don kunna/musa haɗin haɗin gwiwa. Sakamakon yakamata yayi kama da haka:
- Gyara mai sarrafa taron siginar waje domin ya sarrafa wannan sabuwar siginar. Sakamakon yakamata ya kasance kamar haka:
- Ƙara mai kula da taron don taron sl_bt_evt_system_soft_timer_id. Wannan zai yi amfani da shi don kashe yanayin saitin.
- Ana iya amfani da lambar mai zuwa don kunna yanayin haɗin gwiwa da ba da damar duk haɗin kai ko don kashe yanayin haɗin gwiwa kuma kawai ba da izinin haɗi daga na'urorin haɗi:
- Ƙara kira mai zuwa a cikin mai sarrafa taron sl_bt_system_boot_id
- Gina aikin kuma kunna shi zuwa na'urar.
- Gwada haɗawa da na'urar tare da EFRConnect. Haɗin ya kamata ya kasa.
- Yanzu gwada latsa PB1 kafin haɗi tare da EFRConnect. Wannan lokacin haɗin zai yi nasara. Bayan daƙiƙa 30 za ku ga saƙo a kan na'urar bidiyo da ke nuna cewa na'urar tana barin yanayin saitin. Wannan yana nufin cewa yanzu an kashe yanayin haɗin gwiwa.
- Ƙara tsaro akan ƙirƙirar haɗin gwiwa. Tunda tsaro na zaɓi ne, ya kamata mu nemi hanyar rufaffiyar hanyar sadarwa da wuri-wuri maimakon dogaro da halayen GATT. API ɗin an rubuta shi anan. Kyakkyawan wurin da za a kira wannan API yana cikin taron sl_bt_evt_connection_opened_id. Ana samun hannun haɗin haɗin a cikin madaidaicin haɗin.
Amintaccen Shaida
Yanzu da muke da ingantaccen na'urar Bluetooth, bari mu inganta matakin tantancewa. Kun riga kun ga yadda ake tabbatar da amintattun na'urorin vault tare da layin umarni a cikin dakunan gwaje-gwajen horo na baya. A cikin wannan sashe, za mu ga yadda na'urar BLE ɗaya za ta iya tantance ainihin wata na'urar BLE ta neman sarkar takardar shaidarta da aika ƙalubale. Duk amintattun sassa na vault suna riƙe da takardar shaidar na'urarsu da takardar shedar tsari. Masana'anta da takaddun takaddun tushe suna da wuyar ƙididdigewa a cikin aikace-aikacen abokin ciniki don ba da damar tabbatar da duk sarkar takaddun shaida. Koma zuwa AN1268 don ƙarin cikakkun bayanai kan amintaccen ainihi.
- Ƙayyade ƙaƙƙarfan buffer na duniya don adana sa hannun shaidar na'urar kamar ƙasa:
- Saita saitin mai sarrafa tsaro don amfani da haɗawar JustWorks. Ana yin haka ne don a ɓoye haɗin. A aikace, ya kamata a yi amfani da kariya ta MITM amma don kiyaye dakin bincike mai sauƙi, za mu yi amfani da JustWorks. Canza kira zuwa sl_bt_sm_configure baya zuwa mai zuwa:
Har ila yau, yi sharhi game da kiran zuwa saitin_mode(gaskiya) a cikin mai sarrafa taron system_boot.
- Buɗe helpers.c daga kayan da aka bayar kuma kwafi abubuwan cikin app.c. Waɗannan ayyukan sake kiran suna yin ayyuka kamar rarraba takaddun shaida ta yadda za a iya aika su akan BLE, tabbatar da sarkar takaddun shaida, da haɓaka/tabbatar ƙalubalen.
- Wajibi ne a ƙayyade matsakaicin girman naúrar canja wuri (MTU) domin a iya raba takaddun shaida kuma a sake haɗa su. Ƙayyade maɓalli na duniya don adana MTU kamar yadda aka nuna a nan:
Sannan ƙara mai kula da taron don taron musayar GATT MTU kamar yadda aka nuna a ƙasa:
- Akwai halayen bayanan mai amfani guda uku waɗanda za a iya karantawa. Ana amfani da waɗannan halayen don sadarwa da takardar shaidar na'urar, takaddun tsari da ƙalubalen. Ana amfani da aikin dawo da kira don ɗaukar waɗannan buƙatun karanta mai amfani. Ƙara mai kulawa don kiran wannan aikin kamar yadda aka nuna a ƙasa:
Kiran dawo yana amfani da MTU daga mataki #2 zuwa yanki kuma aika takaddun shaida kamar yadda ake buƙata. Hakanan yana magance aika ƙalubalen da aka sa hannu.
- Abokin ciniki yana aika ƙalubale, lambar bazuwar da uwar garken za ta sa hannu, ta rubuta ɗaya daga cikin halayen GATT. Don haka, aikace-aikacen yana buƙatar samun mai kula da mai amfani ya rubuta taron buƙatun kamar ƙasa:
- Ƙara amintaccen tallafi na ainihi files zuwa aikin:
- app_se_manager_macro.h, app_se_manager_secure_identity.c da app_se_secure_identity.h daga kayan da aka bayar zuwa aikin. Wadannan files sun ƙunshi wasu ayyuka na taimako don ayyuka kamar samun girman takardar shaidar, samun maɓallin jama'a na na'urar da sanya hannu kan ƙalubale.
- Haɗa app_se_manager_secure_identity.h a cikin app.c.
- Shigo gatt_configuration-attest.btconf da aka bayar daga kayan da aka bayar. Wannan bayanan GATT da ake kira amintaccen shaida wanda ya haɗa da halaye guda huɗu waɗanda za a yi amfani da su don tantance ainihin na'urarmu. Waɗannan sun haɗa da takardar shaidar na'urar, takaddun tsari, ƙalubale da amsawa.
- Abokin ciniki, wanda ake amfani da shi don siffanta na'ura kamar ƙofa, an samar da shi a matsayin cikakken aikin tun da ya fi rikitarwa don ginawa. Gabaɗaya, aikin abokin ciniki shine kamar haka:
- Binciken na'urori masu tallata amintaccen sabis na shaida kuma yana haɗa su.
- Yana gano ayyukan GATT da halaye.
- Yana karanta na'urar da takaddun batch da kuma tabbatar da sarkar takardar shaida ta amfani da masana'anta da tushen takardar shaidar da ta adana a cikin walƙiya.
- Yana aika ƙalubalen bazuwar zuwa uwar garken.
- Ƙoƙarin tabbatar da martani ga ƙalubalen.
- Yana rufe haɗin kai idan ko ɗaya tabbaci ya gaza.
- Gina kuma kunna aikin uwar garken zuwa uwar garken WSTK/allon rediyo.
- Shigo da aikin abokin ciniki daga babban fayil ɗin abokin ciniki a cikin kayan da aka bayar. Gina kuma kunna aikin abokin ciniki zuwa WSTK/allon rediyo.
- Latsa sake saiti a kan abokin ciniki WSTK kuma buɗe serial console. Abokin ciniki ya fara bincika na'urori masu tallata amintaccen sabis na ainihi kuma zai haɗa lokacin da ya sami ɗaya.
- Abokin ciniki zai nuna wasu saƙonni don nuna cewa ya sami uwar garken tare da sabis ɗin da ake so da saƙon matsayi game da tabbatar da sarkar takaddun shaida.
- Idan tabbatarwa ta wuce, abokin ciniki zai samar da lambar bazuwar, wanda ake kira ƙalubale, kuma ya aika zuwa uwar garken. Sabar za ta sanya hannu kan ƙalubalen tare da amintaccen maɓallin na'urar sa mai zaman kansa da kuma sa hannun abokin ciniki, ana kiran wannan amsa kalubale. Sannan abokin ciniki yana amfani da maɓallin jama'a a cikin takardar shaidar na'urar da aka karɓa a baya don tabbatar da sa hannun. Anyi wannan don tabbatar da cewa uwar garken yana da maɓalli na sirri da gaske wanda ya yi iƙirarin yana da shi. Idan an tabbatar da ƙalubalen daidai, ana nuna saƙo don haka; in ba haka ba, haɗin yana rufe, kuma ana nuna saƙo yana bayyana dalilin.
- Yanzu aika takardar shaidar da ba ta aiki ba don tabbatar da cewa tabbacin yana aiki da gaske. Kuna iya canza user_read_request_cb() don lalata ko dai bayanan takaddun shaida ko amsa ƙalubalen.
Karin Bayani A - Ƙarfin I/O da Hanyoyin Haɗawa 
Shafi B - Yanayin Tsaro da Matakan
Yanayin tsaro 1 shine kawai yanayin da ke goyan bayan Ƙaramar Makamashi ta Bluetooth a cikin tarin Silicon Labs. Matakan sune kamar haka:
- Level 1 babu tsaro
- Mataki na 2 haɗe-haɗe mara inganci tare da ɓoyewa
- Level 3 ingantattun haɗe-haɗe tare da ɓoyewa
- Level 4 ingantattun amintattun hanyoyin haɗin gwiwa tare da ɓoyayyen ɓoye (musayar maɓallin ECDH)
Takardu / Albarkatu
![]() |
silabs 21Q2 amintaccen na'urar BLE Tsaro Lab [pdf] Manual mai amfani 21Q2 amintaccen na'urar BLE Tsaro Lab, amintaccen na'urar BLE Tsaro Lab, Tsaro Lab |