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