V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hfcorriez
V2EX  ›  分享创造

基于树莓派的办公室音箱共享方案(附开源代码)

  •  1
     
  •   hfcorriez ·
    hfcorriez · 2016-02-23 14:19:27 +08:00 · 5023 次点击
    这是一个创建于 3203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    办公室飘来某鬼畜的声音「歌神,你的音箱好,来首歌呗,我要听周杰棍的双截伦」
    歌神「好啊,给你放周杰伦的全集,记得请我吃饭」
    鬼畜「这。。。」
    王工「老是放周杰伦,考虑过老人们的感受么,听咱们屯里的人」
    小赵「你们这是哪儿对哪儿啊,听就听 TFBoys 」
    歌神「你们都别说话,我自己听了」

    说到这儿呢,歌神哥就不开心了,所以还是要想办法解决下这个问题,在瀑布 IM 的一次 Hackathon 中,我们完美解决了这个问题,看图。

    最终效果

    准备工作

    硬件设备

    • 音箱一个
    • 树莓派一个 (可选配件: USB 无线网卡)
    • 瀑布 IM 开源点歌系统 GitHub
    • 瀑布 IM WebHook (文档

    实现步骤

    安装树莓派

    网上相关教程已经很多了,我是使用的树莓派官方的 Raspbian 系统 (和 Ubuntu 比较接近),安装步骤我就不详述了,在这里引用一篇文章《 mac 下给树莓派安装 raspbian 系统》

    安装无线网卡(如果需要的话)

    音箱要来回动,不一定旁边有网线,用无线网卡会方便很多,我们万能的淘宝花 30 块买了个小 USB 网卡,插上后,在系统内需要安装驱动,推荐一篇关于网卡安装的文章《树莓派 Raspberry Pi 设置无线上网》

    安装和启动程序

    安装 Node 环境比较简单,通过 apt-get 基本都可以搞定,安装完 Node 后,再把开源程序部署起来就搞定了,具体可以参考文档

    路由器配置端口转发和 DDNS

    这一步比较麻烦,我以我们用的 华硕 RT-AC3200 路由器举例:

    • 打开 "外部网络" -> "端口转发",配置一个外部端口到树莓派的 IP:3000
    • 打开 "动态域名" 配置一个动态域名解析

    最后得到一个外部可访问的地址,比如:http://pi.ddns.com:3000,可以访问下 http://pi.ddns.com:3000/songs 来看看是否可以访问。

    配置瀑布 Command

    注册一个瀑布账号,创建一个团队,在频道内添加一个服务,具体按照《瀑布 IM Command 开发文档》 来配置。

    • 命令名称: play (就可以在聊天框输入 /play 来调用)
    • 命令描述:音箱放歌
    • 请求地址:http://pi.ddns.com:3000/hook_receive

    至此,大功告成。

    写在后面

    我们通过一些自动化的信息处理,可以把事情做得很简单,尽量减少人工的支出,把时间花在重要的事情上,比如:思考。这也是我个人也一直秉承的习惯。创业公司办公室有蛮多可以玩的,脑洞大一点会为团队增加很多色彩。

    10 条回复    2016-02-24 11:54:31 +08:00
    SourceMan
        1
    SourceMan  
       2016-02-23 14:26:43 +08:00
    👍
    veau
        2
    veau  
       2016-02-23 14:30:40 +08:00
    大神膜拜一个。。

    使用你的 pagon 中
    hfcorriez
        3
    hfcorriez  
    OP
       2016-02-23 14:32:25 +08:00
    @veau 最近还在支持 PHP7 ,已经基本没问题了,不过还有一些细节。
    veau
        4
    veau  
       2016-02-23 14:41:10 +08:00
    @hfcorriez 坐等新版。
    scourgen
        5
    scourgen  
       2016-02-23 15:16:00 +08:00
    老板来一套,顺丰到付。
    hfcorriez
        6
    hfcorriez  
    OP
       2016-02-24 00:04:33 +08:00
    @scourgen 好哒,地址拿来。
    Remember
        7
    Remember  
       2016-02-24 04:09:49 +08:00
    图片挂了
    asxalex
        8
    asxalex  
       2016-02-24 09:20:13 +08:00
    赞! 之前做过一个简化版的,要把音乐文件放在一个目录下,然后扫目录,在页面上只有暂停、播放、上一曲、下一曲四个按钮,不支持直接选择某个歌曲
    asxalex
        9
    asxalex  
       2016-02-24 09:21:19 +08:00
    然后早上起床,用手机打开页面,点击播放,客厅的音乐就开始了,当时玩得很欢乐呀 :)
    hfcorriez
        10
    hfcorriez  
    OP
       2016-02-24 11:54:31 +08:00
    @asxalex 也很赞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2830 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:12 · PVG 17:12 · LAX 01:12 · JFK 04:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.