无论怎样,先上成果啦——我花了一个小时拍的 23 秒视频~~
我的智能家居方案,系统架构图如下所示:
方案简介
当前,我们谈论智能家居的时候,我们实现上是在讨论:家庭自动化。引自维基百科,对于智能家居的介绍:
Home automation or smart home (also known as domotics) is building automation for the home.
随着机器学习和深度学习等 AI 技术的进一步普及,这一点(智能化)在最近几年里,应该会发生一些剧烈的变化。而无论如何,我可不太希望我要被机器催着起床。
开始实战之前,让我们先关注于当前智能家居的几个关键点:
而作为一个普通的用户,我们只需要关注便利的生活。作为一个极客,我们则关注于如何改造成需要的功能。
学术上有个概念是“传声器阵列”,主要由一定数目的声学传感器组成,用来对声场的空间特性进行采样并处理的系统。
如下图所示 Amazon Echo 的电路板:
Amazon Echo 电路板
其及对应的麦克风的位置:
Amazon Echo 示例
其所要主要解决远距离语音识别的问题,以保证真实场景下的语音识别率。而这些设备的主要原理,都是将语音信号发送到服务器端,由服务器端识别,并匹配到对应的指令上。
实验表明 AWS 的服务并不是那么可靠的~~,经常出现:Your Echo dot is not connected
自定义组件的原理,如下图所示:
Amazon Echo 自定义 Skill
Home Assistant 是一个运行在 Python 3 上的开源家庭自动化平台。能跟踪和控制家庭中的所有设备,并实现自动化控制,同时还完美的支持在 Raspberry Pi 上。
通过 Home Assistant 插件,它可以直接兼容各式硬件设备。其原理是通过 WiFi、BLE、Zigbee、MQTT 等不同的协议,来与不同的本地设备互联,并提供一个响应式的 Web 界面、PWA 应用、iOS 应用,让用户可以轻松地与设备进行交互。
其在桌面浏览器上的界面如下图所示:
我的 Home Assistant 桌面示例
手机浏览器的界面如下图所示:
我的 Home Assistant 示例
对于提供丰富功能(如 RGB 灯)的设备来说,它也能支持丰富的操作,即上图。同时,还能接上 Amazon Echo、HomeKit 等各式各样的中心。
HomeKit 是由 Apple 公司推出的智能家居平台,包括iOS 上的 SDK、智能家居硬件通信协议 (HAP: HomeKit Accessory Protocol) 、以及 MFi(Made for iPhone/iPod/iPad) 认证等等。
借助于 iPhone、iPad、iWatch 等设备及『家庭』应用,用户可以轻松地掌控各种 HomeKit 配件。并且可以通过设备上 Siri 应用、Homepod,直接用语音来与设备交互。
当前要在 Homekit,有三种方法:
引自:使用iOS Homekit控制树莓派:HAP 协议部分是需要加入 MFi Program 才能获取文档,而且 MFi Program 无法以个人开发者身份加入。
因此,这个时候我们就需要借助于 Homebridge。
Homebridge 是一个用 Node.js 实现的轻量级后台,可以在家庭网络上运行,用于模拟iOS HomeKit API。 它支持插件——由社区提供的模块,这些插件能提供从 HomeKit 到 “智能家居” 设备制造商,提供的各种第三方API的基本桥梁。
我的 Homekit 示例
而我们只需要有一个 iPhone 在手便可以了。
(本文还有三千左右的内容,可见 GitHub)
我的搭建指南及步骤,参见我的 GitHub 相关项目:
https://github.com/phodal/smart-home