Bluetooth A2DP и RFCOMM
Я пытаюсь сделать свой собственный динамик Bluetooth с некоторыми дополнениями. Мой Android-телефон Sony будет служить источником, а раковина - малиновый пи с USB-ключом Bluetooth.
У меня уже есть мой ключ Bluetooth с профилем A2DP, и выполняется скрипт обратной связи, чтобы связать входящее аудио с подключенной звуковой картой.
Далее я хочу добавить некоторые функции для чтения / записи переменных и отправки команд на Rasberry Pi через то же соединение Bluetooth с профилем RFCOMM.
когда я открываю и RFCOMM-соединение с "sdptool add sp", за которым следует "sudo rfcomm listen hci0" и пытаюсь соединиться с моим телефоном с помощью Android-эмулятора Bluetooth, эмулятор сообщает, что соединение открыто. После этого эмулятор сразу сообщает, что соединение закрыто. Raspberry Pi даже не замечает, что соединение открыто или закрыто.
Я уже читал эту статью, в которой отмечается, что моя цель возможна, единственный вопрос для меня - как.
Итак, мой вопрос:
Могу ли я использовать уже спаренное соединение Bluetooth как для профиля A2DP, так и для профиля RFCOMM, и как мне установить свои настройки с помощью HCI.
Если у кого-то есть альтернативы для отправки команд через сокет, например, соединение с моим Raspberry Pi, я, безусловно, хотел бы попробовать их.
----РЕДАКТИРОВАТЬ----
Так что в прошлые выходные я дал ему еще одну попытку решить мою проблему с Bluetooth. Сначала я попытался установить соединение RFCOMM из командной строки, и оно заработало, как и ожидалось.
Затем я отключился, установите профиль Bluetooth на 0x20041C (переносной звук) и снова установите соединение RRCOMM. Я не совсем понял, что пошло не так в прошлый раз, когда я пытался, но на этот раз это сработало. Я даже смог связать свой телефон Android в качестве источника звука с моей звуковой картой USB с PulseAdio.
Итак, вопрос решен, наверное.
1 ответ
Да, связь по Bluetooth основана на профилях, вы можете использовать много профилей одновременно, я сделал это с IPhone и PandaBoard, Профили: A2DP (источник iPhone, Sanda Sink), PBA (сервер iPhone, клиент Panda), HFP и MAP, Предлагаю попробовать с blueZ, на официальном сайте есть хороший документированный стек.
Удачи!