Sadržaj:

Windows analiza sistema Bluetooth - pristup senzorskim oznakama: 7 koraka (sa slikama)
Windows analiza sistema Bluetooth - pristup senzorskim oznakama: 7 koraka (sa slikama)

Video: Windows analiza sistema Bluetooth - pristup senzorskim oznakama: 7 koraka (sa slikama)

Video: Windows analiza sistema Bluetooth - pristup senzorskim oznakama: 7 koraka (sa slikama)
Video: CS50 2013 - Week 9 2024, Juli
Anonim
Windows analiza sistema Bluetooth - pristup senzorskim oznakama
Windows analiza sistema Bluetooth - pristup senzorskim oznakama

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

Korak 1: Analiza Bluetooth sistema Windows - pristup senzorskim oznakama

Windows analiza sistema Bluetooth - pristup senzorskim oznakama
Windows analiza sistema Bluetooth - pristup senzorskim oznakama

U nastavku ću napraviti analizu Windows operativnog sistema (OS) sa stanovišta komunikacije sa Bluetooth niskoenergetskim uređajima - u našem slučaju sa različitim vrstama senzorskih oznaka: 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 Windows 10:

· Ažuriranje godišnjice (objavljeno 2. avgusta 2016.; kraj podrške: okvirno u martu 2018.), · Ažuriranje za kreatore (objavljeno 5. aprila 2017.; kraj podrške: okvirno u septembru 2018.) i

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

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

1. Sposobnost operativnog sistema (OS) da se upari sa SensorTag;

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

3. Mogućnost dobivanja informacija 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, koristeći pristup čitanja i

5. Mogućnost dobivanja podataka SensorTag -a, pomoću pristupa obavještavanja.

Svi testovi su obavljeni pomoću 9.7.8.0 verzije blagoslovljene aplikacije. Aplikacija blagosTags napravljena je kao podrška za Windows SDK - Bluetoothapis. Korištene su funkcije poput BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices ili BluetoothGATTSetCharacteristicValue.

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

Korak 2: Windows 10 - godišnjica - verzija 1607

Image
Image

Ova verzija operativnog sistema Windows 10 najbolja je, sa stanovišta Bluetooth niskoenergetskih uređaja. Bez problema se može 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 dobijanje informacija o uređaju stiču se bez ikakvih problema.

Analizirajući brzinu prikupljanja podataka (za uređaje CC2650STK i CC2541DK) koristeći mehanizam obavještavanja i čitanja prijenosa podataka, možemo primijetiti sljedeće:

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

2. umjesto toga, kada postavimo vrijeme prikupljanja na 150 [ms] i koristimo mehanizam za čitanje 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 funkcija (poput gadžeta) napravljeni su uz podršku ažuriranja za godišnjicu Windows 10.

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

Windows 7
Windows 7

Creators Update verzija Windows 10 najgori je operativni sistem (OS) sa stajališta Bluetooth uređaja s niskom potrošnjom energije.

Skoro ništa ne radi. Microsoft je priznao da je Creators Update prekinuo Bluetooth Low Energy (referenca 1 i referenca 2). Kompanija Microsoft obećala je hitnu ispravku što je prije moguće. Ali od tada su objavili ažuriranu verziju Windowsa (Fall Creators Update) i ništa se nije dogodilo - do sada u verziji Windows 10 Creators Update, Bluetooth Low Energy i dalje ne radi.

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

Rezultati ću odmah pokazati, dobiveni su nakon mnogih testova: (1) na stolnom računaru koji je imao CSR4.0 Bluetooth USB ključ (CSR8510 A10) i (2) na prijenosnom računaru 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 uspjelo (ažurirajte Bluetooth upravljački program, pokrenite Windows rješavanje problema, onemogućite i omogućite usluge povezane s Bluetooth -om itd.)

Dakle, predstavimo rezultate:

1. CC2650STK:

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

b. Na verziji firmvera 1.20, računar je otkrio SensorTag i uspio sam upariti SensorTag sa računarom.

Takođe, uspio sam dobiti podatke o generičkom pristupu. No, u usluzi Dobijanje 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:

Operativni sistem ima čudno ponašanje pri pokretanju procesa uparivanja. Na popisu otkrivenih uređaja pojavljuju se i nestaju SensorTag (s periodom od 1… 1,5 s). Konačno, kada klik mišem uspije na SensorTag, proces uparivanja se završava i LED diode na Thunderboard React -u (plave i zelene) imaju period uzastopnog bljeskanja u netipičnom načinu rada.

Očitavanje karakteristika generičke pristupne usluge (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) da dobijete podatke putem obavještenja sa 3 senzora i (2) da očitate podatke s ostala četiri senzora) je nemoguće. Stoga nemogućnost pribavljanja stvarnih podataka sa senzora proizlazi direktno odavde.

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 grešci: "Pokušajte ponovo povezati uređaj".

Dakle, zaključno, unutar ove verzije Windowsa 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 koristio istu verziju softvera koju sam koristio i u svim testovima napravljenim na Windows 10 Anniversary Update.

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

Image
Image

Ova verzija operativnog sistema Windows 10 (1709 - OS Build 16299.19) veliki je korak naprijed u poređenju sa ažuriranjem za Windows 10 kreatore (bili su na BLE -u gotovo ništa ne radi), ali još uvijek ima dug put do nivoa ažuriranja za godišnjicu Windows 10 (1607) operativni sistem

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 operativnim sistemom Windows 10 (1709) slično.

Operacija uparivanja i čitanje iz usluga generičkog pristupa i informacija o uređaju rade savršeno bez ikakvih problema.

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

Jedini način da dobijete podatke sa senzora, ugrađenih u SensorTag, je pomoću mehanizma za direktno očitavanje sa 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 obavještavanja. Zahvaljujući ovoj "funkciji" operativnog sistema Windows 10 (1709), aplikacija blagosTags implementira, počevši od verzije 9.7.8.0, metod čitanja za prikupljanje podataka.

Pojavio se problem sa 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ć. Štaviše, očitavanje senzora (sa ove SensorTag oznake sa ovom verzijom firmvera) ne funkcioniše kroz jedan od dva moguća mehanizma (čitanje ili obaveštenje).

2. Thunderboard React:

U istom načinu rada kao u Windows 10 Creators Update, SensorTag se pojavljuje i nestaje kada želimo dodati novi Bluetooth uređaj. Isto ponašanje može biti istaknuto 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 proces 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 kompanije 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 SensorTag -a, 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 -a. Ovaj Bluetooth uređaj se prikazuje i neprestano nestaje. Kada je proces uparivanja uspio, moguće je uzeti podatke iz usluge generičkog pristupa. Ali od ove tačke više ništa ne funkcioniše.

Kao zaključak, sada na Windows 10 Fall Creators Update (1709, build 16229.19) rade samo SensorTags koje proizvodi TI (CC2650STK i CC2541DK). Štaviše, oni rade samo u načinu čitanja. Ali pažnja! Samo CC2650STK verzija firmvera 1.40 će raditi u ovom načinu rada. Nažalost, kada kupite CC2650STK, imate velike šanse da uzmete uređaj sa revizijom firmvera 1.20. Dakle, da biste mogli komunicirati 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 Windows 10 Fall Creators Update (verzija 16229.19), 17. oktobra 2017., nije bilo poboljšanja ili ispravki grešaka povezanih s Bluetooth LE do KB4054517 (objavljeno 12. decembra 2017.). U KB4054517 (OS Build 16299.125) postoji ključna promjena na Bluetooth LE (pogledajte ovdje): „Rješava se problem sa 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, trenutno mogu dobiti: (1) podatke iz Thunderboard Sense -a (sa senzora ugrađenih u SensorTag, ali samo putem mehanizma za čitanje) i (2) sve informacije iz usluga generičkog pristupa i informacija o uređaju. Nema drugih poboljšanja.

Korak 5: Windows 8

Kao prvi Microsoft OS sa podrškom za BLE, implementacija je zadovoljavajuća, ali daleko od toga da je odlična. Jedini uređaji koji rade s ovim operativnim sistemom su CC2650STK i CC2541DK.

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

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

Korak 6: Windows 7

Microsoft kompanija je dodala podršku za Bluetooth Low Energy (BLE) stek počevši od operativnog sistema Windows 8. Pružili su API koji aplikacijama omogućava pristup BLE uređajima.

Međutim, Microsoft nije prenio BLE API na Windows 7. Ugrađeni stek u Windowsu 7 podržava samo Bluetooth verzije 2.1/3.0, nema podrške za BLE (4.0, 4.1 ili 4.2). Dakle, sa stanovišta programera, nemoguće je komunicirati u sistemu Windows 7 sa BLE uređajem koji koristi Windows 7 stek.

Kompanija TI ima program pod nazivom BLE Device Monitor koji može: (1) da radi na Windows 7 i (2) da komunicira sa SensorTag -om. Ali 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 kompanije TI.

Korak 7: Zaključci

Zaključci
Zaključci

Godišnjica za Windows 10 (verzija 1607) najbolja je verzija Windowsa koju je Microsoft ikada napravio s tačke gledišta Bluetooth niskoenergetskih (BLE) uređaja - u našem slučaju SensorTags. Očigledno, to je također posljedica značajnog broja poboljšanja koja su se dogodila na nivou 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 aplikacije, primjere itd. Posjetite sljedeći blog:

Sintetizirajući sve gore navedene rezultate dobit ćemo tablicu povezanu s ovim korakom.

Preporučuje se: