Sisukord:

Windowsi Bluetooth -süsteemi analüüs - SensorTag lähenemine: 7 sammu (piltidega)
Windowsi Bluetooth -süsteemi analüüs - SensorTag lähenemine: 7 sammu (piltidega)

Video: Windowsi Bluetooth -süsteemi analüüs - SensorTag lähenemine: 7 sammu (piltidega)

Video: Windowsi Bluetooth -süsteemi analüüs - SensorTag lähenemine: 7 sammu (piltidega)
Video: [Graduation Project] Turn on Windows Bluetooth with Unity 2024, November
Anonim
Windowsi Bluetooth -süsteemi analüüs - SensorTag -lähenemine
Windowsi Bluetooth -süsteemi analüüs - SensorTag -lähenemine

Järgnevalt analüüsin Windowsi operatsioonisüsteemi (OS) Bluetooth Low Energy seadmetega suhtlemise seisukohast - meie puhul erinevat tüüpi SensorTagidega: Thunderboard React, Thunderboard Sense (mõlemad toodetud Silicon Labsi poolt) Company), CC2650STK ja CC2541DK (mõlemad on välja töötanud Texas Instruments Company).

Samm: Windowsi Bluetooth -süsteemi analüüs - SensorTag -lähenemine

Windowsi Bluetooth -süsteemi analüüs - SensorTag -lähenemine
Windowsi Bluetooth -süsteemi analüüs - SensorTag -lähenemine

Järgnevalt analüüsin Windowsi operatsioonisüsteemi (OS) Bluetooth Low Energy seadmetega suhtlemise seisukohast - meie puhul erinevat tüüpi SensorTagidega: Thunderboard React, Thunderboard Sense (mõlemad toodetud Silicon Labsi poolt) Company), CC2650STK ja CC2541DK (mõlemad on välja töötanud Texas Instruments Company).

Järgnevalt analüüsin Windows 7, Windows 8.1 ja järgmisi Windows 10 versioone:

· Aastapäeva värskendus (avaldatud 2. augustil 2016; toetuse lõpp: esialgu märts 2018), · Creators Update (ilmus 5. aprillil 2017; toe lõpp: esialgu september 2018) ja

· Fall Creators Update (avaldati 17. oktoobril 2017; toe lõpp: esialgu märts 2019).

Analüüsi tehakse järgmistest vaatenurkadest:

1. Operatsioonisüsteemi (OS) võime siduda SensorTagiga;

2. Võimalus saada üldisi juurdepääsuandmeid (see on kohustuslik teenus);

3. Võimalus hankida seadme teavet (see teenus paljastab tootja ja/või müüja teabe, mis on seotud konkreetse SensorTagiga);

4. Võimalus saada SensorTagi andmeid, kasutades lugemismeetodit ja

5. Võimalus saada SensorTagi andmeid, kasutades teavitusmeetodit.

Kõik testid tehti, kasutades rakenduse áldTags versiooni 9.7.8.0. Rakendus áldusedTagid ehitati, toetades Windowsi SDK -d - Bluetoothapis. Kasutati selliseid funktsioone nagu BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices või BluetoothGATTSetCharacteristicValue.

Selle rakenduse, õnnistage (BLE SensorTags), saate alla laadida Windowsi poe rakendustest: https://www.microsoft.com/store/apps/9p054xsjjr1n. Lisateabe saamiseks, demo, praktiliste rakenduste, näidete jms kohta külastage järgmist ajaveebi:

Samm: Windows 10 - aastapäeva värskendus - versioon 1607

Image
Image

See Windows 10 operatsioonisüsteemi versioon on Bluetooth Low Energy seadmete seisukohast parim. Seda saab ilma probleemideta siduda kõigi SensorTagidega (olenemata nendel töötavast tarkvaraversioonist), millega õnnistuserakendus oskab töötada (CC2650STK, Thunderboard React, Thunderboard Sense ja CC2541DK) ning kogu Bluetoothi teenuste teave muutub üldiseks Juurdepääs ja seadme teabe hankimine toimub ilma probleemideta.

Analüüsides andmete kogumise kiirust (CC2650STK ja CC2541DK seadmete puhul), kasutades andmeedastuse teavitus- ja lugemismehhanismi, võime täheldada järgmist.

1. teavitusmehhanismi kaudu saame probleemideta kõikidelt anduritelt (kaheksalt) andmeid vahemikus 150 [ms] kuni 150 [ms];

2. selle asemel, kui määrame omandamisajaks 150 [ms] ja kasutame andmete lugemismehhanismi - kõige õnnelikumas olukorras saame 713 [ms] ja halvimal juhul 840 [ms].

