步驟1:為基本操作系統(tǒng)準備SD
繼續(xù),然后將SD卡插入讀卡器。對于此設(shè)置,我們將使用Raspbian Wheezy,它是撰寫本文時針對PI的最新的基于Debian的操作系統(tǒng)。您應(yīng)該可以在這里找到最新版本:
http://www.raspberrypi.org/downloads
下載并解壓縮圖像文件并記下位置。如果您使用的是Mac,則將圖像刻錄到SD卡上應(yīng)該很簡單。但是,如果您是Windows用戶,請繼續(xù)使用此實用程序?qū)MG文件“刻錄”到SD卡。
http://sourceforge.net/projects/win32diskimager/
請確保選擇正確的文件和正確的驅(qū)動器號,然后按WRITE按鈕,否則您可能會發(fā)生一些討厭的事情。 :(
步驟2:通過監(jiān)視器/鍵盤或網(wǎng)絡(luò)SSH登錄到PI
您的PI必須是此時,無論是通過LAN還是WiFi連接到Internet,我都不會介紹如何將您的PI連接到WiFi或從SSH登錄; Google是您的朋友!
否則,請使用鍵盤和顯示器并以舊的方式設(shè)置PI!
注意:確保從此處插入藍牙加密狗。
注意:默認登錄名是 pi ,密碼是 raspberry 。
第3步:安裝必備軟件包
好吧,現(xiàn)在我們都已登錄,已連接到Internet,并準備開始安裝所有軟件包,以便可以在您的PI上使用藍牙。
sudo apt-get upgrade
sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluez-tools
步驟4:修改一些配置文件以啟用藍牙環(huán)境
首先,讓我們繼續(xù)將用戶pi添加到Pulse音頻組中,以便我們用戶可以通過它播放音頻。
sudo usermod –a –G lp pi
現(xiàn)在,讓我們繼續(xù)并在我們的藍牙配置中啟用A2DP。運行以下命令:
sudo nano/etc/bluetooth/audio.conf
這將打開帶有該配置文件的文本編輯器。在[常規(guī)]下添加以下文本:
Enable = Source,Sink,Media,Socket
按CTRL + O和ENTER保存,然后按CTRL + X退出nano。接下來,讓我們修改Pulse守護程序配置文件以更改其重采樣方法。
sudo nano/etc/pulse/daemon.conf
查找以下行: resample-method = speex-float-3
如果該行沒有;在它前面,請放一個;那里看起來像:
; resample-method = speex-float-3
,然后在其下添加以下行。
resample-method =平凡
在繼續(xù)之前,讓我們繼續(xù)并重新命名我們的藍牙設(shè)備(奇怪的是您不希望名稱為 raspberry-pi0 ),并將藍牙類設(shè)備從“計算機”重新定義為“便攜式音頻設(shè)備”。您應(yīng)該修改兩個位置。
sudo nano/etc/bluetooth/main.conf
更改Name參數(shù)。我選擇在BeatsByDre上播放。
名稱= BeatsByDan
更改設(shè)備的Class參數(shù)。
Class 0x20041C
接下來,您必須修改配置您的特定設(shè)備。目錄基于您的藍牙設(shè)備的MAC地址,因此在鍵入時單擊TAB即可找到您的目錄。
sudo nano/var/lib/bluetooth//config
再次編輯name指令。
name BeatsByDan
設(shè)備類。..
class0x20041C
繼續(xù)保存并退出。
步驟5:設(shè)置當藍牙設(shè)備連接時執(zhí)行的腳本
現(xiàn)在我們已經(jīng)設(shè)置了藍牙環(huán)境,讓我們繼續(xù)開始為我們自動執(zhí)行藍牙連接并將其路由到音頻的過程。首先讓我們在udev中設(shè)置一條規(guī)則,該規(guī)則指出只要連接設(shè)備,腳本就會執(zhí)行。運行以下命令以打開udev規(guī)則列表。
sudo nano/etc/udev/rules.d/99-input.rules
這里應(yīng)該只有一行看起來像:
SUBSYSTEM ==“ input”,GROUP =“ input”,MODE =“ 0660”
在其下方,讓我們繼續(xù)添加以下行:
KERNEL ==“ input [0-9] *”,RUN + =“/usr/lib/udev/bluetooth”
保存并退出。
現(xiàn)在,讓我們實際保存上述規(guī)則的腳本文件正在引用。首先檢查是否存在udev/目錄。做sudo ls –la/usr/lib/udev 。如果不存在,請像下面這樣創(chuàng)建它: sudo mkdir/usr/lib/udev
sudo nano/usr/lib/udev/bluetooth
將以下腳本復制并粘貼(或在運氣不佳時將其鍵入)到您的終端中。
注意:我并不是一個人寫這個腳本。我在研究過程中發(fā)現(xiàn)了它(為什么不重新發(fā)明輪子),并對其進行了修改,使其以我需要的方式工作,從而盡可能地友好,藍牙。
#!/bin/bash
#change,如果您不使用默認的模擬音頻輸出。
#THIS不適用于我的PI,所以我在下面添加了一個混音器命令
AUDIOSINK =“ alsa_output.platform-bcm2835_AUD0.0.analog -stereo“
echo”正在執(zhí)行藍牙腳本。.. | $ ACTION |“ 》》/var/log/bluetooth_dev
ACTION = $(expr“ $ ACTION”:“ ([a-zA-Z] + )。*”)
if [“ $ ACTION” =“添加“]
然后
##在將現(xiàn)有BT設(shè)備連接到音頻之前關(guān)閉BT發(fā)現(xiàn)模式 hciconfig hci0 noscan
#將音頻輸出設(shè)置為模擬
#評論此行如果您想通過HDMI輸出音頻
axer cset numid = 3 1
#將音量級別設(shè)置為100%
axer set master 100% pacmd set-sink-volume 0在$ {find/sys/devices/virtual/input/-name input *)中找到dev的65537
如果[-f“ $ dev/name”]
then
mac = $(cat“ $ dev/name” | sed‘s/:/_/g’)
bluez_dev = bluez_source。$ mac
sleep 1
CONFIRM =`sudo -u pi pactl列表簡短| grep $ bluez_dev`
如果[! -z“ $ CONFIRM”]
然后
echo“將bluez_source設(shè)置為:$ bluez_dev” 》》/var/log/bluetooth_dev
echo pactl load-module module-loopback source = $ bluez_dev sink = $ AUDIOSINK rate = 44100 Adjust_time = 0 》》/var/log/bluetooth_dev
sudo -u pi pactl load-module module-loopback source = $ bluez_dev sink = $ AUDIOSINK rate = 44100 Adjust_time = 0 》》/var/log/bluetooth_dev
fi
fi
完成后
fi
如果[“ $ ACTION” =“ remove”]
然后
#如果設(shè)備斷開連接,則打開藍牙發(fā)現(xiàn)
sudo hciconfig hci0 piscan
fi
保存并退出!現(xiàn)在,讓我們修改文件的權(quán)限以使其可執(zhí)行。
sudo chmod 774/usr/lib/udev/bluetooth
太好了!您的Raspberry PI現(xiàn)在可以通過A2DP播放藍牙音頻!喔!現(xiàn)在讓我們更進一步,當PI自動登錄到命令行時,打開發(fā)現(xiàn)模式并立即自動接受連接。
步驟6:自動化藍牙發(fā)現(xiàn)和自動接受連接
為實現(xiàn)此目的,我們需要創(chuàng)建一個初始化腳本,該腳本將在啟動PI時執(zhí)行。開始吧!
sudo nano/etc/init.d/bluetooth-agent
繼續(xù),然后將此腳本復制到文本編輯器中。再次,我最初找到了該腳本,然后對其進行了改進以滿足自己的需求!
### BEGIN INIT INFO
#提供:bluetooth-agent
#必選開始:$ remote_fs $ syslog bluetooth pulseaudio
#必選-停止:$ remote_fs $ syslog
#默認-開始:2 3 4 5
#Default-Stop:0 1 6
#簡短描述:使Bluetooth可以發(fā)現(xiàn)并連接到0000
#說明:在啟動時啟動Bluetooth-Agent。
### END INIT INFO
#!/bin/sh
#/etc/init.d/bluetooth-agent
USER = root
HOME =/root
export USER HOME 案例“ $ 1”在
開始)
echo“設(shè)置可發(fā)現(xiàn)的藍牙”
sudo hciconfig hci0 piscan
start-stop-daemon -S -x/usr/bin/bluetooth-agent -c pi -b-0000 “ echo”藍牙-agent startet pw:0000“
;;
stop)
echo”停止藍牙代理“
start-stop-daemon -K -x/usr/bin/bluetooth-agent
;;
*)
echo“用法:/etc/init.d/bluetooth-agent {start | stop}”
退出1
;; esac
退出0
保存并退出nano。此腳本基本上只是用于發(fā)現(xiàn)藍牙的標準啟動/停止腳本。
繼續(xù)并授予腳本執(zhí)行權(quán)限,然后將其添加到啟動時啟動的程序列表中-up。
sudo chmod 755/etc/init.d/bluetooth-agent
sudo update-rc.d藍牙代理默認值
第7步:設(shè)置命令行以自動登錄
一切都差不多了。出于某種原因,除非您登錄控制臺,否則Pulse音頻將無法使流保持直播!瘸!我們想要一個無頭自動設(shè)置,對嗎?好吧,讓我們調(diào)整環(huán)境,以便在引導時進行無密碼登錄!
現(xiàn)在就編輯inittab。
sudo nano/etc/inittab
查找以下行:
1:2345:respawn:/sbin/getty 115200 tty1
并注釋掉它,就像這樣:
#1:2345:respawn:/sbin/getty 115200 tty1
現(xiàn)在在其下面添加此行:
1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2》&1
保存并退出nano。最后,重啟Raspbery Pi!
sudo reboot
步驟8:結(jié)論
如果您正確執(zhí)行了所有操作,則現(xiàn)在應(yīng)該有了一個很棒的A2DP藍牙接收器,可以從模擬聲音插孔播放音頻。您現(xiàn)在可以輕松地無線添加電池, GIANT 揚聲器和 PARTY ! :)
創(chuàng)建便攜式音頻系統(tǒng)
我將不涉及將Pi便攜式化的實際過程。我假設(shè),如果您足夠聰明,可以找到本教程的方法,那么您也足夠聰明,可以創(chuàng)建一個機箱,獲取電池并弄清楚您的揚聲器尺寸需求。 =]
我在開發(fā)軟件組件時親自使用了上圖中的設(shè)備作為測試。我正在為我的系統(tǒng)安裝一個尺寸相當大的后置汽車揚聲器,一個放大器和一個大電池組。我還在建立一個自定義的外殼來容納所有內(nèi)容。我將只為該系統(tǒng)購買一個Pi,然后擰入外殼的內(nèi)部。
對于外殼本身,我尚未決定是用木頭還是塑料甚至是3D打印選擇。如果有人想出任何有價值的東西,請在下面的評論部分中發(fā)布圖片。謝謝!我歡迎對本指南提出任何建議或改進。請給我發(fā)送電子郵件danielg@danielgillespie.net。
關(guān)于,
Daniel Gillespie
注意:您應(yīng)該拔下其他USB設(shè)備,以便僅使用藍牙適配器(除非您這樣做)。有一個有源的USB集線器)。如果您通過藍牙看到Raspberry Pi,但無法成功配對,則可能是原因。您的適配器可能有足夠的功能來工作,但沒有足夠的功能。
注意:iOS設(shè)備似乎從一開始就可以很好地連接到接收器,但是我見過一些Android設(shè)備設(shè)備有一點麻煩。如果您使用的是Android智能手機,但連接后沒有通過接收器播放音頻,請嘗試取消配對并再次配對。
最后的提示:一次只能連接一個設(shè)備,然后斷開連接,然后再嘗試連接另一臺設(shè)備。應(yīng)該完美地工作。 :]
如果您找到本指南,請讓我知道!另外,請查看我的iPhone應(yīng)用程序CalcMate:
https://itunes.apple.com/us/app/calcmate/id538650487?mt=8
故障排除
在如果藍牙設(shè)備可能無法正確連接,則可以使用以下命令實時查看何時從Pulse音頻系統(tǒng)添加/刪除藍牙設(shè)備:
tail -f/var/log/bluetooth_dev
-
音頻
+關(guān)注
關(guān)注
29文章
2839瀏覽量
81373 -
藍牙
+關(guān)注
關(guān)注
114文章
5775瀏覽量
169873 -
樹莓派
+關(guān)注
關(guān)注
116文章
1699瀏覽量
105537
發(fā)布評論請先 登錄
相關(guān)推薦
評論