千家信息网

如何将蓝牙耳机连接到Raspberry Pi 3

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍了如何将蓝牙耳机连接到Raspberry Pi 3,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第1步:PulseAu
千家信息网最后更新 2025年02月04日如何将蓝牙耳机连接到Raspberry Pi 3

这篇文章主要介绍了如何将蓝牙耳机连接到Raspberry Pi 3,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

第1步:PulseAudio

随处提到的一个问题是ALSA对蓝牙技术的支持退出。现在唯一的方法是PulseAudio。

HSP(包括A2DP)所需的最小版本是:Bluez 5 / PulseAudio 6

我建议从新的Raspbian Jessie图片开始:https:
//www.raspberrypi.org/downloads/raspbian/

更新并升级它:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo reboot

检查软件包的版本:
dpkg -l bluez
版本 5 .23-2 + rpi2

dpkg -l pulseaudio
版本: 5 .0-13
警告:Raspbian库仍在使用的PulseAudio 5

清除预先安装的PulseAudio:
sudo apt-get purge pulseaudio

要手动安装PulseAudio 6或更高版本,有两种方法,它们都可以。

方法1:从Debian Backports安装PulseAudio

编辑源列表:
sudo nano /etc/apt/sources.list

添加行:
deb http://ftp.debian.org/debian jessie-backports main

将PGP密钥添加到您的Raspberry Pi:
gpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553
gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
gpg -a --export 8B48AD6246925553 | sudo apt-key add --
gpg -a --export 7638D0442B90D010 | sudo apt-key add --

更新软件包列表:
sudo apt-get update

安装PulseAudio及其蓝牙模块:
sudo apt-get -t jessie-backports install pulseaudio pulseaudio-module-bluetooth

检查版本(6或更高版本):
dpkg -l pulseaudio pulseaudio-module-bluetooth

ii pulseaudio 7.1-2〜bpo8 + 1
ii pulseaudio-module-blue 7.1-2〜bpo8 + 1

您可以直接跳到步骤2。

方法2:使用PulseAudio来源

从Freedesktop.org下载源代码:
wget https://freedesktop.org/software/pulseaudio/releases/pulseaudio-6.0.tar.xz

解压缩并转到目录:
tar xvf pulseaudio-6.0.tar.xz
cd pulseaudio-6.0

运行引导脚本:
./bootstrap.sh

我将在这里总结我遇到的所有错误(以防人们通过复制/粘贴进行搜索):
./bootstrap.sh: line 46: intltoolize: command not found
configure: error: Unable to find libltdl version 2. Makes sure you have libtool 2.4 or later installed.
configure: error: *** sys/capability.h not found. Use --without-caps to disable capabilities support
No package 'json-c' found
No package 'sndfile' found

因此安装以上所有库:
sudo apt-get install intltool libtool libcap-dev libjson0-dev libsndfile1-dev

该脚本现在应该正确结束,并且在命令行中,您可以看到已完成配置的表格,以及启用/禁用的部分。在我身边:udev,bluez5,ofono,native-headset,alsa,X11,systemd,...都没有启用,所以我安装了额外的库:
sudo apt-get install libudev-dev libsbc-dev libbluetooth-dev libx11-xcb-dev libasound2-dev libsystemd-dev libsamplerate0-dev

重新执行./引导程序,现在缺少部件已启用。

然后,制作并安装PulseAudio(这需要一些时间,喝一杯咖啡)。
sudo make
sudo make install
sudo ldconfig
最后一条避免共享库的错误的命令没有找到。

第2步:蓝牙硬件

要关闭内置蓝牙控制器(BCM43438),请将其列入黑名单:
sudo nano /etc/modprobe.d/raspi-blacklist.conf

添加行:
黑名单btbcm
黑名单hci_uart

CTRL + X,然后是Y,然后是Enter

重启:
sudo reboot

现在连接你的蓝牙USB加密狗,我的是华硕BT400。
(在这一步,结果可能会有所不同,也许你的USB加密狗已经被Raspbian支持)

对于华硕BT-400,我必须手动安装固件。
要知道您的硬件是否被正确调用,请在此处检查:
dmesg | grep -i bluetooth

在我的情况下,我看到错误:
[155.924366] bluetooth hci0:brcm / BCM20702A1-0b05-17cb.hcd的直接固件加载失败,出现错误-2

在这里我需要解释一些事情。USB dongle中的芯片组来自Broadcom(BCM)
Broadcom的固件是专有的,这意味着它们不会被共享为开源,有时甚至不会在Linux存储库中共享。
所以要使用它,你必须找到相应的.hcd文件并将其存储在/ lib / firmware文件夹中。

简单的方法是在线下载华硕驱动程序:
wget http://dlcdnet.asus.com/pub/ASUS/wireless/USB-BT400/UT_USB_BT400_6516000.zip -P /home/pi/Downloads/

