INHOUDSOPGAWE:

Windows Bluetooth -stelselanalise - 'n SensorTag -benadering: 7 stappe (met foto's)
Windows Bluetooth -stelselanalise - 'n SensorTag -benadering: 7 stappe (met foto's)

Video: Windows Bluetooth -stelselanalise - 'n SensorTag -benadering: 7 stappe (met foto's)

Video: Windows Bluetooth -stelselanalise - 'n SensorTag -benadering: 7 stappe (met foto's)
Video: Bluetooth not showing in Windows 7 2024, November
Anonim
Windows Bluetooth -stelselanalise - 'n SensorTag -benadering
Windows Bluetooth -stelselanalise - 'n SensorTag -benadering

In die volgende sal ek 'n ontleding doen van die Windows -bedryfstelsel (OS) vanuit die oogpunt van kommunikasie met Bluetooth Low Energy -toestelle - in ons geval met verskillende tipes SensorTags: Thunderboard React, Thunderboard Sense (beide vervaardig deur Silicon Labs Company), CC2650STK en CC2541DK (albei ontwikkel deur Texas Instruments Company).

Stap 1: Windows Bluetooth -stelselanalise - 'n SensorTag -benadering

Windows Bluetooth -stelselanalise - 'n SensorTag -benadering
Windows Bluetooth -stelselanalise - 'n SensorTag -benadering

In die volgende sal ek 'n ontleding doen van die Windows -bedryfstelsel (OS) vanuit die oogpunt van kommunikasie met Bluetooth Low Energy -toestelle - in ons geval met verskillende tipes SensorTags: Thunderboard React, Thunderboard Sense (beide vervaardig deur Silicon Labs Company), CC2650STK en CC2541DK (albei ontwikkel deur Texas Instruments Company).

Hierna sal ek Windows 7, Windows 8.1 en die volgende weergawes van Windows 10 ontleed:

· Verjaarsdagopdatering (vrygestel op 2 Augustus 2016; einde ondersteuning: voorlopig Maart 2018), · Skepper -opdatering (vrygestel op 5 April 2017; einde ondersteuning: voorlopig September 2018) en

· Update Fall Creators (vrygestel op 17 Oktober 2017; einde ondersteuning: voorlopig Maart 2019).

Die analise word uitgevoer vanuit die volgende oogpunte:

1. Die vermoë van die bedryfstelsel (OS) om met 'n SensorTag te koppel;

2. Die vermoë om generiese toegangsdata te kry (dit is 'n verpligte diens);

3. Die vermoë om toestelinligting te kry (hierdie diens stel inligting oor die vervaardiger en/of verskaffer in verband met 'n spesifieke SensorTag);

4. Die vermoë om die SensorTag se data te kry, met behulp van die leesbenadering en

5. Die vermoë om die SensorTag -data te bekom met behulp van die kennisgewingsbenadering.

Al die toetse is gedoen met behulp van die 9.7.8.0 -weergawe van die blessTags -toepassing. Die blessTags -toepassing is gebou met die ondersteuning van die Windows SDK - Bluetoothapis. Funksies soos BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices of BluetoothGATTSetCharacteristicValue is gebruik.

Hierdie toepassing, blessTags (BLE SensorTags) -toepassing, kan afgelaai word vanaf die Windows Store -programme: https://www.microsoft.com/store/apps/9p054xsjjr1n. Vir meer inligting, demo, praktiese toepassings, voorbeelde, ens., Besoek die volgende blog:

Stap 2: Windows 10 - Verjaarsdagopdatering - Weergawe 1607

Image
Image

Hierdie weergawe van die Windows 10 -bedryfstelsel is die beste uit die oogpunt van Bluetooth Low Energy -toestelle. Dit kan sonder probleme koppel met alle SensorTags (ongeag die sagteware -weergawe wat daarop werk), waarmee die blessTags -toepassing weet hoe om te werk (CC2650STK, Thunderboard React, Thunderboard Sense en CC2541DK), en al die inligting van die Bluetooth -dienste Get Generic Toegang tot en verkry toestelinligting word sonder probleme verkry.

As ons die data -verkrygingsnelheid (vir CC2650STK- en CC2541DK -toestelle) ontleed met behulp van kennisgewings- en leesmeganisme vir data -oordrag, kan ons die volgende waarneem:

1. deur middel van die kennisgewingsmeganisme kan ons data van alle sensors (agt) van 150 [ms] tot 150 [ms] kry sonder probleme;

2. in plaas daarvan, as ons die verkrygingstyd op 150 [ms] stel en ons die data -leesmeganisme gebruik - in die gelukkigste situasie kry ons 713 [ms] en in die ergste geval kry ons 840 [ms].

As ons Thunderboard React en Thunderboard Sense gaan ontleed, kry ons die ekwivalente resultate - dit werk sonder probleme in die Windows 10 Anniversary Update -omgewing.

Al die aanbiedingsflieks van die hooffunksies van die blessTags -toepassing en van die verskillende spesifieke funksies (soos gadgets) is gemaak met die ondersteuning van die Windows 10 Anniversary Update.

Stap 3: Windows 10 - Skepper -opdatering - Weergawe 1703

Windows 7
Windows 7

Die Creators Update -weergawe van Windows 10 is die swakste bedryfstelsel (OS) vanuit die oogpunt van Bluetooth Low Energy -toestelle.

Byna niks werk nie. Microsoft het erken dat die Creators Update Bluetooth Low Energy (verwysing 1 en verwysing 2) verbreek het. Die Microsoft -onderneming het so gou as moontlik 'n hotfix belowe. Maar sedertdien het hulle 'n bygewerkte weergawe van Windows (Fall Creators Update) vrygestel en niks het gebeur nie - tot dusver in die Windows 10 Creators Update -weergawe werk die Bluetooth Low Energy steeds nie.

Daar is 'n groot aantal plasings op forums waarin verskillende mense kla oor verskillende soorte Bluetooth -toestelle wat ophou werk nadat hulle opgradeer is na Creators Update (sien hier, sien hier, sien hier, sien hier, ens.).

Die resultate, wat ek dadelik gaan wys, is na baie toetse verkry: (1) op 'n tafelrekenaar met 'n CSR4.0 Bluetooth USB -dongle (CSR8510 A10) en (2) op 'n Dell Inspiron P66F -skootrekenaar met 'n geïntegreerde Bluetooth LE -toestel. Ek weet dat daar baie oplossings op die internet is om verskillende soorte Bluetooth -probleme op te los. Ek het byna alles probeer, maar niks werk nie (werk die Bluetooth -bestuurder op, voer Windows -probleemoplosser uit, deaktiveer en aktiveer Bluetooth -verwante dienste, ens.)

Dus, laat ons die resultate aanbied:

1. CC2650STK:

a. Op die firmware-weergawe 1.40 is dit onmoontlik om die SensorTag-toestel met Windows te koppel (ek het die proses verskeie kere herhaal, minstens 8-10 keer, ek het die Bluetooth aan en afgeskakel en ek het weer probeer-die resultate was dieselfde: dit was onmoontlik om voeg hierdie toestel by).

b. Op die firmware -weergawe 1.20 het die rekenaar die SensorTag ontdek en ek kon die SensorTag met die rekenaar koppel.

Ek kon ook generiese toegangsdata kry. Maar by die Get Device Information -diens het slegs 6 op 9 eienskappe gereageer, en slegs daaruit was dit moontlik om inligting te kry.

In plaas daarvan kan ek nie die toestel instel nie en kan ek nie data van sensors ophaal nie, hetsy deur die leesmeganisme of deur die kennisgewings.

2. Thunderboard reageer:

Die bedryfstelsel het 'n vreemde gedrag wanneer die paringsproses begin word. In die lys met ontdekte toestelle verskyn en verdwyn die SensorTag (met 'n tydperk van 1 … 1,5 s). Laastens, as 'n muiskliek op die SensorTag slaag, vind die paringsproses plaas en die LED's op die Thunderboard React (die blou en die groen) het 'n tydperk waarin hulle agtereenvolgens in 'n atipiese modus flikker.

Die eienskappe van die Generic Access Service (0x1800) kan sonder enige probleme gelees word, maar die lees van Device Information Service (0x180A) misluk op al vier die bestaande kenmerke.

Stel die sensors in (ingebed op SensorTag), die manier om data te bekom (op Thunderboard React het u slegs die volgende moontlikheid: (1) om data te kry deur die kennisgewing van 3 sensors en (2) om data van die ander vier sensors te lees) is onmoontlik. Daarom is die onmoontlikheid om die werklike data van sensors te verkry direk hiervandaan.

3. Thunderboard Sense:

Daar is gevind dat dieselfde polsende proses wat vir Thunderboard React waargeneem is, ook vir Thunderboard Sense bestaan - as ons die paringsproses wil bereik. Maar hier is dinge nog erger: na die koppeling kan die blessTag -program nie die SensorTag opspoor nie. Dus, geen aktiewe toestel nie - geen entiteit vanwaar die blessTags -toepassing die data kan bekom nie.

4. CC2541DK:

Die gedrag is identies aan die gedrag van CC2650STK (firmware weergawe 1.40). By elke aansluitingspoging kry u die volgende foutboodskap: "Probeer u toestel weer verbind".

Ten slotte, in hierdie weergawe van Windows 10 (Creators Update), is dit onmoontlik om met een van die vier tipes SensorTags hierbo te kommunikeer. Gevolglik noem ek (weereens) dat ek hier dieselfde sagtewareweergawe gebruik het as wat ek ook gebruik het in alle toetse wat gemaak is op Windows 10 Anniversary Update.

Stap 4: Windows 10 - Fall Creators Update - Weergawe 1709

Image
Image

Hierdie weergawe van Windows 10 (1709 - OS Build 16299.19) is 'n groot stap vorentoe, vergeleke met Windows 10 Creators Update (op BLE werk amper niks), maar het nog 'n lang pad om die vlak van Windows 10 Anniversary Update te bereik (1607) bedryfstelsel

Maar kom ons kyk hoekom ek hierdie stelling gemaak het:

1. CC2650STK (firmware weergawe 1.40) & CC2541DK:

Ek sal hierdie twee toestelle gelyktydig hier behandel omdat hul gedrag wat verband hou met die Windows 10 (1709) -stelsel soortgelyk is.

Die koppelingsoperasie en die lees van die dienste van Generic Access en Device Information werk perfek sonder enige probleme.

Die probleme kom slegs voor as ons inligting van die sensors wil lees. Die data -oordragmeganisme deur middel van kennisgewings werk glad nie.

Die enigste manier om data van die sensors te kry, ingebed in die SensorTag, is deur middel van die direkte leesmeganisme van die toestel. Hierdie benadering het twee probleme: (1) laer data -oordragspoed (soos hierbo getoon) en (2) as al die sensors een van die twee data -oordragmetodes aanvaar (deur lees en kennisgewing), kan die knoppies op die SensorTag slegs ondervra deur middel van die kennisgewingsmeganisme. Danksy hierdie 'funksie' van die Windows 10 (1709) bedryfstelsel, implementeer die blessTags -toepassing, vanaf weergawe 9.7.8.0, ook die leesmetode vir die verkryging van data.

Daar verskyn 'n probleem met die CC2650STK SensorTag met die firmware -weergawe 1.20. As die proses van koppeling en data -lees van die Generic Access -diens baie goed werk, is die leesproses van Device Information -dienste nie moontlik nie. Boonop werk die sensorlesing (van hierdie SensorTag met hierdie firmware -weergawe) nie deur een van die twee moontlike meganismes nie (lees of kennisgewing).

2. Thunderboard reageer:

In dieselfde modus soos in Windows 10 Creators Update, verskyn en verdwyn die SensorTag wanneer ons 'n nuwe Bluetooth -toestel wil byvoeg. Dieselfde gedrag kan in die aksiesentrum op die vinnige aksieknoppie van Bluetooth uitgelig word: "Nie gekoppel nie" en "Thunderboard React" word herhaaldelik vertoon (sien die proses in die volgende film vanaf die tydindeks 5.14 s). dat Thunderboard React skuldig is, hoofsaaklik as gevolg van 'n gebrekkige implementering van die reklamemeganisme deur ingenieurs van Silicon Labs. Maar as ons op die internet soek, sal ons agterkom dat ander gebruikers dieselfde probleem by ander soorte BLE -toestelle aangemeld het na die installering van die Fall Creators Opdatering - kyk byvoorbeeld na hierdie fliek op YouTube.

Nadat die SensorTag gekoppel is, kan die blessTags -toepassing nie die Thunderboard React -toestel vind nie. Op hierdie stadium werk niks: Generiese toegang en die toestelinligting -dienste of data -verkryging van die sensors wat op Thunderboard React SensorTag ingebed is.

3. Thunderboard Sense:

Die manier van optrede is soortgelyk aan die van die Thunderboard React. Hierdie Bluetooth -toestel word vertoon en verdwyn herhaaldelik. As die paringsproses geslaag het, is dit moontlik om data van Generic Access Service te neem. Maar vanaf hierdie punt werk niks meer nie.

As gevolgtrekking, slegs Windows 10 Fall Creators Update (1709, build 16229.19) werk slegs die SensorTags wat deur TI (CC2650STK en CC2541DK) vervaardig is. Boonop werk hulle slegs in die leesmodus. Maar aandag! Slegs die firmware -weergawe 1.40 van die CC2650STK werk in hierdie modus. Ongelukkig, as u 'n CC2650STK koop, het u 'n baie groot kans om 'n toestel met firmware -hersiening 1.20 te neem. Om 'n opgradering met so 'n tipe SensorTag te kan kommunikeer, is dit ten minste nodig vir die firmware -weergawe 1.40.

Geassosieer met hierdie stap, bied ek 'n film aan wat bewys lewer van al die stellings hierbo vir Windows 10 Fall Creators Update.

Sedert die eerste weergawe van Windows 10 Fall Creators Update (build 16229.19), op 17 Oktober 2017, was daar geen verbeterings of foutkorreksies wat verband hou met Bluetooth LE tot KB4054517 (vrygestel op 12 Desember 2017). In KB4054517 (OS Build 16299.125) is daar 'n sleutelverandering op Bluetooth LE (sien hier): 'Spreek probleem met persoonlike Bluetooth -toestelle aan wat nie verbindings ondersteun nie'. Aangesien hierdie boodskap baie kripties is, het ek besluit om al my ontleding tot dusver te hervat en te kyk of daar verbeterings is in vergelyking met die eerste weergawe van Windows 10 Fall Creators Update (build 16229.19). … en 'n klein verrassing: op die oomblik kan ek: (1) data van Thunderboard Sense kry (van die sensors wat op die SensorTag ingebed is, maar slegs deur die leesmeganisme) en (2) al die inligting van Generic Access en Device Information Services. Daar is geen ander verbeterings nie.

Stap 5: Windows 8

As 'n eerste Microsoft -bedryfstelsel met BLE -ondersteuning, is die implementering bevredigend, maar dit is verreweg 'n uitstekende. Die enigste toestelle wat met hierdie bedryfstelsel werk, is CC2650STK en CC2541DK.

Deur die verkrygingstyd op 150 [ms] te stel, vir die CC2650STK, kan ons die data (van alle ingebedde sensors), wat aan die monsterneming van 150 ms voldoen, sonder probleme deur die kennisgewingsmeganisme kry. Ongelukkig kan ons met behulp van die CCC2650STK -leesmeganisme data (van al die sensors) kry met 'n tydperk van 2 sekondes.

Die situasie word erger as ons praat van CC2541DK. Deur die kennisgewingsmeganisme word die data verkry met 'n tydperk van 0,4 … 0,6 sekondes. Terwyl ons die leesmeganisme gebruik, kan ons die data opspoor met 'n wisselende tydperk van 2,8 … 3 sekondes. Die voorwaardes is dieselfde: verkrygingsperiode 150 [ms] van al die sensors wat op die CC2541DK SensorTag ingebed is.

Stap 6: Windows 7

Die Microsoft -onderneming het ondersteuning bygevoeg vir die Bluetooth Low Energy (BLE) stapel wat begin met die Windows 8 -bedryfstelsel. Hulle het 'n API verskaf waarmee programme toegang tot BLE -toestelle kan kry.

Maar die Microsoft het nie die BLE API's na Windows 7. Die ingeboude stapel van Windows 7 ondersteun slegs Bluetooth weergawe 2.1/3.0, daar is geen ondersteuning vir BLE (4.0, 4.1 of 4.2). Vanuit die oogpunt van 'n ontwikkelaar is dit dus onmoontlik om in Windows 7 te kommunikeer met 'n BLE -toestel deur die stapel van Windows 7 te gebruik.

Die TI -onderneming het 'n program genaamd BLE Device Monitor wat (1) op Windows 7 kan werk en (2) om met 'n SensorTag te kommunikeer. Maar u moet 'n spesiale USB -dongle hiervoor gebruik (bv. CC2540 Bluetooth Low Energy USB). As die bronkode vir die USB -dongle gratis is, is die bronkode vir die BLE Device Monitor nie beskikbaar nie - dit is slegs vir die interne gebruik van die TI -onderneming.

Stap 7: Gevolgtrekkings

Gevolgtrekkings
Gevolgtrekkings

Die Windows 10 Anniversary Update (weergawe 1607) is die beste Windows -weergawe wat ooit deur Microsoft gemaak is vanuit die oogpunt van Bluetooth Low Energy (BLE) toestelle - SensorTags in ons geval. Dit is duidelik ook te wyte aan die aansienlike aantal verbeterings wat op die Bluetooth LE-vlak in die volgende OS-builds plaasgevind het (sien vir meer inligting: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 en 14393.1083.

Die blessTags -toepassing (BLE SensorTags) kan afgelaai word vanaf die Windows Store -programme: https://www.microsoft.com/store/apps/9p054xsjjr1n. Vir meer inligting, demo, praktiese toepassings, voorbeelde, ens., Besoek die volgende blog:

Deur al die bogenoemde resultate te sintetiseer, kry ons die tabel wat verband hou met hierdie stap.

Aanbeveel: