Подключиться к устройству Bluetooth через терминал


50

Я использую мяту 15 с корицей.

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

Я пытаюсь сканировать их с помощью:

сканирование hititool

Но я получаю

Сканирование ...

и через несколько секунд процесс умирает.

То же самое с hidd --search.

Если я бегу, hciconfig scanя получаю:

hci0:   Type: BR/EDR  Bus: USB
    BD Address: 40:2C:F4:78:E8:69  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN 
    RX bytes:130700 acl:22 sco:0 events:18527 errors:0
    TX bytes:31875398 acl:36784 sco:0 commands:75 errors:0

Я предполагаю, что это просто говорит мой адрес Bluetooth и что он включен.

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

На самом деле это довольно забавно, что hcitool scanничего не находит, так как мои динамики подключены, и каждый раз, когда я запускаю команду, звук из динамиков прерывается на пару секунд.

Ответы:


33

Мне удалось сделать это через bluez-tools :

sudo apt-get install bluez-tools

Список устройств для получения MAC-адреса моего устройства:

bt-device -l

и успешно подключиться к нему:

bt-audio -c 01:02:03:04:05:06


Имейте в виду, что эта bt-audioфункция переопределяется для более новых версий.


9
Это, вероятно, для старой версии, так как больше нет bt-audioкоманды
Эдуард Лопес

1
Для обновления следите за выпуском github.com/khvzak/bluez-tools/issues/13
Эдуард Лопес

В Linux Mint 17 (Cinnamon) я успешно использовал bluez-test-audio connect MAC_ADDRESSуже подключенное аудиоустройство.
Сюзана

2
Я успешно использовал bt-device -c mac_addressна Debian. 9.
Джоброк

11

Я сделал sudo apt-get install bluez-tools, потому что я использовал его в какой-то момент.

После того, как я смог найти устройство hcitool scan, я запустил, bluez-simple-agent hci0 Xгде X - это MAC-адрес устройства, которое я добавил. Это создало соединение с устройством.

Затем я запустился hciconfig scanи, кажется, автоматически установил соединение.


1
Ubuntu 16.04. Там нет bluez-simple-agentкоманды.
LRDPRDX

2

Я знаю, что это немного поздно, но я играл с этой командой, hcitoolи я хотел бы отметить кое-что, что я заметил, что решает вашу проблему сканирования и процесса "просто умирает". Дело в том, что сканирование работает, только если устройства не сопряжены. В вашем случае вы говорите, что видите, что колонки подключены в графическом интерфейсе, что означает, что они уже спарены ... следовательно, сканирование ничего не возвращает.

Я работаю над тем, как подключить / подключить устройства с помощью одного и того же инструмента, хотя я вижу, что вам были предоставлены другие варианты. Я обновлю свой ответ, как только смогу.


2

Чтобы сделать это с помощью встроенных утилит, вы можете выполнить этот немного более ручной процесс, используя bluetoothctl.

hcitool scan  # to get the MAC address of your device
bluetoothctl
agent on
scan on  # wait for your device's address to show up here
scan off
trust MAC_ADDRESS
pair MAC_ADDRRESS
connect MAC_ADDRESS

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


0

У меня установлено следующее в Debian 9.

blueman/stable,now 2.0.4-1 amd64 [installed]
bluez/stable,stable,now 5.43-2+deb9u1 amd64 [installed]
bluez-obexd/stable,stable,now 5.43-2+deb9u1 amd64 [installed,automatic]
bluez-tools/stable,now 0.2.0~20140808-5+b2 amd64 [installed]
pulseaudio-module-bluetooth/stable,now 10.0-1+deb9u1 amd64 [installed]

Я уже соединил свои наушники Bluetooth с адаптером Bluetooth Bluetooth на своем рабочем столе, используя приложение Bluetooth Manager с графическим интерфейсом. У меня есть сочетание клавиш, которое запускает следующие две команды: bt-device -c 00:02:5B:01:3C:3B; pacmd set-default-sink bluez_sink.00_02_5B_01_3C_3B.a2dp_sink

  1. Подключите наушники к USB-адаптеру Bluetooth. (Используйте, bt-device -lчтобы получить MAC-адрес.)
  2. Установите звук Bluetooth в качестве выхода по умолчанию. (Используйте, pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'чтобы получить правильное имя.)

-1

Это может быть немного поздно, но у меня была точно такая же проблема, с тем же выводом из hciconfig.

Тем sudo hcitool lescanне менее, сделал работу для меня - может быть, она все еще может помочь вам!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.