用树莓派DIY共享鱼缸,支持微信远程喂鱼

近期把精心打理数年的水族缸给“开源共享了”,实现了远程观赏和喂鱼互动的功能,先看效果吧。

直播页面:http://make.quwj.com/program/nature-aquarium

远程喂鱼没有自己设计操作界面,而是接入了微信公众平台,通过微信发送指令实现投食。看这段现场演示视频:

投食说明在直播页面和项目主页都有详细介绍。这个项目的意义还在于你可以把自家的屏幕变成虚拟水族馆,没事看看鱼,和鱼互动一下,等同于养了一缸鱼。更让人激动的是,你根本只管投食只管享用悠然自得,维护鱼缸等琐碎繁杂的问题全都不用管,是不是好处占尽了呢?

下面分享一下搭建这套共享水族馆的 Make 过程,其中有关于树莓派上实现视频直播的几种方案近期会在树莓派实验室进行介绍,有兴趣的朋友可以参考把自家的宠物也共享出来(需要支持可以联系本项目作者)。

组件清单

普通生态鱼缸 × 1

树莓派主板 × 1

罗技 C270 摄像头 × 1

自动投食器 × 1

LED 鱼缸灯 × 1

继电器 × 2

路由器 × 1

公网IP地址 × 1

微信公众账号 × 1

系统架构

这里介绍下最关键的投食流程。用户通过微信给趣无尽微信公号发送投食指令,微信公众平台调用之前设定好的后台服务,将指令保存在控制服务器上。然后由树莓派去从控制服务器上取这个指令并执行。

这么设计主要是考虑到实际环境下的稳定性,当然最简单的方式是把树莓派直接暴露在外网,用户直接连上树莓派进行操作也完全可行。

树莓派拿到投食的指令之后,控制投食机完成投食。

没错,这个投食机怎么方便实现是小问题。我直接买了一个现成的投食机,Hack 一下开关部件,加一个继电器接入树莓派就搞定了。

Hack 投食机

Hack 前的投食机如图所示。

拆开后发现结构简单,测试了一下,最上面的开关位置短接即可启动投食机。

所以就把开关接出来,用继电器控制吧。用烙铁在旁边捅了个洞,以便把线引出来。

接好继电器。

整个树莓派控制设备如下。

投食机装到鱼缸上,大功告成。

至于直播,采用 motion、simple rtmp plublish 或 gstreamer 方案。几种方案近期会在树莓派实验室进行介绍。

其中最关键的非技术性因素是,你的 ISP 需要给你分配了公网 IP 地址,这样你才可以将树莓派的某个服务(比如视频采集)通过路由器的端口映射暴露在外网。

项目主页:http://make.quwj.com/project/4

项目补充说明:

1.视频实时采集自一台树莓派3B,由于树莓派性能、稳定性、家庭带宽等多重因素限制,在线人数较多时直播服务可能会出现卡顿或不可用。

2.请使用安装了 Flash 插件的浏览器打开,目前暂不支持 iPhone、iPad 浏览器观看,推荐使用 Chrome。

3.一般情况下,10~22点之外的时间段水族馆灭灯,这时基本上神马都看不到属于正常状况。

4.项目当前处于测试中,对性能优化尚在探索中,画质没有开到最佳。

5.项目随时会因设备维护而临时中断直播、关闭投食,属于正常状况。维护结束后会重新开放。

6.如发现水族馆存在异常状况,请联系作者处理,微信 spoony002。

7.作者组建了一个微信群,欢迎对热带鱼、草缸等有兴趣的朋友加入交流养鱼的经验和乐趣。添加作者微信号 spoony002 说明入群。