Obsah:

Windows Bluetooth System Analysis - prístup SensorTag: 7 krokov (s obrázkami)
Windows Bluetooth System Analysis - prístup SensorTag: 7 krokov (s obrázkami)

Video: Windows Bluetooth System Analysis - prístup SensorTag: 7 krokov (s obrázkami)

Video: Windows Bluetooth System Analysis - prístup SensorTag: 7 krokov (s obrázkami)
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, November
Anonim
Windows Bluetooth System Analysis - prístup SensorTag
Windows Bluetooth System Analysis - prístup SensorTag

V nasledujúcom texte urobím analýzu operačného systému Windows (OS) z pohľadu komunikácie so zariadeniami Bluetooth s nízkou spotrebou energie - v našom prípade s rôznymi typmi SensorTags: Thunderboard React, Thunderboard Sense (oba vyrábajú Silicon Labs Company), CC2650STK a CC2541DK (obe vyvinuté spoločnosťou Texas Instruments Company).

Krok 1: Analýza systému Windows Bluetooth - prístup SensorTag

Windows Bluetooth System Analysis - prístup SensorTag
Windows Bluetooth System Analysis - prístup SensorTag

V nasledujúcom texte urobím analýzu operačného systému Windows (OS) z pohľadu komunikácie so zariadeniami Bluetooth s nízkou spotrebou energie - v našom prípade s rôznymi typmi SensorTags: Thunderboard React, Thunderboard Sense (oba vyrábajú Silicon Labs Company), CC2650STK a CC2541DK (obe vyvinuté spoločnosťou Texas Instruments Company).

Nasleduje analýza systému Windows 7, Windows 8.1 a nasledujúcich verzií systému Windows 10:

· Aktualizácia výročia (vydaná 2. augusta 2016; koniec podpory: predbežne v marci 2018), · Aktualizácia tvorcov (vydaná 5. apríla 2017; koniec podpory: predbežne september 2018) a

· Aktualizácia Fall Creators (vydaná 17. októbra 2017; koniec podpory: predbežne v marci 2019).

Analýza sa bude vykonávať z nasledujúcich hľadísk:

1. Schopnosť operačného systému (OS) spárovať sa so značkou SensorTag;

2. schopnosť získať všeobecné prístupové údaje (toto je povinná služba);

3. Možnosť získať informácie o zariadení (táto služba sprístupňuje informácie o výrobcovi a/alebo predajcovi súvisiace s konkrétnym SensorTag);

4. Schopnosť získať údaje SensorTag pomocou prístupu čítania a

5. Schopnosť získať údaje SensorTag pomocou notifikačného prístupu.

Všetky testy boli vykonané s použitím verzie požehnaných značiek 9.7.8.0. Aplikácia požehnane bola vytvorená s podporou Windows SDK - Bluetoothapis. Použili sa funkcie ako BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices alebo BluetoothGATTSetCharacteristicValue.

Túto aplikáciu, požehnané značky (BLE SensorTags), je možné stiahnuť z Windows Store Apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. Ďalšie informácie, ukážky, praktické aplikácie, príklady atď. Nájdete na nasledujúcom blogu:

Krok 2: Windows 10 - výročná aktualizácia - verzia 1607

Image
Image

Táto verzia operačného systému Windows 10 je najlepšia z pohľadu zariadení Bluetooth s nízkou spotrebou energie. Môže sa bez problémov spárovať so všetkými SensorTags (bez ohľadu na verziu softvéru, ktorá je na nich spustená), s ktorými aplikácia požehnane vie, ako pracovať (CC2650STK, Thunderboard React, Thunderboard Sense a CC2541DK), a so všetkými informáciami zo Služieb Bluetooth získať všeobecné informácie Prístup a získanie informácií o zariadení sa získava bez problémov.

Pri analýze rýchlosti získavania údajov (pre zariadenia CC2650STK a CC2541DK) pomocou mechanizmu oznamovania a čítania prenosu údajov môžeme pozorovať nasledujúce skutočnosti:

1. prostredníctvom notifikačného mechanizmu môžeme bez problémov získať údaje zo všetkých senzorov (osem) od 150 [ms] do 150 [ms];

2. namiesto toho, keď nastavíme čas akvizície na 150 [ms] a použijeme mechanizmus čítania údajov - v najšťastnejšej situácii dostaneme 713 [ms] a v najhoršom prípade dostaneme 840 [ms].

Ak budeme analyzovať Thunderboard React a Thunderboard Sense, dosiahneme ekvivalentné výsledky - v prostredí Windows 10 Anniversary Update fungujú bez problémov.

