树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言


随着科技巨头的入场,智能家居不但从比尔盖茨当年的预言中走入现实,而且在平台化的力量下,成为了消费者能够轻松入手的产品。亲自打造个人的智能家居系统已不是难事,本文将从零开始,更加系统地讲解打造个人智能家居的各个环节,以期哪怕是零基础的小白也能够轻松入门玩耍。

由于是零基础教程,在系列文章的首篇,我会先展示最终的使用效果,再用一定篇幅介绍市面上的智能家居平台,最后简单介绍搭建个人智能家居系统所用到的设备、软件、平台、系统结构,有基础的极客玩家可选择性阅读。

一、最终使用效果

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

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ iOS 家庭

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ iOS 家庭

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ Siri控制 & 消息通知

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ Home Assistant 首页

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ Home Assistant 按房间分类控制

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ Home Assistant 天气页面

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ Home Assistant 基于平面图的可视化控制

二、智能家居能干什么

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

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲ 功能与实现

三、智能家居平台

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

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

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

树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言
▲产品级智能家居平台

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

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

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

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

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

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

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

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

四、树莓派 + Home Assistant + HomeKit

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

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

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


除了平台间的兼容问题外,由于智能硬件设备自有平台本身的局限性,也使得智能家居不那么智能,用户体验也很不好,智能家居成了遥控家居。比如小米的自动化设置只能固定时间段,无法像 HomeKit 那样以日出日落时间为条件,季节变换,自动化就要重设一遍。

为了实现目标,我采用的是一个开源智能家居平台Home Assistant 。所有设备首先接入 Home Assistant,通过 homeassistant-homebridge 插件实现接入 HomeKit,整套系统部署在树莓派上。结构如下:树莓派 + Home Assistant + HomeKit 从零开始打造个人智能家居系统(1):前言

▲系统结构

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

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

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


五、下节预告

  • Home Assistant 的安装与配置

发表评论