Есть ли аутентификация в стандарте Bluetooth BLE?(обратная инженерная проблема) - PullRequest
0 голосов
/ 03 мая 2019

Короче говоря

Когда я подключаюсь к устройству BLE с неофициальным приложением / программой, команды GATT не выполняются устройством.

Нужно ли приложению запускать какой-то король аутентификациис устройством?(лампочка)

Моя история с реверс-инжинирингом

Я пытаюсь реконструировать лампу Bluetooth LE (Holi Sleep Companion).Я успешно нашел нужные мне сообщения GATT:

  1. , читая журналы HCI из Android (средства разработки)
  2. , разбирая код Java приложения Android (Sleep360)

Тем не менее, отправка точно такой же последовательности сообщений Bluetooth на лампу не работает.

Во время тестирования я обнаружил, что следующее работает для одной команды GATT, если она быстро выполняется в правомзаказ:

  1. Я подключаю официальное приложение для Android
  2. Я закрываю официальное приложение для Android
  3. Я подключаю свое собственное приложение / программу и отправляю одну команду GATT (изили другое устройство)

Мои тесты

Я запускаю свои тесты двумя способами:

  1. с приложением nF Connect для Android
  2. с моим собственным скриптом Python, работающим на ноутбуке Linux с bluez

Спасибо за помощь!

1 Ответ

0 голосов
/ 03 мая 2019

Нет, такого «стандарта аутентификации» не существует. Однако в стандарте есть сопряжение и соединение, но об этом обычно заботится система, а не приложение в Android.

Производитель может использовать GATT в качестве транспортного уровня, а затем создавать протокол аутентификации поверх него.

...