5

主题

0

好友

1148

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
132270
帖子
1124
精华
0
经验
1148 点
金钱
1126 ¥
注册时间
2009-9-15
发表于 2013-10-17 11:08 | 显示全部楼层
本帖最后由 tomjobim 于 2013-10-17 11:11 编辑

首先得感谢矿坛的gaochongjun1老大。那个自制硬件网络收音机的帖子,真的非常好,直接刷完机稍微修改一下配置就能用了。网上免费的电台太多了,让我这个古典和爵士乐爱好者发现了一片新的天地。哦也!
但是总有些遗憾,因为还缺少一个重要的部分,LCD显示。
所以我在网上查找,想看看老外有没有类似的设计。很遗憾的是播放MP3的资料比较多,网络收音机资料非常少,只找到了2个有参考价值:Mightyohm.com和piie.net。Mightyohm.com Jeff设计的网络收音机有非常详尽的说明,但是是以Asus WL-520GU作为基础,不知道移植到DB120后是否成功。本着折腾的心态,开始尝试。
因为本人是搞自动控制的,对openwrt可以说是门外汉。经过近1个多月业余时间慢慢摸索,终于成功了。基本是安装老外的思路来的。现在就把它分享出来,独乐乐不如众乐乐。其中的错误,请各位高人指正。
电台需要用电脑连接到路由器添加。以后就可以直接使用了。选台使用2个按钮来控制,按一下会加或减,长按会快进或快退。液晶屏上左侧显示当前正在播放的电台名称等信息,右侧为设定的电台号。液晶屏下半屏显示当前播放的曲目信息。这些信息都来自于网络电台。
如果以前没搞过openwrt,可能看下面的步骤会比较晕。


1.  刷固件。就直接使用矿坛gaochongjun1帖子里的固件。里面声卡的驱动都有了。再次感谢gaochongjun1。
2.  参考自制硬件网络收音机的帖子,先使用mplayer的功能,看看一切是否正常。
只需对网络部分进行配置,应该就可以用了。特别要注意,在network/diagnostic下有ping的功能,一定要ping得通。我开始ping不通时,试mplayer的功能却是正常的。一定要ping得通,否则下面的步骤就无法进行。
3.  安装mpd和mpc
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install mpdmpc

为mpd配置目录
root@OpenWrt:~# cd ~
root@OpenWrt:~# mkdir .mpd
root@OpenWrt:~# mkdir music
root@OpenWrt:~# mkdir .mpd/playlists

在/etc/mpd.conf中,修改以下配置
# An example of an ALSA output:
#
audio_output {
        type                "alsa"
        name                "USB AUDIO"
##        device                "hw:0,0"        # optional
##        format                "44100:16:2"        # optional
##        mixer_type      "hardware"        # optional
##        mixer_device        "default"        # optional
##        mixer_control        "PCM"                # optional
##        mixer_index        "0"                # optional
}
mixer_type "software"

name内需填入实际的USB声卡名称,可以通过运行alsamixer命令来查看。
mixer_type "software"是单独添加的一行(在alsa大括号外面),否则音量控制不起作用。

现在已经可以用SSH操作来听电台了。
执行以下命令,运行mpd和mpc
root@OpenWrt:~# mpd
root@OpenWrt:~# mpc
添加一个电台:
root@OpenWrt:~# mpc add http://192.184.9.79:8006
开始播放:
root@OpenWrt:~# mpc play
应该能听到CINEMIX的广播了,同时会有状态显示。
4.  安装stty,用于TTL串口通讯
root@OpenWrt:~# opkg install coreutils-stty
以下命令用于修改串口的通讯波特率,在后面的脚本文件里会用到
root@OpenWrt:~# stty 9600 < /dev/ttyS0
通讯速度不要太高,否则AVR容易收到乱码。也可能是我试验时用的是飞线,容易受干扰。
5.  脚本文件
用于接收单片机发来的命令,并将电台信息发送回单片机。
我就是直接使用老外的,修改了部分以适应我的要求。
网络电台地址在interface.sh里添加。播放时按照顺序,从1开始。如Mpcplay  2即播放第2个电台。具体看脚本吧,还是很简单的。
将interface.sh和display.sh拷贝到路由器的\root下面。
修改运行权限:
root@OpenWrt:~# chmodugo+x interface.sh
root@OpenWrt:~# chmodugo+x display.sh
可以用以下命令运行:
root@OpenWrt:~# mpd
root@OpenWrt:~# ./interface.sh
如果有TTL刷机线,可以连到路由器,波特率设置成9600。利用串口调试助手发送命令可以调节电台和音量。根据现在的脚本文件,命令格式为tun:xxvol:yyy,xx是电台地址(1-20),yyy是音量(0-100),最后需要跟一个控制符’\n’

6.  AVR单片机程序
程序总体思路同老外的,但是我按照我的思路和习惯修改了很多。老外用winavr编程,使用M168,我使用iccavr和M8。
选台使用2个按钮来控制,按一下会加或减,长按会快进或快退。
音量使用电位器控制,这个功能对耳机直插声卡比较有用。最好不要用这一音量调节功能,因为声卡DAC的有效分辨率会降低,信噪比会恶化。将ADC0脚通过一个几千欧的电阻接5V即可使音量永远100%,或者修改interface.sh脚本文件直接给个固定的音量值。
使用的是外部晶振,3.68M,图上未画出。看门狗要关掉。BOD要使能,因为电台会被记忆到EEPROM。
程序里的注释不是很详细,但应该能看得懂,如果有问题请指出。
以后准备用旋转编码器控制选台,同时使用大的液晶屏(12864)

7.其他修改
修改 /etc/inittab,将2行屏蔽掉:
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K stop
#tts/0::askfirst:/bin/ash --login
#ttyS0::askfirst:/bin/ash --login
tty1::askfirst:/bin/ash –login

修改/etc/sysctl.conf添加以下2行:
# Disables the magic SysRq key
kernel.sysrq = 0

使用以下命令使路由器启动后Mpd自动启动
root@OpenWrt:~# ln -s /etc/init.d/mpd /etc/rc.d/S93mpd

在luci System/startup里面(/etc/rc.local里面),添加3行:
amixer set PCM 100%
sleep 5
Root/interface.sh
这里的PCM要根据实际情况修改,可以通过运行alsamixer命令来查看。使用100%是因为音量由mpc控制,这里就放最大值。
大功告成!
1.jpg
2.jpg
Radio Mega8 Schematic.png

Radio 1016 Fin.rar

147.1 KB, 下载次数: 1147

脚本文件.ZIP

2.11 KB, 下载次数: 1019

评分

参与人数 2经验 +20 魅力 +2 收起 理由
wyr7728 + 2 很给力!
hifidiy编辑 + 20 赞一个!

查看全部评分

29

主题

12

好友

3925

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
38523
帖子
4120
精华
0
经验
3925 点
金钱
3772 ¥
注册时间
2008-3-26
发表于 2013-10-17 11:45 | 显示全部楼层
请问声卡插那里的?

5

主题

0

好友

1148

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
132270
帖子
1124
精华
0
经验
1148 点
金钱
1126 ¥
注册时间
2009-9-15
 楼主| 发表于 2013-10-17 13:01 | 显示全部楼层
使用usb声卡。

167

主题

2

好友

927

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
265168
帖子
4750
精华
0
经验
927 点
金钱
814 ¥
注册时间
2010-11-25
发表于 2013-10-17 13:23 | 显示全部楼层
高手

5

主题

0

好友

708

积分

职业侠客 当前离线

我是叫兽

Rank: 5Rank: 5

UID
19913
帖子
4123
精华
0
经验
708 点
金钱
634 ¥
注册时间
2007-3-10
发表于 2013-10-17 20:04 | 显示全部楼层
牛,openwrt的功能强大,还可以装摄像头

13

主题

0

好友

115

积分

论坛游民 当前离线

音响菜鸟

Rank: 3Rank: 3

