Bluetoothctl без какого-либо взаимодействия с пользователем

Прямо сейчас я могу успешно подключить и подключить телефон к моей машине без какого-либо взаимодействия с пользователем следующим образом:

$bluetoothctl
#power on
#discoverable on
#pairable on
#agent NoInputNoOutput
#default-agent

со своего телефона я ищу устройство BT, и оно автоматически подключается и соединяется. Теперь у меня две проблемы:

  1. он все еще просит авторизовать сервисы:

    Авторизовать сервис

    [агент] Авторизовать сервис 0000110e-0000-1000-8000-00805f9b34fb (да / нет):

но это не хорошо, потому что я указал NoInputNoOutput!

  1. как доверять устройству? Достаточно набрать trust но мне нужно сделать это автоматически по той же причине.

В общем, есть ли надежная библиотека C++ для обработки соединений Bluetooth и общих профилей, таких как A2DP и ​​HFP?

1 ответ

Я использовал bt-agent с возможностями NoInputNoOutput, и он не запрашивал никаких разрешений для профилей A2DP и ​​HFP.

      bt-agent --capability=NoInputNoOutput

проверьте ссылку для получения более подробной информации.https://www.kynetics.com/docs/2018/pairing_agents_bluez/

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