Съдържание:

Анализ на системата за Bluetooth на Windows - подход на SensorTag: 7 стъпки (със снимки)
Анализ на системата за Bluetooth на Windows - подход на SensorTag: 7 стъпки (със снимки)

Видео: Анализ на системата за Bluetooth на Windows - подход на SensorTag: 7 стъпки (със снимки)

Видео: Анализ на системата за Bluetooth на Windows - подход на SensorTag: 7 стъпки (със снимки)
Видео: Mini PC on Intel N100 - AC8-N, powerful fanless platform, Home Assistant OS installation 2024, Юли
Anonim
Windows Bluetooth System Analysis - подход на SensorTag
Windows Bluetooth System Analysis - подход на SensorTag

По -долу ще направя анализ на операционната система Windows (OS) от гледна точка на комуникацията с Bluetooth ниско енергийни устройства - в нашия случай с различни видове SensorTag: Thunderboard React, Thunderboard Sense (и двете са произведени от Silicon Labs Company), CC2650STK и CC2541DK (разработени от Texas Instruments Company).

Стъпка 1: Анализ на системата за Bluetooth на Windows - подход на SensorTag

Windows Bluetooth System Analysis - подход на SensorTag
Windows Bluetooth System Analysis - подход на SensorTag

По -долу ще направя анализ на операционната система Windows (OS) от гледна точка на комуникацията с Bluetooth ниско енергийни устройства - в нашия случай с различни видове SensorTag: Thunderboard React, Thunderboard Sense (и двете са произведени от Silicon Labs Company), CC2650STK и CC2541DK (разработени от Texas Instruments Company).

Аз, което следва, ще анализирам Windows 7, Windows 8.1 и следните версии на Windows 10:

· Юбилейна актуализация (пусната на 2 август 2016 г.; край на поддръжката: ориентировъчно през март 2018 г.), · Актуализация на създателите (издадена на 5 април 2017 г.; край на поддръжката: условно септември 2018 г.) и

· Актуализация на Fall Creators (пусната на 17 октомври 2017 г.; край на поддръжката: условно март 2019 г.).

Анализът ще бъде направен от следната гледна точка:

1. Способността на операционната система (ОС) да се сдвоява със SensorTag;

2. Възможност за получаване на данни за общ достъп (това е задължителна услуга);

3. Възможност за получаване на информация за устройството (тази услуга разкрива информация за производителя и/или доставчика, свързана с конкретен SensorTag);

4. Възможност за получаване на данните на SensorTag, като се използва подходът за четене и

5. Възможност за получаване на данните на SensorTag, като се използва подходът за уведомяване.

Всички тестове бяха направени с помощта на 9.7.8.0 версия на приложението blagosTags. Приложението blagosTags е създадено с поддръжка на Windows SDK - Bluetoothapis. Използват се функции като BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices или BluetoothGATTSetCharacteristicValue.

Това приложение, приложение blagosTags (BLE SensorTags), може да бъде изтеглено от приложенията в магазина на Windows: https://www.microsoft.com/store/apps/9p054xsjjr1n. За повече информация, демонстрация, практически приложения, примери и др., Моля, посетете следния блог:

Стъпка 2: Windows 10 - Юбилейна актуализация - Версия 1607

Image
Image

Тази версия на операционната система Windows 10 е най -добрата от гледна точка на Bluetooth ниско енергийни устройства. Тя може да се сдвоява без никакви проблеми с всички SensorTags (независимо от версията на софтуера, работеща върху тях), с която приложението blagosTags знае как да работи (CC2650STK, Thunderboard React, Thunderboard Sense и CC2541DK), както и цялата информация от услугите на Bluetooth Get Generic Достъпът и получаването на информация за устройството се получава без проблем.

Анализирайки скоростта на събиране на данни (за устройства CC2650STK и CC2541DK), използвайки механизъм за уведомяване и четене на трансфер на данни, можем да наблюдаваме следното:

1. чрез механизма за уведомяване можем да получим данни от всички сензори (осем) от 150 [ms] до 150 [ms] без никакви проблеми;

2. вместо това, когато зададем времето за получаване на 150 [ms] и използваме механизма за четене на данни - в най -щастливата ситуация получаваме 713 [ms], а в най -лошия случай получаваме 840 [ms].

Ако анализираме Thunderboard React и Thunderboard Sense, ще получим еквивалентни резултати - те работят без проблем в средата за Windows 10 Anniversary Update.

Всъщност всички презентационни филми на основните функции на приложението blagosTags и на различните специфични функции (като притурки) са направени с поддръжката на Windows 10 Anniversary Update.

Стъпка 3: Windows 10 - Актуализация на създателите - Версия 1703

Windows 7
Windows 7

Версията Creators Update на Windows 10 е най -лошата операционна система (OS) от гледна точка на Bluetooth ниско енергийни устройства.

Почти нищо не работи. Microsoft призна, че актуализацията на Creators е нарушила Bluetooth Low Energy (референция 1 и референция 2). Компанията Microsoft обеща спешна корекция възможно най -скоро. Но оттогава те пуснаха актуализирана версия на Windows (Fall Creators Update) и нищо не се случи - досега във версията на Windows 10 Creators Update Bluetooth Low Energy все още не работи.

Има голям брой публикации във форуми, в които различни хора се оплакват относно различни видове Bluetooth устройства, които спират да работят след надграждане до Creators Update (вижте тук, вижте тук, вижте тук, вижте тук и т.н.).

Ще покажа веднага резултатите, получени след много тестове: (1) на настолен компютър, който имаше CSR4.0 Bluetooth USB ключ (CSR8510 A10) и (2) на лаптоп Dell Inspiron P66F с вградено Bluetooth LE устройство. Знам, че в интернет има много решения за отстраняване на няколко типа проблеми с Bluetooth. Опитах почти всички, но нищо не работеше (актуализирайте Bluetooth драйвера, стартирайте инструмента за отстраняване на неизправности в Windows, деактивирайте и активирайте свързаните с Bluetooth услуги и т.н.)

И така, нека представим резултатите:

1. CC2650STK:

а. Във версия на фърмуера 1.40 сдвояването на устройството SensorTag с Windows е невъзможно (повторих процеса няколко пъти, поне 8-10 пъти, включих и изключих Bluetooth и опитах отново-резултатите бяха същите: беше невъзможно да добавете това устройство).

б. Във версия на фърмуера 1.20 компютърът откри SensorTag и успях да сдвоя SensorTag с компютъра.

Също така успях да получа данни за общ достъп. Но в услугата „Получаване на информация за устройството“само 6 характеристики отговориха и само от тях беше възможно да се получи информация.

Вместо това не мога да настроя устройството и не мога да извличам данни от сензори нито чрез механизма за четене, нито чрез известията.

2. Thunderboard React:

Операционната система има странно поведение при стартиране на процеса на сдвояване. В списъка с открити устройства SensorTag се появява и изчезва (с период от 1… 1,5 s). И накрая, когато щракването на мишката успее върху SensorTag, процесът на сдвояване се осъществява и светодиодите на Thunderboard React (сините и зелените) имат период, когато те мигат последователно в нетипичен режим.

Четенето на характеристиките на Общата услуга за достъп (0x1800) може да се извърши без проблем, но четенето от Device Information Service (0x180A) се проваля и при четирите съществуващи характеристики.

Настройка на сензорите (вградени в SensorTag), режим на получаване на данни (в Thunderboard React имате само следната възможност: (1) да получавате данни чрез известието от 3 сензора и (2) да четете данни от другите четири сензора) е невъзможно. Следователно невъзможността да се получат действителните данни от сензорите произтича директно от тук.

3. Thunderboard Sense:

Същият пулсиращ процес, наблюдаван за Thunderboard React, беше установен и за Thunderboard Sense - когато искаме да постигнем процеса на сдвояване. Но тук нещата са още по -лоши: след сдвояване програмата blagosTag не може да открие SensorTag. Така че, няма активно устройство - няма обект, откъдето да приложат приложението blagosTags за получаване на данните.

4. CC2541DK:

Поведението е идентично с поведението на CC2650STK (версия на фърмуера 1.40). При всеки опит за свързване ще получите следното съобщение за грешка: „Опитайте отново да свържете устройството си“.

И така, в заключение, в тази версия на Windows 10 (Creators Update) е невъзможно да се комуникира с някой от четирите вида SensorTags, посочени по -горе. Следователно споменавам (още веднъж), че тук съм използвал същата версия на софтуера, която използвах и във всички тестове, направени на Windows 10 Anniversary Update.

Стъпка 4: Windows 10 - Fall Creators Update - Версия 1709

Image
Image

Тази версия на Windows 10 (1709 - OS Build 16299.19) е огромна крачка напред в сравнение с Windows 10 Creators Update (бяха на BLE почти нищо не работи), но все още има дълъг път, за да стигне до нивото на Windows 10 Anniversary Update (1607) операционна система

Но нека видим защо направих това изявление:

1. CC2650STK (версия на фърмуера 1.40) & CC2541DK:

Ще разгледам тези две устройства едновременно тук, защото тяхното поведение, свързано с операционната система Windows 10 (1709), е подобно.

Операцията по сдвояване и четенето от услугите Generic Access и Device Information работят перфектно без никакви проблеми.

Проблемите възникват само когато искаме да прочетем информация от сензорите. Механизмът за пренос на данни чрез известия изобщо не работи.

Единственият начин да получите данни от сензорите, вградени в SensorTag, е чрез механизма за директно четене от устройството. Този подход има два проблема: (1) по -ниска скорост на предаване на данни (както показахме по -горе) и (2) ако всички сензори приемат един от двата метода за пренос на данни (чрез четене и уведомяване), бутоните на SensorTag могат да бъдат разпитани само чрез механизма за уведомяване. Благодарение на тази „функция“на операционната система Windows 10 (1709), приложението blagosTags реализира, започвайки с версия 9.7.8.0, метода за четене също за събиране на данни.

Появява се проблем с CC2650STK SensorTag с версия на фърмуера 1.20. Ако процесът на сдвояване и четене на данни от услугата Generic Access работи много добре, процесът на четене от услугите Device Information не е възможен. Освен това четенето на сензорите (от този SensorTag с тази версия на фърмуера) не работи чрез нито един от двата възможни механизма (четене или уведомяване).

2. Thunderboard React:

В същия режим като в Windows 10 Creators Update, SensorTag се появява и изчезва, когато искаме да добавим ново Bluetooth устройство. Същото поведение може да бъде подчертано в центъра за действие на бутона за бързо действие на Bluetooth, ако „Не е свързан“и „Thunderboard React“се показват многократно (моля, вижте в следващия филм този процес, започвайки от индекса на времето 5.14 s). Веднага можем да заключим че Thunderboard React е виновен, главно поради грешна реализация на рекламния механизъм от инженерите на Silicon Labs. Но, търсейки в интернет, ще забележим, че други потребители са съобщили за същия проблем на други видове BLE устройства, след като са инсталирали Fall Creators Актуализиране - например гледайте този филм в YouTube.

След като сдвои SensorTag, приложението blagosTags не може да намери устройството Thunderboard React. Така че на този етап нищо не работи: Общ достъп и услуги за информация за устройството или събиране на данни от сензорите, вградени в Thunderboard React SensorTag.

3. Thunderboard Sense:

Режимът на поведение е подобен на този на Thunderboard React. Това Bluetooth устройство се показва и изчезва многократно. Когато процесът на сдвояване е успешен, е възможно да се вземат данни от Generic Access Service. Но от този момент вече нищо не работи.

В заключение, сега в Windows 10 Fall Creators Update (1709, build 16229.19) работят само SensorTags, произведени от TI (CC2650STK и CC2541DK). Нещо повече, те работят само в режим на четене. Но внимание! В този режим ще работи само версия на фърмуера CC2650STK версия 1.40. За съжаление, когато купувате CC2650STK, имате много голям шанс да вземете устройство с ревизия на фърмуера 1.20. Така че, за да можете да комуникирате с подобен тип SensorTag надстройка, е необходимо поне до фърмуера версия 1.40.

Свързан с тази стъпка, представям филм, който доказва всички тези изявления, направени по -горе за Windows 10 Fall Creators Update.

От първото издание на Windows 10 Fall Creators Update (компилация 16229.19), на 17 октомври 2017 г., няма подобрения или корекции на грешки, свързани с Bluetooth LE до KB4054517 (издаден на 12 декември 2017 г.). В KB4054517 (OS Build 16299.125) има ключова промяна в Bluetooth LE (вижте тук): „Адресира проблем с персонализирани Bluetooth устройства, които не поддържат свързване“. Тъй като това съобщение е много загадъчно, реших да възобновя всичките си досега анализи и да видя дали има подобрения в сравнение с първото издание на Windows 10 Fall Creators Update (компилация 16229.19). … и малка изненада, в момента мога да получа: (1) данни от Thunderboard Sense (от сензорите, вградени в SensorTag, но само чрез механизма за четене) и (2) цялата информация от услугите за общ достъп и информация за устройството. Няма други подобрения.

Стъпка 5: Windows 8

Като първа операционна система Microsoft с поддръжка на BLE, изпълнението е задоволително, но далеч не е отлично. Единствените устройства, които работят с тази операционна система, са CC2650STK и CC2541DK.

Задавайки времето за получаване на 150 [ms], за CC2650STK, можем да получим данните (от всички вградени сензори), съобразяващи честотата на дискретизация от 150 [ms], чрез механизма за уведомяване без никакви проблеми. За съжаление, използвайки механизма за четене CCC2650STK, можем да получим данни (от всички сензори) за период от 2 секунди.

Ситуацията се влошава, когато говорим за CC2541DK. Чрез механизма за уведомяване данните се получават за период от 0,4 … 0,6 секунди. Докато използваме механизма за четене, можем да извлечем данните с колебателен период от 2,8… 3 секунди. Условията са едни и същи: период на получаване 150 [ms] от всички сензори, вградени в CC2541DK SensorTag.

Стъпка 6: Windows 7

Компанията Microsoft добави поддръжка за стека на Bluetooth с ниска енергия (BLE), започвайки с операционната система Windows 8. Те са предоставили API, който позволява на приложенията да имат достъп до BLE устройства.

Но Microsoft не е пренесъл BLE API към Windows 7. Вграденият стек на Windows 7 поддържа само Bluetooth версия 2.1/3.0, няма поддръжка за BLE (4.0, 4.1 или 4.2). Така че от гледна точка на разработчик е невъзможно да се комуникира в Windows 7 с BLE устройство, използващо стека на Windows 7.

Компанията TI има програма, наречена BLE Device Monitor, която може: (1) да работи на Windows 7 и (2) да комуникира с SensorTag. Но за тях трябва да използвате специален USB ключ (например CC2540 Bluetooth ниско енергиен USB). Ако изходният код за USB ключа е безплатен, изходният код за BLE Device Monitor не е наличен - той е само за вътрешно използване на компанията TI.

Стъпка 7: Заключения

Изводи
Изводи

Годишната актуализация на Windows 10 (Версия 1607) е най -добрата версия на Windows, правена някога от Microsoft от гледна точка на Bluetooth ниско енергийни (BLE) устройства - SensorTags в нашия случай. Очевидно това се дължи и на значителния брой подобрения, настъпили на ниво Bluetooth LE в следните компилации на ОС (вижте за повече информация: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 и 14393.1083.

Приложението blagosTags (BLE SensorTags) може да бъде изтеглено от приложенията в магазина на Windows: https://www.microsoft.com/store/apps/9p054xsjjr1n. За повече информация, демонстрация, практически приложения, примери и др., Моля, посетете следния блог:

Синтезирайки всички горепосочени резултати, ще получим таблицата, свързана с тази стъпка.

Препоръчано: