Përmbajtje:

Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag: 7 hapa (me fotografi)
Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag: 7 hapa (me fotografi)

Video: Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag: 7 hapa (me fotografi)

Video: Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag: 7 hapa (me fotografi)
Video: CS50 2013 - Week 9, continued 2024, Nëntor
Anonim
Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag
Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag

Në vijim, unë do të bëj një analizë të sistemit operativ Windows (OS) nga pikëpamja e komunikimit me pajisjet Bluetooth me Energji të Ulët - në rastin tonë me lloje të ndryshme të SensorTags: Thunderboard React, Thunderboard Sense (të dyja të prodhuara nga Silicon Labs Company), CC2650STK dhe CC2541DK (të dyja të zhvilluara nga Texas Instruments Company).

Hapi 1: Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag

Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag
Analiza e Sistemit Bluetooth të Windows - një Qasje SensorTag

Në vijim, unë do të bëj një analizë të sistemit operativ Windows (OS) nga pikëpamja e komunikimit me pajisjet Bluetooth me Energji të Ulët - në rastin tonë me lloje të ndryshme të SensorTags: Thunderboard React, Thunderboard Sense (të dyja të prodhuara nga Silicon Labs Company), CC2650STK dhe CC2541DK (të dyja të zhvilluara nga Texas Instruments Company).

Në vijim, unë do të analizoj Windows 7, Windows 8.1 dhe versionet e mëposhtme të Windows 10:

· Përditësimi i përvjetorit (lëshuar më 2 gusht 2016; fundi i mbështetjes: paraprakisht mars 2018), · Përditësimi i Krijuesve (lëshuar më 5 Prill 2017; fundi i mbështetjes: paraprakisht Shtator 2018) dhe

· Përditësimi i Fall Creators (lëshuar më 17 tetor 2017; fundi i mbështetjes: paraprakisht Mars 2019).

Analiza do të bëhet nga këndvështrimet e mëposhtme:

1. Aftësia e sistemit operativ (OS) për tu çiftuar me një SensorTag;

2. Aftësia për të marrë të dhëna Generic Access (ky është një shërbim i detyrueshëm);

3. Aftësia për të marrë informacionin e pajisjes (ky shërbim ekspozon informacionin e prodhuesit dhe/ose shitësit në lidhje me një SensorTag të veçantë);

4. Aftësia për të marrë të dhënat e SensorTag, duke përdorur qasjen e leximit dhe

5. Aftësia për të marrë të dhënat e SensorTag, duke përdorur qasjen e njoftimit.

Të gjitha testet u bënë duke përdorur versionin 9.7.8.0 të aplikacionit beqTags. Aplikacioni bekTags u ndërtua duke pasur si mbështetje Windows SDK - Bluetoothapis. U përdorën funksione si BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices ose BluetoothGATTSetCharacteristicValue.

Ky aplikacion, bekimiTags (BLE SensorTags), mund të shkarkohet nga Aplikacionet e Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Për më shumë informacion, demonstrim, aplikime praktike, shembuj etj. Ju lutemi vizitoni blogun e mëposhtëm:

Hapi 2: Windows 10 - Përditësimi i përvjetorit - Versioni 1607

Image
Image

Ky version i sistemit operativ Windows 10 është më i miri, nga pikëpamja e pajisjeve Bluetooth me Energji të Ulët. Mund të çiftohet pa asnjë problem me të gjithë SensorTags (pavarësisht nga versioni i softuerit që funksionon në to), me të cilin aplikacioni beqTags di të funksionojë (CC2650STK, Thunderboard React, Thunderboard Sense dhe CC2541DK), dhe të gjitha informacionet nga Shërbimet e Bluetooth Merrni të përgjithshme Qasja dhe marrja e informacionit të pajisjes merret pa asnjë problem.

Duke analizuar shpejtësinë e marrjes së të dhënave (për pajisjet CC2650STK dhe CC2541DK) duke përdorur mekanizmin njoftues dhe lexues të transferimit të të dhënave, ne mund të vëzhgojmë sa vijon:

