Я пытаюсь использовать стек BlueZ на машине Linux для создания сервера GATT с пользовательскими сервисами и характеристиками. Конечной целью является использование любого центрального устройства (например, iOS или Android-устройства) для подключения к серверу GATT, обнаружения сервисов и характеристик и управления данными в характеристиках.
Пример:
- Периферийное устройство с 1 услугой, которая содержит 3 характеристики.
- Сервис uuid = 0xFFFF
- Char 1 uuid = 0xAAAA, properties = readable
- Char 2 uuid = 0xBBBB, свойства = доступны для чтения и записи
- Char 3 uuid = 0xCCCC, properties = notifiable
От центрального устройства я должен увидеть периферийное устройство, подключиться к нему и обнаружить одну услугу (0xFFFF), которая имеет три характеристики (0xAAAA, 0xBBBB, 0xCCCC). Затем я мог бы прочитать значение 0xAAAA, прочитать и записать значение 0xBBBB и включить уведомления в 0xCCCC.
Обратите внимание, что я знаю, что существует аналогичный вопрос, но он объясняет, как использовать периферийное устройство как рекламодателя. Другой решаемый вопрос объясняет, как создать сервер GATT, но не объясняет, как играть со свойствами характеристик (например, читаемыми, уведомляемыми и т.д.), или, может быть, Я что-то пропустил.
Спасибо заранее.