达人 DIY

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统 篇一:相关准备与安装Hass.io

如果你看完了之前的文章,决定开始尝试一下打造个人的智能家居系统。那么恭喜你,你不但能解决谁下床关灯,大门到底关没关好的历史难题,还能够充分发挥个人的想象力,解决更多的家居问题。 – 早晨醒来,自动调高房间温度、打开窗帘并启动咖啡机,开始迎接美好的一天。 – 下班开车回家,根据你的手机定位,自动开启车库、打开门锁并点亮灯光,做好准备欢迎你回家。 – 当你准备睡觉时,也可使用自定义场景,来关闭所有灯光、调低恒温器的温度,并锁好房门。 – 如果天气很热,你将在离家三公里远的时候,收到手机消息推送:“是否打开空调?” – 下雨了,如果窗户开着,系统会提醒你关窗,当然,如果有关窗器和雨水感应器,完全可以自动关窗。 – “Hey,Siri,‘电影之夜’”,系统自动关闭主光源、开启氛围灯,降下幕布,打开功放并设置好输入源。开始享受属于的你“电影之夜”吧! – 基本的语音/感应/远程开关灯、门、窗,消息推送……

随着科技巨头的入场,智能家居不但从比尔盖茨当年的预言中走入现实,而且在平台化的力量下,成为了消费者能够轻松入手的产品。亲自打造个人的智能家居系统已不是难事,本文将从零开始,更加系统地讲解打造个人智能家居的各个环节,以期哪怕是零基础的小白也能够轻松入门玩耍。由于是零基础教程,在系列文章的首篇,我会先展示最终的使用效果,并用一定篇幅介绍市面上的智能家居平台,简单介绍搭建个人智能家居系统所用到的设备、软件、平台、系统结构,有基础的极客玩家可选择性阅读。

一、最终使用效果

本系统能够使用 iOS(HomeKit) 设备以及 Web 页面(Home Assistant)直接操作,除此之外,通过 Home Assistant 的自动化设置,能够实现更多的功能,将会在之后的文章中介绍。

▲ iOS 家庭

▲ iOS 家庭

▲ iOS 家庭

▲ iOS 家庭

▲ Siri控制 & 消息通知

▲ Siri控制 & 消息通知

▲ Home Assistant 首页

▲ Home Assistant 首页

▲ Home Assistant 按房间分类控制

▲ Home Assistant 按房间分类控制

▲ Home Assistant 天气页面

▲ Home Assistant 天气页面

▲ Home Assistant 基于平面图的可视化控制

▲ Home Assistant 基于平面图的可视化控制

二、智能家居能干什么

一张图简要说明智能家居的功能与实现方式。

▲ 功能与实现

▲ 功能与实现

三、智能家居平台

我将 DIY 以外的智能家居平台(硬件)分成两种模式。

1. 平台化模式,一个供智能家居硬件设备接入的平台,不限制设备的具体参数,平台统筹全部设备、统一通信协议与数据,在一个 App 或页面内控制这些来自不同品牌的智能家居硬件,由平台实现更高级的自动化控制、语音控制。

2. 系统化模式,主要由具体的智能家居硬件品牌商独自研发,通常有独立的 App 控制,互不兼容。

▲产品级智能家居平台

▲产品级智能家居平台

智能家居之所以智能,设备间的通信是基础。无数厂家的涌入开启了万物互联时代,而由于商业或技术的原因,上述的平台或者品牌,相互之间大多是不兼容的。

Apple HomeKit 苹果的家庭 App 在美观和易用性方面值得很多厂家学习,与 iOS 的深度整合是其他品牌无法比拟的,是 iOS 设备用户的第一选择。但是由于 HomeKit 授权的问题,目前接入设备较少,主要为国外品牌,价格较贵。

Google 与 Amazon 的情况类似,由于某些原因,接入设备在国内不那么智能了。

小米在国内布局智能家居多年,额外的软件公司属性使得小米的米家 App 比众多不那么好用的 App 优秀不少,米家智能平台的开放,增加了设备的可玩性,目前要注意区分小米、米家、有品、小米生态链企业……

阿里京东依托渠道优势,就接入设备的种类而言是最多的。由于系统的封闭性,你可能会遇到在淘宝买到设备连不上京东的 App,当然,也没有开放平台。

传统智能家居厂商需要在住宅的施工期介入,提前布线与规划,能够提供更完善的家居体验,成本最高,终端控制设备的用户体验不佳。

独立的厂家也有很多小而美的产品,用户体验也很棒,但想用这些设备实现一些改造,设备的保有量和用户基数是一个问题,更广泛的用户全体是一个生态繁荣的保证。

至于传统家电厂商的智能化路程,我不关心有什么故事,我只想请他们多花点钱请程序员与设计师。

四、树莓派 Home Assistant HomeKit

根据我自身的情况,我最终选择了小米的智能家居设备,改造目标有两点:

1. 在 iOS 终端使用 HomeKit 操控设备。

2. 更高级的自动化配置,使智能家居实至名归。

除了平台间的兼容问题外,由于智能硬件设备自有平台本身的局限性,也使得智能家居不那么智能,用户体验也很不好,智能家居成了遥控家居。比如小米的自动化设置只能固定时间段,无法像 HomeKit 那样以日出日落时间为条件,季节变换,自动化就要重设一遍。为了实现目标,我采用的是一个开源智能家居平台Home Assistant 。所有设备首先接入 Home Assistant,通过 homeassistant-homebridge 插件实现接入 HomeKit,整套系统部署在树莓派上。结构如下:

▲系统结构

▲系统结构

Home Assistant 是一个基于 Python 3 开发的开源家庭自动化平台。可以跟踪和控制家庭中的所有设备,并实现自动化控制。不同于商业化的平台,Home Assistant 依托的是庞大的社群,目前支持 779 种不同组件,在 Github 上还有更多的定制组件,0.50 版本后,能够直接接入小米设备。它最大的优势在于丰富的自动化配置以及高度自由的定制化。

树莓派 是由树莓派基金会研发的一种只有信用卡大小的单板机电脑,最初的设计目标是用较为廉价的硬件和开源软件为儿童提供一个计算机教育平台。但其优秀的扩展性和易于开发的特性,使其不仅仅用于儿童教育,更是成为了极客们的玩具。树莓派被开发出了千千万万种玩法,并且普通人也可以轻松实现。感兴趣的请深入阅读“少数派”的文章树莓派入门指南

Home Bridge 是前苹果员工的作品,基于 NodeJS,模拟 iOS HomeKit API。有如其名,作为“桥”来连接 iOS 设备,使得本不支持 HomeKit 的设备能够接入。

五、基础准备

1. 树莓派相关

▲树莓派 3 MODEL B

▲树莓派 3 MODEL B

考虑到智能家居的时效性以及经济性,一直开机、永远在线、低功耗、高性能的树莓派是我们的不二之选。作为整个系统的硬件平台,树莓派本身是不含任何操作系统的。你需再要购置一张 TF 卡,一个电源、一个读卡器。当然,在某宝和某东上你可以轻松购买到打包好的套装,价格在 300 元以内。

树莓派3 淘宝搜索树莓派 淘宝搜索自行挑选,注意购买存储卡以及电源。

2. Home Assistant 安装方式选择

▲Home Assistant 官网

▲Home Assistant 官网

经过众多版本的迭代以及社区成员的贡献,Home Assistant 支持大部分平台,包括 Docker、macOS、Linux、Windows 等。在树莓派上安装 Home Assistant 有多种方式,你可以选择在树莓派 Raspbian 系统下安装,也可以之间安装集成了 Home Assistant 的 Hassbian 操作系统。

由于面向零基础的玩家,尤其是代码恐惧症患者,我选择了 Home Assistant 于 2017年7月26日发布的 Hass.io 集成系统,全可视化安装配置,基 Docker 和  ResinOS 。

Docker 是一个软件容器平台,是一种新兴的虚拟化方式。抛开参数性能,对于开发者来说,它解决了运行环境一致性的问题,Docker 的镜像提供了除内核外完整的运行时环境。

ResinOS 是为容器设计的主机操作系统,作用于在嵌入式设备上运行 Docker 容器。

▲Hass.io 系统结构

▲Hass.io 系统结构

Docker 的引入使得 Hass.io 管理功能插件就像你在手机上安装 App 一样简单(事实上 iOS 的底层确实采用了类似机制),再不用通过命令行和代码来管理你的 Home Assistant。同时,通过 Docker 来封装插件,使得插件的稳定性得到了极大提高,用户能够把精力集中在个性化定制 Home Assistant 及自动化上来。

可以预见 Hass.io 是 Home Assistant 的发展方向,如果说它有什么缺点的话,那么也在于它的封闭性上。后期我会推出进阶教程,通过其他方法安装 Hass.io,解锁树莓派更多功用。

3. 其他准备

准备好一些点心或者保持手机电量的充足,由于你懂的网络原因,你可能会经历安装 5 分钟,等待 2 小时的局面……

六、安装 Hass.io

1. 下载适用于树莓派3 的 Hass.io 镜像。下载地址

2. 将镜像文件烧录至 TF 卡。

推荐使用 Etcher (By resin.io

▲Etcher

▲Etcher

3. 如果树莓派采用 WiFi 连接,在烧录完成后使用文本编译器打开 TF 卡目录下 system-connections/resin-sample 文件,修改填写你的 WiFi 信息:

[connection]
id=resin-wifi
type=wifi

[wifi]
hidden=true
mode=infrastructure
ssid=你的 WiFi SSID

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=你的 WiFi 密码

其他请参考 ResinOS 网络配置 。

4. 将 TF 卡插入树莓派中,并保证树莓派处于联网状态。几分钟后,在浏览器(推荐 Chrome)地址栏输入http://hassio.local:8123,你应该会看到如下界面。

▲Hass.io 初始化

▲Hass.io 初始化

初始化时,系统会更新到最新的版本,而显然 Home Assistant 没有国内服务器,所以不要相信 20 分钟的提示,不要切断电源,拿出之前准备的点心,享受一下难得的悠闲时光(煎熬等待)……

几十分钟到几个小时不等的时间过后,终于安装成功,初始界面如下:

▲Hass.io 初始界面

▲Hass.io 初始界面

七、下篇预告

1. Hass.io 插件(Add-ons)安装

2. 系统配置与设备接入

3. HomeKit 的连接


本文稿源:什么值得买,https://post.smzdm.com/p/594460/

作者:Jun-long,作者主页:https://zhiyou.smzdm.com/member/9601063455/

显示完整资料

企业

什么值得买是一家中立的消费门户网站,实时推送优质的网购优惠信息,真实的原创购物攻略,力求成为消费者心目中的“品质消费第一站”,内容涉及3C家电、家居生活、时尚运动、海淘、旅游、汽车、信用卡等多个领域,网购就上什么值得买,让您的消费更值!

留下您的回复和评论吧,我们将很高兴听到您的想法:

      登录并回复

      智能品 ZNPin.com
      注册新帐户
      重设密码