请选择 进入手机版 | 继续访问电脑版

智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 21817|回复: 122

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

  [复制链接]

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
发表于 2014-10-11 20:47:48 | 显示全部楼层 |阅读模式
想做个家中的WIFI音响吗?这一篇就带大家玩起openwrt的声卡功能。
你可以使用手机、电脑、语音控制它播放音乐、电台、天气预报等等……

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


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



190.jpg
操作界面,可以使用手机、电脑、IPAD等控制。
游客,如果您要查看本帖隐藏内容请回复

淘宝走起:https://item.taobao.com/item.htm?id=576067599077




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


第二部分:安装驱动(声卡、mpd、mpc播放器等)
一、SD卡挂载
210.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

220.jpg
测试MPD,MPC是否正常,如上图则正常了。




第三部分:安装python、上传网页文件(利用python可以让网页执行linux命令)
一、安装python(非常好用强大的脚本)
250.jpg
opkg update
opkg install python

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


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

下载运行winscp,然后解压www里的文件上传到openwrt
311.jpg

320.jpg
选择root,然后双击www目前进入网页目录。

330.jpg

上传到openwrt



三、在电脑、手机播放mp3
410.jpg
输入http://192.168.1.1/znck007/music.html


420.jpg
查找一首喜欢的歌
http://music.baidu.com/search?key=%E5%B9%B3%E5%87%A1%E4%B9%8B%E8%B7%AF

430.jpg
复制下载地址,然后粘贴到播放输入框

440.jpg


450.jpg
点击播放,你会得到这样的提示,需要设置权限

460.jpg
在winscp右击music文件,打上勾。

470.jpg
重新播放,看到这样的提示,音乐开始响起……

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


四、上传mp3文件播放
480.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文件,
510.jpg
(status, output) = commands.getstatusoutput(cmdstring)
这句就是执行linux命令用的,是最重要的!

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


《WIFI作品DIY教程系列》
WIFI作品DIY教程01-《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教程系列》
《智能家居网关》DIY制作图文教程01-百元智能家居系列
《智能温湿度》DIY制作图文教程02-百元智能家居系列
《智能插座》DIY制作图文教程03-百元智能家居系列
《智能电灯开关》DIY制作图文教程04-百元智能家居系列
《手机红外线》DIY制作图文教程05-百元智能家居系列
关注@智能创客  微信:znck007(打造DIY创客平台)


回复

使用道具 举报

0

主题

13

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2015-9-23 10:07:20 | 显示全部楼层
按教程做过,其中有点得注意
配置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"
这个最用WinSCP好到保存的路径查看是否有乱码现象
如果有乱码现象重新编辑保存
回复 支持 1 反对 0

使用道具 举报

0

主题

4

帖子

38

积分

新手上路

Rank: 1

积分
38
发表于 2014-10-12 00:26:56 | 显示全部楼层
顶起来。。。。
回复

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-10-12 01:50:29 | 显示全部楼层

都还没有写出来呢,哈哈^
回复 支持 反对

使用道具 举报

0

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2014-10-12 14:44:54 | 显示全部楼层
搞一个串口屏就帅了
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-10-12 16:03:57 | 显示全部楼层
717hujie 发表于 2014-10-12 14:44
搞一个串口屏就帅了

回复 支持 反对

使用道具 举报

0

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2014-10-13 21:29:15 | 显示全部楼层
不可以直接搜索播放吗?
回复 支持 反对

使用道具 举报

0

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2014-10-13 21:30:13 | 显示全部楼层
最近我也准备玩这个、、、、
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-10-13 22:05:08 | 显示全部楼层
717hujie 发表于 2014-10-13 21:30
最近我也准备玩这个、、、、

回复 支持 反对

使用道具 举报

0

主题

6

帖子

99

积分

注册会员

Rank: 2

积分
99
QQ
发表于 2014-10-14 14:07:18 | 显示全部楼层
Javascript + python + openwrt 的一个絕隹案例, 不能不頂 !!!
回复 支持 反对

使用道具 举报

0

主题

6

帖子

99

积分

注册会员

Rank: 2

积分
99
QQ
发表于 2014-10-14 14:10:54 | 显示全部楼层
版主大器, 整个桉例还是全开源的, 真是功德无量 !!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|手机版|智能创客 ( 桂ICP备14000828号

GMT+8, 2019-1-16 14:07 , Processed in 0.042332 second(s), 15 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表