Обнаружение кнопок на пульте дистанционного управления Bluetooth (HID через GATT)Python

Программы на Python
Ответить
Anonymous
 Обнаружение кнопок на пульте дистанционного управления Bluetooth (HID через GATT)

Сообщение Anonymous »

У меня есть пульт дистанционного управления Bluetooth LE, который я хотел бы подключить к Raspberry Pi Zero.

Изображение
]

Мне удалось успешно подключить пульт к телефону Android, и затем он работал как клавиатура, и я мог вводить цифры на клавиатуре в пустую заметку и даже изменять громкость на телефоне.

Кажется, raspbian не поддерживает HID через Gatt, а это означает, что мне нужно реализовать/имитировать минимальное поведение HID через GATT, используя Python. (Пожалуйста, поправьте меня, если есть более простой способ сделать это.)

Raspbian

Я могу обнаружить пульт в терминале Linux с помощью lescan:

Код: Выделить всё

sudo hcitool lescan
...
AA:BB:CC:DD:EE:FF FancyRemoteXY
Теперь в GATTTool я могу выполнить сопряжение с пультом. Однако через несколько секунд, пока на пульте дистанционного управления продолжает мигать белый светодиод, пульт отключается от моего Pi. Этого не происходит с телефоном Android. Поэтому между удаленным устройством и хостом должно быть какое-то рукопожатие, чтобы соединение сохранялось.

Код: Выделить всё

# Press 1 & 3 to unpair the remote from existing devices
gatttool -I -b AA:BB:CC:DD:EE:FF
connect
# Press the OK button on the remote
Библиотека Python GATT

Теперь я могу читать характеристики, и я также уже имел дело с BLE и характеристиками чтения/записи в прошлом для управления лампочкой.

В настоящее время неясно, как события нажатия клавиш на пульте дистанционного управления могут быть обнаружены «GATT-ian» способом. Я пытался включить уведомления для всех характеристик, которые нашел на пульте, но обратный вызов так и не был вызван.

Я просмотрел спецификацию Bluetooth HID поверх GATT, но не нашел подсказок о том, как добиться получения уведомлений о событиях нажатия клавиш.

Подведем итог. Мои вопросы следующие:
  • Как я могу успешно подключить пульт без потери соединения
  • Как я могу обнаружить нажатые кнопки на пульте дистанционного управления с помощью GATT
Приложение: свойства GATT Bluetooth Explorer

Используя приложение iOS, я смог перечислить следующие службы и характеристики GATT.

С помощью этого приложения я также смог подключиться к пульту, но также был отключен, как и в случае с Raspberry Pi.

Изображение
Изображение


Подробнее здесь: https://stackoverflow.com/questions/547 ... -over-gatt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»