Kui analüüsime Thunderboard Reacti ja Thunderboard Sense'i, saame samaväärsed tulemused - need töötavad Windows 10 Anniversary Update keskkonnas probleemideta.

Tegelikult on rakenduse áldTags põhifunktsioonide ja erinevate erifunktsioonide (nt vidinad) esitlusfilmid tehtud Windows 10 aastapäeva värskenduse toel.

Samm: Windows 10 - loojate värskendus - versioon 1703

Windows 7
Windows 7

Windows 10 Creators Update'i versioon on Bluetooth Low Energy seadmete seisukohast halvim operatsioonisüsteem (OS).

Peaaegu midagi ei tööta. Microsoft tunnistas, et Creators Update rikkus Bluetooth Low Energy (viide 1 ja viide 2). Microsofti ettevõte lubas kiirparanduse nii kiiresti kui võimalik. Kuid sellest ajast alates on nad välja andnud Windowsi värskendatud versiooni (Fall Creators Update) ja midagi pole juhtunud - siiani Windows 10 Creators Update versiooni raames Bluetooth Low Energy endiselt ei tööta.

Foorumites on palju postitusi, kus erinevad inimesed kurdavad erinevat tüüpi Bluetooth -seadmete pärast, mis pärast Creators Update'ile üleviimist lakkavad töötamast (vt siit, vaata siit, vaata siit, vaata siit jne).

Tulemused, mida ma kohe näitan, saadi pärast paljusid katseid: (1) lauaarvutis, millel oli CSR4.0 Bluetoothi USB -dongle (CSR8510 A10) ja (2) Dell Inspiron P66F sülearvutis integreeritud Bluetooth LE seade. Ma tean, et Internetis on palju lahendusi mitut tüüpi Bluetooth -probleemide lahendamiseks. Proovisin peaaegu kõike, kuid miski ei töötanud (värskendage Bluetoothi draiverit, käivitage Windowsi tõrkeotsing, keelake ja lubage Bluetoothiga seotud teenused jne)

Niisiis, tutvustame tulemusi:

1. CC2650STK:

a. Püsivara versioonis 1.40 on SensorTag seadme sidumine Windowsiga võimatu (kordasin protsessi mitu korda, vähemalt 8-10 korda, lülitasin Bluetoothi sisse ja välja ning proovisin uuesti-tulemused olid samad: võimatu lisage see seade).

b. Püsivara versioonis 1.20 avastas arvuti SensorTagi ja mul õnnestus SensorTag arvutiga siduda.

Samuti õnnestus mul saada üldise juurdepääsu andmed. Kuid teenuses Hangi seadme teave vastas 9 omadusest ainult 6 ja ainult nende kaudu oli võimalik teavet saada.

Selle asemel ei saa ma seadet seadistada ega anduritelt andmeid lugemismehhanismi ega märguannete kaudu alla laadida.

2. Thunderboard React:

Operatsioonisüsteemil on sidumisprotsessi käivitamisel kummaline käitumine. Avastatud seadmete loendis kuvatakse ja kaob SensorTag (perioodiga 1… 1,5 s). Lõpuks, kui hiireklõps SensorTagil õnnestub, on sidumisprotsess lõpule viidud ja Thunderboard Reacti valgusdioodidel (sinised ja rohelised) on periood, mil need vilguvad järjest ebatüüpilises režiimis.

Üldise juurdepääsuteenuse (0x1800) omaduste lugemist saab teha ilma probleemideta, kuid seadme teabe teenuse (0x180A) lugemine ebaõnnestub kõigi nelja olemasoleva omaduse puhul.

Andurite seadistamine (sisseehitatud SensorTagile), andmete hankimise viis (Thunderboard Reactis on teil ainult järgmine võimalus: (1) saada andmeid kolme anduri teatise kaudu ja (2) lugeda andmeid ülejäänud neljast andurist) on võimatu. Seetõttu tuleneb võimatus anduritelt tegelikke andmeid hankida otse siit.

3. Thunderboard Sense:

Sama pulseeriv protsess, mida täheldati Thunderboard Reacti puhul, leiti olevat ka Thunderboard Sense'i puhul - kui soovime sidumisprotsessi saavutada. Kuid siin on asjad veelgi hullemad: pärast sidumist ei suuda svētkeTag programm SensorTagi tuvastada. Niisiis, pole aktiivset seadet - pole üksust, kust õnnistuserakendus andmeid hankida.

4. CC2541DK:

