蓝牙取消配对验证
我们使用 bt-agent tool来实现蓝牙自动配对连接
bt-agent tool:
bt-agent是一个用于对蓝牙设备进行管理和操作的工具。它提供了一组命令行工具,可以控制和配置蓝牙设备的各种功能和特性。bt-agent工具可以在Linux系统上使用,并且需要安装BlueZ蓝牙库。
1. 开启bt-agent
bash
bt-agent --capability=NoInputNoOutput
2. 查看bt-agent是否已开启
bash
ps -aux | grep bt-agent
3. 创建脚本
bash
sudo vim /usr/local/bin/btagent_auto.sh
#!/bin/sh
bt-agent --capability=NoInputNoOutput
保存并退出
vim(esc :qw!)
4. 添加执行权限
sudo chmod +x /usr/local/bin/btagent_auto.sh
5. 开机自启动
5.1 创建service文件
bash
sudo vim /etc/systemd/system/btagent_auto.service
文件内容
bash
[Unit]
Description=Bt Agent Auto Service
[Service]
ExecStart=/usr/local/bin/btagent_auto.sh
[Install]
WantedBy=multi-user.target
5.2 启动服务并设置开机自启
sudo systemctl daemon-reload
sudo systemctl start btagent_auto.service
sudo systemctl enable btagent_auto.service
5.3 重启系统检查是否成功自动运行
bash
sudo systemctl status btagent_auto.service
5.4 停止该服务并禁用开机自启
如果要取消自启动可按如下操作:
bash
sudo systemctl stop btagent_auto.service
sudo systemctl disable btagent_auto.service
使用手机蓝牙连接树莓派开发板测试,现在应该可以不需要配对操作就可以连接成功了
6. 介绍其他两种方式替代bt-agent tool
6.1 bluetoothctl内置的agent
bash
bluetoothctl
Agent registered
[bluetooth]# agent off
Agent unregistered
[bluetooth]# agent NoInputNoOutput
Agent registered
[bluetooth]# default-agent
Default agent request successful
6.2 Bluetoothctl options
bash
bluetoothctl --agent=NoInputNoOutput
Agent registered
[bluetooth]# default-agent
Default agent request successful