V skutočnosti boli všetky prezentačné filmy s hlavnými funkciami aplikácie požehnane a s rôznymi špecifickými funkciami (ako napríklad moduly gadget) vyrobené s podporou aktualizácie Windows 10 Anniversary Update.

Krok 3: Windows 10 - Aktualizácia tvorcov - verzia 1703

Windows 7
Windows 7

Verzia Windows 10 pre tvorcov je z pohľadu zariadení s nízkou spotrebou energie Bluetooth najhorším operačným systémom (OS).

Takmer nič nefunguje. Microsoft uznal, že aktualizácia tvorcov prelomila technológiu Bluetooth Low Energy (odkaz 1 a odkaz 2). Spoločnosť Microsoft prisľúbila rýchlu opravu čo najskôr. Odvtedy však vydali aktualizovanú verziu systému Windows (Fall Creators Update) a nič sa nestalo - až doteraz vo verzii Windows 10 Creators Update Bluetooth Low Energy stále nefunguje.

Existuje veľký počet príspevkov na fórach, v ktorých sa rôzni ľudia sťažujú na rôzne typy zariadení Bluetooth, ktoré prestanú fungovať po inovácii na aktualizáciu tvorcov (pozri tu, pozri tu, pozri tu, pozri tu atď.).

Výsledky, ktoré hneď ukážem, boli získané po mnohých testoch: (1) na stolnom počítači s USB kľúčom CSR4.0 Bluetooth USB (CSR8510 A10) a (2) na prenosnom počítači Dell Inspiron P66F s integrované zariadenie Bluetooth LE. Viem, že na internete je veľa riešení na vyriešenie niekoľkých typov problémov s Bluetooth. Skúsil som takmer všetko, ale nič nefungovalo (aktualizujte ovládač Bluetooth, spustite nástroj na riešenie problémov so systémom Windows, vypnite a povoľte služby súvisiace s Bluetooth atď.)

Predstavme si teda výsledky:

1. CC2650STK:

a. Vo verzii firmvéru 1.40 nie je možné spárovať zariadenie SensorTag s operačným systémom Windows (postup som opakoval niekoľkokrát, najmenej 8-10 krát, zapol a vypol som Bluetooth a skúsil som to znova-výsledky boli rovnaké: nebolo možné pridajte toto zariadenie).

b. Vo verzii firmvéru 1.20 počítač objavil SensorTag a mne sa podarilo spárovať SensorTag s počítačom.

Tiež som mohol získať údaje o všeobecnom prístupe. V službe Získať informácie o zariadení však z 9 charakteristík odpovedalo iba 6 a iba z nich bolo možné získať informácie.

Namiesto toho nemôžem zariadenie nastaviť a nemôžem načítať údaje zo senzorov ani prostredníctvom mechanizmu čítania, ani prostredníctvom upozornení.

2. Thunderboard React:

Pri spustení procesu párovania má operačný systém zvláštne správanie. V zozname objavených zariadení sa SensorTag objaví a zmizne (s dobou 1 … 1,5 s). Nakoniec, keď kliknutie myšou uspeje na SensorTag, proces párovania sa dokončí a diódy LED na zariadení Thunderboard React (modré a zelené) majú obdobie, v ktorom postupne blikajú v atypickom režime.

Načítanie charakteristík všeobecnej prístupovej služby (0x1800) je možné vykonať bez akýchkoľvek problémov, ale čítanie zo služby Device Information Service (0x180A) zlyhá pri všetkých štyroch existujúcich charakteristikách.

Nastavením senzorov (integrovaných na SensorTag), režimu získavania údajov (na Thunderboard React máte iba nasledujúcu možnosť: (1) získať údaje prostredníctvom oznámenia od 3 senzorov a (2) čítať údaje z ďalších štyroch senzorov) je nemožné. Preto nemožnosť získať skutočné údaje zo senzorov vyplýva priamo odtiaľto.

3. Thunderboard Sense:

Ten istý pulzačný proces, pozorovaný pre Thunderboard React, bol zistený aj pre Thunderboard Sense - keď chceme dosiahnuť proces párovania. Ale tu sú veci ešte horšie: program pairTag po spárovaní nemôže detegovať SensorTag. Takže žiadne aktívne zariadenie - žiadna entita, odkiaľ by aplikácia požehnane získavala údaje.

4. CC2541DK:

Správanie je totožné so správaním CC2650STK (verzia firmvéru 1.40). Pri každom pokuse o pripojenie sa zobrazí nasledujúce chybové hlásenie: „Skúste znova pripojiť zariadenie“.

Takže na záver, v tejto verzii Windows 10 (Aktualizácia tvorcov) nie je možné komunikovať so žiadnym zo štyroch vyššie uvedených typov SensorTags. V dôsledku toho uvádzam (ešte raz), že som tu použil rovnakú verziu softvéru, akú som použil aj pri všetkých testoch vykonaných pri aktualizácii Windows 10 Anniversary Update.

Krok 4: Windows 10 - Fall Creators Update - verzia 1709

Image
Image

Táto verzia systému Windows 10 (1709 - zostava OS 16299.19) je v porovnaní s aktualizáciou Windows 10 Creators Update (v systéme BLE takmer nič nefunguje) obrovským krokom vpred, ale stále má dlhú cestu, ako sa dostať na úroveň aktualizácie Windows 10 Anniversary Update (1607) operačný systém

Pozrime sa však, prečo som urobil toto vyhlásenie:

1. CC2650STK (verzia firmvéru 1.40) a CC2541DK:

Budem tu zaobchádzať s týmito dvoma zariadeniami súčasne, pretože ich správanie súvisiace s operačným systémom Windows 10 (1709) je podobné.

Operácia párovania a čítanie zo služieb Všeobecný prístup a Informácie o zariadení fungujú perfektne bez akýchkoľvek problémov.

Problémy nastanú iba vtedy, keď chceme čítať informácie zo senzorov. Mechanizmus prenosu údajov prostredníctvom upozornení vôbec nefunguje.

Jediný spôsob, ako získať údaje zo senzorov, vložených do SensorTag, je pomocou mechanizmu priameho čítania zo zariadenia. Tento prístup má dva problémy: (1) nižšia rýchlosť prenosu údajov (ako sme ukázali vyššie) a (2) ak všetky senzory akceptujú jeden z dvoch spôsobov prenosu údajov (čítaním a upozornením), tlačidlá na SensorTag môžu byť vypočúvané iba prostredníctvom mechanizmu oznámenia. Vďaka tejto „funkcii“operačného systému Windows 10 (1709) implementuje aplikácia požehnane od verzie 9.7.8.0 aj metódu čítania údajov.

Vyskytol sa problém s CC2650STK SensorTag s verziou firmvéru 1.20. Ak proces párovania a čítania údajov zo služby Generic Access funguje veľmi dobre, proces čítania zo služieb informácií o zariadení nie je možný. Čítanie senzorov (z tohto SensorTag s touto verziou firmvéru) navyše nefunguje ani v jednom z dvoch možných mechanizmov (čítanie alebo upozornenie).

2. Thunderboard React:

V rovnakom režime ako v aktualizácii Windows 10 Creators Update sa SensorTag objaví a zmizne, keď chceme pridať nové zariadenie Bluetooth. Rovnaké správanie je možné zvýrazniť v centre akcií na tlačidle rýchlej akcie Bluetooth, keď sa opakovane zobrazujú „Nie je pripojené“a „Thunderboard React“(pozrite si nasledujúci film, ako tento proces začína od časového indexu 5,14 s). Ihneď môžeme uzavrieť že Thunderboard React je vinný, predovšetkým kvôli chybnej implementácii reklamného mechanizmu inžiniermi zo Silicon Labs. Pri vyhľadávaní na internete si však všimneme, že ostatní používatelia po inštalácii Fall Creators nahlásili rovnaký problém iným typom zariadení BLE. Aktualizácia - napr. Pozrite si tento film na YouTube.

Po spárovaní SensorTag aplikácia požehnaná značka nemôže nájsť zariadenie Thunderboard React. V tomto okamihu teda nič nefunguje: všeobecný prístup a služby informovania o zariadení alebo získavanie údajov zo senzorov zabudovaných do Thunderboard React SensorTag.

3. Thunderboard Sense:

Režim správania sa je podobný režimu Thunderboard React. Toto zariadenie Bluetooth sa zobrazí a opakovane zmizne. Keď je proces párovania úspešný, je možné prevziať údaje zo služby generického prístupu. Od tohto bodu však už nič nefunguje.

Na záver, na Windows 10 Fall Creators Update (1709, zostava 16229.19) fungujú iba snímače SensorTags vyrobené spoločnosťou TI (CC2650STK a CC2541DK). Navyše fungujú iba v režime čítania. Ale pozor! V tomto režime bude fungovať iba firmvér CC2650STK verzie 1.40. Bohužiaľ, keď si kúpite CC2650STK, máte veľmi vysokú šancu vziať si zariadenie s revíziou firmvéru 1.20. Aby sme mohli komunikovať s takýmto typom SensorTag, je teda potrebná aktualizácia aspoň na verziu firmvéru 1.40.

