[toc]
安装和早期准备
树莓派通常来说自带了蓝牙软件,但总有例外是吧
1 | sudo apt install bluez* |
现在,使用以下systemctl命令启用bluetooth.service
1 | sudo systemctl enable bluetooth.service |
以上是后台启用蓝牙服务。但它需要重新启动您的系统。如果不想重启,也可以执行以下命令:
1 | sudo systemctl start bluetooth.service |
注意:确保内核模块btusb
已加载到系统中。内核模块相当于Windows操作系统中的驱动程序。如果未加载,则使用加载
查看内核加载
1 | lsmod | grep btusb |
加载btusb
进内核
1 | modprobe btusb |
进入Bluetoothctl的交互模式
与 nmtui
一样,bluetoothctl
的交互模式在首次连接时更容易使用。与nmcli
一样,非交互模式非常适合脚本编写。如果要进入交互模式,请使用
1 | sudo bluetoothctl |
完成所有步骤后,您可以退出使用
1 | [bluetooth]# quit |
在 Linux 中打开蓝牙
要打开蓝牙,请在蓝牙交互模式使用开机命令:
1 | [bluetooth]# power on |
在我的系统中,我得到以下输出:
1 | Agent registered |
同样,要关闭它,可以使用该power off
命令。
扫描可用的蓝牙设备
首先列出可用的设备
1 | [bluetooth]# devices |
如果在输出中找不到您的设备,请使用以下命令:
1 | [bluetooth]# scan on |
如果您希望其他设备可以发现您的 Linux 计算机,请使用下面给出的命令。
1 | [bluetooth]# discoverable on |
连接到您的蓝牙设备
我们可以通过两种方式做到这一点:
1.配对,然后连接。
2.信任然后连接。我发现它更简单,不那么令人困惑,而且它适用于所有类型的设备。
配对并连接
1 | [bluetooth]# pair 50:E6:66:A4:B3:F3 |
现在使用连接
1 | [bluetooth]# connect 50:E6:66:A4:B3:F3 |
现在,您可能会收到接受连接的提示。
信任和联系
首先,您需要使用以下方法信任您的设备:
1 | [bluetooth]# trust 50:E6:66:A4:B3:F3 |
输出:
1 | [CHG] Device 50:E6:66:A4:B3:F3 Trusted: yes |
现在,bluetoothctl
会将您设备的地址保存在您的计算机上。将来,您将不再需要信任该设备。即使系统重新启动,这种节省也会保留下来。现在,您可以使用以下方式连接设备:
1 | [bluetooth]# connect 50:E6:66:A4:B3:F3 |
现在,您可能会收到接受连接的提示。它甚至可能要求您匹配密钥/密码。
1 | Request confirmation |
在非交互模式下使用 bluetoothctl 编写脚本
我们也可以通过在前面添加bluetoothctl以非交互模式执行上述命令。例如,开机命令变为
1 | bluetoothctl power on |
因此,如果您想使用单个命令连接到蓝牙设备,请使用以下命令:
1 | bluetoothctl power on && bluetoothctl connect 50:E6:66:A4:B3:F3 |
注意:如上所述,在执行上述命令之前,不要忘记信任您的设备 50:E6:66:A4:B3:F3
我们设备一生中只需要执行一次。
脚本编写是我喜欢 Linux 的原因之一,您可以将一个命令与另一个命令合并并提高您的工作效率。
从我当前使用上述命令和nmcli命令与计算机共享智能手机的互联网可以看出这一点。它的网络速度也是相当快的同时,蓝牙比Wi-Fi消耗的电能少得多。
1 | bluetoothctl power on && bluetoothctl connect 54:0D:F9:F4:B8:E4 && nmcli connection up '橙皮\ Network' |
然后,使用ip a
命令之后可以看到这个网卡
断开/取消信任蓝牙命令
当我们使用devices
命令时,我们得到了一个设备列表。如果出于隐私原因您想要从列表中删除您的设备,请在交互模式下使用以下命令:
1 | [bluetooth]# remove 54:0D:F9:F4:B8:E4 |
如果您不再希望您的设备再被信任,请使用:
1 | [bluetooth]# untrust 54:0D:F9:F4:B8:E4 |
要断开连接,有多种方法:
切换蓝牙设备和/或计算机上的蓝牙开关。
从终端使用
bluetoothctl power off
命令。使用标准方法
bluetoothctl disconnect 54:0D:F9:F4:B8:E4
即可