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

1,402 阅读2分钟
原文链接: www.jianshu.com

办公室飘来某鬼畜的声音「歌神,你的音箱好,来首歌呗,我要听周杰棍的双截伦」
歌神「好啊,给你放周杰伦的全集,记得请我吃饭」
鬼畜「这。。。」
王工「老是放周杰伦,考虑过老人们的感受么,听咱们屯里的人」
小赵「你们这是哪儿对哪儿啊,听就听 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

至此,大功告成。

写在后面

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