gatttool LTK, IRK, GAP сомневается?

Я использую bluez для написания приложения BLE. Я прочитал исходный код gatttool, У меня мало сомнений по этому поводу и bluez,

  1. Что значит sec-level в gatttool имеется ввиду? Как это связано с механизмами безопасности спецификации BLE Core (Just Works, Passkey а также OOB)? Как это связано с различными режимами безопасности и уровнями BLE?
  2. Как я могу начать соединение и спаривание, используя gatttool? (Вы можете указать наши аргументы командной строки на команду gatttool).
  3. Как я могу получить доступ GAP профиль с помощью gatttool?
  4. Является service discovery интегрированы в gatttool?
  5. Как я могу управлять / получать доступ к пэру и владеть LTK и IRK?

1 ответ

Решение

Вам не нужно создавать приложение на основе gatttool и того, что в нем включено.

Bluez5 предоставляет интерфейсы в DBus. Используя этот dbus api и с привязками dbus на выбранном вами языке (C, python, C#Mono), вы можете в значительной степени сделать все =)

Вы можете найти описание API-интерфейса dbus, представленного bluez, здесь: https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc

Вы можете найти исходный код bluetoothctl (инструмент, который вы можете использовать для сопряжения, подключения, обнаружения служб, чтения и записи атрибутов gatt и т. Д.) Здесь: https://git.kernel.org/cgit/bluetooth/bluez.git/tree/client/main.c

bluetoothctl был построен с использованием GLib GDBus (связывания dbus для Glib в C), и вы найдете примеры кода практически для всего.

Другие вопросы по тегам