摘 要: 根據(jù)智能家居系統(tǒng)的特點和發(fā)展現(xiàn)狀,采用ZigBee技術(shù)和嵌入式Internet技術(shù)組建家庭網(wǎng)絡(luò)并建立家庭網(wǎng)關(guān)。分別介紹了兩部分的設(shè)計思路、技術(shù)特點、硬件選型和軟件設(shè)計。實現(xiàn)并驗證該了系統(tǒng)的遠(yuǎn)程監(jiān)控功能,指出其應(yīng)用前景。
關(guān)鍵詞: 智能家居;ZigBee協(xié)議;JN5139;家庭網(wǎng)關(guān);BOA服務(wù)器
智能家居以住宅為平臺,利用先進(jìn)的計算機(jī)技術(shù)、嵌入式技術(shù)、傳感器技術(shù)、網(wǎng)絡(luò)通信技術(shù)以及自動控制技術(shù)等,將家中的各種電子電氣設(shè)備通過家庭網(wǎng)絡(luò)連接在一起,集中遠(yuǎn)程監(jiān)控、管理家庭事物,讓家居生活更加舒適、安全、有效。
智能家居屬于消費電子、計算機(jī)、通信、家電、建筑、網(wǎng)絡(luò)運營等行業(yè)的交叉領(lǐng)域。各行業(yè)因為不同的行業(yè)背景和發(fā)展思路,制定了各自的標(biāo)準(zhǔn)規(guī)范,選用了不同的技術(shù)組合。目前智能家居還處于發(fā)展階段,各種新概念、新技術(shù)、新產(chǎn)品不斷出現(xiàn),并且尚無規(guī)范統(tǒng)一的國內(nèi)外標(biāo)準(zhǔn)和產(chǎn)品可直接應(yīng)用[1]?;诖吮尘?,本文以ZigBee技術(shù)的發(fā)展為契機(jī),結(jié)合嵌入式Internet技術(shù),研究設(shè)計了一套智能家居遠(yuǎn)程監(jiān)控系統(tǒng),整體設(shè)計方案如圖1所示。家庭網(wǎng)絡(luò)和家庭網(wǎng)關(guān)是整個系統(tǒng)的主干,如何組建家庭網(wǎng)絡(luò)和建立家庭網(wǎng)關(guān)決定了系統(tǒng)的設(shè)計水平和靈活性。
1 組建家庭網(wǎng)絡(luò)
傳統(tǒng)的智能家居系統(tǒng)組建家庭網(wǎng)絡(luò)多采用總線控制技術(shù),主要有X-10、CEBus、LonWorks和ApBus等幾種[2]。由于有線網(wǎng)絡(luò)存在布線麻煩、可擴(kuò)展性差等缺點,將無線通信技術(shù)應(yīng)用于家庭網(wǎng)絡(luò)已成為勢不可擋的趨勢。目前比較常用的短距離無線通信技術(shù)有Wi-Fi、Bluetooth、UWB、Z-Wave、ZigBee等。相對于其他技術(shù),ZigBee具有網(wǎng)絡(luò)大容量、低速率、低功耗、較長傳輸距離、短時延、高安全性、工作頻段靈活的特點。
智能家居家庭網(wǎng)絡(luò)內(nèi)燈光、水表、電表、安防報警、家電等組網(wǎng)的電子電氣設(shè)備數(shù)量較多,而網(wǎng)內(nèi)傳送的是控制命令和數(shù)字等小容量數(shù)據(jù),不需要太大的傳輸速率,但要求網(wǎng)絡(luò)容量大、成本低、功耗低。因此使用ZigBee技術(shù)組建家庭網(wǎng)絡(luò)是比較理想的選擇。
1.1 ZigBee協(xié)議及硬件設(shè)備
ZigBee協(xié)議棧構(gòu)建在IEEE 802.15.4標(biāo)準(zhǔn)基礎(chǔ)之上,IEEE 802.15.4標(biāo)準(zhǔn)定義了物理層和MAC層。ZigBee聯(lián)盟定義了網(wǎng)絡(luò)層、應(yīng)用層和安全服務(wù)層。ZigBee規(guī)范確定了三種設(shè)備:ZigBee協(xié)調(diào)器、ZigBee路由器和ZigBee終端設(shè)備。每個網(wǎng)絡(luò)都必須包括一臺ZigBee協(xié)調(diào)器。在組網(wǎng)方式上,ZigBee支持星形結(jié)構(gòu)、樹形結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)三種拓?fù)湫问健?br />
由于眾多廠商對ZigBee無線技術(shù)前景的看好,許多符合ZigBee技術(shù)標(biāo)準(zhǔn)的通信模塊紛紛被研制出來以滿足客戶對ZigBee產(chǎn)品的開發(fā)需求,例如Chipcon公司的CC2420、TI公司收購Chipcon公司后推出的CC2430/CC2431、飛思卡爾的MC1322x、Jennic公司的JN51系列。本文選用了集成Jennic公司JN5139芯片的GAINSJ節(jié)點開發(fā)板,該開發(fā)板集成了天線、溫濕度傳感器SHT10、LED燈、按鍵等外部資源。
1.2 拓?fù)浣Y(jié)構(gòu)和路由協(xié)議的選擇
通過測試得知該ZigBee開發(fā)板在室外空曠環(huán)境的通信距離為90 m~100 m,在室內(nèi)有墻壁等障礙物時的通信距離在30 m左右,當(dāng)有兩堵墻阻隔時會出現(xiàn)2%左右的丟包率。在一般的家庭環(huán)境,通過合理的位置擺放可使ZigBee協(xié)調(diào)器和ZigBee終端節(jié)點的距離小于30 m,滿足通信要求。為保障系統(tǒng)的健壯可靠,在每個房間的門口增加ZigBee路由器,既降低了一跳的通信距離要求,又避免和降低了墻壁等障礙物引起的丟包現(xiàn)象。
ZigBee網(wǎng)絡(luò)支持星形結(jié)構(gòu)、樹形結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)三種拓?fù)湫问剑鐖D2所示。本文從樹形結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)中選擇更適合智能家居系統(tǒng)的拓?fù)浣Y(jié)構(gòu)。 樹形結(jié)構(gòu)對應(yīng)Cluster-Tree路由算法,此路由算法較為簡單,相當(dāng)于靜態(tài)路由,需要硬件配置較低,按照此算法,數(shù)據(jù)包只能轉(zhuǎn)發(fā)給父節(jié)點或者子節(jié)點。網(wǎng)狀結(jié)構(gòu)需要AODVjr路由算法,此算法較為復(fù)雜,相當(dāng)于動態(tài)路由,需要的硬件配置較高,但是節(jié)點間通信更為靈活[3]。而在本文智能家居遠(yuǎn)程監(jiān)控系統(tǒng)中,不存在終端節(jié)點之間的通信,完全是協(xié)調(diào)器和終端節(jié)點之間的通信,所以選擇了樹形結(jié)構(gòu)和Cluster-Tree路由算法。
1.3 軟件設(shè)計
GAINSJ的集成開發(fā)環(huán)境是Jennic提供的Code::Blocks版本。Code::Blocks是一個全功能開放源代碼的跨平臺C/C++集成開發(fā)環(huán)境。Jennic公司在此基礎(chǔ)上添加了JN5139編譯器、JN5139 Flash Programmer、IEEE 802.15.4Stack Software、ZigBee Stack Software等組件。
Flash Programmer工具用來將編譯好的代碼下載到GAINSJ開發(fā)板中,在Code::Blocks集成開發(fā)環(huán)境中編寫好應(yīng)用程序代碼并編譯鏈接相應(yīng)的庫,生成二進(jìn)制文件(*.bin文件)后,就可以利用Flash Programmer通過串口將二進(jìn)制文件下載到開發(fā)板上的Flash中[4]。
家庭網(wǎng)絡(luò)采用樹形拓?fù)浣Y(jié)構(gòu),ZigBee協(xié)調(diào)器負(fù)責(zé)發(fā)起和維護(hù)網(wǎng)絡(luò),通過串口接收和處理家庭網(wǎng)關(guān)傳來的命令;發(fā)送命令數(shù)據(jù)幀給ZigBee終端節(jié)點,接收和處理ZigBee終端節(jié)點傳送的數(shù)據(jù)幀,通過串口傳送數(shù)據(jù)給家庭網(wǎng)關(guān)。其軟件設(shè)計流程圖如圖3所示。ZigBee路由器負(fù)責(zé)分配管理網(wǎng)絡(luò)地址和轉(zhuǎn)發(fā)數(shù)據(jù)包。ZigBee終端節(jié)點負(fù)責(zé)加入網(wǎng)絡(luò),接收來自協(xié)調(diào)器的命令并執(zhí)行,將執(zhí)行結(jié)果通過數(shù)據(jù)幀發(fā)送給協(xié)調(diào)器,定期采集處理溫濕度,如果數(shù)據(jù)超標(biāo)就發(fā)送數(shù)據(jù)幀給協(xié)調(diào)器,其軟件設(shè)計流程圖如圖4所示。
本文選用樹形拓?fù)浣Y(jié)構(gòu)和Cluster-Tree路由算法,下面節(jié)選了一個在終端節(jié)點中調(diào)用的發(fā)送函數(shù)及參數(shù)設(shè)置來說明如何使用選定的路由算法。
(void)afdeDataRequest(
APS_ADDRMODE_SHORT,/* 地址類型 */
0x0000,/* 目的地址 */
WSN_DATA_SINK_ENDPOINT,/* 目的端口*/
WSN_DATA_SOURCE_ENDPOINT,/* 原端口 */
WSN_PROFILE_ID,/* 描述 ID */
WSN_CID_SENSOR_READINGS,/* 簇ID */
AF_MSG,/* 幀類型 */
1,/* 數(shù)據(jù)包個數(shù)*/
asTransaction,/* 數(shù)據(jù)包內(nèi)容*/
APS_TXOPTION_NONE,/* 發(fā)送模式 */
SUPPRESS_ROUTE_DISCOVERY, /* 路由發(fā)現(xiàn)模式*/
0/* 發(fā)送深度*/);
這個函數(shù)用來向網(wǎng)絡(luò)層發(fā)出數(shù)據(jù)發(fā)送請求。倒數(shù)第二個參數(shù)是路由發(fā)現(xiàn)模式,有三種設(shè)置,本文使用SUPPRESS_ROUTE_DISCOVERY,即如果路由表已經(jīng)建立,那么數(shù)據(jù)將使用現(xiàn)有的路由表路由;如果路由表沒有建立,那么數(shù)據(jù)將沿樹形路徑路由。
2 建立家庭網(wǎng)關(guān)
2.1 嵌入式Internet技術(shù)及硬件設(shè)備
家庭網(wǎng)關(guān)的作用是使內(nèi)部ZigBee家庭網(wǎng)絡(luò)和外部Internet互聯(lián)互通。本文采用嵌入式Internet技術(shù),建立嵌入式Web網(wǎng)站,通過遠(yuǎn)程訪問網(wǎng)頁監(jiān)控ZigBee網(wǎng)絡(luò)內(nèi)的設(shè)備。嵌入式設(shè)備具有體積小、功耗低、價格低的優(yōu)點[5]。
本文選用mini2440開發(fā)板做為家庭網(wǎng)關(guān),它以Samsung的S3C2440處理器為核心,并輔以SDRAM、Flash等基本的系統(tǒng)外圍設(shè)備,還需配備連接ZigBee網(wǎng)絡(luò)協(xié)調(diào)器的RS232接口和以太網(wǎng)絡(luò)控制器。
2.2 軟件設(shè)計
在mini2440上進(jìn)行軟件設(shè)計的內(nèi)容和步驟是:(1)搭建交叉編譯開發(fā)環(huán)境,在宿主機(jī)上安裝Linux操作系統(tǒng),安裝arm-linux-gcc編譯器;(2)在目標(biāo)板mini2440上移植BOA服務(wù)器,配置boa.config文件;(3)在目標(biāo)板上進(jìn)行html文件和.cgi文件測試,確保BOA服務(wù)器正常工作;(4)編寫html靜態(tài)網(wǎng)頁和CGI動態(tài)網(wǎng)頁,編寫UART串口通信程序,邏輯結(jié)構(gòu)如圖5所示。
3 結(jié)果和展望
mini2440家庭網(wǎng)關(guān)和ZigBee協(xié)調(diào)器通過RS232串口線相連,ZigBee路由器和終端節(jié)點擺放在房間的不同位置,mini2440家庭網(wǎng)關(guān)和PC機(jī)通過網(wǎng)線相連,IP地址分別為:192.168.1.120和192.168.1.230。
在PC機(jī)上打開瀏覽器,輸入http://192.168.1.120,即為登錄界面,輸入用戶名、密碼,認(rèn)證成功后,為主界面,如圖6所示。在家電狀態(tài)查詢欄里點擊第一個查看,可獲得并顯示室1的溫濕度;點擊第二個查看,可獲得并顯示室2的溫濕度。在家電狀態(tài)設(shè)置欄里設(shè)置家電1為開,家電查詢欄中對應(yīng)狀態(tài)顯示on,同樣設(shè)置家電2為關(guān)。第三欄定時查詢溫濕度,如果超標(biāo)自動顯示在頁面,還具有查看報警歷史記錄的功能。
本文實現(xiàn)了智能家庭遠(yuǎn)程監(jiān)控系統(tǒng)的主干部分,組建ZigBee家庭網(wǎng)絡(luò),建立嵌入式Web家庭網(wǎng)關(guān),并驗證了該系統(tǒng)的各項功能。將ZigBee技術(shù)及嵌入式Web技術(shù)應(yīng)用于智能家居系統(tǒng)具有易于實現(xiàn)和擴(kuò)展、方便實用、成本低廉的優(yōu)勢。隨著該技術(shù)在智能家居市場的推廣,將有良好的應(yīng)用前景。
參考文獻(xiàn)
[1] 童曉渝,房秉毅,張云勇.物聯(lián)網(wǎng)智能家居發(fā)展分析[J].移動通信,2010,34(9):16-20.
[2] 馬季.智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].青島:中國海洋大學(xué),2009.
[3] 鐘永鋒,劉永俊.ZigBee無線傳感器網(wǎng)絡(luò)[M].北京:北京郵電大學(xué)出版社,2011.
[4] 徐勇軍,劉峰,王春芳,等.低速無線個域網(wǎng)實驗教程[M].北京:北京理工大學(xué)出版社,2008.
[5] 宋雅麗,唐曉晟.基于OSGi家庭網(wǎng)關(guān)和Web Service技術(shù)的智能家庭系統(tǒng)[J].計算機(jī)應(yīng)用,2007,27(6):1542-1544.