2012年7月份左右曾經(jīng)看到有人把路由器改成網(wǎng)絡(luò)播放器使用,無奈于時間與精力,事情不了了之,后來也就漸漸淡忘了。一直發(fā)展到今年春節(jié)期間,意外搞到一部DB120-WG路由器,于是東風再起,重新開始折騰網(wǎng)絡(luò)收音機。
曾在“第四屆大賽”板塊發(fā)了一個早期近似失敗的實驗品,也總算是為后來打下基礎(chǔ)。
應(yīng)大家的要求,這里詳細地寫下刷機過程,原版OpenWrt Backfire 10.03.1系統(tǒng)安裝mplayer播放器步驟,Anyradio服務(wù)器電臺列表讀取程序Linux shell 版
4 天前 上傳
下載附件 (95.47 KB)
1
、硬件準備
DB120-WG路由器,USB聲卡,一個ADSL設(shè)備(如調(diào)制解調(diào)器,其它路由器),RJ-45標準網(wǎng)線
路由器我試過RG100a-AA,刷好后LED全部錯位,按鈕不可用,其它正常。只要路由器的CPU是BCM6358,帶USB口的都可以刷文中的固件。這樣就無需安裝下文所述的軟件包。
USB聲卡不要用Tenx牌子芯片的,效果很差。
2、刷機
(1)、將RJ-45線一水晶頭插到路由器的WAN口(LAN4),另一頭連接電腦網(wǎng)卡。
(2)、配置電腦本地網(wǎng)卡為固定IP 192.168.1.100,網(wǎng)關(guān)192.168.1.1,子網(wǎng)掩碼255.255.255.0
(3)、先不要接通路由器電源,按住路由器的RST鍵不放,打開電源,直到綠色的POWER燈變?yōu)榧t色,說明路由器已經(jīng)進入CFE工廠設(shè)置模式
(4)、瀏覽器輸入http://192.168.1.1/upload.html ,此時應(yīng)該可以看到“上傳固件”(Upload the firmware)字樣
(5)、下載本文提到的定制好的固件,上傳到路由器
(6)、路由器自動把固件寫入RAM,重新對FLASH編程,過程大概10分鐘完成。此時TTL接口上將回顯編程進度。過程中路由器千萬不能斷電。
帖子結(jié)尾會提供固件下載地址。建議先刷不帶CFE的固件,如果刷好后系統(tǒng)無法啟動,再刷帶CFE的固件。注意:一旦CFE被刷壞,路由器就無法再次通過上訴方法重刷!
3、加入WIFI網(wǎng)絡(luò)
(1)、瀏覽器輸入192.168.1.1,登陸openwrt設(shè)置界面,默認密碼admin,進入后先設(shè)置SSH密碼(可以設(shè)為admin,比較方便),然后依次單擊network ---》interface ---》WIFI ---》Scan ---》 將列出掃描到的接入點,找到自家路由器發(fā)送的信號,單擊Join network ,輸入無線熱點密碼,其它一切默認,單擊Save,回到 interface 界面,可以看到接口多出WWAN一項。
(2)、確定無誤,單擊頁面右上方紅色字體“Unsaved Changes”,單擊Apply應(yīng)用設(shè)置,至此netwrok設(shè)置完畢。處在局域網(wǎng)里的電腦不一定能上網(wǎng),但路由器一定可以訪問廣域網(wǎng)了。
有些朋友曾經(jīng)問過,平常印象中的路由器都是“發(fā)射”信號,怎么還能“接收”信號呢?
換個角度思考,要訪問一個網(wǎng)頁,就必須先發(fā)送HTTP協(xié)議頭給服務(wù)器,請求相應(yīng)文件,然后人家才會把數(shù)據(jù)傳給你,也就是說WIFI肯定是雙向的,就像以太網(wǎng)接口或藍牙接口一樣,所謂“只能發(fā)射”其實是狹義上的說法。Openwrt提供了網(wǎng)橋邏輯配置界面,只要把wifi配置為DHCP服務(wù)器,映射到系統(tǒng)WAN就大功告成了。
配置完畢后,使用Putty實現(xiàn)遠程終端,winSCP實現(xiàn)遠程文件管理
4 天前 上傳
下載附件 (49.94 KB)
4 天前 上傳
下載附件 (90.72 KB)
3
、必要軟件
操作系統(tǒng):Openwrt Backfire 10.03。
如果刷的是原版系統(tǒng),而非文中提到的固件的話,可能需要執(zhí)行下列步驟
(1)、軟件包 -- kmod-usb-audio, alsa-utils, kmod-usb-storage, kmod-usb-ohci,
kmod-usb2, kmod-usb-hid, kmod-nls-base, kmod-nls-cp437,
kmod-nls-iso8859-1, kmod-nls-utf8, kmod-fs-ext3, kmod-fs-vfat,
kmod-fuse, ntfs-3g, block-hotplug, libiconv, zlib, libmad
安裝步驟如下:
1.安裝USB聲卡驅(qū)動
root@OpenWrt:/# opkg install kmod-usb-audio
root@OpenWrt:/# ls dev
顯示audio、dsp表示聲卡安裝成功
2.安裝支持庫
root@OpenWrt:/# opkg install kmod-usb-audio
root@OpenWrt:/# opkg install alsa-utils
root@OpenWrt:/# opkg install kmod-usb-storage
root@OpenWrt:/# opkg install kmod-usb-ohci
root@OpenWrt:/# opkg install kmod-usb2
root@OpenWrt:/# opkg install kmod-usb-hid
root@OpenWrt:/# opkg install kmod-nls-base
root@OpenWrt:/# opkg install kmod-nls-cp437
root@OpenWrt:/# opkg install kmod-nls-iso8859-1
root@OpenWrt:/# opkg install kmod-nls-utf8
root@OpenWrt:/# opkg install kmod-fs-ext3
root@OpenWrt:/# opkg install kmod-fs-vfat
root@OpenWrt:/# opkg install kmod-fuse
root@OpenWrt:/# opkg install ntfs-3g
root@OpenWrt:/# opkg install block-hotplug
root@OpenWrt:/# opkg install libiconv
root@OpenWrt:/# opkg install zlib
root@OpenWrt:/# opkg install libmad
- (2)、解壓文中的附件,復(fù)制mplayer,到/usr/share/mplayer/目錄下(如果目錄不存在請新建)
執(zhí)行下來命令修改執(zhí)行權(quán)限755
root@OpenWrt:/# chmod 755 /usr/share/mplayer/mplayer
插USB聲卡到路由器,稍等片刻,聲卡上的指示燈點亮,說明系統(tǒng)已經(jīng)識別并掛載聲卡。
接下來試運行mplayer:
創(chuàng)建fifo文件
root@OpenWrt:/# mkfifo /fifofile
root@OpenWrt:/# /usr/share/mplayer/mplayer -slave -input file=/fifofile -playlist /播放列表地址
4、電臺列表(播放列表)
mplayer正常運行還不行,如果沒有網(wǎng)絡(luò)電臺的URL的話,只有聽本地文件或者是空氣。因此,我們可能需要辛苦地到處籌集地址。設(shè)想假如有個程序能自動獲取網(wǎng)上的所有資源并生成播放列表,那就方便多了。這里,對AnyRadio進行了深入研究,成功找出API地址,編寫了下面的linux shell方便各位。
執(zhí)行下面命令,
root@OpenWrt:/# mkdir /webradio/
root@OpenWrt:/# mkdir /webradio/vars
上傳下面代碼到/webradio/downloadlist
#!/bin/sh
# Download the radio stations list from the server
# Read the list of radio stations
read_list()
{
rm -f /webradio/vars/playlist.lst
lnum=`awk 'END{print NR}' /webradio/vars/weblist.lst`
echo +10 count:$lnum
for i in $( seq 1 $lnum );do
str=`sed -n ${i}p /webradio/vars/weblist.lst`
str=`echo $str | cut -d"|" -f6`
len=`echo $str|cut -c1-1`
#if [ ! $len == r ]
# then
echo +11 $i $str
echo $str >> /webradio/vars/playlist.lst
#fi
done
}
echo
echo +Download anyradio list.
echo
rm -f /webradio/vars/url.lst
surl="http://113.31.87.69/getAppServer.jsp?sysid=8020&channelid=7001&version=6008"
wget -c $surl -O /webradio/vars/url.lst
if [ -f /webradio/vars/url.lst ]
then
URL=`sed -n 1p /webradio/vars/url.lst`
echo Server ip: $URL
else
echo +99 Download error!
fi
echo
echo please wait... downloading
rm -f /webradio/vars/weblist.lst
wget -c http://$URL/conf/channel.list -O /webradio/vars/weblist.lst
if [ -f /webradio/vars/weblist.lst ]
then
echo downloaded
read_list
else
echo +99 download error!
fi
設(shè)置腳本755執(zhí)行權(quán)限
root@OpenWrt:/# chmod 755 /webradio/downloadlist
最后運行腳本
root@OpenWrt:/# /webradio/downloadlist
待程序結(jié)束后,打開/webradio/vars/playlist.lst 文件,成千電臺的地址就呈現(xiàn)在眼前。
5、至此,路由器已經(jīng)變成了網(wǎng)絡(luò)收音機或播放器,剩下的還可以加LCD,MCU控制等。
4 天前 上傳
下載附件 (136.54 KB)
關(guān)于mplayer:
Mplayer 是linux下的多媒體播放程序。為了編譯能在BCM6358 處理器下運行的的mplayer,吾費盡周折,現(xiàn)在可以穩(wěn)定運行在openwrt下。
由于BCM6358的ALU沒有浮點運算單元,所以干脆把源程序里的OSD,視頻等全部剪掉了,解碼方式改用定點解碼,事實上播放效果優(yōu)于筆記本電腦。
目前附件中的mplayer支持mp3(libmad), wmav1, wmav2, aac(faad2), flac, ogg(tremor)幾種有定點解碼庫的格式, 其中 wma 解碼用到了 Rockbox 的定點解碼庫。
支持主流流媒體協(xié)議http,rspt,mms,支持自動DNS解析服務(wù)器IP
*********************************************************************
* 固件下載地址:
* 不帶CFE固件: http://pan.baidu.com/share/link?shareid=297312&uk=1562445911
* 帶CFE的固件: http://pan.baidu.com/s/17ouFx
* =========================================================
*
* 編譯完畢的 Mplayer: http://pan.baidu.com/s/1BYfgX
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。