您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何將藍牙耳機連接到Raspberry Pi 3,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
隨處提到的一個問題是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
最后一條避免共享庫的錯誤的命令沒有找到。
要關閉內置藍牙控制器(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”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。