UID
40777
帖子
250
精华
0
经验
115 点
金钱
113 ¥
注册时间
2008-4-18
发表于 2013-10-17 20:53 | 显示全部楼层
db120 也可以的,楼主可以找一下 “RG100a-AA 网络收音机 ” ,RG100a-aa跟DB120WG硬件一样的。

3

主题

0

好友

487

积分

业余侠客 当前离线

Rank: 4

UID
184786
帖子
1514
精华
0
经验
487 点
金钱
483 ¥
注册时间
2010-3-24
发表于 2013-10-17 23:08 | 显示全部楼层
太厉害了,超出我的想象。

29

主题

0

好友

868

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
198477
帖子
1703
精华
0
经验
868 点
金钱
838 ¥
注册时间
2010-5-5
发表于 2013-10-17 23:42 | 显示全部楼层
很好的东西。

8

主题

0

好友

1134

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
37467
帖子
3044
精华
0
经验
1134 点
金钱
1121 ¥
注册时间
2008-3-15
发表于 2013-10-17 23:45 | 显示全部楼层
头晕。

2

主题

0

好友

8

积分
     

注册会员 当前离线

Rank: 2

UID
627588
帖子
19
精华
0
经验
8 点
金钱
4 ¥
注册时间
2013-10-13
发表于 2013-10-18 11:32 | 显示全部楼层
有功力!是高手,必须顶

16

主题

1

好友

432

积分

业余侠客 当前离线

Rank: 4

UID
26236
帖子
1007
精华
0
经验
432 点
金钱
426 ¥
注册时间
2007-8-22
发表于 2013-10-18 11:57 | 显示全部楼层
关注,感兴趣。也有这个路由

212

主题

4

好友

1603

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
229732
帖子
7665
精华
0
经验
1603 点
金钱
1494 ¥
注册时间
2010-8-14
发表于 2013-10-18 20:50 来自手机端 | 显示全部楼层
佩服高人,这样都可以。

0

主题

0

好友

276

积分
     

业余侠客 当前离线

Rank: 4

UID
205486
帖子
446
精华
0
经验
276 点
金钱
278 ¥
注册时间
2010-5-27
发表于 2013-10-18 23:26 | 显示全部楼层

关注,感兴趣

37

主题

0

好友

259

积分

业余侠客 当前离线

Rank: 4

UID
47550
帖子
1458
精华
0
经验
259 点
金钱
246 ¥
注册时间
2008-7-10
发表于 2013-10-23 15:02 | 显示全部楼层
看人家玩的境界......高!

14

主题

1

好友

622

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
429087
帖子
714
精华
0
经验
622 点
金钱
516 ¥
注册时间
2011-11-4
发表于 2013-10-23 18:03 | 显示全部楼层
佩服

105

主题

1

好友

659

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
583370
帖子
936
精华
0
经验
659 点
金钱
525 ¥
注册时间
2013-4-13
发表于 2013-10-25 23:12 | 显示全部楼层
厉害啊。这样也能搞出来。

2

主题

0

好友

10

积分

注册会员 当前离线

Rank: 2

UID
617629
帖子
47
精华
0
经验
10 点
金钱
6 ¥
注册时间
2013-9-16
发表于 2013-10-26 14:51 来自手机端 | 显示全部楼层
高手!!

0

主题

0

好友

500

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
429594
帖子
534
精华
0
经验
500 点
金钱
500 ¥
注册时间
2011-11-5
发表于 2013-10-27 22:10 | 显示全部楼层
最近关注一下DIY,论坛真是高手如林。
头像被屏蔽

293

主题

2

好友

340

积分
     

禁止发言 当前离线

UID
24498
帖子
2453
精华
0
经验
340 点
金钱
75 ¥
注册时间
2007-7-9
发表于 2013-10-28 07:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

2715

主题

37

好友

3821

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
71157
帖子
44381
精华
0
经验
3821 点
金钱
2321 ¥
注册时间
2008-12-27
发表于 2013-10-28 09:55 来自手机端 | 显示全部楼层
alanqd 发表于 2013-10-27 22:10
最近关注一下DIY,论坛真是高手如林。

论坛各行各业的人都有。高手在民间。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部