回答

收藏

[大赛作品提交] 支持红外控制、外网控制的树莓派离线和在线音乐播放器

Raspberry Pi Raspberry Pi 4575 人阅读 | 0 人回复 | 2017-12-11

本帖最后由 ky123 于 2018-2-5 11:11 编辑

感谢e络盟提供的比赛赞助基金。

一、项目名称:
支持红外控制、外网控制的树莓派离线和在线音乐播放器
1.原理介绍
树莓派3B上安装moc播放本地音乐、在树莓派3B上安装musicbox播放在线网络音乐,通过蒲公英路由器还可以实现远程控制音乐播放,添加红外接收管到树莓派然后使用一个红外遥控器完成红外驱动和红外编码后实现红外遥控器控制音乐播放、上一曲、下一曲、暂停、关机等
2.系统版本
RASPBIAN STRETCH LITE
最新版本下载地址
https://downloads.raspberrypi.org/raspbian_lite_latest
3.应用源代码
首先介绍在树莓派3B上安装离线和在线音乐播放器分布播放本地音乐方法
本地音乐播放笔者使用moc,这个支持多格式、可以后台播放、占用资源少、终端友好
安装moc
  1. sudo apt-get install moc
复制代码
添加配置文件
  1. vi ~/.moc/moc.conf
复制代码
加入下面代码
  1. ReadTags                = no
  2. Sort                    = FileName
  3. ShowStreamErrors        = no
  4. Mp3IgnoreCRCErrors      = yes
  5. Repeat                  = yes
  6. Shuffle                 = no
  7. AutoNext                = yes
  8. FormatString            = "%(n:%n :)%(a:%a - :)%(t:%t:)%(A: \(%A\):)"
  9. OutputBuffer            = 2048
  10. InputBuffer             = 512
  11. Prebuffering            = 64
  12. SoundDriver             = JACK, ALSA, OSS
  13. OSSDevice               = /dev/dsp
  14. OSSMixerDevice          = /dev/mixer
  15. OSSMixerChannel         = pcm
  16. OSSMixerChannel2        = master
  17. AlsaMixer1              = PCM
  18. AlsaMixer2              = Master
  19. AlsaDevice              = default
  20. ShowHiddenFiles         = no
  21. HideFileExtension       = no
  22. ShowFormat              = yes
  23. ShowTime                = IfAvailable
  24. Theme                   = example_theme
  25. UseMmap                 = no
  26. SavePlaylist            = yes
  27. SyncPlaylist            = yes
  28. ASCIILines              = no
  29. TagsCacheSize           = 256
  30. FollowPlayedFile        = yes
  31. CanStartInPlaylist      = yes
  32. ALSAStutterDefeat = yes
  33. PlaylistFullPaths       = no
复制代码
运行mocp即可打开播放器,找到音乐文件即可播放

在线音乐播放器可以使用musicbox,运行下面命令安装
  1. git clone https://github.com/darknessomi/musicbox.git && cd musicbox
  2. sudo python setup.py install
复制代码
安装完成后使用musicbox命令即可运行


需要红外遥控器控制播放、暂停、上一曲、下一曲、退出等可以添加红外接收头到树莓派3B
GPIO18 - 红外接收的 OUT
3.3V - 红外接收的 VCC
GND - 红外接收的 GND
下图从左到右依次VS1838B红外接收头、杜邦线、树莓派3B、红外遥控器

红外接收头与树莓派连接如下

自制音箱

然后安装lirc
  1. sudo apt-get install lirc
复制代码
修改配置文件
  1. sudo vi /etc/lirc/hardware.conf
复制代码
修改下面几行
  1. LIRCD_ATGS="--uinput"
  2. DRIVER="default"
  3. DEVICE="/dev/lirc0"
  4. MODULES="lirc-rpi
复制代码
修改模块配置文件
  1. sudo vi /etc/modules
复制代码
在模块配置文件里面加入
  1. lirc-dev
  2. lirc-rpi gpio_in_pin=18
复制代码
接着输入
  1. sudo raspi-config
复制代码
选择5-P8-Yes,重启后红外接收头即配置完成,下面录制红外编码,首先查看可以录制的编码名称
  1. sudo /etc/init.d/lirc stop
  2. irrecord -list-namespace
复制代码
使用下面命令开始学习红外遥控器并生成红外遥控配置文件
  1. irrecord -d /dev/lirc0 ~/lircd.conf
复制代码
将红外遥控配置文件复制到/etc/lirc/lircd.conf
  1. sudo cp ~/lircd.conf /etc/lirc/lircd.conf
复制代码
重启lirc服务
  1. sudo /etc/init.d/lirc start
复制代码
然后即可红外遥控控制moc或者musicbox,只需将程序快捷键加入配置文件即可,笔者加入了下面几个红外遥控功能键
  1. KEY_PREVIOUS
  2. KEY_NEXT
  3. KEY_PLAY
  4. KEY_VOLUMEDOWN
  5. KEY_VOLUMEUP
复制代码
外网远程控制音乐需要将树莓派3B连接到蒲公英路由器,然后参考笔者下面帖子将蒲公英路由器联网
蒲公英X3路由器上电、联网、设置无线密码、升级
然后登陆管理界面选择绑定账号后注册一个花生壳账号,也可以直接使用蒲公英路由器SN号产生的花生壳账号



自己注册的账号需要绑定账号

内置账号也可以直接使用

树莓派连接上蒲公英路由器,然后查看路由器管理界面可以看到局域网IP

登陆路由器管理界面选择智能组网,将路由器添加到网络成员

然后在需要外网访问树莓派的设备(电脑、手机、平板等)上安装蒲公英路由器客户端
https://pgy.oray.com/download/
Windows电脑下载安装如图

打开

登陆之前申请的Oray花生壳账号,然后进入路由器管理界面可以看到客户端显示如下

将客户端加入网络成员以便外网访问,客户端添加需要设置密码

电脑断开蒲公英路由器后使用其他网络登陆客户端

搜索树莓派连接的蒲公英路由器的局域网IP

双击上面树莓派那项开始ping,或者WIN+R输入cmd后输入ping+上面树莓派ip测试响应

接着在外网电脑上使用SSH客户端使用SSH方式连接到树莓派3B,按上面局域网方法输入mocp或者musicbox即可打开音乐播放器,选好音乐播放即可控制家中音箱播放音乐
对于手机或者平板需要下载相应蒲公英客户端
笔者手机为安卓,首先下载安装蒲公英客户端安卓版本


打开客户端

登陆之前注册的Oray账号

连接好后下载安装ConnectBot应用,然后打开创建SSH连接即可手机上控制家中音箱播放

关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条