2016年2月11日 星期四

用Raspberry Pi當Airplay喇叭



擁有Apple TV的朋友一定想將音樂部份輸出到自己心愛的喇叭上播放,但很不巧Apple TV音訊的輸出是光纖數位,購買有數位光纖輸入的DAC可所費不貲,但是最近越來越常在Apple Store上租影片來看,明明有好的擴大機跟喇叭卻無法播出影片裡震撼的音效,卻令人有一點傷腦筋。於是想到Airplay的功能,要是讓Apply TV透過Airplay將聲音傳送到喇叭上,應該就解決數位輸出的問題。

但是,買一台Airport也要3000多元,而且聽說(謠言)它插電久了容易燒壞,而且我的擴大機是Cambridge Audio Azur 651A,內建有USB DAC的功能,之前插在Macbook上播音樂聽起來是蠻爽的,只是把一台NB擺在電視機旁,並且還要開家庭分享才能播放音樂,使用起來卻是不太便利。

那天,看著我的Raspberry Pi 2,突然想到如果接上一個USB WiFi dongle,再透過USB接到我的擴大機上,這樣不就是一台無線播放器,如果可以找到支援Airplay的軟體,那就變成一台Airplay播放器了。



於是上網搜尋一下,果然在現(2016/2/11),有許多這樣的軟體可以選擇,其中只想裝應用程式的話,有shairport-sync可以選擇,於是上網購買了EDIMAX的EW-7811UN小小無線網卡(288元),這片是有玩RPi的玩家都蠻推薦,Linux內建驅動程式的好選擇。如果沒有內建的話,那得重新編譯kernel,這過程對我來說就有點麻煩了。既然為了省時省力又有好結果,自然是選別人用過OK的囉。

我用的設備:

  • Raspberry Pi 2 一片
  • 16G 記憶卡
  • 有開關的USB電源供應器
  • EDIMAX 的 EW-7811UN (如果怕距離太遠不夠力,可以選有長天線的版本)
  • 一個帶Audio Jack的喇叭 (測試用)
原本我的RPi裡面就灌好Raspbian,開始前先更新應用程式套件:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo shutdown now

然後插上無線網卡重新開機。開機後利用圖型介面設定無線網路,新版的Raspbian用法很簡單,按右上角無線網路符號,選擇基地台然後輸入密碼,這樣就設好了,比起舊版本還要另外起一個程式來設定,或者在文字介面下設定都簡單太多了。設定完之後,如果原本是接有線網路的就可以拔掉了。

接下來安裝Shairport-sync,我是按照這一篇以及Github上作者的readme方法安裝,但是很抱歉本人Linux功力太差,安裝都失敗,makefile看來應該是有製作成功,但是make install卻怎樣都有Error。

試了幾次之後,想說既然都已經裝爛了可能要重灌,倒不如試試專用的Linux image - Volumio。它是基於Debian基礎製作的專門用來播放音樂的一個Linux映像檔,還有網頁介面用來設定。安裝方法超簡單,只要把映像檔copy到SD卡裡,插上所有你要接的設備,包括Wifi, Harddisk, DAC等,然後開機,不久後登入到設定頁設無線網路(所以在之前網路線還是得插著),然後重開機即可。順利的話,開你的iPhone看有沒有新的一個「volumio」 Airplay設備出現,選它就可以開始播放音樂了。

過程中還是會需要有線網路,並且接著一個Audio Jack的喇叭測試會比較方便。

詳細步驟(官網上也有分不同OS的詳細安裝步驟):

  1. 官網下載zip映像檔,解壓縮成img檔
  2. 格式化SD卡 (下載工具比較簡單)
  3. unmount記憶卡($ sudo diskutil unmount /dev/disk4s1)得知記憶卡位置可 用 $ df -h 來查看。
  4. 複製img檔至SD卡($ sudo dd bs=1m if=檔案路徑 of=/dev/rdisk4這一步要小心,SD卡的位置要確定打對,不然有可能毀掉你其他硬碟裡的資料。檔案路徑可以用拖曳的方式到終端機,免得輸入錯誤。
  5. 卸載記憶卡($ sudo diskutil eject /dev/rdisk4)
  6. 將記憶卡裝到Raspberry Pi上,接上所有的外接設備,開機。
  7. 等一會(約30s -1min),在瀏覽器上輸入volumio.local/
  8. 成功的話就會看到灰綠色的首頁出現,需要設定無線網路按menu -> network設定,需重開機。
  9. 外接DAC按menu -> playback裡的audio device設定
  10. 完成
其實這軟體功能還不僅是支援Airplay,還可以播放USB HD或NAS裡的音樂。所以,開始享受你的Airplay RPi吧。

沒有留言:

張貼留言