通过终端连接到蓝牙设备


50

我正在用薄荷15薄荷糖。

我购买了一套蓝牙扬声器,并且试图通过终端连接到它们。通过GUI,我可以正常看到它们,并且已连接到它们。我想制作一个小脚本,以便每当它们可见时,我都会自动连接到它们。

我正在尝试使用以下方法扫描它们:

hcitool扫描

但是我明白了

扫描...

几秒钟后,该过程终止。

与相同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

我想这只是说我的蓝牙地址,并且它已打开。

正如我已经说过的,通过普通的用户界面,我可以看到扬声器,并且已经连接到扬声器,但是通过端子我什么也没看到。

其实很有趣,hcitool scan因为扬声器已连接,所以什么也没找到,而且每次我运行命令时,扬声器的声音都会中断几秒钟。

Answers:


32

我设法通过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命令了
爱德华·洛佩斯


在Linux Mint 17(肉桂色)上,我成功地使用bluez-test-audio connect MAC_ADDRESS了已经配对的音频设备。
Suzana

2
bt-device -c mac_address在Debian上成功使用过。9.
jbrock

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,我想指出一点我注意到的内容,它可以解决您进行扫描的问题以及“正要死”的过程。问题是,扫描仅在设备未配对时才有效。就您的情况而言,您说可以在GUI上看到扬声器已连接,这意味着它们已经配对。因此,扫描不返回任何内容。

尽管可以看到还提供了其他选项,但我正在研究如何使用同一工具配对/连接设备。我将尽快管理我的答案。


2

要使用内置的utils进行操作,您可以使用进行一些手动操作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]

我已经使用GUI应用程序“蓝牙管理器”将蓝牙耳机与桌面上的USB蓝牙适配器配对。我有一个键盘快捷键,可以运行以下两个命令: 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适配器。(bt-device -l用于获取MAC地址。)
  2. 将蓝牙音频设置为默认输出。(pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'用于获取正确的名称。)

-1

这可能会有点晚,但是我遇到了完全相同的问题,并从中获得了相同的输出hciconfig

但是,sudo hcitool lescan为我完成了工作-也许它仍然可以为您提供帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.