天天看點

【硬創邦】跟hoowa學做智能路由(十二):網絡音箱之聲霸卡驅動

  題記:忽聞水上琵琶聲,主人忘歸客不發。轉軸撥弦三兩聲,未成曲調先有情。

對于大多數年輕的女性來說,她們最關心的是生活和自己的男人。男人應該更多的關系自己身邊的女人,人生是苦比樂多的,是以要樂觀的面對自己好好的對家人。尤其是it男們,不要因為隻顧自娛自樂的這種自私而忽略了身邊人。為什麼不為你的女朋友準備一台網絡音箱?在她繁忙工作下班回來,可以一邊開心的聽音樂一邊給你燒菜呢?

從這章開始我們将花費一些時間介紹下使用路由器實作網絡音箱的功能,這些功能都有一個特點"隻需要軟體包修改和配置",在不需要接觸嵌入式程式設計的情況下即可實作。"網絡音箱"一共有四章,其中包括安卓播放器,蘋果播放器,dlna媒體播放器。

這章我們要介紹關于播放了,請調整好你的存儲器,如果你隻使用系統内部的flash作為存儲器,那麼作為媒體裝置顯然容量就太小了,是以建議開始啟用外部存儲器。

電流方面,我們采用的是usb外置裝置方式實作的播放,這種情況下對電流要求會增大。在m150的開發闆上,如果你接入了外置硬碟那一定要給硬碟提供獨立的供電。否則建議使用tf卡。

存儲與播放的關系:

存儲器類型 優勢 缺點 補救 内部spi flash 不用外接裝置 容量不夠 接個裝置 tf卡 供電要求低 寫速度慢 湊合能用也可以 usb硬碟 寫速度快 供電不足 外接電源

在m150上實作播放音樂主要依靠這麼幾點實作的:

具備usb總線,可以驅動我們x86電腦常用的聲霸卡。

一大部分普通聲霸卡在linux下都支援alsa和oss兩個驅動架構,可以不用自己編譯驅動,隻需要在核心裡啟用即可。

openwrt下具備了一大批關于音樂播放的軟體庫,即使本文也隻介紹了其中一小部分而已。

聲霸卡驅動産生/dev/下的裝置,而播放軟體将mp3音樂檔案轉換成為pcm碼流送入驅動,驅動處理後導入聲霸卡晶片中實作音樂播放。

跟裝置首先連接配接的是聲霸卡,支援标準驅動的聲霸卡晶片非常繁多,而且有很多價格也很便宜。但是在購買的時候很難知道是否支援标準驅動,而賣聲霸卡的也不知道什麼晶片的他們也不懂,是以講晶片沒有用,是以hoowa給大家一個這麼建議如何選擇到可以用的。

而如果你的房間不大,或是并不追求hifi音質,那麼而市面上還有很多帶聲霸卡的音箱,便宜的10幾塊錢,好一點的要100左右也是可以選擇的,不過要注意這些音箱的供電問題啊。

如果你是現場購買,那麼将你的m150開發闆帶過去測試一下,這個是最靠譜的;如果你是在淘寶上購買的,那麼就問下賣家聲霸卡是否支援“windows xp即插即用無需驅動”。

是以, 選擇一個合适的聲霸卡其實挺重要的。

現在我們開始具體操作了,確定你的開發闆連接配接外網正常。

第一步:首先安裝驅動和軟體包

root@smartrouter:/# opkg update root@smartrouter:/# opkg install kmod-usb-audio root@smartrouter:/# opkg install alsa-utils

第二步:插入聲霸卡。因為在工作狀态下插入你的聲霸卡如果供電有問題會導緻usb hub重新開機,這個時候可能外置磁盤就異常系統崩潰了。

關閉掉裝置電源 插入聲霸卡裝置 再開啟電源

第三步:測試聲霸卡是否識别并且驅動

在沒有插入任何外置usb裝置的時候,lsusb看起來是這樣:

root@smartrouter:/# lsusb bus 001 device 001: id 1d6b:0002 linux foundation 2.0 root hub bus 001 device 004: id 058f:6254 alcor micro corp. usb hub bus 001 device 005: id 058f:6366 alcor micro corp. multi flash reader

當插入usb裝置的時候,會多出來一個裝置,hoowa的這個聲霸卡看起來是這樣:

bus 001 device 006: id 19a8:2036 biforst technology inc.

檢視聲霸卡的裝置驅動符号是否建立,這個标準用來識别聲霸卡是否被驅動:

root@smartrouter:/# ls /dev/dsp root@smartrouter:/# ls /dev/audio root@smartrouter:/# ls /dev/mixer

如果以上資訊都正确,那麼恭喜你安裝聲霸卡成功了。

第四步:設定音量

預設音量比較大,可能首次播放會吓到我們。寫個預設音量程式吧。

使用vi編輯器編輯/etc/rc.local檔案。在exit 0的前面增加這句:amixer set pcm 35%

修改後的rc.local檔案内容如下:

<a href="http://static.leiphone.com/uploads/2014/06/244.jpg"></a>

第五步:重新開機。設定全都完畢了現在要重新開機下讓第四步的配置生效。

root@smartrouter:/# reboot

第一步:安裝一個madplay作為測試播放器

root@smartrouter:/# update root@smartrouter:/# opkg install madplay

第二步:複制一個mp3過來

将你電腦裡一個mp3檔案更名為test.mp3并且複制到/mnt/extdisk下面。

第三步:測試播放

root@smartrouter:/# madplay /mnt/extdisk/test.mp3

如果聽到音樂說明測試成功,這個時候通過鍵盤組合鍵ctrl+c停止測試。

#測試播放 mkdir -p /mnt/extdisk/music chmod -r 777 /mnt/extdisk/music root@smartrouter:/# amixer set pcm 35%

複制以個音樂檔案到music下:

root@smartrouter:/# madplay /mnt/extdisk/music/*.mp3

如果音箱能聽到音樂說明測試成功,退出按鍵盤組合鍵ctrl+c停止播放

到這裡,聲霸卡和驅動我們就完成了,并且已經測試成功了,下一章我們将介紹使用安卓系統下的一款mpdroid軟體實作手機控制播放。到這裡,大家還可以自己玩玩,用指令行播放下音樂看看。

繼續閱讀