這是一個探索性項目,旨在提供一個完整的智能家居搭建指南,具體系統(tǒng)架構(gòu)圖如下所示:
方案簡介:
使用 Home Assistant、HomeBridge 作為智能家居的核心
使用 Amazon Echo 作為語音輸入工具(當(dāng)前僅支持英語)
使用 iPhone 的“家庭”應(yīng)用作為控制工具
可以使用任何的設(shè)備連接 Home Assistant 服務(wù)來控制應(yīng)用
智能家居簡介
當(dāng)前,我們談?wù)撝悄芗揖拥臅r候,我們實現(xiàn)上是在討論:家庭自動化。引自維基百科,對于智能家居的介紹1:
Home automation or smart home (also known as domotics) is building automation for the home.
隨著機器學(xué)習(xí)和深度學(xué)習(xí)等 AI 技術(shù)的進一步普及,這一點(智能化)在最近幾年里,應(yīng)該會發(fā)生一些劇烈的變化。而無論如何,我可不太希望我要被機器催著起床。
開始實戰(zhàn)之前,讓我們先關(guān)注于當(dāng)前智能家居的幾個關(guān)鍵點:
設(shè)備。這些設(shè)備要么使用 WiFi,要么要使用藍(lán)牙,方便使用手機連接上這些設(shè)備。依當(dāng)前的情況來看,主要是以 WiFi 為主,在手機上配置完后,可以輕松地實現(xiàn)遠(yuǎn)程控制。與此同時,他們在與手機通訊的時候,會使用一些自定義的通訊規(guī)則,并且似乎很容易被破解(參見仿真器一節(jié))。如 Philips Hue 智能燈、Wemo 開關(guān)等等,他們都已經(jīng)可以被仿真,并作為 Homekit 組件使用。
自動化。自動化是指你可以定時也開關(guān)某個特定的設(shè)備,鬧鐘一響,便打開燈諸如此類的。
場景(規(guī)則)。與自動化稍微區(qū)別的是,場景是某個特定場合下,對一系列設(shè)備的操作,如早起,便開燈、打開窗簾,離開家,則鎖門、關(guān)閉一系列用電器、開啟防盜功能等等。
中心網(wǎng)關(guān)。當(dāng)我們所使用的一系列設(shè)備擁有 WiFi 功能時,裝有各種軟件的手機便相當(dāng)于控制中樞。而這樣的設(shè)計本身是不合理的,你要在手機上安裝一系列的應(yīng)用。這個時候,便需要一個額外的軟件作為中心,來接入這些設(shè)備,而手機上也不需要多余的額外軟件。如 HomeKit、Home Assistant 就是這樣的例子。
而作為一個普通的用戶,我們只需要關(guān)注便利的生活。作為一個極客,我們則關(guān)注于如何改造成需要的功能。
智能音箱
學(xué)術(shù)上有個概念是“傳聲器陣列”,主要由一定數(shù)目的聲學(xué)傳感器組成,用來對聲場的空間特性進行采樣并處理的系統(tǒng)。
如下圖所示 Amazon Echo 的電路板:
其及對應(yīng)的麥克風(fēng)的位置:
其所要主要解決遠(yuǎn)距離語音識別的問題,以保證真實場景下的語音識別率。而這些設(shè)備的主要原理,都是將語音信號發(fā)送到服務(wù)器端,由服務(wù)器端識別,并匹配到對應(yīng)的指令上。
Amazon Echo
實驗表明 AWS 的服務(wù)并不是那么可靠的~~,經(jīng)常出現(xiàn):Your Echo dot is not connected
自定義組件的原理,如下圖所示:
中心網(wǎng)關(guān)
Home Assistant
Home Assistant 是一個運行在 Python 3 上的開源家庭自動化平臺。能跟蹤和控制家庭中的所有設(shè)備,并實現(xiàn)自動化控制,同時還完美的支持在 Raspberry Pi 上。
通過 Home Assistant 插件,它可以直接兼容各式硬件設(shè)備。其原理是通過 WiFi、BLE、Zigbee、MQTT 等不同的協(xié)議,來與不同的本地設(shè)備互聯(lián),并提供一個響應(yīng)式的 Web 界面、PWA 應(yīng)用、iOS 應(yīng)用,讓用戶可以輕松地與設(shè)備進行交互。
其在桌面瀏覽器上的界面如下圖所示:
手機瀏覽器的界面如下圖所示:
對于提供豐富功能(如 RGB 燈)的設(shè)備來說,它也能支持豐富的操作,即上圖。同時,還能接上 Amazon Echo、HomeKit 等各式各樣的中心。
HomeBridge
HomeKit 是由 Apple 公司推出的智能家居平臺,包括iOS 上的 SDK、智能家居硬件通信協(xié)議 (HAP: HomeKit Accessory Protocol) 、以及 MFi(Made for iPhone/iPod/iPad) 認(rèn)證等等。
借助于 iPhone、iPad、iWatch 等設(shè)備及『家庭』應(yīng)用,用戶可以輕松地掌控各種 HomeKit 配件。并且可以通過設(shè)備上 Siri 應(yīng)用、Homepod,直接用語音來與設(shè)備交互。
當(dāng)前要在 Homekit,有三種方法:
購買昂貴的 MFi 設(shè)備。
借助于 Home Assistant,來自建 Homekit API 服務(wù)連接設(shè)備。
模擬現(xiàn)有的 MFi 設(shè)備。諸如使用 ESP8266 仿真 Philip Hues。
引自:使用iOS Homekit控制樹莓派:HAP 協(xié)議部分是需要加入 MFi Program 才能獲取文檔,而且 MFi Program 無法以個人開發(fā)者身份加入。
因此,這個時候我們就需要借助于 Homebridge。
Homebridge 是一個用 Node.js 實現(xiàn)的輕量級后臺,可以在家庭網(wǎng)絡(luò)上運行,用于模擬iOS HomeKit API。 它支持插件——由社區(qū)提供的模塊,這些插件能提供從 HomeKit 到 “智能家居” 設(shè)備制造商,提供的各種第三方API的基本橋梁。
而我們只需要有一個 iPhone 在手便可以了。
設(shè)備
如果只有上面的幾種中心網(wǎng)關(guān),而缺少設(shè)備,那么整個智能的中心就是不完善的。而這也是最近幾年來,限制智能家居發(fā)展的一個因素:找不到合適的用戶需求。
通訊機制與協(xié)議
WeMo
ZigBee
WiFi
BLE
紅外
舊設(shè)備中樞
如小米的萬能遙控、Broadlink RM Pro 等。
仿真設(shè)備
設(shè)備:
Amazone Echo Dot
NodeMCU
Broadlink RM Pro
Yeelight
Raspberry Pi 2
Android、iOS 設(shè)備
(審核編輯: 林靜)
分享