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