【发布时间】:2021-06-20 12:04:08
【问题描述】:
我有一个运行 Rasbian Buster 的 Raspberry Pi 4B。我正在用 Python 编写 Jukebox 软件,并且想要一个选项来暂停 Jukebox 操作并启用蓝牙音频接收器。再次按下该按钮,它将禁用蓝牙发现并重新启用点唱机软件的正常处理。一旦覆盆子安装在物理点唱机中,它将无头运行(仍将使用带有 GUI 的 Rasbian O/S,但不连接监视器/等)。
我的问题是我无法自动进行配对。我相信我的问题与 Blueman 有关,但不知道如何解决。当我配对我的 iPhone(或任何不受信任的设备)时,我在 Raspberry Pi 上看到一个对话框,上面写着:
已请求配对 设备“iPhone”已请求配对。你接受请求吗? 取消确定
显然,我必须单击“确定”才能通过连接。这对我的原型来说很好,但需要弄清楚如何通过这个对话框(我是否卸载 Blueman,是否有我没有找到的选项等)。
以这些网站为指导,这是我目前所做的:
https://www.raspberrypi.org/forums/viewtopic.php?t=247892
https://sigmdel.ca/michel/ha/rpi/bluetooth_n_buster_01_en.html
https://www.raspberrypi.org/forums/viewtopic.php?t=235519
-
sudo apt install bluealsa
-
sudo nano /lib/systemd/system/bluealsa.service
-
编辑 ExecStart 行并将“--profile=a2dp-sink”添加到行尾
-
更改完成后,按 Ctrl-X 保存并退出
-
sudo adduser pi 蓝牙
-
sudo nano /etc/systemd/system/aplay.service
[Unit] Description=BlueALSA aplay service After=bluetooth.service Requires=bluetooth.service [Service] User=pi ExecStart=/usr/bin/bluealsa-aplay 00:00:00:00:00:00 Restart=on-failure Restart=always RestartSec=30 [Install] WantedBy=multi-user.target -
sudo systemctl 启用播放
-
sudo nano /etc/rc.local
-
添加以下行:
/bin/hciconfig hci0 piscan &
/bin/hciconfig hci0 sspmode 1 &
-
sudo apt-get install bluez-tools
-
sudo nano /etc/systemd/system/bt-agent.service
[单位] 描述=蓝牙身份验证代理 之后=蓝牙.服务 PartOf=蓝牙服务
[服务] 类型=简单 ExecStart=/usr/bin/bt-agent -c NoInputNoOutput ExecStartPost=/bin/sleep 1 ExecStartPost=/bin/hciconfig hci0 piscan ExecStartPost=/bin/hciconfig hci0 sspmode 1
[安装] WantedBy=bluetooth.target
-
sudo nano /etc/bluetooth/main.conf
-
取消注释/写出:
Class = 0x41C
DiscoverableTimeout = 0
-
sudo nano /etc/machine-info
PRETTY_HOSTNAME=点唱机
-
重启
如何通过最后一个对话框?另外,当我需要蓝牙被发现时,是否有可以启动/停止的服务?
谢谢。布赖恩
【问题讨论】: