基于openHAB的智能家居系統(tǒng)設(shè)計與實現(xiàn)
掃描二維碼
隨時隨地手機看文章
摘要:針對目前智能家居存在的網(wǎng)絡(luò)異構(gòu),控制不靈活以及成本較高等問題,文章設(shè)計并實現(xiàn)了一種基于開源軟件openHAB的智能家居系統(tǒng)。該系統(tǒng)采用樹莓派作為嵌入式家庭網(wǎng)關(guān)及應(yīng)用服務(wù)器,能夠?qū)崿F(xiàn)對家庭數(shù)字設(shè)備和智能電器的自動化監(jiān)測和智能控制。通過搭建原型系統(tǒng)進行試驗,證明了該套系統(tǒng)具有良好的可行性、靈活的管理性和異構(gòu)設(shè)備集成性,并且其成本低、功耗低、穩(wěn)定性強。
關(guān)鍵詞:智能家居 開放式家庭自動化總線 開放服務(wù)網(wǎng)關(guān)規(guī)范 家庭網(wǎng)關(guān) 家庭網(wǎng)絡(luò)
0 引言
隨著自動化技術(shù)、計算機網(wǎng)絡(luò)技術(shù)以及通信技術(shù)的快速發(fā)展,智能的數(shù)字設(shè)備和家用電器正在不斷滲入到現(xiàn)代家庭。這些智能設(shè)備的運用使人們與住宅之間的交互變得更為簡單和方便,也為智能家居的實現(xiàn)提供了可能。同時,隨著經(jīng)濟的高速發(fā)展,人們的生活水平不斷提高,個人對居住的環(huán)境也有了更高的要求,智能家居將成為人們生活的主流。
智能家居的概念起源于20世紀(jì)70、80年代,世界上經(jīng)濟比較發(fā)達的國家先后提出了各種各樣的智能家居系統(tǒng)的設(shè)計方案,使智能家居系統(tǒng)在發(fā)達國家中得到了廣泛的應(yīng)用。國內(nèi)智能家居產(chǎn)品的研發(fā)起步較晚,上世紀(jì)90年代才開始專注于智能家居的研究,在整體水平上參差不齊,對產(chǎn)品的核心技術(shù)缺少了自主知識產(chǎn)權(quán)。隨著物聯(lián)網(wǎng)技術(shù)和云計算技
術(shù)的發(fā)展,智能家居系統(tǒng)也迎來了新一輪的挑戰(zhàn)和機遇。近年來,關(guān)于智能家居的項目不斷涌現(xiàn),這些項目包括麻省理工學(xué)院媒體實驗室及其他部門共同主導(dǎo)的 House_n、美國杜克大學(xué)的Smart Home以及卡耐基梅隆大學(xué)的Intelligent Workplace。雖然這些項目所帶來的研究成果為智能家居發(fā)展奠定了基石,但是這些研究僅限于示范性項目并不能被廣泛應(yīng)用于人們的生活。為了使智能家居商業(yè)化,各大科技巨頭也爭相進軍智能家居市場,國外主要有谷歌的Android@Home智能家居計劃、微軟的家庭自動化系統(tǒng)HomeOS、蘋果公司的智能家居平臺HomeKit和三星的smart Home,國內(nèi)主要有清華同方的e—Home數(shù)字家園,海爾的U_home等。然而,現(xiàn)有的這些智能家居產(chǎn)品由于普遍存在價格昂貴,可靠性和穩(wěn)定性差,標(biāo)準(zhǔn)不一致,遠程控制響應(yīng)慢以及設(shè)備兼容性和擴展性差等問題而沒有被用戶廣泛采用。針對智能家居發(fā)展所面臨的問題,文獻分析了智能家居遭遇的重大挑戰(zhàn)源于其價格高、靈活性差、可管理性差以及難以實現(xiàn)的安全性。文獻說明了不同硬件和軟件之間的互操作性,有限的服務(wù)可擴展性和結(jié)構(gòu)的復(fù)雜性阻礙了智能家居的大規(guī)模應(yīng)用。
針對上述現(xiàn)有智能家居系統(tǒng)存在的問題和缺陷,為實現(xiàn)對智能設(shè)備控制的靈活性、良好的系統(tǒng)擴展性與經(jīng)濟性,本文設(shè)計并實現(xiàn)了一種基于開源軟件openHAB 的智能家居系統(tǒng)。該系統(tǒng)設(shè)計主要包括基于樹莓派的嵌入式家庭網(wǎng)關(guān)、家庭網(wǎng)絡(luò)方案以及具有控制住宅內(nèi)智能設(shè)備的統(tǒng)一友好界面,能夠?qū)崿F(xiàn)對家庭數(shù)字設(shè)備和智能電器的自動化監(jiān)測和智能控制,為用戶生活提供極大的方便。
1 智能家居基本概念
智能家居是未來家庭的發(fā)展趨勢,它是指將住宅中的各種電子、電氣設(shè)備通過網(wǎng)絡(luò)連接起來,進而實現(xiàn)對這些設(shè)備和家庭環(huán)境的智能管理、遠程監(jiān)控和資源共享。其目的是為人們提供一個安全、舒適、高效和便利的生活環(huán)境。
圖1描述了一個基本的智能家居系統(tǒng)框架。在圖示的室內(nèi)環(huán)境中,所有的數(shù)字設(shè)備和家用電器都被連接到家庭網(wǎng)絡(luò)來接收指令或者更新狀態(tài),家庭網(wǎng)關(guān)不僅使住宅完全連接在一起,也提供了以太網(wǎng)和因特網(wǎng)的外部訪問方式,因而使室內(nèi)環(huán)境和室外環(huán)境連接在一起,方便于用戶遠程控制。
2 openHAB平臺
openHAB是一種能夠?qū)⒉煌彝プ詣踊到y(tǒng)和技術(shù)集成到一個單一解決方案的開源軟件。這種方案涵蓋廣泛的自動化規(guī)則并且提供統(tǒng)一的用戶接口,旨在為家庭自動化構(gòu)建提供一個簡單通用的集成平臺,其基本的結(jié)構(gòu)如下圖2所示:
openHAB的設(shè)計是與硬件/協(xié)議無關(guān),它通過綁定匯集了不同的總線系統(tǒng)、硬件設(shè)備和接口協(xié)議。這些綁定可以通過openHAB事件總線發(fā)送和接收命令,并更新狀態(tài)。開發(fā)者可以在openHAB的基礎(chǔ)上設(shè)計獨特的操作界面以開發(fā)自己的家庭自動化系統(tǒng),或者利用其它技術(shù)來創(chuàng)建設(shè)備新的控制方式。 openHAB作為一個開源項目,其運行時是基于Eclipse Equinox。如上圖2所示,openHAB運行時是一組部署在OSGi框架(Equinox)的OSGi Bundles。
OSGi服務(wù)平臺由OSGi聯(lián)盟制定,它由兩部分組成:OSGi框架和OSGi標(biāo)準(zhǔn)服務(wù)。OSGi框架是實現(xiàn)OSGi功能的運行環(huán)境,OSGi標(biāo)準(zhǔn)服務(wù)定義了很多用于執(zhí)行常見的可重用API。OS Gi系統(tǒng)主要由三個構(gòu)件組成:Framework,Bundle和Service。Framework架構(gòu)在JVM(Java Virtual Machine)上運行,Bundle是運行在Framework上的應(yīng)用程序,而Service是Bund le所提供(Export)或所需(Import)的服務(wù)。OSGi服務(wù)平臺是一個通用的、安全的、可管理的Java軟件框架結(jié)構(gòu),因此它具有平臺獨立性、可移植性和安全性等優(yōu)良特性。目前,OSGi規(guī)范主要面向家庭網(wǎng)關(guān)和機頂盒領(lǐng)域。
3 系統(tǒng)方案
本文利用開源軟件openHAB設(shè)計并實現(xiàn)一種具有靈活控制性、良好系統(tǒng)擴展性與經(jīng)濟性的智能家居系統(tǒng)。系統(tǒng)的總體架構(gòu)如圖3所示,整個系統(tǒng)包括應(yīng)用域,網(wǎng)絡(luò)域,智能設(shè)備域和云端四個組成部分。應(yīng)用域?qū)嶋H上就是客戶端,網(wǎng)絡(luò)域由家庭內(nèi)部網(wǎng)絡(luò)和外界因特網(wǎng)構(gòu)成,智能設(shè)備區(qū)域包括各種智能電子設(shè)備和家用電器,云端涵蓋了云計算和物聯(lián)網(wǎng)技術(shù),其所提供的服務(wù)能夠使openHAB客戶端通過互聯(lián)網(wǎng)進行遠程監(jiān)控住宅。
為了實現(xiàn)圖3所示的智能家居系統(tǒng),本文分別設(shè)計了關(guān)鍵組件家庭網(wǎng)關(guān)和家庭網(wǎng)絡(luò)。家庭網(wǎng)關(guān)能夠管理集成到家庭網(wǎng)絡(luò)中的智能設(shè)備和家用電器并且具有靈活的擴展性和動態(tài)更新軟件的機制,而家庭網(wǎng)絡(luò)則主要實現(xiàn)對智能設(shè)備的組網(wǎng)和對不同接入方式的兼容。
3. 1 智能家居系統(tǒng)中的家庭網(wǎng)關(guān)
家庭網(wǎng)關(guān)是智能家居系統(tǒng)中的控制中心,本文圖3所示的家庭網(wǎng)關(guān)是基于樹莓派(Raspberry Pi)和openHAB而搭建。樹莓派由注冊于英國的慈善組織“Raspberry Pi基金會”開發(fā),它是一款基于ARM的微型電腦主板,以SD卡為內(nèi)存硬盤,卡片主板周圍有兩個USB接口和一個網(wǎng)口,可連接鍵盤、鼠標(biāo)和網(wǎng)線,同時擁有視頻模擬信號的電視輸出接口和HDMI高清視頻輸出接口。由于其能耗小,價格低廉,并且性能也可以滿足本文提出的智能家居系統(tǒng)的需求,因此本系統(tǒng)采用樹莓派作為家庭網(wǎng)關(guān)的硬件設(shè)備,而且樹莓派中運行的是基于Debian的Linux的操作系統(tǒng),有著豐富的開源軟件,因而開發(fā)也方便。
本文設(shè)計的家庭網(wǎng)關(guān)體系結(jié)構(gòu)如圖4所示。用戶界面為用戶提供Web工具或者遠程App等,主要負責(zé)為整個智能家居提供可視化操作,從而使用戶能夠方便控制整個住宅中的智能設(shè)備。I/O服務(wù)為終端用戶提供Http接口、Socket接口等服務(wù)。安全模塊主要是為了使用戶遠程監(jiān)控住宅而提供認證和授權(quán)功能。云服務(wù)模塊為家庭用戶或者家庭設(shè)備使用云服務(wù)提供適配功能。數(shù)據(jù)分析模塊主要用于對家庭設(shè)備的監(jiān)控數(shù)據(jù)進行處理和分析。邏輯控制策略模塊能夠根據(jù)數(shù)據(jù)分析結(jié)果實現(xiàn)對設(shè)備的智能控制,同時也為智能設(shè)備之間的相互協(xié)作提供策略。數(shù)據(jù)存儲與日志分析模塊主要負責(zé)處理、存儲和檢索住宅中各種智能設(shè)備的歷史數(shù)據(jù),這些數(shù)據(jù)便于后續(xù)研究分析。
針對其中的用戶界面模塊,用戶可以使用openHAB中org.openhab.ui.webapp工程中的CmdServlet和WebAppServlet入口類來定制自己的用戶界面。邏輯控制策略模塊可以借助openHAB所提供的包予以實現(xiàn),例如:
上述代碼只是為了說明邏輯控制策略模塊的實現(xiàn)方式。設(shè)備驅(qū)動/數(shù)據(jù)采集模塊可以依據(jù)OSGi技術(shù)規(guī)范為各種智能設(shè)備開發(fā)并實現(xiàn)其Bindings,一個 Binding對應(yīng)于OSGi的一個Bundle。Binding的目的就是對openHAB事件總線上的事件和外部系統(tǒng)之間進行轉(zhuǎn)換。Binding需要常規(guī)配置設(shè)置,這可以通過在OSGi配置管理服務(wù)(Configuration Admin)來實現(xiàn),具體可以實現(xiàn)接口ManagedService。Binding的通信方式有兩種,一種是從openHAB事件總線發(fā)送命令或者更新狀態(tài)到外部系統(tǒng),另一種就是從外部系統(tǒng)獲取信息并且傳給openHAB事件總線。Binding所需要實現(xiàn)的關(guān)鍵方法有:
通過openHAB并且結(jié)合所開發(fā)的智能設(shè)備驅(qū)動模塊(即Bundles),使得所有家庭智能設(shè)備能夠和家庭網(wǎng)關(guān)進行正常通信,便于用戶控制。為了實現(xiàn)整個家庭網(wǎng)關(guān)架構(gòu),還需在嵌入式硬件設(shè)備樹莓派中安裝Raspbian操作系統(tǒng)以及Java運行環(huán)境JRE。
3.2 智能家居系統(tǒng)中的家庭網(wǎng)絡(luò)
如上圖1所示,針對智能家居的通信問題,不僅需要使室內(nèi)電子設(shè)備和家用電器能夠進行通信,并且還要將智能家居與外界因特網(wǎng)進行通信。根據(jù)圖3提出的智能家居系統(tǒng)整體設(shè)計方案,本文專注于實現(xiàn)智能家居室內(nèi)通信。
依據(jù)通信網(wǎng)絡(luò)的范圍和規(guī)模,一般通信網(wǎng)絡(luò)可分為如上圖5所示的四種類型。PAN(Personal Area Network)個人局域網(wǎng)通常是無線的,并且是以按需或者自組織方式建立連接,其通信范圍距離短,常常限制在10米及其以內(nèi)范圍。LAN(Local Area Network)局域網(wǎng)是一個小范圍地理區(qū)域的相對較小的網(wǎng)絡(luò),例如筆記本電腦、臺式電腦、打印機和其他聯(lián)網(wǎng)設(shè)備在相對較近的距離能夠彼此互聯(lián)組建一個局域網(wǎng)。MAN(Metropolitan Area Network)城域網(wǎng)通常用來描述覆蓋全市或者城鎮(zhèn)的一個網(wǎng)絡(luò),城域網(wǎng)比傳統(tǒng)的局域網(wǎng)覆蓋范圍要大得多,它主要使用光纖電纜等高速介質(zhì)傳輸數(shù)據(jù)。WAN(Wide Area Network)廣域網(wǎng)比LANs和MANs覆蓋更大的地理區(qū)域,并且它將不同地理區(qū)域的設(shè)備連接在一起分享信息,一個廣域網(wǎng)能夠包含多個較小的網(wǎng)絡(luò),例如LANs或者MANs。
針對智能家居室內(nèi)通信問題(如下圖6所示),本文依據(jù)上述四種不同通信網(wǎng)絡(luò)的各自特點,將專注于個人局域網(wǎng)(PAN)無線通信技術(shù)和局域網(wǎng)(LAN)技術(shù)。本文提出的架構(gòu)都是基于上述范圍內(nèi)的通信技術(shù)及相應(yīng)的智能設(shè)備。從技術(shù)的角度來看,家庭網(wǎng)絡(luò)的主要挑戰(zhàn)來源于不兼容的通信技術(shù)標(biāo)準(zhǔn)。為了解決住宅中的復(fù)雜多樣的異構(gòu)網(wǎng)絡(luò),本文設(shè)計了基于openHAB的家庭網(wǎng)關(guān),它能夠使整個系統(tǒng)適應(yīng)不同的網(wǎng)絡(luò)技術(shù)如藍牙,ZigBee,Z—Wave,Wi— Fi,EnOcean等,并且通過家庭網(wǎng)關(guān)為不同的通信子網(wǎng)提供橋接能力,因而整個住宅中的網(wǎng)絡(luò)設(shè)備能夠全部連接在一起。在openHAB中,為智能設(shè)備相關(guān)協(xié)議開發(fā)并實現(xiàn)其Bundle,然后將其加載到openHAB運行時,這樣就使得家庭網(wǎng)關(guān)支持不同的協(xié)議類型,具備連接家庭各種類型子網(wǎng)能力,以適應(yīng)于家庭網(wǎng)絡(luò)的異構(gòu)性。
更進一步,若要為智能家居系統(tǒng)提供安全可靠的因特網(wǎng)外部訪問方式,還需要深入研究家庭網(wǎng)絡(luò)以及家庭網(wǎng)關(guān),因為家庭網(wǎng)絡(luò)已然發(fā)展成為無處不在的計算環(huán)境并且大量的私人信息變得是可以訪問的。因此在這樣一個開放式的網(wǎng)絡(luò)環(huán)境中,我們有必要而且必須要保護家庭網(wǎng)絡(luò)免受非法訪問和安全威脅,關(guān)于這方面研究工作可以參考文獻。
4 實驗驗證
圖7所示為本文實驗平臺組件和設(shè)備的部署圖。為了簡化實驗方案而不失一般性,并且能夠?qū)崿F(xiàn)對本文提出的智能家居系統(tǒng)的有效性和可靠性的驗證,實驗平臺僅采用B型綠版UK樹莓派和Milight等硬件搭建了智能家居原型系統(tǒng),并使用開源軟件openHAB1.4版本。
實驗中所使用的硬件連接示意圖如下圖8所示:
可以使用命令行終端觀察整個系統(tǒng)后臺運行的狀態(tài)如下圖9所示:
經(jīng)過連續(xù)一個月的運行和測試,系統(tǒng)運行狀態(tài)穩(wěn)定。
使用手機終端或者平板電腦登錄到家庭網(wǎng)關(guān)的Web服務(wù)器中,以獲取已設(shè)計開發(fā)出來的用戶界面。通過用戶界面(如下圖11所示),用戶可以控制Milight燈的亮度以及色度,其實驗結(jié)果如下圖10所示:
經(jīng)過長時間的運行和測試,試驗表明該套系統(tǒng)可以很方便控制住宅內(nèi)的智能設(shè)備,系統(tǒng)對于智能硬件設(shè)備控制的實時性以及系統(tǒng)自身的穩(wěn)定性都能夠滿足日常生活需求并且給用戶帶來極大的方便和好處,同時該系統(tǒng)也具有價格低廉,節(jié)能,易擴展,界面友好等優(yōu)點。
5 結(jié)論
本文介紹了智能家居的基本概念,并針對當(dāng)前智能家居系統(tǒng)所面臨的挑戰(zhàn),基于openHAB設(shè)計并實現(xiàn)一種具有靈活控制性、良好系統(tǒng)擴展性與經(jīng)濟性的智能家居系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)對住宅內(nèi)智能電子設(shè)備和家用電器的監(jiān)控和智能控制。然而本文僅僅驗證并實現(xiàn)部分室內(nèi)智能家居控制,因此還需對系統(tǒng)作進一步的完善。