胡應(yīng)坤++湯才++趙文龍++全頌華
文章編號(hào):2095-6835(2017)04-0118-02
摘 要:鑒于物聯(lián)網(wǎng)技術(shù)的日益成熟以及人們對(duì)智能家居的需求,詳細(xì)、深入地介紹了一套基于B/S架構(gòu)的智能家居控制系統(tǒng)的設(shè)計(jì),展開(kāi)分析控制系統(tǒng)的總體框架結(jié)構(gòu)、軟件部分,給出了家居網(wǎng)關(guān)、家居通信的具體設(shè)計(jì)以及系統(tǒng)功能實(shí)現(xiàn)的相關(guān)辦法。
關(guān)鍵詞:物聯(lián)網(wǎng);智能家居;控制系統(tǒng);B/S架構(gòu)
中圖分類號(hào):TP273+.5 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2017.04.118
隨著國(guó)民經(jīng)濟(jì)的迅速發(fā)展,人們生活水平和知識(shí)層次的不斷提高,人們將越來(lái)越多的注意力放在了生活環(huán)境的安全性、舒適性和便利性上,因此,也就有了家居智能化的需求。同時(shí),物聯(lián)網(wǎng)和移動(dòng)互聯(lián)快速發(fā)展,計(jì)算機(jī)技術(shù)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)、控制技術(shù)和信息技術(shù)等高科技越來(lái)越多地融入到了傳統(tǒng)的家居電器設(shè)備之中,促成了智能家居系統(tǒng)的出現(xiàn)。當(dāng)下,享受智能化家居生活已經(jīng)成為可能,并成為未來(lái)發(fā)展的必然趨勢(shì)。
1 系統(tǒng)的框架結(jié)構(gòu)
智能家居作為物聯(lián)網(wǎng)中的重要組成部分,它的實(shí)現(xiàn)讓我們向“萬(wàn)物互聯(lián)”這一目標(biāo)邁進(jìn)了一步。從物聯(lián)網(wǎng)實(shí)現(xiàn)層次的角度將智能家居系統(tǒng)分為4個(gè)層次,即感知層、傳輸層、智能層和應(yīng)用層。
1.1 感知層
通過(guò)感知層可以實(shí)現(xiàn)對(duì)家居環(huán)境的感知,獲取相關(guān)傳感器的數(shù)據(jù),主要包括光線傳感器,溫濕度傳感器,與安防有關(guān)的門磁感應(yīng)器、紅外感應(yīng)器,與安全有關(guān)的煤氣傳感器、火焰感應(yīng)器等??刂葡嚓P(guān)終端的設(shè)備包括攝像頭、窗簾、電燈等。這些感知終端有搭乘ZigBee通信模塊的,也有通過(guò)藍(lán)牙或Wi-Fi控制的。
1.2 傳輸層
傳輸層負(fù)責(zé)感知終端節(jié)點(diǎn)的信息和控制信息的傳輸,針對(duì)不同通信協(xié)議的終端結(jié)點(diǎn),可運(yùn)用相應(yīng)的組網(wǎng)技術(shù)將感知到的信息匯集到家庭網(wǎng)關(guān),并通過(guò)接入互聯(lián)網(wǎng)的網(wǎng)關(guān)傳輸?shù)礁h(yuǎn)的地方——將大量的設(shè)備數(shù)據(jù)交給智能層處理。
1.3 智能層(服務(wù)管理層)
智能層主要是將智能家居感知層的終結(jié)點(diǎn)通過(guò)家居網(wǎng)關(guān)(傳輸層)傳輸?shù)臄?shù)據(jù)進(jìn)行動(dòng)態(tài)匯集、存儲(chǔ)、數(shù)據(jù)分析、數(shù)據(jù)挖掘等智能處理,并為應(yīng)用層提供物理世界所對(duì)應(yīng)的動(dòng)態(tài)呈現(xiàn)。
1.4 應(yīng)用層(終端控制層)
智能家居的終端控制采用基于Cordova的跨平臺(tái)運(yùn)行機(jī)制實(shí)現(xiàn),一次開(kāi)發(fā),處處運(yùn)行,無(wú)需再因?yàn)榭刂平K端的平臺(tái)差異重新開(kāi)發(fā)。任何配備Web瀏覽器的終端設(shè)備都能對(duì)家庭里的智能設(shè)備實(shí)現(xiàn)“無(wú)差異”的控制。
2 系統(tǒng)軟件的設(shè)計(jì)
智能家居控制系統(tǒng)總體架構(gòu)采用B/S架構(gòu),終端應(yīng)用采用Cordova開(kāi)發(fā),以屏蔽操作系統(tǒng)的差異性,實(shí)現(xiàn)智能終端應(yīng)用的跨平臺(tái)。家居服務(wù)器是基于JavaWeb開(kāi)發(fā)的,運(yùn)用成熟的MVC框架,采用迭代式基于組件的開(kāi)發(fā)。系統(tǒng)前端基于HTML5開(kāi)發(fā)響應(yīng)式的Web頁(yè)面,以適應(yīng)PC/Mobile phone等不同平臺(tái)的瀏覽器。家居網(wǎng)關(guān)在ARM開(kāi)發(fā)板上燒寫(xiě)Ubuntu系統(tǒng),采用移植性較好的Qt進(jìn)行軟件開(kāi)發(fā)。
2.1 Cordova移動(dòng)終端跨平臺(tái)的實(shí)現(xiàn)機(jī)制
目前國(guó)內(nèi)外有很多實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā)的中間件。其中Cordova出現(xiàn)得較早,基于HTML、CSS和JavaScript創(chuàng)建的跨平臺(tái)移動(dòng)應(yīng)用的快速開(kāi)發(fā)方法也比較成熟。當(dāng)前支持的平臺(tái)包括iOS、Android、BlackBerry、WebOS、Windows Phone、Ubuntu等。
Cordova實(shí)現(xiàn)跨平臺(tái)是通過(guò)繼承和擴(kuò)展WebView類以屏蔽底層硬件的差異?;贑ordovaPlugins庫(kù),就可以用網(wǎng)頁(yè)腳本語(yǔ)言JavaScript與移動(dòng)平臺(tái)的系統(tǒng)建立本地連接,調(diào)用終端系統(tǒng)的Native API。通過(guò)Cordova開(kāi)發(fā)的WebApp,不再依賴智能終端的操作系統(tǒng)和硬件設(shè)備,能夠?qū)崿F(xiàn)一套代碼在多個(gè)平臺(tái)的運(yùn)行,并且達(dá)到APP在各移動(dòng)平臺(tái)之間差異比較小的目的。
2.2 服務(wù)器架構(gòu)設(shè)計(jì)
移動(dòng)智能終端或PC瀏覽器在訪問(wèn)智能家居控制系統(tǒng)時(shí),實(shí)際上是與家居服務(wù)器進(jìn)行交互。服務(wù)器處理了客戶端用戶的請(qǐng)求后再轉(zhuǎn)發(fā)給家庭網(wǎng)關(guān),進(jìn)而控制終端設(shè)備的節(jié)點(diǎn)。從感應(yīng)器發(fā)來(lái)的數(shù)據(jù)經(jīng)過(guò)網(wǎng)關(guān)上傳給服務(wù)器,服務(wù)器先匯總、處理這些數(shù)據(jù),再存儲(chǔ)到數(shù)據(jù)庫(kù)中,并將處理的結(jié)果顯示在終端,將信息反饋給用戶。所以,家居服務(wù)器才是智能家居體現(xiàn)“智能化”的關(guān)鍵,是整個(gè)家居控制系統(tǒng)的“大腦”。
智能家居服務(wù)器從功能上分為數(shù)據(jù)存儲(chǔ)和Web服務(wù)兩部分。數(shù)據(jù)存儲(chǔ)部分采用MySQL存儲(chǔ)用戶信息和家居終端設(shè)備節(jié)點(diǎn)的數(shù)據(jù),以及對(duì)用戶操作日志的存儲(chǔ)。Apache+Tomcat作為智能家居的Web服務(wù)器,完成整個(gè)服務(wù)需要4個(gè)模塊,即命令解析模塊、邏輯處理模塊、指令轉(zhuǎn)發(fā)模塊和存儲(chǔ)數(shù)據(jù)模塊。
3 家居網(wǎng)關(guān)的設(shè)計(jì)
智能家居網(wǎng)關(guān)搭乘ARM cortex-A9的Tiny4412開(kāi)發(fā)板,采用移植性比較好的Qt進(jìn)行軟件開(kāi)發(fā),軟件運(yùn)行在Ubuntu上。它在整個(gè)智能家居控制系統(tǒng)中起到控制指令,監(jiān)聽(tīng)、接收,并分發(fā)到各終端結(jié)點(diǎn)的協(xié)調(diào)作用。家居網(wǎng)關(guān)設(shè)計(jì)如圖1所示。
圖1 家居網(wǎng)關(guān)功能視圖
實(shí)際上,家居網(wǎng)關(guān)在實(shí)現(xiàn)其功能時(shí)扮演了Socket服務(wù)器端和客戶端的角色。對(duì)于家居服務(wù)器來(lái)說(shuō),它是Socket Server端,
———————————————————————————
*[基金項(xiàng)目]“廣東省一流高職院校建設(shè)計(jì)劃”成果
監(jiān)聽(tīng)并讀取來(lái)自家居服務(wù)器的指令。獲取指令后再作為Socket Client,將指令根據(jù)終端結(jié)點(diǎn)通信協(xié)議選擇是通過(guò)Zig-Bee通信模塊、Wi-Fi通信模塊,還是Bluetooth,最終分發(fā)到終端設(shè)備的協(xié)調(diào)器。
4 智能家居的通信設(shè)計(jì)
家居服務(wù)器與家居網(wǎng)關(guān)之間是通過(guò)Socket通訊的。Socket是網(wǎng)絡(luò)中的應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。在設(shè)計(jì)模式中,Socket其實(shí)是一個(gè)外觀模式,這種模式用于將一組復(fù)雜的類包裝到一個(gè)簡(jiǎn)單的外部接口中。它將復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面。對(duì)于需要可靠傳輸?shù)臄?shù)據(jù),比如控制指令和請(qǐng)求數(shù)據(jù),可通過(guò)Socket TCP傳輸。對(duì)于可靠性要求不高,但對(duì)傳輸效率要求高的,比如視頻監(jiān)控?cái)?shù)據(jù),可通過(guò)Socket UDP傳輸。家居網(wǎng)關(guān)與終端結(jié)點(diǎn)之間傳輸協(xié)議如表1所示。
在數(shù)據(jù)傳輸過(guò)程中,發(fā)送幀和接收幀統(tǒng)一為定長(zhǎng),都是9個(gè)字節(jié)。傳輸類型主要有3種,即節(jié)點(diǎn)入網(wǎng)(JOIN)、請(qǐng)求傳感器(REQUEST)、控制相應(yīng)控制器(CONTROL)。
當(dāng)終端節(jié)點(diǎn)加入網(wǎng)絡(luò)后,向協(xié)調(diào)器發(fā)送JOIN幀,協(xié)調(diào)器將JOIN幀發(fā)送到家居網(wǎng)關(guān),再傳輸?shù)椒?wù)器。
當(dāng)服務(wù)器通過(guò)網(wǎng)關(guān)向協(xié)調(diào)器發(fā)出REQUEST幀后,協(xié)調(diào)器將REQUEST幀發(fā)送到終端節(jié)點(diǎn),終端節(jié)點(diǎn)讀取傳感器數(shù)據(jù),向協(xié)調(diào)器發(fā)送REPLY幀,協(xié)調(diào)器將REPLY幀發(fā)送到服務(wù)器作處理。當(dāng)服務(wù)器向協(xié)調(diào)器發(fā)出CONTROL幀,協(xié)調(diào)器將CONTROL幀發(fā)送到終端節(jié)點(diǎn),終端節(jié)點(diǎn)執(zhí)行控制動(dòng)作,向協(xié)調(diào)器發(fā)送ACK幀,協(xié)調(diào)器將ACK幀發(fā)送到服務(wù)器,并反饋給用戶。幀類型說(shuō)明如表2所示。
5 結(jié)束語(yǔ)
總之,在相關(guān)技術(shù)高速發(fā)展和人們對(duì)家居系統(tǒng)不斷提出更高要求的背景下,智能家居必將成為未來(lái)住宅的發(fā)展趨勢(shì),走進(jìn)普通居民的生活中,進(jìn)一步提高居民的家居生活品質(zhì)和品味。這套智能家居控制系統(tǒng)兼容性強(qiáng),有效降低了開(kāi)發(fā)成本,提高了開(kāi)發(fā)效率,并且通過(guò)模擬實(shí)物制作和調(diào)試,能實(shí)現(xiàn)智能家居的功能,達(dá)到預(yù)期的效果。如果將其應(yīng)用到實(shí)際家庭生活中,能充分展示這些功能并應(yīng)用,這對(duì)日后智能家居控制系統(tǒng)的研發(fā)有一定的指導(dǎo)作用。
參考文獻(xiàn)
[1]閆石.基于嵌入式B/S架構(gòu)的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)開(kāi)發(fā)[D].南京:南京理工大學(xué),2014.
[2]蘇開(kāi)生.基于B/S架構(gòu)的嵌入式智能家居遠(yuǎn)程監(jiān)控系統(tǒng)[J].通訊世界,2015(10):71.
〔編輯:白潔〕