首页 > 代码库 > 转载智能家居 作者:热情的沙漠 出处:http://www.cnblogs.com/buptzym/

转载智能家居 作者:热情的沙漠 出处:http://www.cnblogs.com/buptzym/

毕业后的2016年年初,搬入新家,总算不用在出租屋里鬼混了,于是就想把之前童年的梦想:智能家居+家庭影院好好实现一下~ 相比帝都高昂的房价,这些东东还凑合玩得起,不过在有限预算下实现尽可能定制和强大的功能会更有意思。我yy了以下几个场景:

  • 每当下班回家,指纹解锁大门,家里温馨的灯光自动打开,天气热的话空调也会自动开启。第二天如果下雨,前一天晚上灯光还会自动提醒我带伞。

  • 即使出差在外地,我也能在宾馆里随时看家里电影,像访问本地硬盘一样读取家里文件,远程控制下载。

  • 对手机说“我要看电影!”就能关闭所有强光源,打开柔和的背景灯光,120寸的投影自动点亮,客厅窗帘关闭,家庭影院启动。然后手机还会推荐我哪些蓝光碟我还没看过。

整个户型为两室一厅,超长的客厅,集成了餐厅和阳台,严格来说这不是多么优秀的户型,可是预算有限木有办法。但好处是有一块特别巨大的白墙供我安装幕布,整体的家装以白色调为主,我们的智能家庭配置就都在这些基础之上进行。

智能家居

高端智能家居设备动辄成千上万,而且根本不开放编程接口,这必然是我不接受的,由于之前就有一套树莓派,功耗很低,用一根USB线供电就好,特别适合打造为中控。虽然我对小米手机等设备毫无好感,不过他家的智能家居物优价廉,还可以通过破解通信协议实现可编程控制,深得我意。

我购入了小米智能家居的大部分设备(温湿度,人体监测,智能开关,智能插线板,彩光灯泡和彩色灯带各一个),不过之前已经有三星空气净化器和净水器,我对扫地机器人也无太大好感,够用就好。所有这些成本不足1000元~

多功能网关(149元)是必须的,这样才能发挥所有设备的优势,并接入树莓派(279元)。而智能遥控器(79)更是良心之选,这种圆形设计能够控制身边的所有红外设备,因此改造成本很低。当然缺点很明显,就是只能控制而无反馈,你根本不知道空调或者电视到底开没开。

米家APP设计很简单,你能设置各种触发条件和情景模式,当进入卫生间时,人体传感器会检测到,之后照明会自动亮起。当想看电影或者打游戏时,只需要一个按键,之后窗帘关闭,投影打开,音响启动...

我把家里都换成了智能插线板(小米WIFI),平日离家除了路由器和树莓派之外都处于休眠状态,大大减少了待机功耗,当我回家之后这些插线板才自动开启,算下来一年能省好多电费~智能指纹锁是三星SHS-H705(亚马逊购入),我已经有四五次出门忘带钥匙了(ㄒoㄒ)

这些都是app的基本功能,稍微研究一下即可学会,只是这样就够了吗?这不能满足懒癌极客对智能设备的要求!iOS的语音唤醒让我印象深刻,我希望完全不动手,对着手机说“打开投影仪!“就能完成所有功能。所以我们就需要解决HomeKit和小米设备的互联互通。

网上类似的攻略不多,主要是用node.js实现的homebridge套件,以及专门用于小米智能家居的的homebridge-aqara插件。简单来说,Homebridge可以把各种智能设备模拟为满足iOS协议的设备,而后者则可通过TCP请求,访问和读写连接小米网关的各种硬件,这些都在GitHub上开放源代码。我在家里折腾了两个下午,才在树莓派上将所有插件安装完毕并成功运行,就像下面这个样子:

技术分享

 

但是,这些插件的功能依然很弱,比如:

  • 无法一个命令同时控制多个设备
  • 不能实现”第二天下雨,则通过灯光颜色提醒我出门带伞“
  • 不能时刻记录我的习惯,实现更精确的数据分析

解决方法就是从小米的原生通信协议开始,修改homebridge源代码,,读取天气API获取天气预报数据,使用js注入的方式自定义逻辑。除此之外,我还会将所有家里行为数据的报表通过树莓派写入家里的MongoDB数据库,做之后的数据分析。看看几年下来我到底变懒没有。

离家之后,外网是无法通过树莓派直接控制家里设备的,这就需要做内网穿透,我不放心类似花生壳这类设备的安全性,因此就在阿里云主机上自己搭建了用go语言实现的ngrok反向代理,通过个人域名即可在任何地方管理家里的所有设备。某天晚上我在杭州宾馆闲来无事,还远程家里的树莓派暴力破解了邻居家的WIFI密码...

当然,不是所有时候都适合用语音,我在沙漠之鹰公众号上输入一串密码,即可切为管理员模式,通过自然语言就能与家里的设备交互,其中语义解析的部分用了之前编写的tnpy(也在GitHub上开源),超级方便。由于篇幅的关系,此处不展开。有兴趣的同学可以后台交流。

家庭影院

沙漠君是个特别喜欢宅在家里看电影的人,以前没有一大面墙供我安装投影幕布,这次有了足够的空间供我捯饬了。

投影仪使用了明基的W1070+, 1080P分辨率,2500流明,性价比较高,购入价6500左右,一年后价钱跌了1K,不过早买早享受嘛。虽然号称支持梯度矫正和侧投,但侧投效果很渣,画质影响很大,因此有条件一定要正面安装。

我在幕布上费了很多心思,因为母上不喜欢关灯拉窗帘看电视(估计没人喜欢),考虑过抗光幕,可是低端款的抗光幕就是七八千块钱,而且是一整块金属,电梯进不去,只能从外面用绳子吊上来,还要拆窗户,那画面简直累觉不爱。而且由于抗光幕的特性,对安装位置和观看角度都有需求。最后还是弃抗光幕选择了普通的增益框架白幕,价格2k左右。虽然晚上的观看效果出类拔萃,但是白天不拉窗帘则亮度感人,真是没有办法。

当时给我装投影的小哥说道,家庭影院的效果至少一半来自声音,因此他非常怂恿我换一套好的环绕音响系统。为了搭配整体的白色色调,且尽量不占面积,在预算之内可选并不多,于是就毅然选择了这款:

Sony BDV-N9200WL

技术分享

 

JD平日价格6999,我在国庆优惠促销时6399购入。白色款自带灯光效果,会随着音乐一起摇摆。周五摇滚之夜听个DJ还是很带感的。音质可圈可点,由于低音炮的加入,低频渲染能力很强。但让我印象深刻的是它的高音,磁流体扬声器带来的人声相当干净。恕我没有太多接触过万元以上的箱子,这套系统对我来说已经够用。后置环绕音响的接线也完全不用考虑,索尼直接包含了无线音频套件,只是接收器体积感人。

为了渲染气氛,避免看电影时环境光太暗对眼睛造成伤害,我又在沙发后面安装了yeelight智能灯带,可以通过小米智能家居控制颜色和亮度。

由于没有布线,我也不想通过天花板走明线,所以投影仪和播放器之间是通过无线HDMI传送的,可选的设备并不多,我用的是

GUANYEE/冠艺,无线 1080P HDMI连接器,四进一出,1299。

除了刚启动时配对有些慢,显示效果与有线无异。

当然,还要有播放设备加持,XBox360+体感是研究生时候买的,现在除了极品飞车之外很少在用,PS4也有一票游戏碟。看电影主要使用索尼蓝光机,除了三四张蓝光正版铁盒电影之外,其他上百张蓝光碟都是淘宝款,价格超便宜!电影也需要从网上下载,我不太信任百度云和360云盘这种设备的安全性,因此自建NAS成了最好的选择,我使用树莓派作为家庭媒体核心,挂载2块2TB硬盘,通过阿里云代理到外网访问。

效果类似下面这样:

技术分享

 

最爽的还是玩类似使命召唤这种FPS游戏,枪林弹雨在耳边清晰可辨,爆炸从低音炮里传出震得茶几直响,感觉甚爽!周五晚上早点回家,坐在沙发上来一瓶啤酒,看个枪战电影也是极好的。

结语

整个智能家庭从前到后折腾了接近一年的时间,成本非常低廉:

  • 小米智能设备,树莓派 约1500元
  • 投影仪,家庭影院,其他外设: 约16000元
  • PS4,XBOX,各类游戏碟: 约5000元
  • 智能门锁,智能马桶盖,空气净化器... (10000元所有)

所有设备的成本总和也就3W元左右,还不足北京一套房子首付的1/50,但是对生活幸福度的提升是巨大的。最重要的树莓派,这个如此便宜却功能强大的Linux系统扩展能力是无限的,我甚至还在上面跑了Python的数据分析服务,而你需要的仅仅是200多元和一条USB线!如果没有它,去买相应的智能设备,价格最少也在五位数以上。

绝大多数情况下,都能通过语音控制一切设备,通过联动实现各种丰富的场景,但这些还远未达到我心目中对”智能“的定义。心情好的时候是不是应该自动帮我放个音乐?是不是早上能帮我自动烤面包?是不是能随时告诉我今天穿什么衣服最合适?我妈说,懒死你得了。

有任何问题,随时留言交流~

转载智能家居 作者:热情的沙漠 出处:http://www.cnblogs.com/buptzym/