Оглавление:

Системный анализ Windows Bluetooth - подход SensorTag: 7 шагов (с изображениями)
Системный анализ Windows Bluetooth - подход SensorTag: 7 шагов (с изображениями)

Видео: Системный анализ Windows Bluetooth - подход SensorTag: 7 шагов (с изображениями)

Видео: Системный анализ Windows Bluetooth - подход SensorTag: 7 шагов (с изображениями)
Видео: Вирусология - УСТАНОВИЛ И УНИЧТОЖИЛ Windows 11 | Windows 11 Destruction 2024, Июль
Anonim
Системный анализ Windows Bluetooth - подход SensorTag
Системный анализ Windows Bluetooth - подход SensorTag

Далее я проведу анализ операционной системы (ОС) Windows с точки зрения связи с устройствами Bluetooth Low Energy - в нашем случае с различными типами SensorTags: Thunderboard React, Thunderboard Sense (оба произведены Silicon Labs. Company), CC2650STK и CC2541DK (оба разработаны Texas Instruments Company).

Шаг 1. Анализ системы Bluetooth в Windows - подход SensorTag

Системный анализ Windows Bluetooth - подход SensorTag
Системный анализ Windows Bluetooth - подход SensorTag

Далее я проведу анализ операционной системы (ОС) Windows с точки зрения связи с устройствами Bluetooth Low Energy - в нашем случае с различными типами SensorTags: Thunderboard React, Thunderboard Sense (оба произведены Silicon Labs. Company), CC2650STK и CC2541DK (оба разработаны Texas Instruments Company).

Далее я проанализирую Windows 7, Windows 8.1 и следующие версии Windows 10:

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

· Fall Creators Update (выпущено 17 октября 2017 г.; окончание поддержки: ориентировочно март 2019 г.).

Анализ будет производиться со следующих точек зрения:

1. Возможность операционной системы (ОС) сопрягаться с SensorTag;

2. Возможность получить данные Generic Access (это обязательная услуга);

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

4. Возможность получать данные SensorTag, используя метод чтения и

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

Все тесты проводились с использованием приложения blessTags версии 9.7.8.0. Приложение blessTags было создано с поддержкой Windows SDK - Bluetoothapis. Были использованы такие функции, как BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices или BluetoothGATTSetCharacteristicValue.

Это приложение, приложение blessTags (BLE SensorTags), можно загрузить из приложений Магазина Windows: https://www.microsoft.com/store/apps/9p054xsjjr1n. Для получения дополнительной информации, демонстрации, практических приложений, примеров и т. Д. Посетите следующий блог:

Шаг 2. Windows 10 - юбилейное обновление - версия 1607

Image
Image

Эта версия операционной системы Windows 10 является лучшей с точки зрения устройств Bluetooth Low Energy. Он может без проблем сопрягаться со всеми SensorTags (независимо от версии программного обеспечения, работающего на них), с которыми приложение blessTags знает, как работать (CC2650STK, Thunderboard React, Thunderboard Sense и CC2541DK), и вся информация из служб Bluetooth Get Generic Доступ и получение информации об устройстве осуществляется без каких-либо проблем.

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

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

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

Если мы проанализируем Thunderboard React и Thunderboard Sense, мы получим эквивалентные результаты - они без проблем работают в среде Windows 10 Anniversary Update.

Фактически, все презентации основных функций приложения blessTags и различных конкретных функций (например, гаджетов) были созданы при поддержке юбилейного обновления Windows 10.

Шаг 3. Windows 10 - Creators Update - версия 1703

Windows 7
Windows 7

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

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

На форумах имеется большое количество сообщений, в которых разные люди жалуются на разные типы устройств Bluetooth, которые перестают работать после обновления до Creators Update (см. Здесь, см. Здесь, см. Здесь, см. Здесь и т. Д.).

Результаты, которые я собираюсь показать сразу, были получены после многих тестов: (1) на настольном ПК с USB-ключом CSR4.0 Bluetooth (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 с ПК.

Кроме того, мне удалось получить данные Generic Access. Но, в сервисе Get Device Information, из 9 характеристик откликнулось только 6 и только по ним можно было получить информацию.

Вместо этого я не могу настроить устройство и не могу получать данные с датчиков ни с помощью механизма чтения, ни с помощью уведомлений.

2. Thunderboard React:

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

Чтение характеристик службы общего доступа (0x1800) может быть выполнено без каких-либо проблем, но чтение из службы информации об устройстве (0x180A) не выполняется по всем четырем существующим характеристикам.

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

3. Thunderboard Sense:

Было обнаружено, что тот же пульсирующий процесс, который наблюдается для Thunderboard React, существует и для Thunderboard Sense - когда мы хотим добиться процесса сопряжения. Но здесь дела обстоят еще хуже: после сопряжения программа blessTag не может обнаружить SensorTag. Итак, нет активного устройства - нет объекта, откуда приложение blessTags получает данные.

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 - сборка ОС 16299.19) - огромный шаг вперед по сравнению с Windows 10 Creators Update (были на BLE, почти ничего не работает), но еще предстоит пройти долгий путь до уровня Windows 10 Anniversary Update. (1607) операционная система

Но давайте посмотрим, почему я сделал это заявление:

1. CC2650STK (версия прошивки 1.40) и CC2541DK:

Я буду рассматривать эти два устройства одновременно, потому что их поведение в отношении операционной системы Windows 10 (1709) аналогично.

Операция сопряжения и считывание из служб общего доступа и информации об устройстве работают отлично, без каких-либо проблем.

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

Единственный способ получить данные от датчиков, встроенных в SensorTag, - это использовать механизм прямого считывания с устройства. Этот подход имеет две проблемы: (1) более низкая скорость передачи данных (как мы показали выше) и (2) если все датчики принимают один из двух методов передачи данных (посредством чтения и уведомления), кнопки на SensorTag могут быть опрашиваются только через механизм уведомления. Благодаря этой «особенности» ОС Windows 10 (1709) приложение blessTags, начиная с версии 9.7.8.0, реализует также метод чтения для сбора данных.

Проблема возникает с CC2650STK SensorTag с версией прошивки 1.20. Если процесс сопряжения и чтения данных из службы Generic Access работает очень хорошо, процесс чтения из служб информации об устройстве невозможен. Более того, считывание датчиков (из этого SensorTag с этой версией прошивки) не работает ни одним из двух возможных механизмов (чтение или уведомление).

2. Thunderboard React:

В том же режиме, что и в Windows 10 Creators Update, SensorTag появляется и исчезает, когда мы хотим добавить новое устройство Bluetooth. Такое же поведение можно выделить в центре действий на кнопке быстрого действия Bluetooth, где «Не подключен» и «Thunderboard React» постоянно отображаются (см. Этот процесс в следующем видео, начиная с временного индекса 5,14 с). Сразу можно сделать вывод что Thunderboard React виновен, в основном из-за неправильной реализации рекламного механизма инженерами Silicon Labs. Но, поискав в Интернете, мы заметим, что другие пользователи сообщали о той же проблеме на других типах устройств BLE после установки Fall Creators Обновление - например, просмотреть этот фильм на YouTube.

После сопряжения SensorTag приложение blessTags не может найти устройство Thunderboard React. Итак, на данный момент ничего не работает: общий доступ и службы информации об устройстве или сбор данных с датчиков, встроенных в Thunderboard React SensorTag.

3. Thunderboard Sense:

Режим работы аналогичен режиму Thunderboard React. Это устройство Bluetooth отображается и постоянно исчезает. Когда процесс сопряжения успешен, можно получить данные из Generic Access Service. Но с этого момента уже ничего не работает.

В заключение, в настоящее время в Windows 10 Fall Creators Update (1709, сборка 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 (сборка ОС 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 [мс], для CC2650STK мы можем получить данные (со всех встроенных датчиков), соблюдая частоту дискретизации 150 [мс], через механизм уведомления без каких-либо проблем. К сожалению, используя механизм чтения CCC2650STK, мы можем получать данные (со всех датчиков) с периодом 2 секунды.

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

Шаг 6: Windows 7

Компания Microsoft добавила поддержку стека Bluetooth Low Energy (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 Low Energy 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.

Приложение blessTags (BLE SensorTags) можно загрузить из приложений Магазина Windows: https://www.microsoft.com/store/apps/9p054xsjjr1n. Для получения дополнительной информации, демонстрации, практических приложений, примеров и т. Д. Посетите следующий блог:

Обобщая все вышеперечисленные результаты, мы получим таблицу, связанную с этим шагом.

Рекомендуемые: