Obsah:

Analýza systému Windows Bluetooth - přístup SensorTag: 7 kroků (s obrázky)
Analýza systému Windows Bluetooth - přístup SensorTag: 7 kroků (s obrázky)

Video: Analýza systému Windows Bluetooth - přístup SensorTag: 7 kroků (s obrázky)

Video: Analýza systému Windows Bluetooth - přístup SensorTag: 7 kroků (s obrázky)
Video: how to find Bluetooth in windows 7#easy #viral #video 2024, Červenec
Anonim
Windows Bluetooth System Analysis - přístup SensorTag
Windows Bluetooth System Analysis - přístup SensorTag

V následujícím textu udělám analýzu operačního systému (OS) Windows z pohledu komunikace se zařízeními Bluetooth Low Energy - v našem případě s různými typy SensorTags: Thunderboard React, Thunderboard Sense (oba vyrábí Silicon Labs Company), CC2650STK a CC2541DK (oba vyvinuté společností Texas Instruments Company).

Krok 1: Analýza systému Windows Bluetooth - přístup SensorTag

Windows Bluetooth System Analysis - přístup SensorTag
Windows Bluetooth System Analysis - přístup SensorTag

V následujícím textu udělám analýzu operačního systému (OS) Windows z pohledu komunikace se zařízeními Bluetooth Low Energy - v našem případě s různými typy SensorTags: Thunderboard React, Thunderboard Sense (oba vyrábí Silicon Labs Company), CC2650STK a CC2541DK (oba vyvinuté společností Texas Instruments Company).

Co bude následovat, budu analyzovat Windows 7, Windows 8.1 a následující verze Windows 10:

· Výroční aktualizace (vydáno 2. srpna 2016; konec podpory: předběžně v březnu 2018), · Aktualizace tvůrců (vydáno 5. dubna 2017; konec podpory: předběžně září 2018) a

· Aktualizace Fall Creators (vydáno 17. října 2017; konec podpory: předběžně v březnu 2019).

Analýza bude provedena z následujících hledisek:

1. Schopnost operačního systému (OS) spárovat se SensorTag;

2. Možnost získat data generického přístupu (jedná se o povinnou službu);

3. Možnost získat informace o zařízení (tato služba odhaluje informace o výrobci a/nebo prodejci související s konkrétním SensorTag);

4. Schopnost získat data SensorTag pomocí přístupu čtení a

5. Možnost získat data SensorTag pomocí oznamovacího přístupu.

Všechny testy byly provedeny pomocí verze aplikace požehnání značky 9.7.8.0. Aplikace požehnání byla vytvořena s podporou Windows SDK - Bluetoothapis. Byly použity funkce jako BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices nebo BluetoothGATTSetCharacteristicValue.

Tuto aplikaci, požehnání značek (BLE SensorTags), lze stáhnout z Windows Store Apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. Další informace, ukázky, praktické aplikace, příklady atd. Naleznete na následujícím blogu:

Krok 2: Windows 10 - Výroční aktualizace - verze 1607

Image
Image

Tato verze operačního systému Windows 10 je z pohledu zařízení Bluetooth Low Energy nejlepší. Může se bez problémů spárovat se všemi SensorTags (bez ohledu na verzi softwaru, která na nich běží), s nimiž aplikace požehnání ví, jak pracovat (CC2650STK, Thunderboard React, Thunderboard Sense a CC2541DK), a se všemi informacemi ze služeb Bluetooth Get Generic Získejte přístup a získejte informace o zařízení bez problémů.

Při analýze rychlosti získávání dat (pro zařízení CC2650STK a CC2541DK) pomocí oznamovacího a čtecího mechanismu přenosu dat můžeme pozorovat následující:

1. prostřednictvím oznamovacího mechanismu můžeme bez problémů získat data ze všech senzorů (osm) od 150 [ms] do 150 [ms];

2. místo toho, když nastavíme čas akvizice na 150 [ms] a použijeme mechanismus čtení dat - v nejšťastnější situaci dostaneme 713 [ms] a v nejhorším případě dostaneme 840 [ms].

Pokud budeme analyzovat Thunderboard React a Thunderboard Sense, získáme ekvivalentní výsledky - v prostředí Windows 10 Anniversary Update fungují bez problémů.

Ve skutečnosti byly všechny prezentační filmy hlavních funkcí aplikace požehnání a různých specifických funkcí (například Gadgets) vytvořeny s podporou aktualizace Windows 10 Anniversary Update.

Krok 3: Windows 10 - Aktualizace tvůrců - verze 1703

Windows 7
Windows 7

Verze Windows 10 Creators Update je z pohledu zařízení Bluetooth s nízkou spotřebou energie nejhorším operačním systémem (OS).

Téměř nic nefunguje. Microsoft uznal, že aktualizace tvůrců přerušila Bluetooth Low Energy (odkaz 1 a odkaz 2). Společnost Microsoft slíbila opravu hotfix co nejdříve. Od té doby ale vydali aktualizovanou verzi Windows (Fall Creators Update) a nic se nestalo - až dosud ve verzi Windows 10 Creators Update Bluetooth Low Energy stále nefunguje.

Na fórech je velké množství příspěvků, ve kterých si různí lidé stěžují na různé typy zařízení Bluetooth, která přestanou fungovat po upgradu na aktualizaci tvůrců (viz zde, viz zde, zde, viz zde atd.).

Výsledky, které hned ukážu, byly získány po mnoha testech: (1) na stolním počítači s Bluetooth donglem CSR4.0 Bluetooth USB (CSR8510 A10) a (2) na notebooku Dell Inspiron P66F s integrované zařízení Bluetooth LE. Vím, že na internetu existuje mnoho řešení, jak opravit několik typů problémů s Bluetooth. Zkoušel jsem téměř vše, ale nic nefungovalo (aktualizujte ovladač Bluetooth, spusťte Poradce při potížích se systémem Windows, deaktivujte a povolte služby související s Bluetooth atd.)

Představme si tedy výsledky:

1. CC2650STK:

A. U verze firmwaru 1.40 není spárování zařízení SensorTag s Windows možné (postup jsem opakoval několikrát, alespoň 8–10krát, zapnul a vypnul jsem Bluetooth a zkusil jsem to znovu-výsledky byly stejné: nebylo možné přidat toto zařízení).

b. Ve verzi firmwaru 1.20 počítač objevil SensorTag a já jsem mohl SensorTag spárovat s PC.

Také se mi podařilo získat data generického přístupu. Ve službě Get Device Information však z 9 charakteristik odpovědělo pouze 6 a pouze od nich bylo možné získat informace.

Místo toho nemohu zařízení nastavit a nemohu načíst data ze senzorů ani prostřednictvím čtecího mechanismu, ani prostřednictvím oznámení.

2. Thunderboard React:

Při spuštění procesu párování má operační systém zvláštní chování. V seznamu objevených zařízení se SensorTag objeví a zmizí (s periodou 1… 1,5 s). Nakonec, když kliknutí myší uspěje na SensorTag, proces párování proběhne a LED diody na Thunderboard React (modré a zelené) mají období, kdy postupně blikají v atypickém režimu.

Čtení charakteristik služby generického přístupu (0x1800) lze provést bez problémů, ale čtení ze služby Information Information Service (0x180A) selže u všech čtyř stávajících charakteristik.

Nastavení senzorů (integrovaných na SensorTag), režimu získávání dat (na Thunderboard React máte pouze následující možnost: (1) získat data prostřednictvím oznámení od 3 senzorů a (2) číst data z ostatních čtyř senzorů) je nemožné. Proto nemožnost získávání skutečných dat ze senzorů vyplývá přímo odtud.

3. Thunderboard Sense:

Bylo zjištěno, že stejný pulzující proces, pozorovaný u Thunderboard React, existuje i pro Thunderboard Sense - když chceme dosáhnout procesu párování. Ale tady jsou věci ještě horší: po spárování program požehnání nemůže SensorTag detekovat. Takže žádné aktivní zařízení - žádná entita, odkud by aplikace godTags získávala data.

4. CC2541DK:

Chování je totožné s chováním CC2650STK (verze firmwaru 1.40). Při každém pokusu o připojení se zobrazí následující chybová zpráva: „Zkuste zařízení připojit znovu“.

Na závěr tedy lze říci, že v rámci této verze Windows 10 (Creators Update) není možné komunikovat s jakýmkoli ze čtyř výše uvedených typů SensorTags. V důsledku toho (ještě jednou) uvádím, že jsem zde použil stejnou verzi softwaru, kterou jsem použil také ve všech testech provedených na Windows 10 Anniversary Update.

Krok 4: Windows 10 - Fall Creators Update - verze 1709

Image
Image

Tato verze Windows 10 (1709 - OS Build 16299.19) je ve srovnání s Windows 10 Creators Update obrovským krokem vpřed (na BLE nefungovalo téměř nic), ale stále má dlouhou cestu, jak se dostat na úroveň Windows 10 Anniversary Update (1607) operační systém

Podívejme se však, proč jsem učinil toto prohlášení:

1. CC2650STK (verze firmwaru 1.40) a CC2541DK:

Budu zde léčit tato dvě zařízení současně, protože jejich chování související s operačním systémem Windows 10 (1709) je podobné.

Operace párování a čtení ze služeb Obecný přístup a Informace o zařízení fungují perfektně bez jakýchkoli problémů.

Problémy nastávají pouze tehdy, když chceme číst informace ze senzorů. Mechanismus přenosu dat prostřednictvím oznámení vůbec nefunguje.

Jediný způsob, jak získat data ze senzorů, vložených do SensorTag, je pomocí mechanismu přímého čtení ze zařízení. Tento přístup má dva problémy: (1) nižší rychlost přenosu dat (jak jsme ukázali výše) a (2) pokud všechna čidla přijímají jednu ze dvou metod přenosu dat (prostřednictvím čtení a upozornění), tlačítka na SensorTag lze vyslýcháno pouze prostřednictvím oznamovacího mechanismu. Díky této „funkci“operačního systému Windows 10 (1709) implementuje aplikace požehnání, počínaje verzí 9.7.8.0, také způsob čtení pro získávání dat.

Objeví se problém s CC2650STK SensorTag s verzí firmwaru 1.20. Pokud proces párování a čtení dat ze služby Generic Access funguje velmi dobře, proces čtení ze služeb Information Device není možný. Čtení senzorů (z tohoto SensorTag s touto verzí firmwaru) navíc nefunguje ani jedním ze dvou možných mechanismů (čtení nebo oznámení).

2. Thunderboard React:

Ve stejném režimu jako v aktualizaci Windows 10 Creators Update se SensorTag objeví a zmizí, když chceme přidat nové zařízení Bluetooth. Stejné chování lze zvýraznit v centru akcí na tlačítku rychlé akce Bluetooth, kde se opakovaně zobrazuje „Nepřipojeno“a „Thunderboard React“(viz následující film, tento proces začíná od časového indexu 5,14 s). Okamžitě můžeme uzavřít že Thunderboard React je vinen, hlavně kvůli chybné implementaci reklamního mechanismu inženýry Silicon Labs. Ale při hledání na internetu si všimneme, že ostatní uživatelé nahlásili stejný problém jiným typům BLE zařízení, po instalaci Fall Creators Aktualizace - např. Podívejte se na tento film na YouTube.

Po spárování SensorTag aplikace požehnání nemůže najít zařízení Thunderboard React. V tuto chvíli tedy nic nefunguje: Obecný přístup a služby Informace o zařízení nebo získávání dat ze senzorů integrovaných na Thunderboard React SensorTag.

3. Thunderboard Sense:

Režim chování je podobný režimu Thunderboard React. Toto zařízení Bluetooth se zobrazí a opakovaně zmizí. Když je proces párování úspěšný, je možné převzít data ze služby generického přístupu. Ale od tohoto bodu už nic nefunguje.

Na závěr, nyní na Windows 10 Fall Creators Update (1709, build 16229.19) fungují pouze SensorTags vyrobené TI (CC2650STK a CC2541DK). Navíc fungují pouze v režimu čtení. Ale pozor! V tomto režimu bude fungovat pouze firmware firmwaru CC2650STK verze 1.40. Bohužel při nákupu CC2650STK máte velmi vysokou šanci, že si pořídíte zařízení s revizí firmwaru 1.20. Abychom mohli komunikovat s takovým typem SensorTag, je nutné upgradovat alespoň na verzi firmwaru 1.40.

V souvislosti s tímto krokem představuji film, který dokazuje všechna výše uvedená prohlášení pro aktualizaci Windows 10 Fall Creators Update.

Od prvního vydání aktualizace Windows 10 Fall Creators Update (build 16229.19), 17. října 2017, neproběhlo žádné vylepšení ani opravy chyb související s Bluetooth LE až po KB4054517 (vydáno 12. prosince 2017). V KB4054517 (OS Build 16299.125) došlo ke klíčové změně Bluetooth LE (viz zde): „Řeší problém s přizpůsobenými zařízeními Bluetooth, která nepodporují propojení“. Protože je tato zpráva velmi tajemná, rozhodl jsem se obnovit veškerou doposud nasazenou analýzu a zjistit, zda došlo k nějakému vylepšení oproti prvnímu vydání aktualizace Windows 10 Fall Creators Update (build 16229.19). … A malé překvapení, právě teď jsem schopen získat: (1) data z Thunderboard Sense (ze senzorů vložených na SensorTag, ale pouze prostřednictvím čtecího mechanismu) a (2) všechny informace ze služeb generického přístupu a informací o zařízení. Neexistují žádná další vylepšení.

Krok 5: Windows 8

Jako první operační systém Microsoft s podporou BLE je implementace uspokojivá, ale zdaleka není vynikající. Jedinými zařízeními, která pracují s tímto operačním systémem, jsou CC2650STK a CC2541DK.

Nastavením doby akvizice na 150 [ms], pro CC2650STK, můžeme data (ze všech vestavěných senzorů), vyhovující vzorkovací frekvenci 150 [ms], získat prostřednictvím oznamovacího mechanismu bez problémů. Bohužel, pomocí čtecího mechanismu CCC2650STK můžeme získat data (ze všech senzorů) s periodou 2 sekund.

Situace se zhoršuje, když mluvíme o CC2541DK. Prostřednictvím oznamovacího mechanismu jsou data získávána s periodou 0,4 … 0,6 sekundy. Při použití čtecího mechanismu můžeme získávat data s kolísavou periodou 2,8 … 3 sekundy. Podmínky jsou stejné: doba akvizice 150 [ms] ze všech senzorů integrovaných na CC2541DK SensorTag.

Krok 6: Windows 7

Společnost Microsoft přidala podporu pro Bluetooth Low Energy (BLE) stack počínaje operačním systémem Windows 8. Poskytli API, které umožňuje aplikacím přístup k zařízením BLE.

Společnost Microsoft však nepřenesla rozhraní BLE API do systému Windows 7. Integrovaný zásobník systému Windows 7 podporuje pouze Bluetooth verze 2.1/3.0, podpora BLE (4.0, 4.1 nebo 4.2) neexistuje. Z pohledu vývojáře tedy není možné v systému Windows 7 komunikovat se zařízením BLE pomocí zásobníku systému Windows 7.

Společnost TI má program nazvaný BLE Device Monitor, který je schopen: (1) běžet na Windows 7 a (2) komunikovat se SensorTag. K tomu ale musíte použít speciální USB dongle (např. CC2540 Bluetooth Low Energy USB). Pokud je zdrojový kód pro USB dongle zdarma, zdrojový kód pro BLE Device Monitor není k dispozici - je pouze pro interní použití společnosti TI.

Krok 7: Závěry

Závěry
Závěry

Aktualizace Windows 10 Anniversary Update (verze 1607) je nejlepší verzí systému Windows, kterou kdy společnost Microsoft vyrobila z pohledu zařízení Bluetooth s nízkou spotřebou energie (BLE) - v našem případě SensorTags. Očividně je to také kvůli značnému počtu vylepšení, která proběhla na úrovni Bluetooth LE v následujících verzích OS (více informací: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 a 14393.1083.

Aplikaci požehnané značky (BLE SensorTags) lze stáhnout z Windows Store Apps: https://www.microsoft.com/store/apps/9p054xsjjr1n. Další informace, ukázky, praktické aplikace, příklady atd. Naleznete na následujícím blogu:

Syntézou všech výše uvedených výsledků získáme tabulku spojenou s tímto krokem.

Doporučuje: