Windows BLuetooth LE требует сопряжения перед подключением? - PullRequest
0 голосов
/ 19 апреля 2019

Из других сообщений (все довольно старые) кажется, что Windows 10 BLE требует (внешнего) сопряжения, прежде чем можно будет работать с устройством.

Это все еще правда?Могу ли я подключиться к устройству без сопряжения и самостоятельно управлять сопряжением (при необходимости)

Если Windows требует сопряжение для работы с устройством, это плохо, поскольку многие устройства BLE не поддерживают сопряжение.

Мой вариант использования - дистанционный мониторинг пациента, когда пациент выполняет измерения с использованием медицинских приборов личного здоровья.Пациент должен сделать как можно меньше.На Android я делаю следующее и хотел бы сделать то же самое в Windows:

  1. Сканирование в фоновом режиме для устройств BTLE, с которыми может работать мое приложение (фильтрация по UUID; все устройства, поддерживающие стандартную работоспособность)термометр, пульс вол, АД, глюкоза, весы и т. д.).
  2. Когда обнаруживается поддерживаемое устройство, появляется всплывающее окно, и все, что нужно сделать пользователю, это выбрать подключение или нет.

  3. Если устройству требуется сопряжение, оно будет выполнено автоматически, либо потому, что устройство отправляет запрос безопасности, либо отвечает, что при попытке чтения / записи / включения возникает ошибка недостаточной аутентификации.

  4. Если требуется подтверждение или пароль, появится второе всплывающее окно.Это самая сложная часть для пользователя.
  5. Если сопряжение не требуется, оно никогда не произойдет.Я никогда не буду пытаться выполнить сопряжение с устройством, которое его не поддерживает.
  6. При сопряжении и привязке устройство добавляется в список известных устройств, и при обнаружении соединение происходит автоматически без вмешательства пользователя.
  7. Если устройство недоступно, оно все равно добавляется в список известных устройств, и при обнаружении соединение происходит автоматически без вмешательства пользователя.Конечно, мне нужно снова пройти поиск службы.

Это то, что я хотел бы подражать в Windows.Пользователь должен знать ничего об устройстве, кроме как его использовать и, к сожалению, сделать его пригодным для использования и / или подключаемым, что не является стандартным и является большим препятствием.Пользователь также должен как можно меньше взаимодействовать с приложением.Минимум - один раз для подключения (или нет) и диалоговое окно сопряжения (если необходимо).

Это прекрасно работает на Android (за исключением нестабильной BTLE Android).

1 Ответ

0 голосов
/ 19 апреля 2019

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

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

Соединение и сопряжение в BLE часто происходят одновременно, ноони технически разные.Сопряжение является частью процесса шифрования канала, который может происходить без соединения.Связывание - это долговременное хранение информации о шифровании (в частности, ключей), чтобы устройства «знали» друг друга и могли легко восстановить соединение в зашифрованном виде.Если вы включаете режим связывания, вы позволяете этому долговременному хранению иметь место.Без режима привязки все еще возможно временное соединение для формирования зашифрованного соединения.

Вот ссылка на сайт, где это объясняется довольно хорошо.Речь идет о некоторых конкретных модулях BLE, но это отличная информация:
https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2015/08/06/_reference_bonding-lnVL

...