解压缩它:
sudo apt-get install zip
cd /home/pi/Downloads/
unzip UT_USB_BT400_6516000.zip

打开驱动程序的.inf文件并查找华硕
cd BTW6.5.1.6000_Win7_USB_ASUS/Win32/
cat bcbtums-win7x86-brcm.inf

搜索支持您硬件的驱动程序。对于华硕BT400,我找到相应的文件:
BCM20702A1_001.002.014.1315.1347.hex

不是它是.hex,所以我需要将它转换为.hcd,我将使用hex2hcd工具:
cd /home/pi/Desktop
sudo apt-get install git
git clone https://github.com/jessesung/hex2hcd.git
cd hex2hcd
make

在这里,我遇到了错误,由于树莓派配置
gcc -O2 -march =原生hex2hcd.c -o hex2hcd
***错误在`gcc':双免费或腐败(顶部):0x015fdc58 ***
<内置>:目标食谱'hex2hcd'失败
make:*** [hex2hcd]中止

所以我修改了Makefile:
sudo nano Makefile

替换该行:
CFLAGS = -O2 -march = native
通过
CFLAGS = -mcpu = cortex-a53 -mfpu = neon-vfpv4
(来源:https://www.raspberrypi.org/forums/viewtopic.php?f = 28&t = 139091&p = 922980)

重做make命令,现在你有可执行文件hex2hcd:
cp /home/pi/Downloads/BTW6.5.1.6000_Win7_USB_ASUS/Win32/BCM20702A1_001.002.014.1315.1347.hex /home/pi/Desktop/hex2hcd/
./hex2hcd BCM20702A1_001.002.014.1315.1347.hex BCM20702A1-0b05-17cb.hcd

这里要注意.hcd文件的名称,它与上面的错误中缺少的是同一个 dmesg | grep -i bluetooth

将其复制到固件文件夹,重新启动并检查蓝牙启动:
sudo cp BCM20702A1-0b05-17cb.hcd /lib/firmware/brcm/
sudo reboot
dmesg | grep -i bluetooth

应该现在正确地调用固件!

现在我们将连接蓝牙耳机(与仅支持A2DP的步骤相同)

启动Bluetoothctl工具并启动一切:
bluetoothctl
power on
agent on
default-agent

打开耳机,为我的按我按住按钮,直到我看到白色闪烁的LED。

开始扫描:
scan on

几秒钟后,您将看到耳机名称和MAC地址(xx:xx:xx:xx:xx:xx)

配对,信任并连接它:
pair xx:xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx:xx
connect xx:xx:xx:xx:xx:xx

现在耳机已正确连接到Raspberry Pi。
否则,它应该是PulseAudio守护程序,它尚未运行。
打开新的控制台并启动它:
pulseaudio --start

返回到其他控制台并重新连接耳机:
connect xx:xx:xx:xx:xx:xx

现在耳机已连接!

检查PulseAudio中的卡片:
pactl list cards

您可以看到蓝牙卡,以及可用的配置文件A2DP和HSP。
对我来说,默认配置文件是headset_head_unit,如果它不适合你,强制它:
pacmd set-card-profile 1 headset_head_unit

告诉PulseAudio将耳机用作默认的"信号源"和"信号源":
pacmd set-default-sink bluez_sink.xx_xx_xx_xx_xx_xx
pacmd set-default-source bluez_source.xx_xx_xx_xx_xx_xx

用麦克风记录自己:
parecord -v voice.wav

CTRL + C结束它。

回放:
paplay -v voice.wav

你在听你的声音吗?

最后检查A2DP是否也能正常工作,激活它: 你的声音就是这样。
pacmd set-card-profile 1 a2dp_sink
paplay -v voice.wav

感谢你能够认真阅读完这篇文章,希望小编分享的"如何将蓝牙耳机连接到Raspberry Pi 3"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

蓝牙 耳机 文件 版本 错误 检查 固件 方法 程序 华硕 支持 篇文章 配置 蓝牙耳机 命令 硬件 驱动程序 黑名单 黑名 控制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 济南直播软件开发公司如何选择 邯郸市网络安全小组 把接口部署测试服务器 电脑怎么用网站服务器 数据库可视化网页制作 网络安全设备集控探针 公安网络安全执法检 数据库怎么插入一千条记录 邯郸进销存软件开发公司 峰会网络安全人员 消防行业网络安全的行业标准 网易的网络安全防护公司 软件开发周期怎么计算 数据库系统对新冠的帮助 计算机网络安全教育网站 华为服务器 远程管理卡 安徽数据库安全箱销售 软件开发一定要付全款才能开发吗 重庆江北区软件开发公司 软件开发证书是什么 地税网络安全宣传活动总结 数据库和应用开发哪个好 网络安全大数据平台作用 数据库密码怎么设的 银川网络安全测评 软件开发公司攻略 一台服务器配置三个网络 教育行业网络安全指导思想 会计信息化怎么加强网络安全 江苏互联网软件开发服务
0