16

我可以使用 hcitool 或我的 C 程序扫描所有可用的蓝牙设备。

我可以将设备的地址与简单代理 python 脚本配对。

我想知道我是否也可以使用 hcitool、hciconfig 或某种蓝牙命令删除配对设备。

我知道 hci0 控制器检测到的设备信息存储在 /var/lib/bluetooth/XX:XX:XX:XX:XX:XX 中,其中 XX:XX:XX:XX:XX 是 hci 控制器的地址.

这对于测试配对、连接和断开设备很有用。

4

6 回答 6

8

bluez-test-device 删除 XX:XX:XX:XX:XX:XX

于 2013-07-11T05:53:02.427 回答
8

如果你安装了这个bluez-tools包,运行这个来取消蓝牙设备的配对:

bt-device -r xx:xx:xx:xx:xx:xx

xx:xx:xx:xx:xx:xx配对设备的地址在哪里。

于 2014-10-09T07:36:11.903 回答
8

对于使用 Ubuntu 20.04 的用户,这里是使用bluetoothctl命令的相同命令

#!/bin/bash 
for device in $(bluetoothctl devices  | grep -o "[[:xdigit:]:]\{8,17\}"); do
    echo "removing bluetooth device: $device | $(bluetoothctl remove $device)"
done
于 2021-04-26T00:16:44.293 回答
6

正如上面在 ashish 的回答中提到的,您可以使用 bluez-test-device 删除您已经知道其 mac 地址的设备。所以问题是解析添加设备的mac地址。

使用 python 或 c 或任何你使用的东西,

1)列出设备;

bluez-test-device list

并解析输出并获取设备的所有 MAC 地址,将它们添加到列表中。

2) 断开并移除设备;

bluez-test-device disconnect <MAC ADDRESS>
bluez-test-device remove <MAC ADDRESS>
于 2015-06-15T18:31:18.573 回答
5

使用bluetoothctl二进制的命令:for device in $(bluetoothctl devices | grep -vEi '(o que mais vc quer deixar aqui|samsung|jbl|wireless)' | awk '{print $2}'); do bluetoothctl remove $device; done

于 2020-07-08T21:30:15.830 回答
1

所有这些答案都没有回答标题“删除所有蓝牙设备”

我编写了这个小 bash 脚本来删除列表中列出的所有蓝牙设备bt-device -l

#!/bin/bash 
for device in $(bt-device -l | grep -o "[[:xdigit:]:]\{11,17\}"); do
    echo "removing bluetooth device: $device | $(bt-device -r $device)"
done

怎么跑?

  1. 创建一个新文件<fileName>.sh并粘贴上面的代码。
  2. 运行chmod +x <fileName>以使脚本可执行
  3. ./<fileName>.sh
  4. 庆祝!现在所有蓝牙设备都已删除:)
于 2020-11-25T14:44:25.603 回答