智能折腾[0] - 万物互联的世界

介绍

进入了21世纪,相信大家里的设备也渐渐地有了智能的属性了
从一开始的煤油灯再到手动开关的电灯,再到现在可以根据使用场景自动开关的电灯,科技无时无刻都在突破,变革。
所以,我们要享受着21世纪的科技成果。 于是我就有了写这个系列教程的想法

智能家居设备的原理

目前市面上的智能设备,其实就可以简单理解成传统家居里面加了个Wi-Fi模块,然后过继电器之类的,或者更复杂的功能来控制电路,又或者是当成一个传感器,将环境中的参数转换成具体数值,然后依据场景来执行相关功能(就是判断了)
然后这些产品就可以滥价出售了 淘宝-esp模块搜索截图

可以去淘宝搜索这些设备的开发版,可以说还是十分白菜价格了,因此不要说什么智能家居成本高,其实就是现在厂商帮你整合了的方案贵 而已。

例子

现在我们有个家里有智能家居的一张思维导图

device-1-Xmind

在这张图里,zigbee网关下的东西都是小米生态链的设备,Wi-Fi插座 电视之类的是别的品牌的。
然后,路由器承担着一个很重要的角色,它与家里的设备互联了。
我们来假设一个场景

一个早上,你不知道你家的网线被老鼠咬了,然后你家断网了,你发现网关的懒人闹钟功能并没有叫醒你,按按钮也也没有任何反应,拿出手机一看,已经九点了,别说上学了 上班都迟到了。

这时候你就发现了,原来智能设备,并不是智能的,它还需要一台服务器来处理请求,喂给网关命令,网关才会行动,断网的情况下,它能做的就很有限了,你的智能设备仿佛成了一个个搬砖,怎么动都不听使唤….

另外一个场景

你下班后开心地拆了快递,前几天花了40就买到了一个三个口都能独立开关而且带usb的智能插座,但是买回来了后,才发现厂商跑路了,智能插座的app打开没反应,也没法和之前买的小米生态链互联,只能当普通插座用了。

一个厂商的倒闭跑路往往就是一瞬间的事,当初承诺的也是当狗屁用了。

这两个场景都显示了,智能家居的控制权在厂商手里的问题

  1. 断网的情况下,很多功能都受限了,本来是智能都设备一下子就变成傻瓜了
  2. 买的智能设备没两个月厂商就跑路了,智能设备一夜之间就变成普通设备,或者根本不能用了。
  3. 为了设备间的互联,我就只能买一个牌子的设备了,设备的选择范围大大缩小,根本不知道哪个更不会翻车
  4. 我的隐私(开关数据,传感器数据,摄像头)被这些大公司掌握,万一他们哪天泄漏了,我的生活岂不是直接被公开了

思考 & 解决

我们该如何来解决这个问题?我不想我的智能设备还受到厂商们的控制,但是又想保留智能功能,所以?
当然是在本地搭建个网关服务器了

这里介绍的是开源的 Home Assistant
Home Assistant (以下简称hass),是目前最流行的开源智能家庭软件,世界无数爱好者 开发者共同维护的软件,适合在树莓派 电视盒子 或者本地服务器上运行。
这样,我们就有了本地服务器来控制这些智能设备了,是不是就能摆脱厂商们的控制了呢?

device-2-Xmind

这里采用的是智能家居连接服务器的方案,所以这些设备的Wi-Fi接入都到了服务器下,路由器的压力也小多了,并且可以精确断网(iptables),控制本地设备就不需要再经过厂商服务器了,是不是方便多了呢? 于是这么做,需要一个带Wi-Fi功能的服务器,当然像斐讯N1那样的电视盒子,我认为是最合适的

结尾

目前这只是个序章,用来解释为什么我们该用本地化方案,本地化有什么优点
本教程已经默认您已经有

  1. 熟练使用 Linux shell 的能力
  2. 拥有动手能力,以及会搜索
  3. 有耐心,喜欢折腾
  4. 想省点钱

智能家居深似海,慎跳

以上,其实接下来的教程大部分都能在搜索引擎搜到,我只是个整合的人。
这时候我想起了牛顿的一句话 站在巨人的肩膀上

  1. Google/bing/duckduckgo 之类的搜索引擎
  2. GitHub issues
  3. 国内的 hassbian 论坛

好了,第一篇介绍完毕,如果不咕的话,第二篇(hass的安装)将在一个月内更新。