以编程方式删除Linux命令行上的所有蓝牙设备

时间:2013-07-10 20:32:50

标签: linux bluetooth bluez hci

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

我可以使用它的地址和简单代理python脚本将设备配对。

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

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

这对于测试配对,连接和断开设备非常有用。

6 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:7)

如果您安装bluez-tools软件包,请运行此软件以取消配对蓝牙设备:

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

其中xx:xx:xx:xx:xx:xx是配对设备的地址。

答案 2 :(得分: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>

答案 3 :(得分:3)

使用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

答案 4 :(得分:3)

对于使用 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

答案 5 :(得分:0)

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

我写了这个小bash脚本来删除bt-device -l

中列出的所有Bluetooth设备。
#!/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. 庆祝!现在已删除所有蓝牙设备:)
相关问题