家庭网络全套解决方案分享 篇四:使用QNAP 威联通 NAS + HomeAssistant +第三方服务打造跨平台智能家居系统(上篇)前言上篇发布到现在有几周的时间了,由于工作原因此篇也是断断续续的写了好久才完成 这里讨论的方案是基于使用威联通453A NAS上搭建Home Assistant服务并结合ifttt等第三方服务来实现跨平台智能硬件统一控制,并且可以同时支持 Amazon Echo, Google Home和苹果的HomeKit等智能终端来控制不同品牌的智能硬件产品。例如,小米生态链系列(灯,开关,传感器等),Broadlink系列(开关,万能遥控器等),电视,罗技harmony,空调等不同品牌的产品。 首先如果大家没有看过前几篇文章强烈建议先看一遍,这里讲解的智能家居平台是基于之前提到的家庭网络部署方案及硬件 - 良好的家庭基础网络覆盖是保障智能设备能良好运行的基础哦!
方案思路首先LZ为什么要选择Amazon Echo、Google Home,而不是国内的智能音箱品牌?因为:
关于Amazon Echo和Google Home的优缺点,使用了几个月下来大概的感受是:
优点:
缺点:
优点:
缺点:
另外这2种音箱共同的缺点也许就是不支持中文语音控制了,这个也给国产的各种智能音箱带来了竞争的资本。而水果家的Homekit的优势在这里就能完全发挥出来,Siri原生支持中文并且支持语意分析。 服务端选择Home Assistant作为主要智能平台的原因是强大的智能硬件产品库支持,及友好的前端界面,另外还支持自定义脚本来实现高级的自动化功能(下篇会讲到)。下面是HA的简要介绍
选择Home Assistant作为服务端搭配的硬件很多人选择的是树莓派3,很多网络上的文章也讲解了树莓派3+HA搭建智能化平台的方案,这个方案其实也是LZ最早选择的方案,但是我后期弃用了这个方案,原因是虽然树莓派的硬件配备满足HA的运行环境,但是由于HA中的产品库品牌众多,很多组件开发的好坏会直接影响到HA的性能,LZ遇到的一大问题就是某些组件运行一段时间后会导致不释放内存直到消耗完,另外如果设备较多的话也会把本身并不是很大内存的树莓派硬件消耗光,让HA直接停止工作,这种情况下只能重启HA或者树莓派。甚至后来LZ自己设置了每天树莓派必须自动重启一遍才行。。。 遇到这个问题后LZ希望能有个更强大的硬件平台来支撑HA的服务,最后终于在威联通的NAS中实现了,如果大家看过系列的第二篇文章 - 手把手教你打造多功能家庭娱乐中心(硬件篇)可以看到LZ的家庭娱乐中心实际上是围绕着威联通的453A NAS实现的,那么能不能直接把HA搭建在NAS上呢?答案是通过威联通自家的Container Station 其中一个重要的部分就是Container Station,威联通官方的介绍是
HA使用的就是Container Station中的Docker虚拟化技术,Docker这种轻量级虚拟化技术给HA来使用太合适不过了! 可以看到我实际上是使用了2个docker,其中Homebridge镜像是把HA中所有的智能设备转化为Homekit服务的,这个稍后再说。 最后整体智能设备配置完成后完整的设备分布图 - 图太大,看不清楚可以点击进去看全图。 按照语音控制设备分解后单独看3个部分的内容(隐藏了最后一层设备,看起来方便点)
可以看到3个终端有部分服务是特有的,例如,Google的Google Assistant服务和Homekit的Sense组件。这些稍后再细说。 实战操作1.1 Home Assistant Docker的安装及配置讲解完方案后就可以开始实际操作啦!这里我尽量讲解的细一点,基本上新手小白也可以一步步照着做完成 首先我们来看看安装前需要准备的工具有哪些
准备好后,开工咯~ 首先进入NAS管理界面安装好Container Station,在App Center中直接可以找到,点击安装即可 安装完Container Station后点击桌面上的图标打开APP 进入后选择左边的创建新的镜像 搜索栏中输入 homeassistant/home-assistant 并点击搜索,在返回结果后选择 Docker Hub,并选择第一个结果右边的创建 (也就是前面数字最大的那个,注意别选错了) 弹出的版本选择latest最新版并点击下一步 在参数配置页面可以设置CPU限制和内存限制,因为HA所需的资源非常少,所以可以限制为15-20%完全足够了,内存如果足够的话(例如NAS安装的是8G内存)可以设置为1024,比较紧的话512应该也够了。 打开下面的高级设置,网络设置里面把网络模式更改为Host 在环境设置内新增一条时区设置,名称为TZ,值为实际所在地的时区,时区列表可以在这里查到 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones 最后在共享文件夹设置内,找到挂载本地共享文件夹,然后点击新增,前面的路径设置为准备步骤中新建的HomeAssistant文件夹,挂载路径则设为/config,确保有读/写权限,最后点击下方的创建。 等待一会后就可以在主界面上看到已经安装完成啦!
到这里为止就完成了Home Assistant主程序的安装!可以尝试打开NAS内网IP地址+8123端口,例如,http://192.168.1.100:8123,如果一切正常的话就可以看到HA的管理页面啦。
什么都没有?别急,这个是首次安装完的默认页面哦~ 还需要我们来添加各个设备! 添加设备前记得先做一件事,在家里主路由里面添加端口映射到8123端口,这样做是不光为了可以从外网打开家里的HA控制台,另外一个重要的原因是后面一些高级自动化动作需要实时能和手机端通讯的,这个后面篇幅再详细讲解。每个路由设置端口映射的设置方式都不同,可以自己查找一下,我家的路由是Linksys WRT1200AC,在里面叫端口转发:
设置完成后有的路由需要重启才能生效。生效后可以在外网直接打开家里的NAS外网地址+8123端口就可以看到HA管理界面啦 终于可以开始配置Home Assistant,首先HA的各种功能基本上全是通过配置文件实现的,配置文件本身基于YAML格式。放心,其实并没有那么复杂 先打开下载的WinSCP工具,创建一个新的站点l连接到NAS机器上,注意因为我们安装的是Docker镜像,所以我们需要连接的是NAS本机,而不是HA,连接创建后是可以看到NAS整个机器目录下的所有文件的。
保存成新的站点后登录。如果是按照我上面说的步骤配置并安装的homeassistant镜像,在登录后应该可以在/share目录下找到一个叫HomeAssistant的目录,这个就是我们以后配置所有设备及调试的地方 进行下一步前我们再做一个事情,在程序配置中添加Notepad++(或其它之后会用来编辑配置文件的文本编辑工具)为默认的编辑器,这样方便后面调试及修改 完成后我们进入HomeAssistant目录,双击configuration.yaml这个文件,会用默认的编辑器打开,这个文件是HA的核心,所有的配置功能及设备都放在这个文件里面定义。 如果用的是Notepad++双击打开文件后第一件事需要做的是确认文件系统格式是UNIX格式,而非Windows格式,因为如果在Windows机器上打开这个文件,很有可能会自动转成Windows格式,如果不改回去的话修改后保存回NAS后是无法被识别的 - 在文件的右下角这里直接可以右键点击选择文件格式 打开后首先来设置基本配置内容 文件往下拉,在这里强烈建议设置访问密码(特别是打开了外网访问的情况下),除非你想让别人随意操作你家的灯电视空调,顺便看看你的摄像头。。。
1.2 添加智能设备配置完HA基础信息后就可以开始添加各种智能设备啦!添加前务必先确认每个设备已初始化并在自有APP中可以正常工作,例如,Yeelight灯泡/灯带等设备在Yeelight APP中可以正常工作,小米智能网关/开关/传感器等设备可以在米家APP中正常工作。
下面我们要去HA的官网上找对应智能设备的接入方式,目前HA已支持上千种不同品牌的设备接入,所以几乎市面上销售的品牌90%都能找到,设备查找页面 https://www.home-assistant.io/components/ 拿LZ家主力军Yeelight智能灯泡,灯带举例,输入yeelight查找可以找到2个组件,第一个应该是海外版的灯泡,国内好像没有销售,我们用第二个组件 点击进入后会详细说明这个组件的配置方式 我们只需把同样格式的内容复制粘贴到上面的configuration.yaml文档中然后编辑相关参数为实际设备的参数即可,如果有多个灯泡,可以全部列在 devices这个标签下,配置完后在configuration.yaml中是这样的
注意yeelight和很多米家设备必须还要在官方APP中打开局域网控制模式(极客模式),这样设备才允许第三方服务接入,已yeelight设备举例,在APP的开启入口为
另外一个用的非常广泛的智能设备是小米的智能网关,智能网关下面还可以添加多个子设备(蓝牙通讯方式)实现各种智能自动化及通过各种感应器实现数据监测。智能网关的组件可以搜索关键字Xiaomi
点进去后看到所需的配置格式为 需提供的参数为网关mac地址(如果是单网关模式则无需)和key - 这个是需要我们手动到米家APP中记录下来后填进去的,入口为打开米家APP,找到智能网关然后点击右上方的 ... 然后
把网关添加完成后HA会自动把网关所连接的子设备自动带入进来,不用一个个手动配置啦!
用同样的方式来添加其他智能设备,下面是我添加的多媒体设备 设备全部添加完后可以看到已经可以使用HomeAssistant界面来控制灯光,控制电视/音响及查看各种传感器信息等智能设备了!
结语+下集预告做到这里已经可以实现基本的远程控制(通过HA控制界面),不过最多也只能算用软件实现了遥控开关功能,离真正的自动化 还有一定距离,由于篇幅原因,上篇就先到这里结束咯~ 未完待续!!! 在下一篇中计划讲解的内容包括
|
香港服务器多少钱一个月?哪家的香港服务器
4核4g6M50G盘20G防御云服务器价格多少钱?T
特发集团与华为签署全面合作协议
【身边的AI】高空抛物智能追溯解决方案,站
中海&华为签署战略深化合作协议
华为赵博:数字化转型成为地产企业最确定的
这款TCL K6V指纹锁不到千元即可买到?大品
凯迪仕指纹锁哪款好用?买凯迪仕指纹锁选哪