1. përmes mekanizmit të njoftimit, ne mund të marrim të dhëna nga të gjithë sensorët (tetë) nga 150 [ms] në 150 [ms] pa asnjë problem;

2. në vend të kësaj, kur vendosim kohën e marrjes në 150 [ms] dhe përdorim mekanizmin e leximit të të dhënave - në situatën më të lumtur, marrim 713 [ms] dhe në rastin më të keq, marrim 840 [ms].

Nëse do të analizojmë Thunderboard React dhe Thunderboard Sense, do të marrim rezultate ekuivalente - ato funksionojnë pa asnjë problem në mjedisin e Windows 10 Anniversary Update.

Në fakt, të gjithë filmat prezantues të funksioneve kryesore të aplikacionit beqTags dhe veçorive të ndryshme specifike (si Gadgets) janë bërë me mbështetjen e Përditësimit të Përvjetorit të Windows 10.

Hapi 3: Windows 10 - Përditësimi i krijuesve - Versioni 1703

Windows 7
Windows 7

Versioni Creator Update i Windows 10 është sistemi operativ më i keq (OS) nga pikëpamja e pajisjeve Bluetooth me Energji të Ulët.

Pothuajse asgjë nuk funksionon. Microsoft pranoi që Përditësimi i Krijuesve prishi Bluetooth me Energji të Ulët (referenca 1 dhe referenca 2). Kompania Microsoft premtoi një rregullim të shpejtë sa më shpejt të jetë e mundur. Por që atëherë ata kanë lëshuar një version të përditësuar të Windows (Fall Creators Update) dhe asgjë nuk ka ndodhur - deri më tani brenda versionit Windows 10 Creators Update, Bluetooth Low Energy ende nuk funksionon.

Ekziston një numër i madh i postimeve në forume në të cilat njerëz të ndryshëm ankohen në lidhje me lloje të ndryshme të pajisjeve Bluetooth që ndalojnë së punuari pas azhurnimit në Creators Update (shiko këtu, shiko këtu, shiko këtu, shiko këtu etj.).

Rezultatet, që do të tregoj menjëherë, u morën pas shumë testeve: (1) në një kompjuter desktop që kishte një dongle USB CSR4.0 Bluetooth (CSR8510 A10) dhe (2) në një laptop Dell Inspiron P66F me një pajisje e integruar Bluetooth LE. Unë e di se ka shumë zgjidhje në internet për të rregulluar disa lloje të çështjeve të Bluetooth. Provova pothuajse të gjitha, por asgjë nuk funksionoi (përditësoni drejtuesin Bluetooth, ekzekutoni problemin e Windows, çaktivizoni dhe aktivizoni shërbimet e lidhura me Bluetooth, etj.)

Pra, le të paraqesim rezultatet:

1. CC2650STK:

a Në versionin firmware 1.40 çiftimi i pajisjes SensorTag me Windows është i pamundur (e përsërita procesin disa herë, të paktën 8-10 herë, ndezja dhe fikja Bluetooth-in dhe u përpoqa përsëri-rezultatet ishin të njëjta: ishte e pamundur të shtoni këtë pajisje).

b Në versionin firmware 1.20, kompjuteri zbuloi SensorTag dhe unë isha në gjendje ta çiftoja SensorTag me PC.

Gjithashtu, unë kam qenë në gjendje të marr të dhëna Generic Access. Por, në shërbimin Get Device Information, nga 9 karakteristika u përgjigjën vetëm 6 dhe vetëm prej tyre ishte e mundur të merrte informacion.

Në vend të kësaj, unë nuk mund të vendos pajisjen dhe nuk mund të marr të dhëna nga sensorët as përmes mekanizmit të leximit ose përmes njoftimeve.

2. Thunderboard React:

Sistemi operativ ka një sjellje të çuditshme kur fillon procesi i çiftimit. Në listën e pajisjeve të zbuluara, SensorTag shfaqet dhe zhduket (me një periudhë 1… 1.5 s). Së fundi, kur një klikim i miut të ketë sukses në SensorTag, procesi i çiftimit realizohet dhe LED -të në Thunderboard React (ato blu dhe jeshile) kanë një periudhë kur ato ndizen njëra pas tjetrës në një mënyrë atipike.

Leximi i karakteristikave të Shërbimit të Qasjes së Përgjithshme (0x1800) mund të bëhet pa asnjë problem, por leximi nga Shërbimi i Informacionit të Pajisjes (0x180A) dështon në të katër karakteristikat ekzistuese.

Vendosja e sensorëve (të përfshirë në SensorTag), mënyra e marrjes së të dhënave (në Thunderboard React ju keni vetëm mundësinë e mëposhtme: (1) për të marrë të dhëna përmes njoftimit nga 3 sensorë dhe (2) për të lexuar të dhëna nga katër sensorët e tjerë) eshte e pamundur Prandaj, pamundësia e marrjes së të dhënave aktuale nga sensorët rezulton drejtpërdrejt nga këtu.

3. Thunderboard Sense:

I njëjti proces pulsues, i vëzhguar për Thunderboard React, u zbulua se ishte gjithashtu ekzistues për Thunderboard Sense - kur duam të arrijmë procesin e çiftimit. Por këtu, gjërat janë edhe më keq: pas çiftimit, programi beqTag nuk mund të zbulojë SensorTag. Pra, asnjë pajisje aktive - asnjë entitet nga ku aplikoni bekTags për të marrë të dhënat.

4. CC2541DK:

Sjellja është identike me sjelljen e CC2650STK (versioni i firmware 1.40). Në çdo përpjekje të lidhjes, do të merrni mesazhin e mëposhtëm të gabimit: "Provoni të lidhni përsëri pajisjen tuaj".

Pra, në përfundim, brenda këtij versioni të Windows 10 (Përditësimi i Krijuesve), është e pamundur të komunikosh me asnjë nga katër llojet e SensorTags të theksuara më sipër. Si pasojë, unë përmend (edhe një herë) se këtu kam përdorur të njëjtin version të softuerit që kam përdorur gjithashtu në të gjithë testin e bërë në Windows 10 Anniversary Update.

Hapi 4: Windows 10 - Përditësimi i Krijuesve të Vjeshtës - Versioni 1709

Image
Image

Ky version i Windows 10 (1709 - OS Build 16299.19) është një hap i madh përpara, në krahasim me Windows 10 Creators Update (ishin në BLE pothuajse asgjë nuk funksionon), por ka ende një rrugë të gjatë për të arritur në nivelin e Windows 10 Anniversary Update (1607) sistemi operativ

Por le të shohim pse e bëra këtë deklaratë:

1. CC2650STK (versioni i firmware 1.40) & CC2541DK:

Unë do t'i trajtoj këto dy pajisje këtu njëkohësisht sepse sjellja e tyre në lidhje me sistemin operativ Windows 10 (1709) është e ngjashme.

Operacioni i çiftimit dhe leximi, nga Qasja e Përgjithshme dhe shërbimet e Informacionit të Pajisjes, po funksionojnë në mënyrë perfekte pa asnjë lloj problemi.

Problemet shfaqen vetëm kur duam të lexojmë informacion nga sensorët. Mekanizmi i transferimit të të dhënave përmes njoftimeve nuk funksionon fare.

Mënyra e vetme për të marrë të dhëna nga sensorët, të futur në SensorTag, është me anë të mekanizmit të leximit të drejtpërdrejtë nga pajisja. Kjo qasje ka dy çështje: (1) shpejtësi më të ulët të transferimit të të dhënave (siç kemi treguar më lart) dhe (2) nëse të gjithë sensorët pranojnë njërën nga dy metodat e transferimit të të dhënave (përmes leximit dhe njoftimit), butonat në SensorTag mund të jenë merret në pyetje vetëm përmes mekanizmit të njoftimit. Falë kësaj "veçori" të sistemit operativ Windows 10 (1709), aplikacioni bekTags zbatohet, duke filluar me versionin 9.7.8.0, metoda e leximit edhe për marrjen e të dhënave.

Një problem shfaqet me CC2650STK SensorTag që ka firmware versionin 1.20. Nëse procesi i çiftimit dhe leximit të të dhënave nga shërbimi Generic Access funksionon shumë mirë, procesi i leximit nga shërbimet e informacionit të pajisjes nuk është i mundur. Për më tepër, leximi i sensorëve (nga ky SensorTag me këtë version firmware) nuk funksionon as në njërën nga dy mekanizmat e mundshëm (leximi ose njoftimi).

2. Thunderboard React:

Në të njëjtën mënyrë si në Windows 10 Creators Update, SensorTag shfaqet dhe zhduket kur duam të shtojmë një pajisje të re Bluetooth. E njëjta sjellje mund të theksohet në qendrën e veprimit në butonin e veprimit të shpejtë të Bluetooth nëse "Jo i lidhur" dhe "Thunderboard React" shfaqen në mënyrë të përsëritur (ju lutemi shihni në filmin e mëposhtëm ky proces duke filluar nga indeksi i kohës 5.14 s). Menjëherë mund të përfundojmë se Thunderboard React është fajtor, kryesisht për shkak të zbatimit të gabuar të mekanizmit të reklamimit nga inxhinierët e Silicon Labs. Por, duke kërkuar në internet, do të vërejmë se përdoruesit e tjerë raportuan të njëjtin problem tek llojet e tjera të pajisjeve BLE, pas instalimit të Krijuesve të Rënies Përditësoni - p.sh. shikoni këtë film në YouTube.

Pas çiftimit të SensorTag, aplikacioni beqTags nuk është në gjendje të gjejë pajisjen Thunderboard React. Pra, në këtë pikë asgjë nuk po funksionon: Qasja e Përgjithshme dhe Shërbimet e Informacionit të Pajisjes ose marrja e të dhënave nga sensorët e ngulitur në Thunderboard React SensorTag.

3. Thunderboard Sense:

Mënyra e sjelljes është e ngjashme me atë të Thunderboard React. Kjo pajisje Bluetooth shfaqet dhe zhduket në mënyrë të përsëritur. Kur procesi i çiftimit pati sukses, është e mundur të merren të dhëna nga Shërbimi i Qasjes së Përgjithshme. Por nga kjo pikë, asgjë nuk funksionon më.

Si përfundim, deri tani në Windows 10 Fall Creators Update (1709, ndërtuar 16229.19) vetëm SensorTags të prodhuar nga TI (CC2650STK dhe CC2541DK) po punojnë. Për më tepër, ata po punojnë vetëm në modalitetin e leximit. Por vëmendje! Vetëm versioni 1.40 i firmuerit CC2650STK do të funksionojë në këtë mënyrë. Fatkeqësisht, kur blini një CC2650STK keni një shans shumë të lartë për të marrë një pajisje me rishikimin e firmware 1.20. Pra, për të qenë në gjendje të komunikoni me një lloj të tillë SensorTag një azhurnim është e nevojshme të paktën në versionin e firmware 1.40.

I lidhur me këtë hap, unë paraqes një film që dëshmon të gjitha këto deklarata të bëra më lart për Windows 10 Fall Creators Update.

Që nga lëshimi i parë i Windows 10 Fall Creators Update (ndërtuar 16229.19), më 17 tetor 2017, nuk ka pasur përmirësime ose korrigjime të gabimeve në lidhje me Bluetooth LE deri në KB4054517 (lëshuar më 12 dhjetor 2017). Në KB4054517 (OS Build 16299.125) ka një ndryshim kryesor në Bluetooth LE (shiko këtu): "Adreson çështjen me pajisjet e personalizuara Bluetooth që nuk mbështesin lidhjen". Meqenëse ky mesazh është shumë i fshehtë, kam vendosur të rinis të gjitha analizat e mia të bëra deri më tani dhe të shoh nëse ka ndonjë përmirësim në krahasim me lëshimin e parë të Windows 10 Fall Creators Update (ndërtuar 16229.19). … Dhe një surprizë e vogël, tani jam në gjendje të marr: (1) të dhëna nga Thunderboard Sense (nga sensorët e ngulitur në SensorTag por vetëm përmes mekanizmit të leximit) dhe (2) të gjithë informacionin nga shërbimet e përgjithshme të aksesit dhe informacionit të pajisjes Me Nuk ka përmirësime të tjera.

Hapi 5: Windows 8

Si një sistem operativ i parë Microsoft me mbështetje BLE, zbatimi është i kënaqshëm, por është shumë larg të jetë një i shkëlqyer. Pajisjet e vetme që punojnë me këtë sistem operativ janë CC2650STK dhe CC2541DK.

Duke vendosur kohën e marrjes në 150 [ms], për CC2650STK, ne mund të marrim të dhënat (nga të gjithë sensorët e ngulitur), duke respektuar normën e marrjes së mostrës 150 [ms], përmes mekanizmit të njoftimit pa asnjë problem. Fatkeqësisht, duke përdorur mekanizmin e leximit CCC2650STK, ne mund të marrim të dhëna (nga të gjithë sensorët) me një periudhë prej 2 sekondash.

Situata po përkeqësohet kur po flasim për CC2541DK. Përmes mekanizmit të njoftimit, të dhënat merren me një periudhë prej 0.4… 0.6 sekonda. Ndërsa përdorim mekanizmin e leximit, ne mund t'i marrim të dhënat me një periudhë luhatëse prej 2.8… 3 sekondash. Kushtet janë të njëjta: periudha e marrjes 150 [ms] nga të gjithë sensorët e përfshirë në CC2541DK SensorTag.

Hapi 6: Windows 7

Kompania Microsoft ka shtuar mbështetjen për stivën Bluetooth Low Energy (BLE) duke filluar me sistemin operativ Windows 8. Ata kanë siguruar një API e cila u mundëson aplikacioneve qasje në pajisjet BLE.

Por Microsoft nuk i ka transferuar API-të e BLE në Windows 7. Stivi i integruar i Windows 7 mbështet vetëm versionin Bluetooth 2.1/3.0, nuk ka mbështetje për BLE (4.0, 4.1 ose 4.2). Pra, nga pikëpamja e një zhvilluesi është e pamundur të komunikosh, në Windows 7, me një pajisje BLE duke përdorur pirgun e Windows 7.

Kompania TI ka një program të quajtur BLE Device Monitor që është në gjendje: (1) të funksionojë në Windows 7 dhe (2) të komunikojë me një SensorTag. Por ju duhet të përdorni për to një dongle speciale USB (p.sh. CC2540 USB me energji të ulët USB). Nëse kodi burimor për baterinë USB është falas, kodi burim për Monitorin e Pajisjes BLE nuk është i disponueshëm - është vetëm për përdorim të brendshëm të kompanisë TI.

Hapi 7: Përfundimet

Përfundimet
Përfundimet

Përditësimi i Përvjetorit të Windows 10 (Versioni 1607) është versioni më i mirë i Windows i bërë ndonjëherë nga Microsoft nga pikëpamja e pajisjeve Bluetooth Low Energy (BLE) - SensorTags në rastin tonë. Natyrisht, kjo është gjithashtu për shkak të numrit të konsiderueshëm të përmirësimeve që ndodhën në nivelin Bluetooth LE në ndërtimet e mëposhtme të OS (shih për më shumë informacion: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 dhe 14393.1083.

Aplikacioni bekTags (BLE SensorTags) mund të shkarkohet nga Aplikacionet e Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Për më shumë informacion, demonstrim, aplikime praktike, shembuj etj. Ju lutemi vizitoni blogun e mëposhtëm:

Duke sintetizuar të gjitha rezultatet e mësipërme do të marrim tabelën e lidhur me këtë hap.

Recommended: