Innehållsförteckning:

Windows Bluetooth -systemanalys - en SensorTag -metod: 7 steg (med bilder)
Windows Bluetooth -systemanalys - en SensorTag -metod: 7 steg (med bilder)

Video: Windows Bluetooth -systemanalys - en SensorTag -metod: 7 steg (med bilder)

Video: Windows Bluetooth -systemanalys - en SensorTag -metod: 7 steg (med bilder)
Video: Pairing Windows with a SensorTag 2024, Juli
Anonim
Windows Bluetooth -systemanalys - en SensorTag -metod
Windows Bluetooth -systemanalys - en SensorTag -metod

I det följande kommer jag att göra en analys av Windows -operativsystemet (OS) ur kommunikationssynpunkt med Bluetooth Low Energy -enheter - i vårt fall med olika typer av SensorTags: Thunderboard React, Thunderboard Sense (båda producerade av Silicon Labs Company), CC2650STK och CC2541DK (båda utvecklade av Texas Instruments Company).

Steg 1: Windows Bluetooth -systemanalys - en SensorTag -metod

Windows Bluetooth -systemanalys - en SensorTag -metod
Windows Bluetooth -systemanalys - en SensorTag -metod

I det följande kommer jag att göra en analys av Windows -operativsystemet (OS) ur kommunikationssynpunkt med Bluetooth Low Energy -enheter - i vårt fall med olika typer av SensorTags: Thunderboard React, Thunderboard Sense (båda producerade av Silicon Labs Company), CC2650STK och CC2541DK (båda utvecklade av Texas Instruments Company).

Vad jag följer kommer jag att analysera Windows 7, Windows 8.1 och följande Windows 10 -versioner:

· Jubileumsuppdatering (släpptes den 2 augusti 2016; supportens slut: preliminärt mars 2018), · Uppdatering av skapare (släpptes den 5 april 2017; supportens slut: preliminärt september 2018) och

· Uppdatering av Fall Creators (släpptes den 17 oktober 2017; supportens slut: preliminärt mars 2019).

Analysen kommer att göras ur följande synpunkter:

1. Operativsystemets (OS) förmåga att para med en SensorTag;

2. Möjligheten att få Generic Access -data (detta är en obligatorisk tjänst);

3. Möjligheten att få enhetsinformation (denna tjänst avslöjar information om tillverkare och/eller leverantörer relaterade till en specifik SensorTag);

4. Möjligheten att få SensorTags data, med hjälp av läsmetoden och

5. Möjligheten att hämta SensorTag -data med hjälp av aviseringsmetoden.

Alla tester gjordes med hjälp av 9.7.8.0 -versionen av blessTags -applikationen. BlessTags -applikationen byggdes som stöd för Windows SDK - Bluetoothapis. Funktioner som BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices eller BluetoothGATTSetCharacteristicValue användes.

Denna applikation, blessTags (BLE SensorTags) -applikationen, kan laddas ner från Windows Store -appar: https://www.microsoft.com/store/apps/9p054xsjjr1n. För mer information, demo, praktiska tillämpningar, exempel etc. besök följande blogg:

Steg 2: Windows 10 - Jubileumsuppdatering - Version 1607

Image
Image

Denna version av Windows 10 -operativsystemet är den bästa, sett från Bluetooth Low Energy -enheter. Den kan paras utan problem med alla SensorTags (oavsett vilken programversion som körs på dem), med vilken blessTags -applikationen vet hur man fungerar (CC2650STK, Thunderboard React, Thunderboard Sense och CC2541DK) och all information från Bluetooth -tjänsterna Get Generic Åtkomst och hämta enhetsinformation förvärvas utan problem.

Genom att analysera datainsamlingshastigheten (för CC2650STK- och CC2541DK -enheter) med hjälp av meddelande- och läsmekanism för dataöverföring kan vi observera följande:

1. Genom aviseringsmekanismen kan vi få problem från alla sensorer (åtta) från 150 [ms] till 150 [ms] utan problem.

2. istället, när vi ställer in förvärvstiden till 150 [ms] och vi använder dataläsningsmekanismen - i den lyckligaste situationen får vi 713 [ms] och i värsta fall får vi 840 [ms].

Om vi kommer att analysera Thunderboard React och Thunderboard Sense får vi motsvarande resultat - de fungerar utan problem i Windows 10 Anniversary Update -miljö.

Faktum är att alla presentationsfilmer för blessTags -programmets huvudfunktioner och de olika specifika funktionerna (som gadgets) har gjorts med stöd av Windows 10 Anniversary Update.

Steg 3: Windows 10 - Creators Update - Version 1703

Windows 7
Windows 7

Creators Update -versionen av Windows 10 är det sämsta operativsystemet (OS) ur Bluetooth Low Energy -enhetens synvinkel.

Nästan ingenting fungerar. Microsoft erkände att Creators Update brutit Bluetooth Low Energy (referens 1 och referens 2). Microsoft -företaget lovade en snabbkorrigering så snart som möjligt. Men sedan dess har de släppt en uppdaterad version av Windows (Fall Creators Update) och ingenting har hänt - hittills i Windows 10 Creators Update -versionen fungerar Bluetooth Low Energy fortfarande inte.

Det finns ett stort antal inlägg på forum där olika människor klagar över olika typer av Bluetooth -enheter som slutar fungera efter uppgradering till Creators Update (se här, se här, se här, se här etc.).

Resultaten, som jag ska visa direkt, erhölls efter många tester: (1) på en stationär dator som hade en CSR4.0 Bluetooth USB -dongel (CSR8510 A10) och (2) på en Dell Inspiron P66F -bärbar dator med en integrerad Bluetooth LE -enhet. Jag vet att det finns många lösningar på internet för att åtgärda flera typer av Bluetooth -problem. Jag försökte nästan alla, men ingenting fungerade (uppdatera Bluetooth -drivrutinen, kör Windows felsökare, inaktivera och aktivera Bluetooth -relaterade tjänster etc.)

Så, låt oss presentera resultaten:

1. CC2650STK:

a. På firmware-version 1.40 är det omöjligt att koppla ihop SensorTag-enheten med Windows (jag upprepade processen flera gånger, minst 8-10 gånger, jag slog på och av Bluetooth och jag försökte igen-resultaten var desamma: det var omöjligt att lägg till den här enheten).

b. På firmware -version 1.20 upptäckte PC: n SensorTag och jag kunde koppla ihop SensorTag med datorn.

Jag kunde också få Generic Access -data. Men vid tjänsten Get Device Information svarade endast 6 egenskaper från 6 egenskaper och endast från dem var det möjligt att få information.

Istället kan jag inte konfigurera enheten och jag kan inte hämta data från sensorer varken genom läsmekanismen eller genom aviseringarna.

2. Thunderboard React:

Operativsystemet har ett märkligt beteende när parningsprocessen startas. I listan över upptäckta enheter visas och försvinner SensorTag (med en period på 1 … 1,5 s). Slutligen, när ett musklick lyckas på SensorTag, uppnås parningsprocessen och lysdioderna på Thunderboard React (de blå och de gröna) har en period när de blinkar i följd i ett atypiskt läge.

Läsningen av egenskaperna hos Generic Access Service (0x1800) kan göras utan problem, men avläsningen från Device Information Service (0x180A) misslyckas på alla fyra befintliga egenskaperna.

Ställa in sensorerna (inbäddade i SensorTag), sättet att samla in data (på Thunderboard React har du bara följande möjlighet: (1) att få data genom avisering från 3 sensorer och (2) för att läsa data från de andra fyra sensorerna) är omöjligt. Därför kommer omöjligheten att erhålla faktiska data från sensorer direkt härifrån.

3. Thunderboard Sense:

Samma pulserande process som observerades för Thunderboard React befanns också finnas för Thunderboard Sense - när vi vill uppnå parningsprocessen. Men här är det ännu värre: efter parning kan blessTag -programmet inte upptäcka SensorTag. Så ingen aktiv enhet - ingen enhet varifrån blessTags -applikationen ska hämta data.

4. CC2541DK:

Beteendet är identiskt med beteendet hos CC2650STK (firmwareversion 1.40). Vid varje anslutningsförsök får du följande felmeddelande: "Försök ansluta din enhet igen".

Så avslutningsvis, inom denna version av Windows 10 (Creators Update), är det omöjligt att kommunicera med någon av de fyra typerna av SensorTags som påpekas ovan. Följaktligen nämner jag (än en gång) att här har jag använt samma mjukvaruversion som jag också använde i alla tester som gjordes på Windows 10 Anniversary Update.

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

Image
Image

Denna version av Windows 10 (1709 - OS Build 16299.19) är ett stort steg framåt, jämfört med Windows 10 Creators Update (var på BLE nästan ingenting fungerar), men har fortfarande en lång väg att komma till nivån för Windows 10 Anniversary Update (1607) operativsystem

Men låt oss se varför jag gjorde detta uttalande:

1. CC2650STK (firmwareversion 1.40) & CC2541DK:

Jag kommer att behandla dessa två enheter här samtidigt eftersom deras beteende relaterat till operativsystemet Windows 10 (1709) är liknande.

Parning och läsning från tjänsterna Generic Access och Device Information fungerar perfekt utan några problem.

Problemen uppstår bara när vi vill läsa information från sensorerna. Dataöverföringsmekanismen genom aviseringar fungerar inte alls.

Det enda sättet att få data från sensorerna, inbäddade i SensorTag, är med hjälp av direktavläsningsmekanismen från enheten. Detta tillvägagångssätt har två frågor: (1) lägre dataöverföringshastighet (som vi har visat ovan) och (2) om alla sensorer accepterar en av de två dataöverföringsmetoderna (genom läsning och avisering) kan knapparna på SensorTag vara förhörs endast genom anmälningsmekanismen. Tack vare denna "funktion" i Windows 10 (1709) OS, implementerar programmet blessTags, från och med version 9.7.8.0, läsmetoden för datainsamling också.

Ett problem visas med CC2650STK SensorTag som har firmwareversion 1.20. Om processen för parning och dataläsning från Generic Access -tjänsten fungerar mycket bra är läsprocessen från Device Information -tjänster inte möjlig. Dessutom fungerar sensoravläsningen (från denna SensorTag med denna firmwareversion) inte genom någon av de två möjliga mekanismerna (läsning eller avisering).

2. Thunderboard React:

I samma läge som i Windows 10 Creators Update visas och försvinner SensorTag när vi vill lägga till en ny Bluetooth -enhet. Samma beteende kan framhävas i åtgärdscentret på Bluetooth: s snabbåtgärdsknapp var "Inte ansluten" och "Thunderboard React" visas upprepade gånger (se i följande film denna process från tidsindex 5.14 s). Omedelbart kan vi avsluta att Thunderboard React är skyldig, främst på grund av en felaktig implementering av reklammekanismen från Silicon Labs ingenjörer. Men när vi söker på internet kommer vi att märka att andra användare rapporterade samma problem till andra typer av BLE -enheter efter installationen av Fall Creators Uppdatering - se t.ex. den här filmen på YouTube.

Efter parning av SensorTag kan blessTags -applikationen inte hitta Thunderboard React -enheten. Så, just nu fungerar ingenting: Generic Access och Device Information -tjänster eller datainsamling från sensorerna inbäddade i Thunderboard React SensorTag.

3. Thunderboard Sense:

Läget att bete sig på liknar det i Thunderboard React. Denna Bluetooth -enhet visas och försvinner upprepade gånger. När parningsprocessen lyckades är det möjligt att ta data från Generic Access Service. Men från den här punkten fungerar ingenting längre.

Som en slutsats, nu på Windows 10 Fall Creators Update (1709, build 16229.19) fungerar bara SensorTags som produceras av TI (CC2650STK och CC2541DK). Mer, de fungerar bara i läsläge. Men uppmärksamhet! Endast CC2650STK firmwareversion 1.40 fungerar i detta läge. Tyvärr har du en mycket stor chans att ta en enhet med firmwareversion 1.20 när du köper en CC2650STK. Så, för att kunna kommunicera med en sådan typ av SensorTag en uppgradering är det åtminstone nödvändigt för firmware -version 1.40.

I samband med detta steg presenterar jag en film som bevisar alla dessa uttalanden som gjorts ovan för Windows 10 Fall Creators Update.

Sedan den första versionen av Windows 10 Fall Creators Update (build 16229.19), den 17 oktober 2017, har det inte skett några förbättringar eller felkorrigeringar relaterade till Bluetooth LE upp till KB4054517 (släpptes den 12 december 2017). I KB4054517 (OS Build 16299.125) finns en nyckelförändring på Bluetooth LE (se här):”Adresserar problem med anpassade Bluetooth -enheter som inte stöder bindning”. Eftersom det här meddelandet är väldigt kryptiskt har jag bestämt mig för att återuppta all min analys som gjorts hittills och se om det finns några förbättringar jämfört med den första versionen av Windows 10 Fall Creators Update (build 16229.19). … och en liten överraskning, just nu kan jag få: (1) data från Thunderboard Sense (från sensorerna som är inbäddade i SensorTag men bara via läsmekanismen) och (2) all information från Generic Access och Device Information -tjänster. Det finns inga andra förbättringar.

Steg 5: Windows 8

Som ett första Microsoft -operativsystem med BLE -stöd är implementeringen tillfredsställande, men det är långt ifrån en utmärkt. De enda enheterna som fungerar med detta operativsystem är CC2650STK och CC2541DK.

Genom att ställa in förvärvstiden till 150 [ms], för CC2650STK, kan vi hämta data (från alla inbyggda sensorer) och följa samplingsfrekvensen på 150 ms utan problem. Tyvärr kan vi med hjälp av CCC2650STK -läsmekanism få data (från alla sensorer) med en period på 2 sekunder.

Situationen förvärras när vi pratar om CC2541DK. Genom anmälningsmekanismen erhålls data med en period på 0,4… 0,6 sekunder. Medan vi använder läsmekanismen kan vi hämta data med en fluktuerande period på 2,8 … 3 sekunder. Villkoren är desamma: förvärvstid 150 [ms] från alla sensorer som är inbäddade i CC2541DK SensorTag.

Steg 6: Windows 7

Microsoft -företaget har lagt till stöd för Bluetooth Low Energy (BLE) -stacken som börjar med operativsystemet Windows 8. De har tillhandahållit ett API som gör att applikationer kan komma åt BLE -enheter.

Men Microsoft har inte överfört BLE API: erna till Windows 7. Windows 7: s inbyggda stack stöder endast Bluetooth version 2.1/3.0, det finns inget stöd för BLE (4.0, 4.1 eller 4.2). Så ur en utvecklares synvinkel är det omöjligt att i Windows 7 kommunicera med en BLE -enhet med Windows 7: s stack.

TI -företaget har ett program som kallas BLE Device Monitor som kan: (1) köras på Windows 7 och (2) för att kommunicera med en SensorTag. Men du måste använda en speciell USB -dongel (t.ex. CC2540 Bluetooth Low Energy USB). Om källkoden för USB -dongeln är ledig är källkoden för BLE Device Monitor inte tillgänglig - den är endast för intern användning av TI -företaget.

Steg 7: Slutsatser

Slutsatser
Slutsatser

Windows 10 års jubileumsuppdatering (version 1607) är den bästa Windows -versionen som någonsin gjorts av Microsoft med tanke på Bluetooth Low Energy (BLE) -enheter - SensorTags i vårt fall. Uppenbarligen beror detta också på det stora antalet förbättringar som skedde på Bluetooth LE-nivån i följande OS-versioner (se mer information: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 och 14393.1083.

BlessTags -applikationen (BLE SensorTags) kan laddas ner från Windows Store -appar: https://www.microsoft.com/store/apps/9p054xsjjr1n. För mer information, demo, praktiska tillämpningar, exempel etc. besök följande blogg:

Genom att syntetisera alla ovanstående resultat får vi tabellen associerad med detta steg.

Rekommenderad: