Как повысить коэффициент успешности подключения BLE при вызовах подключения к D-Bus через BlueZ

У меня есть приложение для iOS, которое может довольно надежно подключаться к моим устройствам BLE, которые рекламируются на 1,285 секунды, частота, определенная Apple как одна из частот, которая поможет оптимизировать подключение. У меня также есть некоторые устройства BLE, которые рекламируются намного медленнее (например, реклама каждые 4 секунды), и их можно подключить с помощью приложения iOS, но с меньшей надежностью. Чтобы заставить их подключиться, приложение должно дольше ждать завершения подключения после выдачи команды для подключения к устройству, а иногда приложение должно вызывать повторную попытку.

Запустив приложение Java на Raspbian на Raspberry Pi 3 Model B, я обнаружил, что попытки подключения к устройствам BLE, рекламирующим со скоростью 1,285, довольно надежны, но попытки подключения к устройствам BLE с более медленной рекламой всегда терпят неудачу. Я ищу способы повлиять на BlueZ и, следовательно, на D-Bus, чтобы улучшить возможность подключения этих устройств с медленной рекламой. Я просмотрел исходный код BlueZ и пока не нашел никаких подсказок.

Есть ли у кого-нибудь предложения или идеи?


person dfclark    schedule 04.11.2016    source источник


Ответы (1)


API BlueZ D-Bus довольно ограничивает ваши возможности. Я предлагаю вам попробовать другое решение, которое напрямую связывается через HCI с чипом Bluetooth. Возможно, https://github.com/sandeepmistry/bleno.

person Emil    schedule 08.11.2016