Innholdsfortegnelse:

Windows Bluetooth -systemanalyse - en SensorTag -tilnærming: 7 trinn (med bilder)
Windows Bluetooth -systemanalyse - en SensorTag -tilnærming: 7 trinn (med bilder)

Video: Windows Bluetooth -systemanalyse - en SensorTag -tilnærming: 7 trinn (med bilder)

Video: Windows Bluetooth -systemanalyse - en SensorTag -tilnærming: 7 trinn (med bilder)
Video: Delphi XE7 - Bluetooth und AppTethering 2024, Juli
Anonim
Windows Bluetooth -systemanalyse - en SensorTag -tilnærming
Windows Bluetooth -systemanalyse - en SensorTag -tilnærming

I det følgende vil jeg gjøre en analyse av Windows -operativsystemet (OS) med tanke på kommunikasjon med Bluetooth Low Energy -enheter - i vårt tilfelle med forskjellige typer SensorTags: Thunderboard React, Thunderboard Sense (begge produsert av Silicon Labs Company), CC2650STK og CC2541DK (begge utviklet av Texas Instruments Company).

Trinn 1: Windows Bluetooth -systemanalyse - en SensorTag -tilnærming

Windows Bluetooth -systemanalyse - en SensorTag -tilnærming
Windows Bluetooth -systemanalyse - en SensorTag -tilnærming

I det følgende vil jeg gjøre en analyse av Windows -operativsystemet (OS) med tanke på kommunikasjon med Bluetooth Low Energy -enheter - i vårt tilfelle med forskjellige typer SensorTags: Thunderboard React, Thunderboard Sense (begge produsert av Silicon Labs Company), CC2650STK og CC2541DK (begge utviklet av Texas Instruments Company).

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

· Jubileumsoppdatering (utgitt 2. august 2016; slutt på støtte: foreløpig mars 2018), · Creators Update (utgitt 5. april 2017; slutt på støtte: foreløpig september 2018) og

· Fall Creators Update (utgitt 17. oktober 2017; slutt på støtte: foreløpig mars 2019).

Analysen vil bli utført fra følgende synspunkter:

1. Operativsystemets (OS) evne til å koble til en SensorTag;

2. Muligheten til å få generisk tilgangsdata (dette er en obligatorisk tjeneste);

3. Muligheten til å få enhetsinformasjon (denne tjenesten avslører produsent- og/eller leverandørinformasjon knyttet til en bestemt SensorTag);

4. Muligheten til å få SensorTags data, ved hjelp av lesemetoden og

5. Muligheten til å få SensorTag -dataene ved hjelp av varslingsmetoden.

Alle testene ble utført med 9.7.8.0 -versjonen av blessTags -applikasjonen. BlessTags -applikasjonen ble bygget med støtte for Windows SDK - Bluetoothapis. Funksjoner som BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices eller BluetoothGATTSetCharacteristicValue ble brukt.

Denne applikasjonen, blessTags (BLE SensorTags) -appen, kan lastes ned fra Windows Store -appene: https://www.microsoft.com/store/apps/9p054xsjjr1n. For mer informasjon, demo, praktiske applikasjoner, eksempler etc. vennligst besøk følgende blogg:

Trinn 2: Windows 10 - jubileumsoppdatering - versjon 1607

Image
Image

Denne versjonen av Windows 10 -operativsystemet er det beste, sett fra Bluetooth Low Energy -enheter. Den kan pares uten problemer med alle SensorTags (uavhengig av programvareversjonen som kjører på dem), som blessTags -applikasjonen vet hvordan den skal fungere med (CC2650STK, Thunderboard React, Thunderboard Sense og CC2541DK), og all informasjon fra Bluetooth -tjenestene Get Generic. Få tilgang til og få enhetsinformasjon uten problemer.

Ved å analysere datainnsamlingshastigheten (for CC2650STK og CC2541DK -enheter) ved hjelp av varslings- og lesemekanisme for dataoverføring, kan vi observere følgende:

1. gjennom varslingsmekanismen kan vi hente data fra alle sensorer (åtte) fra 150 [ms] til 150 [ms] uten problemer;

2. i stedet, når vi setter oppkjøpstiden til 150 [ms] og vi bruker datalesemekanismen - i den lykkeligste situasjonen får vi 713 [ms] og i verste fall får vi 840 [ms].

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

Faktisk har alle presentasjonsfilmene til blessTags -programmets hovedfunksjoner og de forskjellige spesifikke funksjonene (som Gadgets) blitt laget med støtte fra Windows 10 Anniversary Update.

Trinn 3: Windows 10 - Creators Update - versjon 1703

Windows 7
Windows 7

Creators Update -versjonen av Windows 10 er det verste operativsystemet (OS) sett fra Bluetooth Low Energy -enheter.

Nesten ingenting fungerer. Microsoft erkjente at Creators Update brøt Bluetooth Low Energy (referanse 1 og referanse 2). Microsoft -selskapet lovet en hurtigreparasjon så snart som mulig. Men siden den gang har de gitt ut en oppdatert versjon av Windows (Fall Creators Update), og ingenting har skjedd - til nå i Windows 10 Creators Update -versjonen fungerer Bluetooth Low Energy fortsatt ikke.

Det er et stort antall innlegg på fora der forskjellige mennesker klager på forskjellige typer Bluetooth -enheter som slutter å fungere etter oppgradering til Creators Update (se her, se her, se her, se her etc.).

Resultatene, jeg skal vise med en gang, ble oppnådd etter mange tester: (1) på en stasjonær PC som hadde en CSR4.0 Bluetooth USB -dongle (CSR8510 A10) og (2) på en Dell Inspiron P66F bærbar PC med en integrert Bluetooth LE -enhet. Jeg vet at det er mange løsninger på internett for å fikse flere typer Bluetooth -problemer. Jeg prøvde nesten alt, men ingenting fungerte (oppdater Bluetooth -driveren, kjør Windows feilsøkingsprogram, deaktiver og aktiver Bluetooth -relaterte tjenester etc.)

Så, la oss presentere resultatene:

1. CC2650STK:

en. På fastvareversjon 1.40 er det umulig å koble SensorTag-enheten til Windows (jeg gjentok prosessen flere ganger, minst 8-10 ganger, jeg slo på og av Bluetooth og jeg prøvde igjen-resultatene var de samme: det var umulig å legg til denne enheten).

b. På fastvareversjon 1.20 oppdaget PCen SensorTag, og jeg klarte å koble SensorTag med PCen.

Jeg var også i stand til å få Generic Access -data. Men på Get Device Information -tjenesten, fra 9 egenskaper svarte bare 6, og bare fra dem var det mulig å få informasjon.

I stedet kan jeg ikke konfigurere enheten, og jeg kan ikke hente data fra sensorer verken gjennom lesemekanismen eller gjennom varslene.

2. Thunderboard React:

Operativsystemet har en merkelig oppførsel når paringsprosessen startes. På listen over oppdagede enheter vises og forsvinner SensorTag (med en periode på 1 … 1,5 s). Til slutt, når et museklikk lykkes på SensorTag, oppnås sammenkoblingsprosessen og lysdiodene på Thunderboard React (de blå og de grønne) har en periode når de blinker fortløpende i en atypisk modus.

Avlesningen av egenskapene til Generic Access Service (0x1800) kan gjøres uten problemer, men avlesningen fra Device Information Service (0x180A) mislykkes på alle fire eksisterende egenskaper.

Innstilling av sensorene (innebygd i SensorTag), modusen for å hente data (på Thunderboard React har du bare følgende mulighet: (1) for å få data gjennom varsel fra 3 sensorer og (2) for å lese data fra de fire andre sensorene) er umulig. Derfor er det umulig å få tak i faktiske data fra sensorer direkte herfra.

3. Thunderboard Sense:

Den samme pulserende prosessen, observert for Thunderboard React, ble funnet å også eksistere for Thunderboard Sense - når vi ønsker å oppnå sammenkoblingsprosessen. Men her er ting enda verre: etter sammenkobling kan ikke blessTag -programmet oppdage SensorTag. Så, ingen aktiv enhet - ingen enhet hvorfra blessTags -applikasjonen skal hente dataene.

4. CC2541DK:

Atferden er identisk med oppførselen til CC2650STK (fastvareversjon 1.40). Ved hvert tilkoblingsforsøk får du følgende feilmelding: "Prøv å koble enheten din igjen".

Så til slutt, i denne versjonen av Windows 10 (Creators Update), er det umulig å kommunisere med noen av de fire typene SensorTags som er påpekt ovenfor. Følgelig nevner jeg (nok en gang) at her har jeg brukt den samme programvareversjonen som jeg også brukte i alle tester som ble gjort på Windows 10 Anniversary Update.

Trinn 4: Windows 10 - Fall Creators Update - versjon 1709

Image
Image

Denne versjonen av Windows 10 (1709 - OS Build 16299.19) er et stort skritt fremover, sammenlignet med Windows 10 Creators Update (var på BLE nesten ingenting fungerer), men har fortsatt en lang vei å komme til nivået for Windows 10 Anniversary Update (1607) operativsystem

Men la oss se hvorfor jeg kom med denne uttalelsen:

1. CC2650STK (fastvareversjon 1.40) og CC2541DK:

Jeg vil behandle disse to enhetene her samtidig fordi deres oppførsel relatert til Windows 10 (1709) operativsystem er lik.

Paringsoperasjonen og lesingen, fra Generic Access og Device Information -tjenestene, fungerer perfekt uten noen form for problemer.

Problemene oppstår bare når vi vil lese informasjon fra sensorene. Dataoverføringsmekanismen gjennom varsler fungerer ikke i det hele tatt.

Den eneste måten å hente data fra sensorene, innebygd i SensorTag, er ved hjelp av direkte lesemekanisme fra enheten. Denne tilnærmingen har to problemer: (1) lavere dataoverføringshastighet (som vi har vist ovenfor) og (2) hvis alle sensorene godtar en av de to dataoverføringsmetodene (gjennom lesing og varsling), kan knappene på SensorTag være bare avhørt gjennom varslingsmekanismen. Takket være denne "funksjonen" i Windows 10 (1709) OS, implementerer blessTags -applikasjonen, fra og med versjon 9.7.8.0, lesemetoden for datainnsamling også.

Det vises et problem med CC2650STK SensorTag som har fastvareversjon 1.20. Hvis prosessen med sammenkobling og datalesing fra Generic Access -tjenesten fungerer veldig bra, er ikke leseprosessen fra Device Information -tjenester mulig. Videre fungerer sensorene som leser (fra denne SensorTag med denne fastvareversjonen) ikke gjennom noen av de to mulige mekanismene (lesing eller varsling).

2. Thunderboard React:

I samme modus som i Windows 10 Creators Update, vises SensorTag og forsvinner når vi vil legge til en ny Bluetooth -enhet. Den samme oppførselen kan fremheves i handlingssenteret på Bluetooth -hurtigknappen, der "Ikke tilkoblet" og "Thunderboard React" vises gjentatte ganger (se i filmen nedenfor denne prosessen fra tidsindeksen 5,14 s). Umiddelbart kan vi konkludere at Thunderboard React er skyldig, hovedsakelig på grunn av en mangelfull implementering av annonseringsmekanismen fra Silicon Labs -ingeniører. Men når vi søker på internett, vil vi legge merke til at andre brukere rapporterte det samme problemet til andre typer BLE -enheter etter å ha installert Fall Creators Oppdater - f.eks. Se denne filmen på YouTube.

Etter sammenkobling av SensorTag, kan ikke blessTags -applikasjonen finne Thunderboard React -enheten. Så, på dette tidspunktet fungerer ingenting: Generic Access og Device Information -tjenester eller datainnsamling fra sensorene innebygd i Thunderboard React SensorTag.

3. Thunderboard Sense:

Modusen for å oppføre seg ligner den på Thunderboard React. Denne Bluetooth -enheten vises og forsvinner gjentatte ganger. Når sammenkoblingsprosessen lyktes, er det mulig å ta data fra Generic Access Service. Men fra dette punktet fungerer ingenting lenger.

Som en konklusjon, nå er det bare SensorTags produsert av TI (CC2650STK og CC2541DK) som fungerer nå med Windows 10 Fall Creators Update (1709, build 16229.19). Mer, de jobber bare i lesemodus. Men oppmerksomhet! Bare CC2650STK fastvareversjon 1.40 fungerer i denne modusen. Dessverre, når du kjøper en CC2650STK har du en veldig stor sjanse for å ta en enhet med fastvareversjon 1.20. Så, for å kunne kommunisere med en slik type SensorTag en oppgradering er det i det minste nødvendig for fastvareversjon 1.40.

I forbindelse med dette trinnet presenterer jeg en film som beviser alle disse uttalelsene ovenfor for Windows 10 Fall Creators Update.

Siden den første versjonen av Windows 10 Fall Creators Update (build 16229.19), 17. oktober 2017, har det ikke vært noen forbedringer eller feilkorrigeringer knyttet til Bluetooth LE opp til KB4054517 (utgitt 12. desember 2017). I KB4054517 (OS Build 16299.125) er det en nøkkelendring på Bluetooth LE (se her): "Løser problem med personlige Bluetooth -enheter som ikke støtter binding". Siden denne meldingen er veldig kryptisk, har jeg bestemt meg for å gjenoppta all analysen min så langt og se om det er noen forbedringer sammenlignet med den første versjonen av Windows 10 Fall Creators Update (build 16229.19). … og en liten overraskelse, akkurat nå kan jeg få: (1) data fra Thunderboard Sense (fra sensorene som er innebygd i SensorTag, men bare gjennom lesemekanismen) og (2) all informasjon fra Generic Access og Device Information -tjenester. Det er ingen andre forbedringer.

Trinn 5: Windows 8

Som et første Microsoft -operativsystem med BLE -støtte er implementeringen tilfredsstillende, men det er langt fra å bli en utmerket. De eneste enhetene som fungerer med dette operativsystemet er CC2650STK og CC2541DK.

Ved å sette opptakstiden til 150 [ms], for CC2650STK, kan vi hente dataene (fra alle innebygde sensorer), som overholder 150 [ms] samplingshastigheten, gjennom varslingsmekanismen uten problemer. Dessverre kan vi ved hjelp av lesemekanismen CCC2650STK få data (fra alle sensorene) med en periode på 2 sekunder.

Situasjonen blir verre når vi snakker om CC2541DK. Gjennom varslingsmekanismen innhentes dataene med en periode på 0,4… 0,6 sekunder. Mens vi bruker lesemekanismen, kan vi hente dataene med en svingende periode på 2,8 … 3 sekunder. Betingelsene er de samme: oppkjøpsperiode 150 [ms] fra alle sensorene som er innebygd på CC2541DK SensorTag.

Trinn 6: Windows 7

Microsoft -selskapet har lagt til støtte for Bluetooth Low Energy (BLE) -bunken som starter med Windows 8 -operativsystemet. De har levert et API som gir applikasjoner tilgang til BLE -enheter.

Men Microsoft har ikke portet BLE API-ene til Windows 7. Windows 7s innebygde stabel støtter bare Bluetooth versjon 2.1/3.0, det er ingen støtte for BLE (4.0, 4.1 eller 4.2). Fra et synspunkt til en utvikler er det derfor umulig å kommunisere med en BLE -enhet i Windows 7 ved hjelp av Windows 7s stabel.

TI -selskapet har et program kalt BLE Device Monitor som er i stand til: (1) å kjøre på Windows 7 og (2) å kommunisere med en SensorTag. Men du må bruke en spesiell USB -dongle for disse (f.eks. CC2540 Bluetooth Low Energy USB). Hvis kildekoden for USB -dongelen er gratis, er kildekoden for BLE Device Monitor ikke tilgjengelig - den er bare for intern bruk av TI -selskapet.

Trinn 7: Konklusjoner

Konklusjoner
Konklusjoner

Windows 10 -jubileumsoppdateringen (versjon 1607) er den beste Windows -versjonen som noensinne er laget av Microsoft med tanke på Bluetooth Low Energy (BLE) -enheter - SensorTags i vårt tilfelle. Dette er åpenbart også på grunn av det betydelige antallet forbedringer som skjedde på Bluetooth LE-nivå i følgende OS-bygg (se for mer informasjon: 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 (BLE SensorTags) -appen kan lastes ned fra Windows Store -appene: https://www.microsoft.com/store/apps/9p054xsjjr1n. For mer informasjon, demo, praktiske applikasjoner, eksempler etc. vennligst besøk følgende blogg:

Ved å syntetisere alle resultatene ovenfor får vi tabellen knyttet til dette trinnet.

Anbefalt: