返回 登录
3

一份写给极客的智能家居指南

这是一个探索性项目,旨在提供一个完整的智能家居搭建指南。在此,可点击链接查看视频演示,具体系统架构图如下所示:

方案简介:

  • 使用 Home Assistant、HomeBridge 作为智能家居的核心
  • 使用 Amazon Echo 作为语音输入工具(当前仅支持英语)
  • 使用 iPhone 的“家庭”应用作为控制工具
  • 可以使用任何的设备连接 Home Assistant 服务来控制应用

智能家居简介

当前,我们谈论智能家居的时候,我们实现上是在讨论:家庭自动化。引自维基百科,对于智能家居的介绍1

Home automation or smart home (also known as domotics) is building automation for the home.

随着机器学习和深度学习等 AI 技术的进一步普及,这一点(智能化)在最近几年里,应该会发生一些剧烈的变化。而无论如何,我可不太希望我要被机器催着起床。

开始实战之前,让我们先关注于当前智能家居的几个关键点:

  • 设备。这些设备要么使用 WiFi,要么要使用蓝牙,方便使用手机连接上这些设备。依当前的情况来看,主要是以 WiFi 为主,在手机上配置完后,可以轻松地实现远程控制。与此同时,他们在与手机通讯的时候,会使用一些自定义的通讯规则,并且似乎很容易被破解(参见仿真器一节)。如 Philips Hue 智能灯、Wemo 开关等等,他们都已经可以被仿真,并作为 Homekit 组件使用。

  • 自动化。自动化是指你可以定时也开关某个特定的设备,闹钟一响,便打开灯诸如此类的。

  • 场景(规则)。与自动化稍微区别的是,场景是某个特定场合下,对一系列设备的操作,如早起,便开灯、打开窗帘,离开家,则锁门、关闭一系列用电器、开启防盗功能等等。

  • 中心网关。当我们所使用的一系列设备拥有 WiFi 功能时,装有各种软件的手机便相当于控制中枢。而这样的设计本身是不合理的,你要在手机上安装一系列的应用。这个时候,便需要一个额外的软件作为中心,来接入这些设备,而手机上也不需要多余的额外软件。如 HomeKit、Home Assistant 就是这样的例子。

而作为一个普通的用户,我们只需要关注便利的生活。作为一个极客,我们则关注于如何改造成需要的功能。

智能音箱

学术上有个概念是“传声器阵列”,主要由一定数目的声学传感器组成,用来对声场的空间特性进行采样并处理的系统。

如下图所示 Amazon Echo 的电路板:

其及对应的麦克风的位置:

其所要主要解决远距离语音识别的问题,以保证真实场景下的语音识别率。而这些设备的主要原理,都是将语音信号发送到服务器端,由服务器端识别,并匹配到对应的指令上

Amazon Echo

实验表明 AWS 的服务并不是那么可靠的~~,经常出现:Your Echo dot is not connected

自定义组件的原理,如下图所示:

中心网关

Home Assistant

Home Assistant 是一个运行在 Python 3 上的开源家庭自动化平台。能跟踪和控制家庭中的所有设备,并实现自动化控制,同时还完美的支持在 Raspberry Pi 上。

通过 Home Assistant 插件,它可以直接兼容各式硬件设备。其原理是通过 WiFi、BLE、Zigbee、MQTT 等不同的协议,来与不同的本地设备互联,并提供一个响应式的 Web 界面、PWA 应用、iOS 应用,让用户可以轻松地与设备进行交互。

其在桌面浏览器上的界面如下图所示:

手机浏览器的界面如下图所示:

对于提供丰富功能(如 RGB 灯)的设备来说,它也能支持丰富的操作,即上图。同时,还能接上 Amazon Echo、HomeKit 等各式各样的中心。

HomeBridge

HomeKit 是由 Apple 公司推出的智能家居平台,包括iOS 上的 SDK、智能家居硬件通信协议 (HAP: HomeKit Accessory Protocol) 、以及 MFi(Made for iPhone/iPod/iPad) 认证等等。

借助于 iPhone、iPad、iWatch 等设备及『家庭』应用,用户可以轻松地掌控各种 HomeKit 配件。并且可以通过设备上 Siri 应用、Homepod,直接用语音来与设备交互。

当前要在 Homekit,有三种方法:

  • 购买昂贵的 MFi 设备。
  • 借助于 Home Assistant,来自建 Homekit API 服务连接设备。
  • 模拟现有的 MFi 设备。诸如使用 ESP8266 仿真 Philip Hues。

引自:使用iOS Homekit控制树莓派:HAP 协议部分是需要加入 MFi Program 才能获取文档,而且 MFi Program 无法以个人开发者身份加入。

因此,这个时候我们就需要借助于 Homebridge。

Homebridge 是一个用 Node.js 实现的轻量级后台,可以在家庭网络上运行,用于模拟iOS HomeKit API。 它支持插件——由社区提供的模块,这些插件能提供从 HomeKit 到 “智能家居” 设备制造商,提供的各种第三方API的基本桥梁。

而我们只需要有一个 iPhone 在手便可以了。

设备

如果只有上面的几种中心网关,而缺少设备,那么整个智能的中心就是不完善的。而这也是最近几年来,限制智能家居发展的一个因素:找不到合适的用户需求。

通讯机制与协议

  • WeMo

  • ZigBee

  • WiFi

  • BLE

  • 红外

旧设备中枢

如小米的万能遥控、Broadlink RM Pro 等。

仿真设备

设备:

  • Amazone Echo Dot
  • NodeMCU
  • Broadlink RM Pro
  • Yeelight
  • Raspberry Pi 2
  • Android、iOS 设备

下篇:实战!如何搭建一个完整的智能家居系统

作者:黄峰达(@Phodal),ThoughtWorks软件开发工程师,CSDN博客专家。长期活跃于GitHub,专注于物联网和前端领域。出版著作《自己动手设计物联网》,以及《Growth:全栈增长工程师指南》等六本电子书,并译有《物联网实战指南》。

2017 年 7 月 1 日(星期六),「一天掌握物联网全栈开发之道」物联网主题线上峰会将在 CSDN 学院召开,Phodal 将与其他六位专家将一起从整体架构、技术栈、应用开发平台到实战经验与安全方案,希望通过一天的时间,帮助开发者快速掌握物联网全栈开发之道,目前峰会正在 7 折优惠中,点击「峰会官网」立即报名

峰会官网:http://edu.csdn.net/huiyiCourse/series_detail/42

评论