Բովանդակություն:

Windows Bluetooth համակարգի վերլուծություն - սենսորային պիտակի մոտեցում. 7 քայլ (նկարներով)
Windows Bluetooth համակարգի վերլուծություն - սենսորային պիտակի մոտեցում. 7 քայլ (նկարներով)

Video: Windows Bluetooth համակարգի վերլուծություն - սենսորային պիտակի մոտեցում. 7 քայլ (նկարներով)

Video: Windows Bluetooth համակարգի վերլուծություն - սենսորային պիտակի մոտեցում. 7 քայլ (նկարներով)
Video: Edge Server Computing Demystified: IT Admins and the Network Revolution 2024, Հուլիսի
Anonim
Windows Bluetooth համակարգի վերլուծություն - SensorTag մոտեցում
Windows Bluetooth համակարգի վերլուծություն - SensorTag մոտեցում

Հետևյալում ես Windows օպերացիոն համակարգի (ՕՀ) վերլուծություն կանեմ Bluetooth Low Energy սարքերի հետ հաղորդակցության տեսանկյունից ՝ մեր դեպքում ՝ տարբեր տեսակի SensorTags- ի դեպքում ՝ Thunderboard React, Thunderboard Sense (երկուսն էլ արտադրված են Silicon Labs- ի կողմից Company), CC2650STK և CC2541DK (երկուսն էլ մշակվել են Texas Instruments Company- ի կողմից):

Քայլ 1. Windows Bluetooth համակարգի վերլուծություն. SensorTag մոտեցում

Windows Bluetooth համակարգի վերլուծություն - SensorTag մոտեցում
Windows Bluetooth համակարգի վերլուծություն - SensorTag մոտեցում

Հետևյալում ես Windows օպերացիոն համակարգի (ՕՀ) վերլուծություն կանեմ Bluetooth Low Energy սարքերի հետ հաղորդակցության տեսանկյունից - մեր դեպքում ՝ տարբեր տեսակի SensorTags- ի դեպքում. Thunderboard React, Thunderboard Sense (երկուսն էլ արտադրված են Silicon Labs- ի կողմից Company), CC2650STK և CC2541DK (երկուսն էլ մշակվել են Texas Instruments Company- ի կողմից):

Հետևյալը, ես կվերլուծեմ Windows 7 -ը, Windows 8.1 -ը և Windows 10 -ի հետևյալ տարբերակները.

· Հոբելյանական թարմացում (թողարկվել է 2016 թ. Օգոստոսի 2 -ին. Աջակցության ավարտը `նախնական 2018 թ. Մարտ), · Creators Update (թողարկվել է 2017 թվականի ապրիլի 5 -ին. Աջակցության ավարտը ՝ նախնականապես 2018 թվականի սեպտեմբեր) և

· Fall Creators Update (թողարկվել է 2017 թվականի հոկտեմբերի 17 -ին, աջակցության ավարտը ՝ նախնական ՝ 2019 թվականի մարտ):

Վերլուծությունը կկատարվի հետևյալ տեսանկյուններից.

1. Օպերացիոն համակարգի (ՕՀ) ունակությունը SensorTag- ի հետ զուգակցվելու;

2. Ընդհանուր մուտքի տվյալներ ստանալու հնարավորություն (սա պարտադիր ծառայություն է);

3. Սարքի մասին տեղեկատվություն ստանալու ունակություն (այս ծառայությունը բացահայտում է արտադրողի և/կամ վաճառողի մասին տեղեկատվությունը ՝ կապված որոշակի SensorTag- ի հետ);

4. SensorTag- ի տվյալները ստանալու ունակությունը `օգտագործելով ընթերցման մոտեցումը և

5. SensorTag- ի տվյալները ստանալու հնարավորություն `օգտագործելով ծանուցման մոտեցումը:

Բոլոր թեստերն արվել են օրհնության նշաններ հավելվածի 9.7.8.0 տարբերակի միջոցով: Օրհնության նշաններ հավելվածը ստեղծվել է որպես Windows SDK- ի աջակցություն `Bluetoothapis: Օգտագործվել են այնպիսի գործառույթներ, ինչպիսիք են BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices կամ BluetoothGATTSetCharacteristicValue:

Այս ծրագիրը ՝ օրհնված (BLE SensorTags) հավելվածը, կարելի է ներբեռնել Windows Store հավելվածներից ՝ https://www.microsoft.com/store/apps/9p054xsjjr1n: Լրացուցիչ տեղեկությունների, ցուցադրման, գործնական ծրագրերի, օրինակների և այլնի համար այցելեք հետևյալ բլոգը ՝

Քայլ 2. Windows 10 - Հոբելյանական թարմացում - տարբերակ 1607

Image
Image

Windows 10 օպերացիոն համակարգի այս տարբերակը լավագույնն է ՝ Bluetooth Low Energy սարքերի տեսանկյունից: Այն կարող է առանց որևէ խնդրի զուգակցվել բոլոր SensorTag- երի հետ (անկախ դրանց վրա աշխատող ծրագրակազմի տարբերակից), որոնցով begTags հավելվածը գիտի ինչպես աշխատել (CC2650STK, Thunderboard React, Thunderboard Sense և CC2541DK) և Bluetooth- ի ծառայություններից ստացված բոլոր տեղեկությունները Մուտք և ձեռք բերեք սարքի մասին տեղեկատվությունը ձեռք է բերվում առանց որևէ խնդրի:

Տվյալների ստացման արագությունը (CC2650STK և CC2541DK սարքերի համար) վերլուծելով տվյալների փոխանցման ծանուցման և ընթերցման մեխանիզմը, կարող ենք նկատել հետևյալը.

1. ծանուցման մեխանիզմի միջոցով մենք կարող ենք տվյալներ ստանալ բոլոր սենսորներից (ութից) 150 [ms] - ից 150 [ms] ՝ առանց որևէ խնդիրների;

2. փոխարենը, երբ ձեռքբերման ժամանակը սահմանում ենք 150 [ms] և օգտագործում ենք տվյալների ընթերցման մեխանիզմը. Ամենաերջանիկ իրավիճակում մենք ստանում ենք 713 [ms], իսկ վատագույն դեպքում ՝ 840 [ms]:

Եթե մենք վերլուծենք Thunderboard React- ը և Thunderboard Sense- ը, մենք կստանանք համարժեք արդյունքներ. Դրանք աշխատում են առանց որևէ խնդրի Windows 10 -ի տարեդարձի թարմացման միջավայրում:

Իրականում, begTags հավելվածի հիմնական գործառույթների և տարբեր հատուկ գործառույթների (օրինակ ՝ գաջեթների) բոլոր շնորհանդեսային ֆիլմերը պատրաստվել են Windows 10 -ի տարեդարձի թարմացման աջակցությամբ:

Քայլ 3. Windows 10 - Creators Update - տարբերակ 1703

Windows 7
Windows 7

Windows 10 -ի Creators Update տարբերակը ամենավատ օպերացիոն համակարգն է (ՕՀ) ՝ Bluetooth Low Energy սարքերի տեսանկյունից:

Գրեթե ոչինչ չի աշխատում: Microsoft- ը ընդունեց, որ Creators Update- ը խափանել է Bluetooth Low Energy- ը (տեղեկանք 1 և տեղեկանք 2): Microsoft ընկերությունը որքան հնարավոր է շուտ խոստացավ թեժ ուղղում: Բայց դրանից հետո նրանք թողարկեցին Windows- ի թարմացված տարբերակը (Fall Creators Update) և ոչինչ տեղի չունեցավ. Մինչ այժմ Windows 10 Creators Update- ի տարբերակում, Bluetooth Low Energy- ը դեռ չի աշխատում:

Ֆորումներում կան բազմաթիվ գրառումներ, որոնցում տարբեր մարդիկ բողոքում են տարբեր տեսակի Bluetooth սարքերից, որոնք Creators Update- ի թարմացումից հետո դադարում են աշխատել (տե՛ս այստեղ, տե՛ս այստեղ, տե՛ս այստեղ, տե՛ս այստեղ և այլն):

Արդյունքները, որոնք ես անմիջապես ցույց կտամ, ստացվել են բազմաթիվ փորձարկումներից հետո. (1) աշխատասեղանի վրա, որն ուներ CSR4.0 Bluetooth USB միակցիչ (CSR8510 A10) և (2) Dell Inspiron P66F նոութբուքի վրա ինտեգրված Bluetooth LE սարք: Ես գիտեմ, որ ինտերնետում կան բազմաթիվ լուծումներ ՝ Bluetooth- ի մի քանի տեսակի խնդիրներ լուծելու համար: Ես փորձեցի գրեթե բոլորը, բայց ոչինչ չաշխատեց (թարմացրեք Bluetooth- ի վարորդը, գործարկեք Windows- ի անսարքությունը, անջատեք և միացրեք Bluetooth- ի հետ կապված ծառայությունները և այլն)

Այսպիսով, եկեք ներկայացնենք արդյունքները.

1. CC2650STK:

ա Firmware 1.40 տարբերակի վրա SensorTag սարքը Windows- ի հետ զուգակցելն անհնար է (ես մի քանի անգամ կրկնում էի գործընթացը, առնվազն 8-10 անգամ, միացնում և անջատում էի Bluetooth- ը և նորից փորձում էի. Արդյունքները նույնն էին. Անհնար էր ավելացնել այս սարքը):

բ. Որոնվածը 1.20 տարբերակի վրա, համակարգիչը հայտնաբերեց SensorTag- ը, և ես կարողացա SensorTag- ը զուգակցել ԱՀ -ի հետ:

Բացի այդ, ես կարողացա ստանալ ընդհանուր մուտքի տվյալներ: Բայց, Get Device Information ծառայությունում, 9 բնութագրերից պատասխանեց միայն 6 -ը, և միայն նրանցից հնարավոր եղավ տեղեկատվություն ստանալ:

Փոխարենը, ես չեմ կարող կարգավորել սարքը և չեմ կարող սենսորներից տվյալներ վերցնել ոչ ընթերցման մեխանիզմով, ոչ էլ ծանուցումների միջոցով:

2. Thunderboard React:

Օպերացիոն համակարգը տարօրինակ պահվածք ունի, երբ զուգավորման գործընթացը սկսվում է: Հայտնաբերված սարքերի ցանկում SensorTag- ը հայտնվում և անհետանում է (1… 1,5 վրկ ժամանակահատվածով): Ի վերջո, երբ մկնիկի կտտոցը հաջողվում է SensorTag- ում, զուգավորման գործընթացը կատարվում է, և Thunderboard React- ի LED- ները (կապույտը և կանաչը) ունենում են մի շրջան, երբ դրանք հաջորդաբար փայլում են ոչ տիպիկ ռեժիմում:

Ընդհանուր հասանելիության ծառայության (0x1800) բնութագրերի ընթերցումը կարող է կատարվել առանց որևէ խնդրի, սակայն Սարքի տեղեկատվական ծառայությունից (0x180A) ընթերցումը չի համապատասխանում առկա չորս բնութագրերին:

Սենսորների կարգավորում (ներդրված SensorTag- ում), տվյալների ձեռքբերման եղանակ (Thunderboard React- ում դուք ունեք միայն հետևյալ հնարավորությունը. (1) 3 սենսորներից ծանուցման միջոցով տվյալներ ստանալու և (2) մյուս չորս տվիչներից տվյալներ կարդալու) անհնար է Հետևաբար, սենսորներից փաստացի տվյալներ ստանալու անհնարինությունը բխում է անմիջապես այստեղից:

3. Thunderboard Sense:

Նույն զարկերակային գործընթացը, որը դիտվում էր Thunderboard React- ի դեպքում, պարզվեց, որ գոյություն ունի նաև Thunderboard Sense- ի դեպքում, երբ մենք ցանկանում ենք հասնել զուգավորման գործընթացին: Բայց այստեղ ամեն ինչ ավելի վատ է. Զուգավորումից հետո begTag ծրագիրը չի կարող հայտնաբերել SensorTag- ը: Այսպիսով, ոչ մի ակտիվ սարք - ոչ մի մարմին, որտեղից տվյալները ձեռք բերելու օրհնության նշանների դիմումը:

4. CC2541DK:

Վարքագիծը նույնական է CC2650STK- ի (որոնվածի տարբերակ 1.40) վարքագծին: Միացման յուրաքանչյուր փորձի ժամանակ դուք կստանաք հետևյալ սխալի հաղորդագրությունը. «Փորձեք նորից միացնել ձեր սարքը»:

Այսպիսով, որպես վերջաբան, Windows 10 -ի այս տարբերակում (Creators Update) անհնար է շփվել վերը նշված չորս տեսակի SensorTags- ի որևէ մեկի հետ: Հետևաբար, ես նշում եմ (ևս մեկ անգամ), որ այստեղ ես օգտագործել եմ նույն ծրագրաշարի տարբերակը, որն օգտագործել եմ նաև Windows 10 -ի տարեդարձի թարմացման վրա կատարված բոլոր թեստերում:

Քայլ 4: Windows 10 - Fall Creators Update - տարբերակ 1709

Image
Image

Windows 10 -ի այս տարբերակը (1709 - OS Build 16299.19) հսկայական առաջընթաց է ՝ համեմատած Windows 10 Creators Update- ի հետ (BLE- ով գրեթե ոչինչ չի աշխատում), բայց դեռ երկար ճանապարհ ունի Windows 10 -ի տարեդարձի թարմացման մակարդակին հասնելու համար: (1607) օպերացիոն համակարգ:

Բայց եկեք տեսնենք, թե ինչու եմ ես արել այս հայտարարությունը.

1. CC2650STK (որոնվածի տարբերակ 1.40) և CC2541DK:

Այս երկու սարքերին ես այստեղ միաժամանակ կբուժեմ, քանի որ Windows 10 (1709) օպերացիոն համակարգի հետ կապված նրանց պահվածքը նման է:

Iringուգավորման գործողությունը և ընթերցումը ՝ Ընդհանուր հասանելիության և սարքի տեղեկատվական ծառայություններից, հիանալի են աշխատում ՝ առանց որևէ խնդիրների:

Խնդիրները ծագում են միայն այն ժամանակ, երբ մենք ցանկանում ենք կարդալ տեղեկությունները սենսորներից: Ificationsանուցումների միջոցով տվյալների փոխանցման մեխանիզմն ընդհանրապես չի գործում:

SensorTag- ում տեղադրված տվիչներից տվյալներ ստանալու միակ միջոցը սարքից ուղղակի ընթերցման մեխանիզմի միջոցով է: Այս մոտեցումը երկու խնդիր ունի. հարցաքննվել է միայն ծանուցման մեխանիզմի միջոցով: Windows 10 (1709) ՕՀ -ի այս «հնարավորության» շնորհիվ begTags հավելվածն իրագործում է ՝ սկսած 9.7.8.0 տարբերակից, տվյալների ձեռքբերման ընթերցման մեթոդը նույնպես:

Խնդիր է հայտնվում CC2650STK SensorTag- ի հետ, որն ունի որոնվածի 1.20 տարբերակ: Եթե Generic Access ծառայությունից տվյալների զուգավորման և ընթերցման գործընթացը շատ լավ է աշխատում, Սարքի տեղեկատվական ծառայություններից ընթերցման գործընթացը անհնար է: Ավելին, կարդացող սենսորները (այս SensorTag- ից այս որոնվածի տարբերակով) չեն գործում երկու հնարավոր մեխանիզմներից որևէ մեկի միջոցով (ընթերցում կամ ծանուցում):

2. Thunderboard React:

Նույն ռեժիմում, ինչպես Windows 10 Creators Update- ում, SensorTag- ը հայտնվում և անհետանում է, երբ մենք ցանկանում ենք ավելացնել նոր Bluetooth սարք: Նույն վարքագիծը կարելի է ընդգծել Bluetooth- ի արագ գործողության կոճակի գործողությունների կենտրոնում, եթե «Միացված չէ» և «Thunderboard React» - ը բազմիցս ցուցադրվում են (խնդրում ենք տեսնել հետևյալ ֆիլմում այս գործընթացը սկսած ժամանակի ինդեքսից 5,14 վրկ): Անմիջապես կարող ենք եզրակացնել որ Thunderboard React- ը մեղավոր է, հիմնականում Silicon Labs- ի ինժեներների կողմից գովազդային մեխանիզմի թերի կիրառման պատճառով: Սակայն, ինտերնետում փնտրելով, մենք կնկատենք, որ Fall Creators- ի տեղադրումից հետո այլ օգտվողներ նույն խնդրի մասին հայտնել են այլ տեսակի BLE սարքերի: Թարմացնել. Օրինակ ՝ դիտել այս ֆիլմը YouTube- ում:

SensorTag- ը զուգակցելուց հետո begTags ծրագիրը չի կարողանում գտնել Thunderboard React սարքը: Այսպիսով, այս պահին ոչինչ չի աշխատում. Generic Access and the Device Տեղեկատվական ծառայություններ կամ տվյալների ձեռքբերում Thunderboard React SensorTag- ում տեղադրված տվիչներից:

3. Thunderboard Sense:

Պահելու ռեժիմը նման է Thunderboard React- ի եղանակին: Այս Bluetooth սարքը բազմիցս ցուցադրվում և անհետանում է: Երբ զուգավորման գործընթացը հաջողվեց, հնարավոր է տվյալներ վերցնել Ընդհանուր մուտքի ծառայությունից: Բայց այս պահից ոչինչ այլևս չի աշխատում:

Որպես վերջաբան, այժմ Windows 10 Fall Creators Update- ի (1709, կառուցել 16229.19) վրա աշխատում են միայն TI- ի (CC2650STK և CC2541DK) արտադրած SensorTags- ը: Ավելին, նրանք աշխատում են միայն ընթերցման ռեժիմում: Բայց ուշադրություն! Այս ռեժիմում կաշխատի միայն CC2650STK որոնվածի 1.40 տարբերակը: Unfortunatelyավոք, CC2650STK գնելիս դուք շատ մեծ հնարավորություն ունեք սարքը վերցնել որոնվածի 1.20 վերանայմամբ: Այսպիսով, SensorTag- ի նման տիպի հետ բարելավելու համար անհրաժեշտ է առնվազն որոնվածի 1.40 տարբերակին:

Այս քայլի հետ կապված, ես ներկայացնում եմ մի ֆիլմ, որն ապացուցում է Windows 10 Fall Creators Update- ի վերը նշված բոլոր հայտարարությունները:

Windows 10 Fall Creators Update- ի (թողարկում ՝ 16229.19) առաջին թողարկումից ի վեր ՝ 2017 թվականի հոկտեմբերի 17 -ին, Bluetooth LE- ի հետ կապված որևէ բարելավում կամ սխալ ուղղում չի եղել մինչև KB4054517 (թողարկվել է 2017 թվականի դեկտեմբերի 12 -ին): KB4054517 (OS Build 16299.125) համակարգում կա հիմնական փոփոխություն Bluetooth LE- ում (տես այստեղ). Քանի որ այս հաղորդագրությունը շատ գաղտնի է, ես որոշեցի վերսկսել մինչ այժմ արված իմ բոլոր վերլուծությունները և տեսնել, թե արդյոք բարելավումներ կան Windows 10 Fall Creators Update- ի առաջին թողարկման համեմատ (կառուցել 16229.19): … Եվ մի փոքր անակնկալ, հենց հիմա ես կարող եմ ստանալ. (1) տվյալներ Thunderboard Sense- ից (SensorTag- ում տեղադրված սենսորներից, բայց միայն ընթերցման մեխանիզմով) և (2) Generic Access and Device Information ծառայությունների ամբողջ տեղեկատվությունը. Այլ բարելավումներ չկան:

Քայլ 5: Windows 8

Որպես առաջին Microsoft OS ՝ BLE աջակցությամբ, իրականացումը գոհացուցիչ է, բայց դա շատ հեռու է գերազանց: Այս օպերացիոն համակարգով աշխատող միակ սարքերը CC2650STK և CC2541DK են:

Ձեռքբերման ժամանակը սահմանելով 150 [ms], CC2650STK- ի համար մենք կարող ենք ստանալ տվյալները (բոլոր ներկառուցված սենսորներից) ՝ համապատասխանելով 150 [ms] նմուշառման արագությանը, առանց որևէ խնդիրների ծանուցման մեխանիզմի: Unfortunatelyավոք, օգտագործելով CCC2650STK ընթերցման մեխանիզմը, մենք կարող ենք տվյալներ ստանալ (բոլոր տվիչներից) 2 վայրկյան տևողությամբ:

Իրավիճակը վատթարանում է, երբ խոսքը CC2541DK- ի մասին է: Notificationանուցման մեխանիզմի միջոցով տվյալները ստացվում են 0.4… 0.6 վայրկյան ժամանակահատվածով: Ընթերցանության մեխանիզմն օգտագործելիս մենք կարող ենք վերականգնել տվյալները 2.8… 3 վայրկյան տատանումներով: Պայմանները նույնն են ՝ 150 [ms] ձեռքբերման ժամանակահատված CC2541DK SensorTag- ում տեղադրված բոլոր տվիչներից:

Քայլ 6: Windows 7

Microsoft ընկերությունը ավելացրել է աջակցություն Bluetooth Low Energy (BLE) բուրգին ՝ սկսած Windows 8 օպերացիոն համակարգից: Նրանք տրամադրել են API, որը հնարավորություն է տալիս դիմումներին մուտք գործել BLE սարքեր:

Բայց Microsoft- ը BLE API- ները չի տեղափոխել Windows 7: Windows 7-ի ներկառուցված հավաքածուն աջակցում է միայն Bluetooth 2.1/3.0 տարբերակին, BLE- ի համար աջակցություն չկա (4.0, 4.1 կամ 4.2): Այսպիսով, մշակողի տեսանկյունից անհնար է Windows 7 -ում հաղորդակցվել Windows 7 -ի բուրգով BLE սարքի հետ:

TI ընկերությունն ունի BLE սարքի մոնիտոր ծրագիր, որն ունակ է `(1) աշխատելու Windows 7 -ով և (2) SensorTag- ի հետ հաղորդակցվելու համար: Բայց դրանց համար դուք պետք է օգտագործեք հատուկ USB dongle (օրինակ ՝ CC2540 Bluetooth Low Energy USB): Եթե USB բևեռի աղբյուրի կոդը անվճար է, ապա BLE սարքի մոնիտորի աղբյուրի կոդը հասանելի չէ. Այն նախատեսված է միայն TI ընկերության ներքին օգտագործման համար:

Քայլ 7: Եզրակացություններ

Եզրակացություններ
Եզրակացություններ

Windows 10 -ի տարեդարձի թարմացումը (տարբերակ 1607) Microsoft- ի կողմից երբևէ պատրաստված Windows- ի լավագույն տարբերակն է ՝ Bluetooth Low Energy (BLE) սարքերի տեսանկյունից ՝ մեր դեպքում SensorTags: Ակնհայտ է, որ դա նաև պայմանավորված է զգալի թվով բարելավումներով, որոնք տեղի են ունեցել Bluetooth LE մակարդակում հետևյալ OS կառուցվածքներում (տե՛ս լրացուցիչ տեղեկությունների համար ՝ https://support.microsoft.com/hy-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 և 14393.1083:

Օրհնության նշաններ (BLE SensorTags) ծրագիրը կարելի է ներբեռնել Windows Store հավելվածներից ՝ https://www.microsoft.com/store/apps/9p054xsjjr1n: Լրացուցիչ տեղեկությունների, ցուցադրման, գործնական ծրագրերի, օրինակների և այլնի համար այցելեք հետևյալ բլոգը ՝

Սինթեզելով վերը նշված բոլոր արդյունքները, մենք կստանանք այս քայլի հետ կապված աղյուսակը:

Խորհուրդ ենք տալիս: