Sisällysluettelo:

Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa: 7 vaihetta (kuvilla)
Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa: 7 vaihetta (kuvilla)

Video: Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa: 7 vaihetta (kuvilla)

Video: Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa: 7 vaihetta (kuvilla)
Video: Windows 10 Anniversary Update - a Bluetooth LE SensorTag analysis 2024, Heinäkuu
Anonim
Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa
Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa

Seuraavassa analysoin Windows -käyttöjärjestelmää (OS) kommunikoinnin kannalta Bluetooth Low Energy -laitteiden kanssa - meidän tapauksessamme erityyppisten SensorTagien kanssa: Thunderboard React, Thunderboard Sense (molemmat Silicon Labsin tuottamat) Company), CC2650STK ja CC2541DK (molemmat kehittäneet Texas Instruments Company).

Vaihe 1: Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa

Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa
Windowsin Bluetooth -järjestelmäanalyysi - SensorTag -lähestymistapa

Seuraavassa analysoin Windows -käyttöjärjestelmää (OS) kommunikoinnin kannalta Bluetooth Low Energy -laitteiden kanssa - meidän tapauksessamme erityyppisten SensorTagien kanssa: Thunderboard React, Thunderboard Sense (molemmat Silicon Labsin tuottamat) Company), CC2650STK ja CC2541DK (molemmat kehittäneet Texas Instruments Company).

Seuraavassa analysoin Windows 7, Windows 8.1 ja seuraavat Windows 10 -versiot:

· Vuosipäivitys (julkaistu 2. elokuuta 2016; tuen loppu: alustavasti maaliskuu 2018), · Creators Update (julkaistu 5. huhtikuuta 2017; tuen loppu: alustavasti syyskuu 2018) ja

· Fall Creators Update (julkaistu 17. lokakuuta 2017; tuen loppu: alustavasti maaliskuu 2019).

Analyysi tehdään seuraavista näkökulmista:

1. Käyttöjärjestelmän (OS) kyky muodostaa pariliitos SensorTagin kanssa;

2. Mahdollisuus saada yleisiä käyttöoikeustietoja (tämä on pakollinen palvelu);

3. Kyky saada laitetietoja (tämä palvelu paljastaa tiettyyn SensorTagiin liittyviä valmistajan ja/tai myyjän tietoja);

4. Mahdollisuus saada SensorTagin tiedot käyttämällä lukutapaa ja

5. Mahdollisuus saada SensorTagin tiedot ilmoitusmenetelmän avulla.

Kaikki testit tehtiin käyttäen áldTags -sovelluksen versiota 9.7.8.0. BlessTags -sovellus on rakennettu tukemaan Windows SDK: ta - Bluetoothapis. Käytettiin toimintoja, kuten BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices tai BluetoothGATTSetCharacteristicValue.

Tämä BLE SensorTags -sovellus (BLE SensorTags) voidaan ladata Windows Storen sovelluksista: https://www.microsoft.com/store/apps/9p054xsjjr1n. Lisätietoja, esittely, käytännön sovellukset, esimerkit jne. On seuraavassa blogissa:

Vaihe 2: Windows 10 - vuosipäivän päivitys - versio 1607

Image
Image

Tämä Windows 10 -käyttöjärjestelmän versio on paras Bluetooth Low Energy -laitteiden kannalta. Se voi muodostaa pariliitoksen ilman ongelmia kaikkien SensorTagien kanssa (riippumatta niissä olevasta ohjelmistoversiosta). Access and Get Device Information hankitaan ilman ongelmia.

Analysoimalla tiedonkeruun nopeutta (CC2650STK- ja CC2541DK -laitteille) käyttämällä tiedonsiirron ilmoitus- ja lukumekanismia voimme havaita seuraavaa:

1. Ilmoitusmekanismin kautta voimme saada tietoja kaikista antureista (kahdeksan) 150 [ms] - 150 [ms] ilman ongelmia;

2. sen sijaan kun asetamme hankinta -ajaksi 150 [ms] ja käytämme datanlukumekanismia - onnellisimmassa tilanteessa saamme 713 [ms] ja pahimmassa tapauksessa 840 [ms].

Jos analysoimme Thunderboard Reactia ja Thunderboard Sensea, saamme vastaavat tulokset - ne toimivat ilman ongelmia Windows 10 Anniversary Update -ympäristössä.

Itse asiassa kaikki áldTags -sovelluksen päätoimintojen ja erityisominaisuuksien (kuten Gadgetit) esittelyelokuvat on tehty Windows 10 -vuotispäivityksen tuella.

Vaihe 3: Windows 10 - Luojien päivitys - Versio 1703

Windows 7
Windows 7

Windows 10: n Creators Update -versio on huonoin käyttöjärjestelmä (Bluetooth) Low Energy -laitteiden kannalta.

Lähes mikään ei toimi. Microsoft myönsi, että Creators Update rikkoi Bluetooth Low Energy (viite 1 ja viite 2). Microsoft -yhtiö lupasi hotfix -korjauksen mahdollisimman pian. Mutta sen jälkeen he ovat julkaisseet päivitetyn Windows -version (Fall Creators Update), eikä mitään ole tapahtunut - toistaiseksi Windows 10 Creators Update -versiossa Bluetooth Low Energy ei edelleenkään toimi.

Foorumeilla on suuri määrä viestejä, joissa eri ihmiset valittavat erityyppisistä Bluetooth -laitteista, jotka lakkaavat toimimasta päivityksen jälkeen Creators Updateen (katso täältä, katso täältä, katso täältä, katso täältä jne.).

Tulokset, jotka näytän heti, saatiin monien testien jälkeen: (1) pöytätietokoneessa, jossa oli CSR4.0 Bluetooth -USB -sovitin (CSR8510 A10), ja (2) Dell Inspiron P66F -kannettavassa, jossa on integroitu Bluetooth LE -laite. Tiedän, että Internetissä on monia ratkaisuja useiden Bluetooth -ongelmien korjaamiseen. Yritin melkein kaikkia, mutta mikään ei toiminut (päivitä Bluetooth -ohjain, suorita Windowsin vianmääritys, poista käytöstä ja ota käyttöön Bluetoothiin liittyvät palvelut jne.)

Esitetään siis tulokset:

1. CC2650STK:

a. Laiteohjelmistoversiossa 1.40 SensorTag-laitteen yhdistäminen Windowsin kanssa on mahdotonta (toin prosessin useita kertoja, vähintään 8-10 kertaa, kytkin Bluetoothin päälle ja pois ja yritin uudelleen-tulokset olivat samat: oli mahdotonta lisää tämä laite).

b. Laiteohjelmistoversiossa 1.20 tietokone löysi SensorTagin ja pystyin yhdistämään SensorTagin tietokoneeseen.

Lisäksi pystyin hankkimaan yleisen pääsyn tietoja. Mutta Get Device Information -palvelussa 9 ominaisuudesta vain 6 vastasi ja vain heiltä oli mahdollista saada tietoa.

En voi sen sijaan asettaa laitetta enkä noutaa antureilta tietoja lukumekanismin tai ilmoitusten kautta.

2. Thunderboard React:

Käyttöjärjestelmässä on outo käyttäytyminen, kun pariliitosprosessi käynnistetään. Löydettyjen laitteiden luettelossa SensorTag ilmestyy ja katoaa (1… 1,5 sekunnin ajan). Lopuksi, kun hiiren napsautus onnistuu SensorTagissa, pariliitosprosessi suoritetaan ja Thunderboard Reactin (siniset ja vihreät) LED -valot vilkkuvat peräkkäin epätyypillisessä tilassa.

Yleisen käyttöpalvelun (0x1800) ominaisuuksien lukeminen voidaan tehdä ilman ongelmia, mutta laiteinformaatiopalvelun (0x180A) lukeminen epäonnistuu kaikkien neljän olemassa olevan ominaisuuden suhteen.

Anturien asettaminen (upotettu SensorTagiin), tiedonkeruutapa (Thunderboard Reactissa sinulla on vain seuraava mahdollisuus: (1) saada tietoja kolmen anturin ilmoituksen kautta ja (2) lukea tietoja muista neljästä anturista) on mahdotonta. Siksi mahdottomuus saada todellisia tietoja antureista johtuu suoraan täältä.

3. Thunderboard Sense:

Sama sykkivä prosessi, joka havaittiin Thunderboard Reactissa, havaittiin olevan olemassa myös Thunderboard Sense -laitteessa - kun haluamme saavuttaa pariliitosprosessin. Mutta tässä asiat ovat vielä pahempia: pariliitoksen muodostamisen jälkeen áldusTag -ohjelma ei voi tunnistaa SensorTagia. Ei siis aktiivista laitetta - ei yksikköä, josta áldestag -sovellus hankkii tiedot.

4. CC2541DK:

Toiminta on identtistä CC2650STK: n (laiteohjelmistoversio 1.40) kanssa. Saat jokaisen yhteysyrityksen yhteydessä seuraavan virheilmoituksen: "Yritä yhdistää laite uudelleen".

Yhteenvetona voidaan todeta, että tässä Windows 10 -versiossa (Creators Update) on mahdotonta kommunikoida minkään edellä mainitun neljän SensorTag -tyypin kanssa. Tästä syystä mainitsen (jälleen), että olen käyttänyt samaa ohjelmistoversiota, jota käytin myös kaikissa Windows 10 Anniversary Update -testissä tehdyissä testeissä.

Vaihe 4: Windows 10 - Fall Creators Update - versio 1709

Image
Image

Tämä Windows 10 -versio (1709 - käyttöjärjestelmän koontiversio 16299.19) on valtava askel eteenpäin verrattuna Windows 10 Creators -päivitykseen (olivat BLE: ssä lähes mikään ei toimi), mutta sillä on vielä pitkä matka päästä Windows 10 -juhlapäivityksen tasolle (1607) käyttöjärjestelmä

Mutta katsotaanpa miksi tein tämän lausunnon:

1. CC2650STK (laiteohjelmistoversio 1.40) ja CC2541DK:

Käsittelen näitä kahta laitetta täällä samanaikaisesti, koska niiden käyttäytyminen Windows 10 (1709) -käyttöjärjestelmään on samanlainen.

Pariliitoksen muodostus ja lukeminen yleisestä käyttöoikeudesta ja laitetietopalveluista toimivat täydellisesti ilman minkäänlaisia ongelmia.

Ongelmat ilmenevät vain, kun haluamme lukea tietoja antureista. Tiedonsiirtomekanismi ilmoitusten kautta ei toimi ollenkaan.

Ainoa tapa saada tietoja SensorTagiin upotetuista antureista on laitteen suora lukumekanismi. Tällä lähestymistavalla on kaksi ongelmaa: (1) pienempi tiedonsiirtonopeus (kuten olemme osoittaneet edellä) ja (2) jos kaikki anturit hyväksyvät yhden kahdesta tiedonsiirtomenetelmästä (lukemalla ja ilmoittamalla), SensorTagin painikkeita voidaan kuulustellaan vain ilmoitusmekanismin kautta. Tämän Windows 10 (1709) -käyttöjärjestelmän "ominaisuuden" ansiosta áldTags -sovellus toteuttaa versiosta 9.7.8.0 alkaen myös tiedonkeruumenetelmän.

CC2650STK SensorTagissa on ongelma, jonka laiteohjelmistoversio on 1.20. Jos laiteparin muodostus ja tietojen lukeminen Generic Access -palvelusta toimii erittäin hyvin, laitetietopalvelujen lukuprosessi ei ole mahdollista. Lisäksi anturien lukeminen (tästä SensorTagista tämän laiteohjelmistoversion kanssa) ei toimi kummankaan kahden mahdollisen mekanismin (lukeminen tai ilmoitus) kautta.

2. Thunderboard React:

Samassa tilassa kuin Windows 10 Creators Update -sovelluksessa SensorTag ilmestyy ja katoaa, kun haluamme lisätä uuden Bluetooth -laitteen. Sama käyttäytyminen voidaan korostaa Bluetooth -pikatoimintopainikkeen toimintakeskuksessa: "Ei yhteyttä" ja "Thunderboard React" näytetään toistuvasti (katso seuraavassa elokuvassa tämä prosessi alkaen aikaindeksistä 5,14 s). Voimme heti päätellä että Thunderboard React on syyllinen lähinnä Silicon Labsin insinöörien mainosmekanismin virheellisen käyttöönoton vuoksi. Internetistä etsiessämme kuitenkin huomaamme, että muut käyttäjät ilmoittivat saman ongelman muille BLE -laitteille Fall Creatorsin asentamisen jälkeen Päivitys - esim. Katso tämä elokuva YouTubessa.

SensorTagin pariliitoksen muodostamisen jälkeen áldusmerkit -sovellus ei löydä Thunderboard React -laitetta. Joten tässä vaiheessa mikään ei toimi: Yleinen käyttö ja laitetietopalvelut tai tiedonkeruu Thunderboard React SensorTagiin upotetuista antureista.

3. Thunderboard Sense:

Käyttäytymistapa on samanlainen kuin Thunderboard React. Tämä Bluetooth -laite näkyy ja katoaa toistuvasti. Kun pariliitosprosessi onnistui, on mahdollista ottaa tietoja Generic Access -palvelusta. Mutta tästä lähtien mikään ei enää toimi.

Yhteenvetona voidaan todeta, että nyt Windows 10 Fall Creators -päivityksessä (1709, koontiversio 16229.19) vain TI: n tuottamat SensorTagit (CC2650STK ja CC2541DK) toimivat. Lisäksi ne toimivat vain lukutilassa. Mutta huomio! Vain CC2650STK -laiteohjelmistoversio 1.40 toimii tässä tilassa. Valitettavasti, kun ostat CC2650STK: n, sinulla on erittäin suuret mahdollisuudet hankkia laite, jossa on laiteohjelmiston versio 1.20. Joten voidakseen kommunikoida tällaisen SensorTag -päivitystyypin kanssa on välttämätöntä ainakin laiteohjelmistoversioon 1.40.

Tähän vaiheeseen liittyen esittelen elokuvan, joka todistaa kaikki edellä esitetyt lausunnot Windows 10 Fall Creators -päivitystä varten.

Windows 10 Fall Creators Update -päivityksen (koontiversio 16229.19) ensimmäisen julkaisun jälkeen 17. lokakuuta 2017 Bluetooth LE: hen ei ole tehty parannuksia tai virheenkorjauksia KB4054517 asti (julkaistu 12. joulukuuta 2017). KB4054517: ssä (käyttöjärjestelmän koontiversio 16299.125) on Bluetooth LE: n avainmuutos (katso täältä): "Korjaa ongelman mukautetuissa Bluetooth -laitteissa, jotka eivät tue liittämistä". Koska tämä viesti on hyvin salainen, olen päättänyt jatkaa kaikkia tähän mennessä tehtyjä analyysejani ja nähdä, onko parannuksia verrattuna Windows 10 Fall Creators Update -version ensimmäiseen julkaisuun (koontiversio 16229.19). … Ja pieni yllätys, tällä hetkellä voin saada: (1) tietoja Thunderboard Sense -palvelusta (SensorTagiin upotetuista antureista, mutta vain lukumekanismin kautta) ja (2) kaikki tiedot Generic Access- ja Device Information -palveluista. Muita parannuksia ei ole.

Vaihe 5: Windows 8

Ensimmäisenä BLE -tuella varustettuna Microsoft -käyttöjärjestelmänä toteutus on tyydyttävä, mutta se on kaukana erinomaisesta. Ainoat laitteet, jotka toimivat tämän käyttöjärjestelmän kanssa, ovat CC2650STK ja CC2541DK.

Asettamalla CC2650STK: n hankinta -ajan 150 ms: iin, voimme saada tiedot (kaikista sulautetuista antureista), jotka täyttävät 150 ms: n näytteenottotaajuuden, ilmoitusmekanismin kautta ilman ongelmia. Valitettavasti CCC2650STK -lukumekanismin avulla voimme saada tietoja (kaikista antureista) 2 sekunnin aikana.

Tilanne pahenee, kun puhumme CC2541DK: sta. Ilmoitusmekanismin avulla tiedot saadaan 0,4… 0,6 sekunnin jaksolla. Lukumekanismia käytettäessä voimme hakea tiedot 2,8… 3 sekunnin vaihteluvälein. Ehdot ovat samat: hankinta -aika 150 [ms] kaikista CC2541DK SensorTagiin upotetuista antureista.

Vaihe 6: Windows 7

Microsoft -yhtiö on lisännyt tukea Bluetooth Low Energy (BLE) -pinoon alkaen Windows 8 -käyttöjärjestelmästä. He ovat toimittaneet sovellusliittymän, jonka avulla sovellukset voivat käyttää BLE -laitteita.

Mutta Microsoft ei ole siirtänyt BLE-sovellusliittymiä Windows 7. Windows 7: n sisäänrakennettu pino tukee vain Bluetooth-versiota 2.1/3.0, BLE: tä (4.0, 4.1 tai 4.2) ei tueta. Joten kehittäjän näkökulmasta on mahdotonta kommunikoida Windows 7: ssä BLE -laitteen kanssa Windows 7: n pinon avulla.

TI -yrityksellä on BLE Device Monitor -ohjelma, joka pystyy: (1) toimimaan Windows 7: ssä ja (2) kommunikoimaan SensorTagin kanssa. Näitä varten on kuitenkin käytettävä erityistä USB -sovitinta (esim. CC2540 Bluetooth Low Energy USB). Jos USB -sovittimen lähdekoodi on ilmainen, BLE Device Monitorin lähdekoodi ei ole käytettävissä - se on tarkoitettu vain TI -yrityksen sisäiseen käyttöön.

Vaihe 7: Johtopäätökset

Päätelmät
Päätelmät

Windows 10 -vuotispäivitys (versio 1607) on paras Windows -versio, jonka Microsoft on koskaan tehnyt Bluetooth Low Energy (BLE) -laitteiden - meidän tapauksemme SensorTags - näkökulmasta. Tämä johtuu tietysti myös huomattavasta määrästä parannuksia, jotka tehtiin Bluetooth LE -tasolla seuraavissa käyttöjärjestelmän koontiversioissa (katso lisätietoja: 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.

BLE SensorTags (BLE SensorTags) -sovellus voidaan ladata Windows Storen sovelluksista: https://www.microsoft.com/store/apps/9p054xsjjr1n. Lisätietoja, esittely, käytännön sovellukset, esimerkit jne. On seuraavassa blogissa:

Syntetisoimalla kaikki yllä olevat tulokset saamme tähän vaiheeseen liittyvän taulukon.

Suositeltava: