Неполный список служб BLE GATT, обнаруженных в журнале Android HCI, возвращается в getServices () - PullRequest
0 голосов
/ 17 мая 2018

Я подключаюсь к устройству BLE с пользовательской прошивкой и 4 службами, 2 из которых являются настраиваемыми службами, каждая из которых имеет одну настраиваемую характеристику.

При использовании DiscoverServices () после успешного подключения найдено 4 службы.в журнале HCI (см. экран Wireshark ниже).

Wireshark HCI log

Но только 3 службы возвращаются из getServices () в моем собственном коде Android и вПриложение nRF Bluetooth, и третьему сервису не хватает единственной характеристики:

enter image description here

Четвертый сервис и его характеристика нигде не найдены.

Более длинный журнал HCI всей активности после события соединения, включая чтение характеристики одной из видимых характеристик, связан здесь: Подмножество журнала HCI

1 Ответ

0 голосов
/ 17 мая 2018

В пакете 54 есть ответ на чтение по типу.Контент представляет собой элемент «Данные атрибута», содержащий дескриптор 0x0211 и значение 00. Это значение (00) недопустимо.Объявление характеристики должно иметь следующие компоненты значений:

  • Свойства характеристики (1 байт), Битовое поле свойств характеристики
  • Дескриптор значения характеристики (2 байта), Дескриптор атрибута, содержащийзначение этой характеристики
  • Характеристический UUID (2 или 16 байтов), 16-битный Bluetooth UUID или 128-битный UUID для значения характеристики

Таким образом, значение должно быть либо5 или 19 байтов.Ваше значение составляет 1 байт.

...