Indholdsfortegnelse:

Windows Bluetooth -systemanalyse - en SensorTag -tilgang: 7 trin (med billeder)
Windows Bluetooth -systemanalyse - en SensorTag -tilgang: 7 trin (med billeder)

Video: Windows Bluetooth -systemanalyse - en SensorTag -tilgang: 7 trin (med billeder)

Video: Windows Bluetooth -systemanalyse - en SensorTag -tilgang: 7 trin (med billeder)
Video: Как подключить наушники Bluetooth к ПК с Windows 11 2024, November
Anonim
Windows Bluetooth -systemanalyse - en SensorTag -tilgang
Windows Bluetooth -systemanalyse - en SensorTag -tilgang

I det følgende vil jeg lave en analyse af Windows -operativsystemet (OS) ud fra kommunikation med Bluetooth Low Energy -enheder - i vores tilfælde med forskellige typer SensorTags: Thunderboard React, Thunderboard Sense (begge produceret af Silicon Labs Company), CC2650STK og CC2541DK (begge udviklet af Texas Instruments Company).

Trin 1: Windows Bluetooth -systemanalyse - en SensorTag -tilgang

Windows Bluetooth -systemanalyse - en SensorTag -tilgang
Windows Bluetooth -systemanalyse - en SensorTag -tilgang

I det følgende vil jeg foretage en analyse af Windows -operativsystemet (OS) ud fra kommunikation med Bluetooth Low Energy -enheder - i vores tilfælde med forskellige typer SensorTags: Thunderboard React, Thunderboard Sense (begge produceret af Silicon Labs Company), CC2650STK og CC2541DK (begge udviklet af Texas Instruments Company).

I det følgende vil jeg analysere Windows 7, Windows 8.1 og følgende Windows 10 -versioner:

· Jubilæumsopdatering (udgivet den 2. august 2016; supportens ophør: foreløbigt marts 2018), · Opdatering af skabere (udgivet den 5. april 2017; supportens ophør: foreløbigt september 2018) og

· Fall Creators Update (udgivet den 17. oktober 2017; supportens ophør: foreløbigt marts 2019).

Analysen udføres ud fra følgende synspunkter:

1. Operativsystemets (OS) evne til at parre med en SensorTag;

2. Evnen til at få generiske adgangsdata (dette er en obligatorisk service);

3. Evnen til at få enhedsoplysninger (denne service afslører producent- og/eller sælgerinformation relateret til en bestemt SensorTag);

4. Evnen til at hente SensorTags data ved hjælp af læsemetoden og

5. Evnen til at hente SensorTags data ved hjælp af meddelelsesmetoden.

Alle testene blev udført ved hjælp af 9.7.8.0 -versionen af blessTags -applikationen. BlessTags -applikationen blev bygget med understøttelse af Windows SDK - Bluetoothapis. Funktioner som BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices eller BluetoothGATTSetCharacteristicValue blev brugt.

Denne applikation, blessTags (BLE SensorTags) -applikationen, kan downloades fra Windows Store -apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. For mere information, demo, praktiske applikationer, eksempler osv. Besøg venligst følgende blog:

Trin 2: Windows 10 - Jubilæumsopdatering - Version 1607

Image
Image

Denne version af Windows 10 -operativsystemet er det bedste, set fra Bluetooth Low Energy -enheder. Det kan parre uden problemer med alle SensorTags (uanset softwareversionen, der kører på dem), som blessTags -applikationen ved, hvordan det fungerer (CC2650STK, Thunderboard React, Thunderboard Sense og CC2541DK), og alle oplysninger fra Bluetooth's Services Get Generic Adgang og hent enhedsoplysninger erhverves uden problemer.

Ved at analysere dataindsamlingshastigheden (for CC2650STK og CC2541DK -enheder) ved hjælp af meddelelses- og læsemekanisme for dataoverførsel kan vi observere følgende:

1. via notifikationsmekanismen kan vi få problemer fra alle sensorer (otte) fra 150 [ms] til 150 [ms] uden problemer;

2. i stedet, når vi indstiller erhvervelsestiden til 150 [ms], og vi bruger datalæsemekanismen - i den lykkeligste situation får vi 713 [ms] og i værste fald får vi 840 [ms].

Hvis vi vil analysere Thunderboard React og Thunderboard Sense, får vi de tilsvarende resultater - de fungerer uden problemer i Windows 10 Anniversary Update -miljøet.

Faktisk er alle præsentationsfilmene i blessTags -programmets hovedfunktioner og af de forskellige specifikke funktioner (f.eks. Gadgets) blevet lavet med understøttelse af Windows 10 Anniversary Update.

Trin 3: Windows 10 - Creators Update - Version 1703

Windows 7
Windows 7

Creators Update -versionen af Windows 10 er det værste operativsystem (OS) set fra Bluetooth Low Energy -enheder.

Næsten ingenting virker. Microsoft erkendte, at Creators Update brød Bluetooth Low Energy (reference 1 og reference 2). Microsoft -virksomheden lovede et hotfix hurtigst muligt. Men siden har de udgivet en opdateret version af Windows (Fall Creators Update), og der er ikke sket noget - indtil nu i Windows 10 Creators Update -versionen fungerer Bluetooth Low Energy stadig ikke.

Der er et stort antal indlæg på fora, hvor forskellige mennesker klager over forskellige typer Bluetooth -enheder, der holder op med at fungere efter opgradering til Creators Update (se her, se her, se her, se her osv.).

Resultaterne, jeg vil vise med det samme, blev opnået efter mange tests: (1) på en stationær pc, der havde en CSR4.0 Bluetooth USB -dongle (CSR8510 A10) og (2) på en Dell Inspiron P66F bærbar computer med en integreret Bluetooth LE -enhed. Jeg ved, at der er mange løsninger på internettet til at løse flere typer Bluetooth -problemer. Jeg prøvede næsten alt, men intet virkede (opdater Bluetooth -driveren, kør Windows -fejlfinding, deaktiver og aktiver Bluetooth -relaterede tjenester osv.)

Så lad os præsentere resultaterne:

1. CC2650STK:

en. På firmwareversionen 1.40 er det umuligt at parre SensorTag-enheden med Windows (jeg gentog processen flere gange, mindst 8-10 gange, jeg tændte og slukkede Bluetooth, og jeg prøvede igen-resultaterne var de samme: det var umuligt at tilføj denne enhed).

b. På firmwareversionen 1.20 opdagede pc'en SensorTag, og jeg kunne parre SensorTag med pc'en.

Jeg var også i stand til at få Generic Access -data. Men i Get Device Information -tjenesten svarede kun 6 på 9 egenskaber, og kun fra dem var det muligt at få information.

I stedet kan jeg ikke konfigurere enheden, og jeg kan ikke hente data fra sensorer hverken gennem læsemekanismen eller gennem meddelelserne.

2. Thunderboard React:

Operativsystemet har en underlig opførsel, når parringsprocessen startes. På listen over opdagede enheder vises og forsvinder SensorTag (med en periode på 1 … 1,5 s). Endelig, når et museklik lykkes på SensorTag, udføres parringsprocessen, og lysdioderne på Thunderboard React (de blå og de grønne) har en periode, hvor de blinker fortløbende i en atypisk tilstand.

Aflæsningen af egenskaberne ved Generic Access Service (0x1800) kan udføres uden problemer, men læsningen fra Device Information Service (0x180A) mislykkes på alle fire eksisterende egenskaber.

Indstilling af sensorerne (integreret i SensorTag), tilstanden til indsamling af data (på Thunderboard React har du kun følgende mulighed: (1) for at få data via meddelelsen fra 3 sensorer og (2) for at læse data fra de fire andre sensorer) er umuligt. Derfor er det umuligt at få de faktiske data fra sensorer direkte herfra.

3. Thunderboard Sense:

Den samme pulserende proces, der blev observeret for Thunderboard React, viste sig også at være eksisterende for Thunderboard Sense - når vi vil opnå parringsprocessen. Men her er tingene endnu værre: efter parring kan blessTag -programmet ikke registrere SensorTag. Så ingen aktiv enhed - ingen enhed, hvorfra blessTags -applikationen skal hente dataene.

4. CC2541DK:

Adfærden er identisk med CC2650STK (firmwareversion 1.40). Ved hvert forbindelsesforsøg får du følgende fejlmeddelelse: "Prøv at forbinde din enhed igen".

Så afslutningsvis er det inden for denne version af Windows 10 (Creators Update) umuligt at kommunikere med nogen af de fire typer SensorTags, der er påpeget ovenfor. Derfor nævner jeg (endnu en gang), at jeg her har brugt den samme softwareversion, som jeg også brugte i alle test foretaget på Windows 10 Anniversary Update.

Trin 4: Windows 10 - Fall Creators Update - Version 1709

Image
Image

Denne version af Windows 10 (1709 - OS Build 16299.19) er et stort skridt fremad, sammenlignet med Windows 10 Creators Update (var på BLE næsten intet virker), men har stadig en lang vej til at komme til niveauet for Windows 10 Anniversary Update (1607) operativsystem

Men lad os se, hvorfor jeg kom med denne erklæring:

1. CC2650STK (firmwareversion 1.40) & CC2541DK:

Jeg vil behandle disse to enheder her samtidigt, fordi deres adfærd relateret til operativsystemet Windows 10 (1709) ligner hinanden.

Parringsoperationen og læsningen fra Generic Access og Device Information -tjenesterne fungerer perfekt uden nogen form for problemer.

Problemerne opstår kun, når vi vil læse oplysninger fra sensorerne. Dataoverførselsmekanismen gennem meddelelser virker slet ikke.

Den eneste måde at hente data fra sensorerne, der er integreret i SensorTag, er ved hjælp af den direkte læsemekanisme fra enheden. Denne tilgang har to spørgsmål: (1) lavere dataoverførselshastighed (som vi har vist ovenfor) og (2) hvis alle sensorerne accepterer en af de to dataoverførselsmetoder (gennem læsning og meddelelse), kan knapperne på SensorTag være kun afhørt gennem meddelelsesmekanismen. Takket være denne "funktion" i Windows 10 (1709) OS implementerer blessTags -applikationen, startende med version 9.7.8.0, læsemetoden til dataindsamling også.

Der vises et problem med CC2650STK SensorTag, der har firmwareversion 1.20. Hvis processen med parring og datalæsning fra Generic Access -tjenesten fungerer meget godt, er læseprocessen fra Device Information -tjenester ikke mulig. Desuden fungerer sensorernes læsning (fra denne SensorTag med denne firmwareversion) ikke gennem en af de to mulige mekanismer (læsning eller meddelelse).

2. Thunderboard React:

I samme tilstand som i Windows 10 Creators Update, vises og forsvinder SensorTag, når vi vil tilføje en ny Bluetooth -enhed. Den samme adfærd kan fremhæves i handlingscentret på Bluetooth's hurtig handlingsknap, hvor "Ikke tilsluttet" og "Thunderboard React" vises gentagne gange (se denne proces i den følgende film, startende fra tidsindekset 5.14 s). Umiddelbart kan vi konkludere at Thunderboard React er skyldig, hovedsagelig på grund af en mangelfuld implementering af reklamemekanismen fra Silicon Labs ingeniører. Men ved søgning på internettet vil vi bemærke, at andre brugere rapporterede det samme problem til andre typer BLE -enheder, efter at de havde installeret Fall Creators Opdater - f.eks. Se denne film på YouTube.

Efter parring af SensorTag kan blessTags -applikationen ikke finde Thunderboard React -enheden. Så på dette tidspunkt virker intet: Generic Access og Device Information -tjenesterne eller dataindsamling fra de sensorer, der er integreret i Thunderboard React SensorTag.

3. Thunderboard Sense:

Tilstanden til at opføre sig ligner den i Thunderboard React. Denne Bluetooth -enhed vises og forsvinder gentagne gange. Når parringsprocessen lykkedes, er det muligt at tage data fra Generic Access Service. Men fra dette punkt virker intet mere.

Som en konklusion, nu på Windows 10 Fall Creators Update (1709, build 16229.19) fungerer kun SensorTags produceret af TI (CC2650STK og CC2541DK). Mere, de fungerer kun i læsetilstand. Men opmærksomhed! Kun CC2650STK firmwareversion 1.40 fungerer i denne tilstand. Desværre har du en meget stor chance for at tage en enhed med firmware -revision 1.20, når du køber en CC2650STK. Så for at kunne kommunikere med en sådan type SensorTag en opgradering er det mindst nødvendigt for firmwareversionen 1.40.

I forbindelse med dette trin præsenterer jeg en film, der beviser alle disse udsagn ovenfor til Windows 10 Fall Creators Update.

Siden den første udgivelse af Windows 10 Fall Creators Update (build 16229.19), den 17. oktober 2017, har der ikke været nogen forbedringer eller fejlrettelser relateret til Bluetooth LE op til KB4054517 (udgivet den 12. december 2017). I KB4054517 (OS Build 16299.125) er der en vigtig ændring på Bluetooth LE (se her): "Løser problem med personlige Bluetooth -enheder, der ikke understøtter binding". Da denne besked er meget kryptisk, har jeg besluttet at genoptage al min analyse foretaget indtil nu og se, om der er nogen forbedringer i forhold til den første udgave af Windows 10 Fall Creators Update (build 16229.19). … og en lille overraskelse, lige nu er jeg i stand til at få: (1) data fra Thunderboard Sense (fra sensorerne indlejret i SensorTag, men kun gennem læsemekanismen) og (2) alle oplysninger fra Generic Access og Device Information -tjenester. Der er ingen andre forbedringer.

Trin 5: Windows 8

Som et første Microsoft OS med BLE -understøttelse er implementeringen tilfredsstillende, men det er langt fra at være en glimrende. De eneste enheder, der fungerer med dette operativsystem, er CC2650STK og CC2541DK.

Ved at indstille erhvervelsestiden til 150 [ms], for CC2650STK, kan vi hente dataene (fra alle indlejrede sensorer), der overholder 150 [ms] samplingshastighed, gennem meddelelsesmekanismen uden problemer. Desværre kan vi ved hjælp af CCC2650STK -læsemekanismen få data (fra alle sensorerne) med en periode på 2 sekunder.

Situationen bliver værre, når vi taler om CC2541DK. Gennem meddelelsesmekanismen opnås dataene med en periode på 0,4… 0,6 sekunder. Mens vi bruger læsemekanismen, kan vi hente dataene med en svingende periode på 2,8 … 3 sekunder. Betingelserne er de samme: anskaffelsesperiode 150 [ms] fra alle de sensorer, der er indlejret i CC2541DK SensorTag.

Trin 6: Windows 7

Microsoft -virksomheden har tilføjet support til Bluetooth Low Energy (BLE) -stakken, der starter med Windows 8 -operativsystemet. De har leveret en API, som giver applikationer adgang til BLE -enheder.

Men Microsoft har ikke portet BLE API'erne til Windows 7. Windows 7's indbyggede stak understøtter kun Bluetooth version 2.1/3.0, der er ingen understøttelse af BLE (4.0, 4.1 eller 4.2). Så set fra en udviklers synspunkt er det umuligt at kommunikere i Windows 7 med en BLE -enhed ved hjælp af Windows 7's stak.

TI -virksomheden har et program kaldet BLE Device Monitor, der er i stand til: (1) at køre på Windows 7 og (2) at kommunikere med en SensorTag. Men du skal bruge til disse en særlig USB -dongle (f.eks. CC2540 Bluetooth Low Energy USB). Hvis kildekoden til USB -donglen er gratis, er kildekoden til BLE Device Monitor ikke tilgængelig - den er kun til intern brug af TI -virksomheden.

Trin 7: Konklusioner

Konklusioner
Konklusioner

Windows 10 års jubilæumsopdatering (version 1607) er den bedste Windows -version, der nogensinde er lavet af Microsoft ud fra et synspunkt på Bluetooth Low Energy (BLE) -enheder - SensorTags i vores tilfælde. Dette skyldes naturligvis også det betydelige antal forbedringer, der fandt sted på Bluetooth LE-niveau i følgende OS-builds (se mere information: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 og 14393.1083.

BlessTags -applikationen (BLE SensorTags) kan downloades fra Windows Store -apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. For mere information, demo, praktiske applikationer, eksempler osv. Besøg venligst følgende blog:

Ved at syntetisere alle ovenstående resultater får vi tabellen forbundet med dette trin.

Anbefalede: