基于树莓派的办公室音箱共享方案(附开源代码) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hfcorriez
V2EX    分享创造

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

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

    办公室飘来某鬼畜的声音「歌神,你的音箱好,来首歌呗,我要听周杰棍的双截伦」
    歌神「好啊,给你放周杰伦的全集,记得请我吃饭」
    鬼畜「这。。。」
    王工「老是放周杰伦,考虑过老人们的感受么,听咱们屯里的人」
    小赵「你们这是哪儿对哪儿啊,听就听 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     Solana     4957 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    orld is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 05:45 PVG 13:45 LAX 21:45 JFK 00:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86