前言
上一节我们说到了如何连接摄像头,这次我们来学一下树莓派如何连接蓝牙设备。
准备
- 树莓派
zero wh
一个 - 蓝牙耳机一个
蓝牙连接
1. 安装软件
sudo apt-get install pulseaudio pulseaudio-module-bluetooth bluez bluez-firmware
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。
apt-get install mplayer
MPlayer是一款轻便的播放器,软件小、启动快,消耗内存和CPU非常少。
2. 添加认证用户
adduser root pulse-access
adduser pi pulse-access
3. 修改配置文件
a. /etc/dbus-1/system.d/bluetooth.conf
vim /etc/dbus-1/system.d/bluetooth.conf
在</busconfig>之前添加如下内容
<policy user="pulse">
<allow send_destination="org.bluez"/>
</policy>
b. /etc/pulse/system.pa
vim /etc/pulse/system.pa
在文件的最后添加如下内容
### Bluetooth Support
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-bluetooth-policy
.endif
c. /etc/pulse/default.pa
vim /etc/pulse/default.pa
在原文load-module module-native-protocol-tcp
后面添加 auth-anonymous=1
。
load-module module-native-protocol-tcp auth-anonymous=1
d. 新增 pulseaudio.service
文件
vim /etc/systemd/system/pulseaudio.service
写入如下内容:
[Unit]
Description=Pulse Audio
[Service]
Type=simple
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm --exit-idle-time=-1
[Install]
WantedBy=multi-user.target
4. 开启服务
a. 重启加载服务
systemctl daemon-reload
b. 重启 bluetooth
服务
systemctl restart bluetooth.service
c. 启动 pulseaudio
服务
systemctl start pulseaudio.service
d. pulseaudio
服务开机自启动
systemctl enable pulseaudio.service
e. 查看 bluetooth
进程状态
systemctl status bluetooth.service
5. 连接蓝牙耳机
进入蓝牙控制台
sudo bluetoothctl
[bluetooth]$ power on # 开启
[bluetooth]$ agent on # 代理
[bluetooth]$ default-agent # 默认代理
[bluetooth]$ scan on # 扫描附近蓝牙设备
[NEW] Device 70:1C:E7:69:C0:DE huawei
[bluetooth]$ pair 70:1C:E7:69:C0:DE # 配对(后面是蓝牙地址)
[bluetooth]$ trust 70:1C:E7:69:C0:DE # 信任蓝牙设备
[bluetooth]$ connect 70:1C:E7:69:C0:DE # 连接蓝牙设备
[bluetooth]$ scan off # 关闭扫描
[bluetooth]$ exit # 退出
[bluetooth]$ power off # 断开连接
6. mplayer 播放音乐
播放音乐
mplayer 奔跑.mp3
控制声音大小
mplayer -af volume=-10 *.mp3
# volume 的范围可以是-200到+60,-200是静音,而+60是噪音
mplayer -softvol -softvol-max 10 *.mp3
# 先用-softvol 启用软声卡,然后用 -softvol-max 限制软声卡的最大音量。这里我们把最大音量调为默认音量的 10%, 会变得很小声的。
mplayer -af volume=-10 -softvol -softvol-max 200 *.mp3
# 我们把前两种方法综合起来.我们就可以让默认音量对应的值不是 100%,而且一启动就生效。
树莓派系统控制声音大小
alsamixer
参考
树莓派 raspberrypi3 安装蓝牙音箱及Mopidy(https://bbs.hassbian.com/thread-3404-1-1.html)
Mplayer 音量控制详解(https://blog.csdn.net/newnewman80/article/details/6177949?locationNum=4)