智能创客 发表于 2014-11-3 21:09:17

WIFI作品DIY教程03-《WIFI音响/MP3播放器/电台》

想做个家中的WIFI音响吗?这一篇就带大家玩起openwrt的声卡功能。
你可以使用手机、电脑、语音控制它播放音乐、电台、天气预报等等……


使用我们的开发板,加上声卡和喇叭,使用openwrt实现wifi音响。


http://www.znck007.com/data/attachment/forum/201410/12/210341yack97oih508cozl.jpg
我们需要的配件:
1、WIFI核心板。
2、USB扩展板。
3、SD卡。
4、声卡。
5、喇叭。(耳塞、音响都行,我们在制作喇叭可叠加模块,以后可以直接插上就可以用哦!)


http://www.znck007.com/data/attachment/forum/201410/12/210341j5tbj0h7dlene959.jpg
操作界面,可以使用手机、电脑、IPAD等控制。(完全开源给大家)


淘宝走起:http://item.taobao.com/item.htm?id=41688123224




第一部分:配置WIFI板(设置联网、STA之类的)
前往第一篇:WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
网址链接:http://www.znck007.com/forum.php?mod=viewthread&tid=21570


第二部分:安装驱动(声卡、mpd、mpc播放器等)
一、SD卡挂载。
http://www.znck007.com/data/attachment/forum/201410/12/220003li7rpa25og525jz7.jpg
使用putty登陆openwrt输入
opkg update
opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4
mkfs.ext4 /dev/sda1    #格式化SD卡,第一次使用就格式吧
mkdir -p /mnt/sda1    #生成一个SD卡目录
mount /dev/sda1 /mnt/sda1    #将SD卡挂载到/mnt/sda1目录

自动挂载(这样就不需要每次都执行上面的命令挂载SD卡了)
vi /etc/config/fstab
移到最下面,按i键(编辑模式)然后复制下面,右击到putty就自动粘贴上去了!
config 'mount'
      option 'device' '/dev/sda1'
      option 'options' 'rw,sync'
      option 'enabled_fsck' '0'
      option 'enabled' '1'
      option 'target' '/mnt/sda1'


二、声卡驱动。
opkg update
opkg install kmod-usb-audio

安装MPD MPC
opkg install mpd-full
opkg install mpc

接着安装alsa以调节音量
opkg install alsa-utils
alsamixer    #图形界面调节音量, 用上下箭头调节




三、配置mpd。
vi /etc/mpd.conf
请光标移到第一行,然后依次输入下面信息就可以删除所有内容。
:.,$d
冒号+一个点+一个逗号+一个$+一个d再回车

删除所有内容后复制以下的参数:
music_directory         "/mnt/sda1/mp3" #歌曲目录
playlist_directory      "/mnt/sda1/mp3/.mpd/" #播放列表存放目录
db_file               "/mnt/sda1/mp3/.mpd/mpd.db" #歌曲列表
log_file                "/tmp/mpd.log"
pid_file                "/tmp/mpd.pid"
state_file            "/mnt/sda1/mp3/.mpd/mpd.state" #播放列表
user                  "root"
group                   "users"
bind_to_address         "0.0.0.0"
port                  "6600"
audio_output {
   type         "alsa"      
   name         "My ALSA Device"      
   device         "hw:0,0"
   format         "44100:16:2"
   mixer_control      "PCM"
}
filesystem_charset            "UTF-8"
id3v1_encoding                  "GBK"

最后输入冒号+x(保存退出)
:x


新建mp3目录(存放mp3文件):
mkdir -p /mnt/sda1/mp3 /mnt/sda1/mp3/.mpd


运行MPD
/etc/init.d/mpd start
/etc/init.d/mpd enable

http://www.znck007.com/data/attachment/forum/201410/13/105139dcctyyktbthqo1tz.jpg
测试MPD,MPC是否正常,如上图则正常了。




第三部分:安装python、上传网页文件(利用python可以让网页执行linux命令)
一、安装python(非常好用强大的脚本)。
http://www.znck007.com/data/attachment/forum/201410/13/201251pi7htqif7fo8lff0.jpg
opkg update
opkg install python

二、使用winscp软件上传文件(MP3或网页文件等)。
winscp文件上传软件
http://pan.baidu.com/s/1qW0nhNI

网页控制文件
http://pan.baidu.com/s/1qWyRmtI

下载运行winscp,然后解压www里的文件上传到openwrt
http://www.znck007.com/data/attachment/forum/201410/13/201252nkifk9ziuijiggeg.jpg

http://www.znck007.com/data/attachment/forum/201410/13/201253pjcnwmyhyopw0n07.jpg
选择root,然后双击www目前进入网页目录。

http://www.znck007.com/data/attachment/forum/201410/13/201254c4emg8ty3e99lyge.jpg

上传到openwrt



三、在电脑、手机播放mp3。
http://www.znck007.com/data/attachment/forum/201410/13/202839lb888yyz40neyey1.jpg
输入http://192.168.1.1/znck007/music.html


http://www.znck007.com/data/attachment/forum/201410/13/202805hg7qwxqzjs6u7pnp.jpg
查找一首喜欢的歌
http://music.baidu.com/search?key=%E5%B9%B3%E5%87%A1%E4%B9%8B%E8%B7%AF

http://www.znck007.com/data/attachment/forum/201410/13/202805jyfteq4tvqzp4pxp.jpg
复制下载地址,然后粘贴到播放输入框

http://www.znck007.com/data/attachment/forum/201410/13/202806ir3dqolrrrwojq38.jpg


http://www.znck007.com/data/attachment/forum/201410/13/202807k22fogmf8g5fyn58.jpg
点击播放,你会得到这样的提示,需要设置权限

http://www.znck007.com/data/attachment/forum/201410/13/202808qdxvkxxvvjqqfj1e.jpg
在winscp右击music文件,打上勾。

http://www.znck007.com/data/attachment/forum/201410/13/202808ojp6z3nn76062a7e.jpg
重新播放,看到这样的提示,音乐开始响起……

手机操作需要先连接openwrt的wifi,然后和电脑操作就是一样了……
播放电台是同样的办法,只要有电台的网址就可以播放了!


四、上传mp3文件播放。
http://www.znck007.com/data/attachment/forum/201410/13/204011ih4ssu0frs4s3lms.jpg


第四部分:原理和其它说明。
原理很简单:使用openwrt系统的声音驱动,再使用web协议控制python脚本,然后python脚本是可以控制linux命令从而播放音乐、电台、mp3文件等。

其它更多资料大家可以百度,也可以QQ610854837与我们交流!
这里给大家相关的mpd、mpc控制播放的代码给大家!
    mpc的常用方式:
    mpc listall 可以列出所有的歌曲
    mpc search filename 可以按文件名查找
    mpc search artist 可以按歌手查找
    mpc search title 可以按歌曲名查找
    mpc add 添加歌曲到播放列表
    mpc del 2 删除2
    mpc listall|mpc add 可以把所有歌曲都添加到当前的播放列表
    mpc playlist 查看当前播放列表
    mpc play 播放
    mpc play 18 播放列表中第18首
    mpc pause 暂停
    mpc stop 停止
    mpc 查看当前播放歌曲的信息
    mpc help 查看mpc的帮助,更多的选项。
    mpc clear 清空所有歌曲列表



这里大家可以查看cgi-bin目录里的music文件,
http://www.znck007.com/data/attachment/forum/201410/13/205137lrhdipqzqdur4ir0.jpg
(status, output) = commands.getstatusoutput(cmdstring)
这句就是执行linux命令用的,是最重要的!

那么我们这篇的教程就到这里了,欢迎大家吐糟!



《WIFI作品DIY教程》
WIFI作品DIY教程01-《Z WIFI开发板》介绍和联网等配置教程
WIFI作品DIY教程02-《openwrt摄像头》3D外壳和diy教程
WIFI作品DIY教程03-《WIFI音响/MP3播放器/电台》

《Arduino开源智能家居DIY教程系列》
Arduino开源智能家居《花絮1》zigbee小底板DIY成功
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
Arduino开源智能家居《zigbee开发板》手机/按键点亮LED
Arduino开源智能家居01《网关》升级版网关正式教程(zigbee)
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
Arduino开源智能家居03《开发板套件》学习zigbee家居-性价比高
Arduino开源智能家居04《插座开关》手机控制:网扇、空调...
Arduino开源智能家居05《红外线》手机红外线控制电器


《百元智能家居DIY教程系列》
arduino教程【实战篇】01《家居网关》DIY图文视频教程
arduino教程【实战篇】02《温湿度》DIY图文视频教程
arduino教程【实战篇】03《智能插座》DIY图文视频教程
arduino教程【实战篇】04《电灯开关》DIY图文视频教程
arduino教程【实战篇】05《手机红外线》DIY图文视频教程

《智能创客DIY交流论坛》成立了
欢迎大家来提问题、交流、学习,共同建立智能的创客平台!
http://www.znck007.com(注册有机会送板子哇!)
http://image.geek-workshop.com/forum/201407/04/102046czlvslxti6kwhwx6.png

潇洒哥 发表于 2014-11-3 22:34:56

这个网店我在淘宝上看到过,板子的功能倒是挺好,就是布线不行,不规整,不好看,
给人感觉做工很粗糙,如果店家能重新设计下USB HUB 板的走线,使之更加漂亮,我就买一块

潇洒哥 发表于 2014-11-3 22:43:19

什么wifi核心板    ,就是wr703n路由器,硬改后刷openwrt
有这个开源的项目,
项目地址http://www.kean.com.au/oshw/WR703N/
页: [1]
查看完整版本: WIFI作品DIY教程03-《WIFI音响/MP3播放器/电台》