打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
把路由器变为网络收音机

20127月份左右曾经看到有人把路由器改成网络播放器使用,无奈于时间与精力,事情不了了之,后来也就渐渐淡忘了。一直发展到今年春节期间,意外搞到一部DB120-WG路由器,于是东风再起,重新开始折腾网络收音机。
曾在第四届大赛板块发了一个早期近似失败的实验品,也总算是为后来打下基础。

应大家的要求,这里详细地写下刷机过程,原版OpenWrt Backfire 10.03.1系统安装mplayer播放器步骤,Anyradio服务器电台列表读取程序Linux shell

 
 

4 天前 上传

下载附件 (95.47 KB)



1、硬件准备
DB120-WG
路由器,USB声卡,一个ADSL设备(如调制解调器,其它路由器),RJ-45标准网线

路由器我试过RG100a-AA,刷好后LED全部错位,按钮不可用,其它正常。只要路由器的CPUBCM6358,带USB口的都可以刷文中的固件。这样就无需安装下文所述的软件包。
USB
声卡不要用Tenx牌子芯片的,效果很差。

2
、刷机
1)、将RJ-45线一水晶头插到路由器的WAN(LAN4),另一头连接电脑网卡。
2)、配置电脑本地网卡为固定IP 192.168.1.100,网关192.168.1.1,子网掩码255.255.255.0
3)、先不要接通路由器电源,按住路由器的RST键不放,打开电源,直到绿色的POWER灯变为红色,说明路由器已经进入CFE工厂设置模式
4)、浏览器输入http://192.168.1.1/upload.html ,此时应该可以看到上传固件Upload the firmware)字样
5)、下载本文提到的定制好的固件,上传到路由器
6)、路由器自动把固件写入RAM,重新对FLASH编程,过程大概10分钟完成。此时TTL接口上将回显编程进度。过程中路由器千万不能断电。

帖子结尾会提供固件下载地址。建议先刷不带CFE的固件,如果刷好后系统无法启动,再刷带CFE的固件。注意:一旦CFE被刷坏,路由器就无法再次通过上诉方法重刷!

3
、加入WIFI网络
1)、浏览器输入192.168.1.1,登陆openwrt设置界面,默认密码admin,进入后先设置SSH密码(可以设为admin,比较方便),然后依次单击network ---interface ---WIFI ---Scan ---》 将列出扫描到的接入点,找到自家路由器发送的信号,单击Join network ,输入无线热点密码,其它一切默认,单击Save,回到 interface 界面,可以看到接口多出WWAN一项。
2)、确定无误,单击页面右上方红色字体“Unsaved Changes”,单击Apply应用设置,至此netwrok设置完毕。处在局域网里的电脑不一定能上网,但路由器一定可以访问广域网了。

有些朋友曾经问过,平常印象中的路由器都是发射信号,怎么还能接收信号呢?
换个角度思考,要访问一个网页,就必须先发送HTTP协议头给服务器,请求相应文件,然后人家才会把数据传给你,也就是说WIFI肯定是双向的,就像以太网接口或蓝牙接口一样,所谓只能发射其实是狭义上的说法。Openwrt提供了网桥逻辑配置界面,只要把wifi配置为DHCP服务器,映射到系统WAN就大功告成了。

配置完毕后,使用Putty实现远程终端,winSCP实现远程文件管理

 
 


4 天前 上传

下载附件 (49.94 KB)


 
 


4 天前 上传

下载附 (90.72 KB)




3、必要软件
操作系统:Openwrt Backfire 10.03

如果刷的是原版系统,而非文中提到的固件的话,可能需要执行下列步骤
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声卡驱动

root@OpenWrt:/# opkg install kmod-usb-audio

root@OpenWrt:/# ls dev

显示audiodsp表示声卡安装成功

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)、解压文中的附件,复制mplayer,/usr/share/mplayer/目录下(如果目录不存在请新建)
执行下来命令修改执行权限755

root@OpenWrt:/# chmod 755 /usr/share/mplayer/mplayer


USB声卡到路由器,稍等片刻,声卡上的指示灯点亮,说明系统已经识别并挂载声卡。

接下来试运行mplayer:

创建fifo文件
root@OpenWrt:/# mkfifo /fifofile
root@OpenWrt:/# /usr/share/mplayer/mplayer -slave -input file=/fifofile -playlist /
播放列表地址

4
、电台列表(播放列表)
mplayer
正常运行还不行,如果没有网络电台的URL的话,只有听本地文件或者是空气。因此,我们可能需要辛苦地到处筹集地址。设想假如有个程序能自动获取网上的所有资源并生成播放列表,那就方便多了。这里,对AnyRadio进行了深入研究,成功找出API地址,编写了下面的linux shell方便各位。

执行下面命令,
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

设置脚本755执行权限
root@OpenWrt:/# chmod 755 /webradio/downloadlist

最后运行脚本
root@OpenWrt:/# /webradio/downloadlist

待程序结束后,打开/webradio/vars/playlist.lst 文件,成千电台的地址就呈现在眼前。

5
、至此,路由器已经变成了网络收音机或播放器,剩下的还可以加LCDMCU控制等。

 
 


4 天前 上传

下载附件 (136.54 KB)



关于mplayer:
Mplayer
linux下的多媒体播放程序。为了编译能在BCM6358 处理器下运行的的mplayer,吾费尽周折,现在可以稳定运行在openwrt下。

由于BCM6358ALU没有浮点运算单元,所以干脆把源程序里的OSD,视频等全部剪掉了,解码方式改用定点解码,事实上播放效果优于笔记本电脑。

目前附件中的mplayer支持mp3(libmad), wmav1, wmav2, aac(faad2), flac, ogg(tremor)几种有定点解码库的格式, 其中 wma 解码用到了 Rockbox 的定点解码库。

支持主流流媒体协议http,rspt,mms,支持自动DNS解析服务器IP



*********************************************************************
*
固件下载地址:
*
不带CFE固件: http://pan.baidu.com/share/link?shareid=297312&uk=1562445911
*
CFE的固件: http://pan.baidu.com/s/17ouFx
* =========================================================
*
*
编译完毕的 Mplayerhttp://pan.baidu.com/s/1BYfgX

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
利用Openwrt实现远程音频播放伪airplay效果记录
[Openwrt 项目开发笔记]:USB挂载& U盘启动(三)
小米路由器3G(mir3g)刷入Openwrt(2020.01.28更新)
OpenWRT路由器
openwrt 自动挂载U盘、移动硬盘
openwrt挂载摄像头MJPG-streamer完全教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服