V súvislosti s týmto krokom uvádzam film, ktorý dokazuje všetky tieto tvrdenia uvedené vyššie pre aktualizáciu Windows 10 Fall Creators Update.

Od prvého vydania aktualizácie Windows 10 Fall Creators Update (zostava 16229.19), 17. októbra 2017, nedošlo k žiadnym vylepšeniam ani opravám chýb súvisiacim s rozhraním Bluetooth LE až po KB4054517 (vydané 12. decembra 2017). V KB4054517 (zostava OS 16299.125) dochádza k zásadnej zmene Bluetooth LE (pozri tu): „Rieši problém s prispôsobenými zariadeniami Bluetooth, ktoré nepodporujú prepojenie“. Pretože je táto správa veľmi záhadná, rozhodol som sa pokračovať vo všetkých svojich doposiaľ vykonaných analýzach a zistiť, či existujú nejaké vylepšenia v porovnaní s prvým vydaním aktualizácie Windows 10 Fall Creators Update (zostava 16229.19). … a malé prekvapenie, práve teraz môžem získať: (1) údaje z Thunderboard Sense (zo senzorov zabudovaných na SensorTag, ale iba prostredníctvom mechanizmu čítania) a (2) všetky informácie zo služieb generického prístupu a informácií o zariadení. Neexistujú žiadne ďalšie vylepšenia.

Krok 5: Windows 8

Ako prvý operačný systém Microsoft s podporou BLE je implementácia uspokojivá, ale zďaleka nie je vynikajúca. Jediné zariadenia, ktoré pracujú s týmto operačným systémom, sú CC2650STK a CC2541DK.

Nastavením času akvizície na 150 [ms], pre CC2650STK, môžeme bez problémov získať údaje (zo všetkých vstavaných senzorov), vyhovujúce vzorkovacej frekvencii 150 [ms], prostredníctvom notifikačného mechanizmu. Bohužiaľ, pomocou čítacieho mechanizmu CCC2650STK môžeme získať údaje (zo všetkých senzorov) s periódou 2 sekúnd.

Situácia sa zhoršuje, keď hovoríme o CC2541DK. Prostredníctvom mechanizmu oznamovania sa údaje získavajú s periódou 0,4 … 0,6 sekundy. Pri použití čítacieho mechanizmu môžeme získavať údaje s kolísavou periódou 2,8 … 3 sekundy. Podmienky sú rovnaké: doba akvizície 150 [ms] zo všetkých senzorov zabudovaných na CC2541DK SensorTag.

Krok 6: Windows 7

Spoločnosť Microsoft pridala podporu pre balík Bluetooth Low Energy (BLE) počnúc operačným systémom Windows 8. Poskytli API, ktoré umožňuje aplikáciám prístup k zariadeniam BLE.

Spoločnosť Microsoft však porty rozhrania BLE API neprenesila do systému Windows 7. Vstavaný zásobník systému Windows 7 podporuje iba Bluetooth verzie 2.1/3.0, podpora BLE (4.0, 4.1 alebo 4.2) neexistuje. Z pohľadu vývojára teda nie je možné v systéme Windows 7 komunikovať so zariadením BLE pomocou balíka Windows 7.

Spoločnosť TI má program s názvom BLE Device Monitor, ktorý je schopný: (1) bežať v systéme Windows 7 a (2) komunikovať so SensorTag. Na tieto účely však musíte použiť špeciálny USB kľúč (napr. CC2540 Bluetooth Low Energy USB). Ak je zdrojový kód pre USB dongle bezplatný, zdrojový kód pre BLE Device Monitor nie je k dispozícii - slúži iba na interné použitie spoločnosti TI.

Krok 7: Závery

Závery
Závery

Aktualizácia Windows 10 Anniversary Update (verzia 1607) je najlepšia verzia systému Windows, akú kedy spoločnosť Microsoft vyrobila, z pohľadu zariadení Bluetooth s nízkou spotrebou energie (BLE) - v našom prípade SensorTags. Očividne je to tiež kvôli značnému počtu vylepšení, ktoré sa uskutočnili na úrovni Bluetooth LE v nasledujúcich zostavách operačného systému (ďalšie informácie nájdete na https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 a 14393.1083.

Aplikáciu požehnane (BLE SensorTags) je možné stiahnuť z Windows Store Apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. Ďalšie informácie, ukážky, praktické aplikácie, príklady atď. Nájdete na nasledujúcom blogu:

Syntetizáciou všetkých vyššie uvedených výsledkov dostaneme tabuľku spojenú s týmto krokom.

Odporúča: