胡應坤++湯才++趙文龍++全頌華



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