Käitumine on identne CC2650STK (püsivara versioon 1.40) käitumisega. Iga ühenduse katsel kuvatakse järgmine tõrketeade: "Proovige oma seade uuesti ühendada".

Kokkuvõtteks võib öelda, et selle Windows 10 versiooni (Creators Update) raames on võimatu suhelda ühegi ülaltoodud nelja tüüpi SensorTagiga. Sellest tulenevalt mainin (veel kord), et siin olen kasutanud sama tarkvara versiooni, mida kasutasin ka kõikides Windows 10 Anniversary Update'i testides.

Samm: Windows 10 - sügisloojate värskendamine - versioon 1709

Image
Image

See Windows 10 versioon (1709 - OS -i ehitis 16299.19) on tohutu samm edasi, võrreldes Windows 10 Creators Update'iga (olid BLE -l peaaegu miski ei tööta), kuid sellel on veel pikk tee Windows 10 aastapäeva värskenduse tasemeni jõudmiseks (1607) operatsioonisüsteem

Aga vaatame, miks ma selle avalduse tegin:

1. CC2650STK (püsivara versioon 1.40) ja CC2541DK:

Käsitlen neid kahte seadet siin üheaegselt, kuna nende käitumine operatsioonisüsteemiga Windows 10 (1709) on sarnane.

Sidumisoperatsioon ja lugemine üldisest juurdepääsust ja seadme teabe teenustest töötavad ideaalselt ilma igasuguste probleemideta.

Probleemid tekivad ainult siis, kui tahame anduritelt teavet lugeda. Andmete edastamise mehhanism teatiste kaudu ei tööta üldse.

Ainus viis SensorTagisse sisseehitatud anduritelt andmeid saada on seadme otsese lugemismehhanismi abil. Sellel lähenemisel on kaks probleemi: (1) madalam andmeedastuskiirus (nagu oleme ülal näidanud) ja (2) kui kõik andurid aktsepteerivad ühte kahest andmeedastusmeetodist (lugemise ja teavitamise kaudu), võivad SensorTag nupud olla küsitletakse ainult teavitusmehhanismi kaudu. Tänu sellele operatsioonisüsteemi Windows 10 (1709) "funktsioonile" rakendab áldusmärke rakendus alates versioonist 9.7.8.0 ka andmete hankimise lugemismeetodit.

Ilmneb probleem, kui CC2650STK SensorTagil on püsivara versioon 1.20. Kui sidumis- ja andmete lugemise protsess üldisest juurdepääsuteenusest töötab väga hästi, pole seadme teabe teenuste lugemisprotsess võimalik. Lisaks sellele ei tööta andurid (sellest selle püsivara versiooniga SensorTagist) kumbagi kahest võimalikust mehhanismist (lugemine või teavitamine).

2. Thunderboard React:

Samas režiimis nagu Windows 10 Creators Update'is ilmuvad ja kaovad SensorTag, kui soovime uue Bluetooth -seadme lisada. Sama käitumist saab esile tõsta Bluetoothi kiirtoimimisnupu tegevuskeskuses, kus kuvatakse korduvalt „Pole ühendatud” ja „Thunderboard React” (palun vaadake järgmises filmis seda protsessi alates ajaindeksist 5,14 s). Kohe võime järeldada et Thunderboard React on süüdi, peamiselt Silicon Labsi inseneride reklaamimehhanismi vigase rakendamise tõttu. Kuid Internetist otsides märkame, et teised kasutajad teatasid pärast Fall Creatorsi installimist sama probleemist ka muud tüüpi BLE -seadmetele Värskendus - nt vaadake seda filmi YouTube'is.

Pärast SensorTagi sidumist ei leia õnnistusmärgiste rakendus Thunderboard Reacti seadet. Niisiis, praegu ei tööta midagi: üldine juurdepääs ja seadme teabeteenused või andmete hankimine Thunderboard React SensorTagisse sisseehitatud anduritelt.

3. Thunderboard Sense:

Käitumisviis on sarnane Thunderboard Reacti režiimiga. See Bluetooth -seade kuvatakse ja kaob korduvalt. Kui sidumisprotsess õnnestus, on võimalik võtta andmeid üldisest juurdepääsuteenusest. Sellest hetkest alates aga ei tööta enam miski.

Kokkuvõtteks võib öelda, et praegu Windows 10 Fall Creators Update'i (1709, järgu 16229.19) puhul töötavad ainult TI toodetud SensorTagid (CC2650STK ja CC2541DK). Veelgi enam, nad töötavad ainult lugemisrežiimis. Aga tähelepanu! Selles režiimis töötab ainult CC2650STK püsivara versioon 1.40. Kahjuks on teil CC2650STK ostmisel väga suur võimalus osta seade, millel on püsivara versioon 1.20. Niisiis, et suhelda seda tüüpi SensorTagiga, on vaja uuendada vähemalt püsivara versioonini 1.40.

Selle sammuga seostatuna esitlen filmi, mis tõestab kõiki ülaltoodud avaldusi Windows 10 Fall Creators Update'i kohta.

Alates Windows 10 Fall Creators Update'i esimesest väljaandest (järk 16229.19), 17. oktoobril 2017, pole Bluetooth LE -ga seotud parandusi ega vigade parandusi tehtud kuni KB4054517 (välja antud 12. detsembril 2017). KB4054517 -s (OS -i ehitis 16299.125) on Bluetooth LE -s oluline muudatus (vt siit): „Lahendab probleemi isikupärastatud Bluetooth -seadmetega, mis ei toeta sidumist”. Kuna see sõnum on väga salapärane, otsustasin jätkata kogu oma senist analüüsi ja vaadata, kas võrreldes Windows 10 Fall Creators Update'i esimese versiooniga (ehitis 16229.19) on mingeid parandusi. … Ja väike üllatus, praegu on mul võimalik saada: (1) andmeid Thunderboard Sense'ilt (SensorTag -i manustatud anduritelt, kuid ainult lugemismehhanismi kaudu) ja (2) kogu teavet üldise juurdepääsu ja seadme teabeteenustest. Muid parandusi pole.

Samm: Windows 8

Esimese BLE toega Microsofti operatsioonisüsteemina on rakendamine rahuldav, kuid see pole kaugeltki suurepärane. Selle operatsioonisüsteemiga töötavad ainult seadmed CC2650STK ja CC2541DK.

Seades CC2650STK jaoks vastuvõtmisajaks 150 [ms], saame andmed (kõikidest manustatud anduritest), mis vastavad 150 ms pikkusele diskreetimissagedusele, teavitusmehhanismi kaudu ilma probleemideta. Kahjuks saame CCC2650STK lugemismehhanismi kasutades saada andmeid (kõikidest anduritest) 2 -sekundilise perioodiga.

Olukord halveneb, kui räägime CC2541DK -st. Teavitamismehhanismi kaudu saadakse andmed ajavahemikuga 0,4… 0,6 sekundit. Lugemismehhanismi kasutades saame andmeid hankida kõikuva 2,8… 3 -sekundilise perioodiga. Tingimused on samad: võtmisperiood 150 [ms] kõigist CC2541DK SensorTag sisseehitatud anduritest.

Samm: Windows 7

Microsofti ettevõte on lisanud toe Bluetooth Low Energy (BLE) virnale alates Windows 8 operatsioonisüsteemist. Nad on pakkunud API -d, mis võimaldab rakendustel pääseda juurde BLE -seadmetele.

Kuid Microsoft ei ole BLE API-sid Windows 7-sse teisaldanud. Windows 7 sisseehitatud virn toetab ainult Bluetoothi versiooni 2.1/3.0, BLE (4.0, 4.1 või 4.2) ei toeta. Niisiis, arendaja seisukohast on Windows 7 -s võimatu suhelda BLE -seadmega, kasutades Windows 7 virna.

TI ettevõttel on programm nimega BLE Device Monitor, mis suudab: (1) töötada Windows 7 -s ja (2) suhelda SensorTagiga. Kuid nende jaoks peate kasutama spetsiaalset USB -donglit (nt CC2540 Bluetooth Low Energy USB). Kui USB -dongli lähtekood on tasuta, pole BLE -seadme monitori lähtekood saadaval - see on mõeldud ainult TI -ettevõtte sisekasutuseks.

Samm 7: Järeldused

Järeldused
Järeldused

Windows 10 aastapäeva värskendus (versioon 1607) on Microsofti kõigi aegade parim Windowsi versioon Bluetoothi madala energiatarbega (BLE) seadmete - meie puhul SensorTagsi - seisukohast. Ilmselt on selle põhjuseks ka märkimisväärne arv täiustusi, mis toimusid Bluetooth LE tasemel järgmistes OS-i versioonides (vt lisateavet: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 ja 14393.1083.

Rakenduse áldused (BLE SensorTags) saab alla laadida Windowsi poe rakendustest: https://www.microsoft.com/store/apps/9p054xsjjr1n. Lisateabe saamiseks, demo, praktiliste rakenduste, näidete jms kohta külastage järgmist ajaveebi:

Kõigi ülaltoodud tulemuste sünteesimisel saame selle sammuga seotud tabeli.

Soovitan: