Sadržaj:

Analiza Bluetooth sustava Windows - pristup senzorskim oznakama: 7 koraka (sa slikama)
Analiza Bluetooth sustava Windows - pristup senzorskim oznakama: 7 koraka (sa slikama)

Video: Analiza Bluetooth sustava Windows - pristup senzorskim oznakama: 7 koraka (sa slikama)

Video: Analiza Bluetooth sustava Windows - pristup senzorskim oznakama: 7 koraka (sa slikama)
Video: CS50 2013 - Week 9, continued 2024, Srpanj
Anonim
Analiza Bluetooth sustava Windows - pristup senzorskim oznakama
Analiza Bluetooth sustava Windows - pristup senzorskim oznakama

U nastavku ću napraviti analizu operacijskog sustava Windows (OS) sa stajališta komunikacije s Bluetooth niskoenergetskim uređajima - u našem slučaju s različitim vrstama SensorTagova: Thunderboard React, Thunderboard Sense (oba proizvođača Silicon Labs Company), CC2650STK i CC2541DK (oba je razvila Texas Instruments Company).

Korak 1: Analiza Bluetooth sustava Windows - pristup SensorTag

Analiza Bluetooth sustava Windows - pristup senzorskim oznakama
Analiza Bluetooth sustava Windows - pristup senzorskim oznakama

U nastavku ću napraviti analizu operacijskog sustava Windows (OS) sa stajališta komunikacije s Bluetooth niskoenergetskim uređajima - u našem slučaju s različitim vrstama SensorTagova: Thunderboard React, Thunderboard Sense (oba proizvođača Silicon Labs Company), CC2650STK i CC2541DK (oba je razvila Texas Instruments Company).

U nastavku ću analizirati Windows 7, Windows 8.1 i sljedeće verzije sustava Windows 10:

· Ažuriranje obljetnice (objavljeno 2. kolovoza 2016.; kraj podrške: okvirno ožujak 2018.), · Ažuriranje kreatora (objavljeno 5. travnja 2017.; kraj podrške: okvirno u rujnu 2018.) i

· Fall Creators Update (objavljeno 17. listopada 2017.; kraj podrške: okvirno ožujak 2019.).

Analiza će se provesti sa sljedećih gledišta:

1. Sposobnost uparivanja operacijskog sustava (OS) sa SensorTag;

2. Mogućnost dobivanja podataka o generičkom pristupu (ovo je obavezna usluga);

3. Mogućnost dobivanja podataka o uređaju (ova usluga otkriva podatke proizvođača i/ili dobavljača vezane za određenu SensorTag);

4. Sposobnost dobivanja podataka SensorTag -a, pomoću pristupa čitanja i

5. Sposobnost dobivanja podataka SensorTag -a, pomoću pristupa obavijesti.

Svi su testovi provedeni korištenjem 9.7.8.0 verzije blagoslovljene aplikacije. Aplikacija blagosTags izgrađena je s podrškom za Windows SDK - Bluetoothapis. Korištene su funkcije poput BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices ili BluetoothGATTSetCharacteristicValue.

Ova se aplikacija, BLT SensorTags (BLE SensorTags) može preuzeti s aplikacija trgovine Windows: https://www.microsoft.com/store/apps/9p054xsjjr1n. Za više informacija, demo, praktične primjene, primjere itd. Posjetite sljedeći blog:

Korak 2: Windows 10 - obljetničko ažuriranje - verzija 1607

Image
Image

Ova verzija operacijskog sustava Windows 10 najbolja je, sa stajališta Bluetooth niskoenergetskih uređaja. Može se bez problema upariti sa svim SensorTagovima (bez obzira na verziju softvera koja je na njima pokrenuta), s kojom aplikacija blagosTags zna raditi (CC2650STK, Thunderboard React, Thunderboard Sense i CC2541DK), a sve informacije iz Bluetooth usluga postaju generičke Pristup i dobivanje podataka o uređaju dobivaju se bez ikakvih problema.

Analizirajući brzinu prikupljanja podataka (za uređaje CC2650STK i CC2541DK) pomoću mehanizma obavještavanja i čitanja prijenosa podataka, možemo uočiti sljedeće:

1. putem mehanizma obavijesti možemo bez problema dobiti podatke sa svih senzora (osam) od 150 [ms] do 150 [ms];

2. umjesto toga, kada postavimo vrijeme akvizicije na 150 [ms] i koristimo mehanizam čitanja podataka - u najsretnijoj situaciji dobivamo 713 [ms], au najgorem slučaju 840 [ms].

Ako analiziramo Thunderboard React i Thunderboard Sense, dobit ćemo ekvivalentne rezultate - oni rade bez ikakvih problema u okruženju Windows 10 Anniversary Update.

Zapravo, svi prezentacijski filmovi glavnih funkcija aplikacije blagosTags i različitih specifičnih značajki (poput gadgeta) napravljeni su uz podršku ažuriranja obljetnice Windows 10.

Korak 3: Windows 10 - Ažuriranje kreatora - verzija 1703

Windows 7
Windows 7

Creators Update verzija Windows 10 najgori je operativni sustav (OS) sa stajališta Bluetooth niskoenergetskih uređaja.

Skoro ništa ne radi. Microsoft je priznao da je Creators Update prekinuo Bluetooth Low Energy (referenca 1 i referenca 2). Tvrtka Microsoft obećala je hitni popravak što je prije moguće. No od tada su izdali ažuriranu verziju sustava Windows (Fall Creators Update) i ništa se nije dogodilo - do sada u verziji Windows 10 Creators Update verzija Bluetooth Low Energy još uvijek ne radi.

Postoji veliki broj postova na forumima u kojima se različiti ljudi žale na različite vrste Bluetooth uređaja koji prestaju raditi nakon nadogradnje na Creators Update (vidi ovdje, vidi ovdje, vidi ovdje, vidi ovdje itd.).

Odmah ću pokazati rezultate, dobiveni su nakon mnogih testova: (1) na stolnom računalu koje je imalo CSR4.0 Bluetooth USB ključ (CSR8510 A10) i (2) na prijenosnom računalu Dell Inspiron P66F sa integrirani Bluetooth LE uređaj. Znam da na internetu postoji mnogo rješenja za rješavanje nekoliko vrsta problema s Bluetoothom. Pokušao sam gotovo sve, ali ništa nije radilo (ažurirajte Bluetooth upravljački program, pokrenite Windows alat za rješavanje problema, onemogućite i omogućite usluge povezane s Bluetoothom itd.)

Dakle, predstavimo rezultate:

1. CC2650STK:

a. Na verziji firmvera 1.40 uparivanje SensorTag uređaja sa sustavom Windows nemoguće je (postupak sam ponovio nekoliko puta, najmanje 8-10 puta, uključio sam i isključio Bluetooth i pokušao sam ponovno-rezultati su bili isti: nemoguće je bilo dodajte ovaj uređaj).

b. Na verziji firmvera 1.20, računalo je otkrilo SensorTag i uspio sam upariti SensorTag s računalom.

Također, uspio sam dobiti podatke o generičkom pristupu. No, na usluzi Dobivanje informacija o uređaju samo je 6 odgovorilo i samo je od njih bilo moguće dobiti informacije.

Umjesto toga, ne mogu postaviti uređaj i ne mogu dohvatiti podatke sa senzora bilo putem mehanizma čitanja ili putem obavijesti.

2. Thunderboard React:

Operacijski sustav ima čudno ponašanje pri pokretanju procesa uparivanja. Na popisu otkrivenih uređaja pojavljuju se i nestaju SensorTag (s razdobljem od 1… 1,5 s). Konačno, kada klik mišem uspije na SensorTag, proces uparivanja se postiže i LED diode na Thunderboard React -u (plave i zelene) imaju razdoblje kada uzastopno trepere u netipičnom načinu rada.

Očitavanje karakteristika usluge generičkog pristupa (0x1800) može se obaviti bez ikakvih problema, ali čitanje iz Device Information Service (0x180A) ne uspijeva na sve četiri postojeće karakteristike.

Postavljanje senzora (ugrađeno u SensorTag), način prikupljanja podataka (na Thunderboard React -u imate samo sljedeću mogućnost: (1) za dobivanje podataka putem obavijesti s 3 senzora i (2) za čitanje podataka s ostala četiri senzora) je nemoguce. Stoga izravno odavde proizlazi nemogućnost dobivanja stvarnih podataka sa senzora.

3. Thunderboard Sense:

Utvrđeno je da isti pulsirajući proces, primijećen za Thunderboard React, postoji i za Thunderboard Sense - kada želimo postići proces uparivanja. No, ovdje su stvari još gore: nakon uparivanja, program blagosTag ne može otkriti SensorTag. Dakle, nema aktivnog uređaja - nema entiteta odakle aplikacija blagosTags prikuplja podatke.

4. CC2541DK:

Ponašanje je identično ponašanju CC2650STK (verzija firmvera 1.40). Pri svakom pokušaju povezivanja dobit ćete sljedeću poruku o pogrešci: "Pokušajte ponovno povezati uređaj".

Dakle, zaključno, unutar ove verzije sustava Windows 10 (Creators Update) nemoguće je komunicirati s bilo kojom od četiri gore navedene vrste senzorskih oznaka. Slijedom toga, još jednom spominjem da sam ovdje upotrijebio istu verziju softvera koju sam također koristio u svim testovima napravljenim na Windows 10 Anniversary Update.

Korak 4: Windows 10 - Fall Creators Update - verzija 1709

Image
Image

Ova verzija sustava Windows 10 (1709 - OS Build 16299.19) veliki je korak naprijed u usporedbi s ažuriranjem za Windows 10 Creators (bili su na BLE -u gotovo ništa ne radi), ali još ima dug put do razine ažuriranja za obljetnicu sustava Windows 10 (1607) operacijski sustav

No, da vidimo zašto sam dao ovu izjavu:

1. CC2650STK (verzija firmvera 1.40) & CC2541DK:

Ovdje ću tretirati ova dva uređaja istovremeno jer je njihovo ponašanje u vezi s operacijskim sustavom Windows 10 (1709) slično.

Operacija uparivanja i čitanje iz usluga Opći pristup i Informacije o uređaju rade savršeno bez ikakvih problema.

Problemi se javljaju samo kada želimo čitati informacije sa senzora. Mehanizam prijenosa podataka putem obavijesti uopće ne radi.

Jedini način za dobivanje podataka sa senzora, ugrađenih u SensorTag, je pomoću mehanizma izravnog očitavanja s uređaja. Ovaj pristup ima dva problema: (1) manja brzina prijenosa podataka (kao što smo gore prikazali) i (2) ako svi senzori prihvaćaju jednu od dvije metode prijenosa podataka (čitanjem i obavještavanjem), gumbi na SensorTag -u mogu se ispitivali samo putem mehanizma obavijesti. Zahvaljujući ovoj "značajci" operacijskog sustava Windows 10 (1709), aplikacija blagosTags implementira, počevši od verzije 9.7.8.0, i metodu čitanja za prikupljanje podataka.

Pojavljuje se problem s CC2650STK SensorTag verzijom firmvera 1.20. Ako proces uparivanja i čitanja podataka iz usluge Generic Access funkcionira vrlo dobro, proces čitanja iz usluga Informacije o uređaju nije moguć. Štoviše, očitavanje senzora (iz ove SensorTag oznake s ovom verzijom firmvera) ne funkcionira ni kroz jedan od dva moguća mehanizma (čitanje ili obavijest).

2. Thunderboard React:

U istom načinu rada kao u sustavu Windows 10 Creators Update, SensorTag se pojavljuje i nestaje kada želimo dodati novi Bluetooth uređaj. Isto se ponašanje može istaknuti u akcijskom centru na Bluetooth -ovoj tipki za brzu radnju ako su "Nije povezano" i "Thunderboard React" prikazani više puta (pogledajte sljedeći film ovaj postupak počevši od vremenskog indeksa 5,14 s). Odmah možemo zaključiti da je Thunderboard React kriv, uglavnom zbog pogrešne implementacije mehanizma oglašavanja od strane inženjera tvrtke Silicon Labs. No, pretražujući internet, primijetit ćemo da su drugi korisnici prijavili isti problem drugim vrstama BLE uređaja, nakon instaliranja programa Fall Creators Ažuriranje - npr. Pogledajte ovaj film na YouTubeu.

Nakon uparivanja SensorTaga, aplikacija blagosTags ne može pronaći uređaj Thunderboard React. Dakle, u ovom trenutku ništa ne radi: Opći pristup i usluge Informacije o uređaju ili prikupljanje podataka sa senzora ugrađenih u Thunderboard React SensorTag.

3. Thunderboard Sense:

Način ponašanja sličan je načinu rada Thunderboard React. Ovaj Bluetooth uređaj se prikazuje i neprestano nestaje. Kad je proces uparivanja uspio, moguće je uzeti podatke iz usluge generičkog pristupa. Ali od ovog trenutka ništa više ne funkcionira.

Kao zaključak, sada na Windows 10 Fall Creators Update (1709, build 16229.19) rade samo SensorTags koje proizvodi TI (CC2650STK i CC2541DK). Štoviše, oni rade samo u načinu čitanja. Ali pozornost! U ovom će načinu rada raditi samo verzija firmvera CC2650STK 1.40. Nažalost, kada kupite CC2650STK, imate vrlo velike šanse da uzmete uređaj s revizijom firmvera 1.20. Dakle, za komunikaciju s takvom vrstom nadogradnje SensorTaga potrebno je barem do verzije firmvera 1.40.

U vezi s ovim korakom predstavljam film koji dokazuje sve gore navedene izjave za Windows 10 Fall Creators Update.

Od prvog izdanja ažuriranja sustava Windows 10 Fall Creators Update (verzija 16229.19), 17. listopada 2017., nije bilo poboljšanja ili ispravki pogrešaka povezanih s Bluetooth LE do KB4054517 (objavljeno 12. prosinca 2017.). U KB4054517 (OS Build 16299.125) postoji ključna promjena na Bluetooth LE (vidi ovdje): "Rješava problem s prilagođenim Bluetooth uređajima koji ne podržavaju povezivanje". Budući da je ova poruka vrlo zagonetna, odlučio sam nastaviti sa svim dosadašnjim analizama i provjeriti ima li poboljšanja u odnosu na prvo izdanje Windows 10 Fall Creators Update (verzija 16229.19). … I malo iznenađenje, upravo sada mogu dobiti: (1) podatke iz Thunderboard Sense -a (sa senzora ugrađenih u SensorTag, ali samo putem mehanizma za čitanje) i (2) sve podatke iz usluga generičkog pristupa i informacija o uređaju. Nema drugih poboljšanja.

Korak 5: Windows 8

Kao prvi Microsoft OS s podrškom za BLE, implementacija je zadovoljavajuća, ali daleko je od toga da će biti izvrsna. Jedini uređaji koji rade s ovim operativnim sustavom su CC2650STK i CC2541DK.

Postavljanjem vremena akvizicije na 150 [ms], za CC2650STK, možemo bez problema dobiti podatke (sa svih ugrađenih senzora) koji su u skladu s brzinom uzorkovanja od 150 [ms], bez ikakvih problema. Nažalost, pomoću mehanizma čitanja CCC2650STK možemo dobiti podatke (sa svih senzora) u razdoblju od 2 sekunde.

Situacija se pogoršava kada govorimo o CC2541DK. Pomoću mehanizma obavijesti podaci se dobivaju s razdobljem od 0,4 … 0,6 sekundi. Pomoću mehanizma za čitanje možemo dohvatiti podatke s promjenjivim razdobljem od 2,8 … 3 sekunde. Uvjeti su isti: razdoblje akvizicije 150 [ms] od svih senzora ugrađenih u CC2541DK SensorTag.

Korak 6: Windows 7

Tvrtka Microsoft dodala je podršku za Bluetooth Low Energy (BLE) stog počevši od operacijskog sustava Windows 8. Osigurali su API koji aplikacijama omogućuje pristup BLE uređajima.

No, Microsoft nije prenio BLE API-je na Windows 7. Ugrađeni stog sustava Windows 7 podržava samo Bluetooth verzije 2.1/3.0, nema podrške za BLE (4.0, 4.1 ili 4.2). Dakle, sa stajališta razvojnog programera, nemoguće je komunicirati u sustavu Windows 7 s BLE uređajem koji koristi hrpu sustava Windows 7.

TI tvrtka ima program pod nazivom BLE Device Monitor koji je u stanju: (1) izvoditi u sustavu Windows 7 i (2) komunicirati s oznakom senzora. No za njih morate koristiti poseban USB ključ (npr. CC2540 Bluetooth niskoenergetski USB). Ako je izvorni kod za USB dongle besplatan, izvorni kod za BLE Device Monitor nije dostupan - služi samo za internu upotrebu tvrtke TI.

Korak 7: Zaključci

Zaključci
Zaključci

Godišnjica za Windows 10 (verzija 1607) najbolja je verzija sustava Windows koju je Microsoft ikada napravio s gledišta Bluetooth niskoenergetskih (BLE) uređaja - u našem slučaju SensorTags. Očito je to također posljedica značajnog broja poboljšanja koja su se dogodila na razini Bluetooth LE u sljedećim verzijama OS-a (za više informacija pogledajte: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 i 14393.1083.

Aplikacija blagosTags (BLE SensorTags) može se preuzeti iz aplikacija Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Za više informacija, demo, praktične primjene, primjere itd. Posjetite sljedeći blog:

Sintetiziranjem svih gore navedenih rezultata dobit ćemo tablicu povezanu s ovim korakom.

Preporučeni: