在ARM9處理器上構(gòu)建嵌入式Web服務(wù)器,通過擴(kuò)展Wi-Fi模塊與Zigbee模塊實(shí)現(xiàn)家庭內(nèi)部無線網(wǎng)絡(luò)的建立以及與Internet的連接,并給出了硬件組成結(jié)構(gòu)和軟件實(shí)現(xiàn)流程。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)關(guān)在丟包率與時(shí)間響應(yīng)方面優(yōu)于有線網(wǎng)關(guān)和Wi-Fi-藍(lán)牙網(wǎng)關(guān),適合在智能家居系統(tǒng)中應(yīng)用。
0 引言
隨著人們生活水平的提高以及計(jì)算機(jī)技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,智能家居逐漸成為未來家居生活的發(fā)展方向。智能家居不僅能給用戶提供安全、健康和舒適的生活環(huán)境,而且用戶能夠遠(yuǎn)程監(jiān)控自己的家居狀態(tài)和控制家庭電器設(shè)備。在智能家居系統(tǒng)中,采用無線網(wǎng)絡(luò)技術(shù)可以提供更大的靈活性、流動(dòng)性,更符合家庭網(wǎng)絡(luò)簡潔性、靈活性、模塊化、擴(kuò)展性及獨(dú)立性的通信特點(diǎn),將無線網(wǎng)絡(luò)技術(shù)應(yīng)用于家庭網(wǎng)絡(luò)已經(jīng)成為主流趨勢(shì)。
Zigbee 作為一種新興的無線通信技術(shù),其低速率、低成本、低功耗、自配置和靈活的網(wǎng)絡(luò)結(jié)構(gòu),非常適合于家庭內(nèi)部組網(wǎng)。而Wi-Fi作為一種無線聯(lián)網(wǎng)技術(shù),最主要的優(yōu)勢(shì)在于不需要布線,不受布線條件的限制,因此特別適合移動(dòng)辦公用戶的需要,在智能家居中采用Wi-Fi技術(shù)使得家庭內(nèi)部網(wǎng)絡(luò)與Internet連接更加便捷,通過一臺(tái)Wi-Fi的手持終端設(shè)備就可以直接進(jìn)入家庭網(wǎng)關(guān),實(shí)現(xiàn)對(duì)家電設(shè)備的遠(yuǎn)程監(jiān)控和智能控制。系統(tǒng)中家庭網(wǎng)關(guān)為Wi-Fi-ZigBee的Web服務(wù)器,它是ZigBee協(xié)議、Wi-Fi協(xié)議和以太網(wǎng)之間的轉(zhuǎn)換接口,并負(fù)責(zé)建立和管理無線傳感器網(wǎng)絡(luò)以及實(shí)現(xiàn)外網(wǎng)的通信連接。
1 網(wǎng)關(guān)總體設(shè)計(jì)和工作流程
系統(tǒng)主要包括ARM9處理器S3C2440A(家庭網(wǎng)關(guān))、Zigbee 模塊(協(xié)調(diào)器)、Wi-Fi模塊、Zigbee終端設(shè)備(如紅外探測器、門磁開關(guān)和火災(zāi)探測器和煙感燃?xì)馓綔y器等) ,其結(jié)構(gòu)如圖1所示。在ARM9處理器中移植Web服務(wù)器Boa作為家庭網(wǎng)關(guān),負(fù)責(zé)對(duì)整個(gè)智能家居設(shè)備的管理以及遠(yuǎn)程監(jiān)控。
由于智能家居中許多家電設(shè)備都是通過Zigbee無線傳感網(wǎng)絡(luò)來工作的,因此必須在處理器中保存數(shù)據(jù)并對(duì)Zigbee無線傳感網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)融合處理,協(xié)調(diào)器負(fù)責(zé)家庭內(nèi)部Zigbee網(wǎng)絡(luò)的管理與控制。Wi-Fi模塊用來傳輸大容量信息,通過無線訪問節(jié)點(diǎn)(Access Point,AP)路由器與以太網(wǎng)連接,實(shí)現(xiàn)家庭內(nèi)部網(wǎng)絡(luò)與Internet的通信。
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)處理基本流程如下: 系統(tǒng)內(nèi)部由Zigbee 星型網(wǎng)絡(luò)組成,家中電器開關(guān)狀態(tài)和傳感器的控制信息在網(wǎng)絡(luò)中自由傳輸,經(jīng)由協(xié)調(diào)器(Zigbee 模塊) 傳送至Web 服務(wù)器的網(wǎng)關(guān),再由網(wǎng)關(guān)通過Wi-Fi 經(jīng)無線路由連接到外部以太網(wǎng),用戶可以通過遠(yuǎn)程用戶界面端了解家中電器狀態(tài); 家庭網(wǎng)關(guān)可以通過無線網(wǎng)絡(luò)對(duì)遠(yuǎn)程用戶的控制命令作出判斷和響應(yīng),從而開啟或關(guān)閉家中的電器。
2 網(wǎng)關(guān)硬件平臺(tái)設(shè)計(jì)
網(wǎng)關(guān)硬件電路主要由控制器模塊(S3C2440A) 、存儲(chǔ)單元(64 MB SDRAM、64 MB Nand Flash 和2 MB Nor Flash) 、通信模塊(Zigbee 模塊和Wi-Fi模塊)和顯示模塊(LCD)等組成,其硬件電路結(jié)構(gòu)框圖如圖2 所示。
圖2 系統(tǒng)硬件電路
2.1 控制器模塊
控制器是整個(gè)嵌入式家庭網(wǎng)關(guān)的核心,用來對(duì)Zigbee通信模塊進(jìn)行相應(yīng)配置并接收Zigbee終端節(jié)點(diǎn)的數(shù)據(jù),利用Wi-Fi協(xié)議將網(wǎng)關(guān)通過Wi-Fi模塊連接到Internet網(wǎng)絡(luò)。為了能達(dá)到高性能、低功耗的目的,設(shè)計(jì)的嵌入式網(wǎng)關(guān)采用以ARM920T為核心的32位的RISC微處理器S3C2440A作為主控制器,該處理器集成了LCD控制器、USBHost、NAND控制器、BUS控制器、中斷控制、功率控制、存儲(chǔ)控制、UART、SPI和GPIO等豐富的外圍資源,通過外擴(kuò)存儲(chǔ)器、串口、USB接口和JTAG調(diào)試接口等構(gòu)成硬件平臺(tái)。
2.2 Zigbee組網(wǎng)模塊
在智能家居系統(tǒng)中,采用Zigbee無線通信技術(shù)將智能家電設(shè)備組成星形網(wǎng)絡(luò)。星形網(wǎng)絡(luò)是一個(gè)輻射狀的結(jié)構(gòu),網(wǎng)絡(luò)命令和數(shù)據(jù)都是通過協(xié)調(diào)器傳輸,終端設(shè)備之間通信也是通過協(xié)調(diào)器轉(zhuǎn)發(fā),終端設(shè)備不是通信的起點(diǎn)就是通信的終點(diǎn)。
Zigbee擴(kuò)展模塊在家庭網(wǎng)關(guān)中作為網(wǎng)絡(luò)協(xié)調(diào)器,可以是通信的起點(diǎn)或終點(diǎn),負(fù)責(zé)各子傳感器節(jié)點(diǎn)的通信管理、動(dòng)態(tài)組網(wǎng)與數(shù)據(jù)傳輸。Zigbee終端節(jié)點(diǎn)包括家庭內(nèi)部網(wǎng)絡(luò)中的門磁開關(guān)、紅外對(duì)射探測器、玻璃破碎探測器、火災(zāi)探測器以及煙感和燃?xì)庑孤短綔y器等。
Zigbee模塊采用JENNIC公司的JN5139,這是業(yè)界第一款與IEEE802.15.4兼容的低功耗、低成本無線控制模塊。
該模塊與S3C2440A中的UART1相連,S3C2440A中有三個(gè)通用異步串行接口,UART0是RS232($780.5000) 接口,用來連接PC機(jī),UART1和UART2是TTL接口。這里使用UART0來連接,設(shè)置相應(yīng)波特率后實(shí)現(xiàn)數(shù)據(jù)傳輸。其通信接口電路如圖3所示,只需連接TXD0和RXD0兩根信號(hào)線即可實(shí)現(xiàn)兩者的數(shù)據(jù)傳輸通信。
圖3 JN5139的通信接口電路
2.3 Wi-Fi通信模塊
該模塊用來實(shí)現(xiàn)家庭網(wǎng)關(guān)與Internet連接。Wi-Fi模塊采用威盛的VT6656芯片實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸,VT6656芯片內(nèi)嵌TCP/ IP協(xié)議棧,降低了設(shè)計(jì)的難度,同時(shí)大大提高了主控制器處理其他數(shù)據(jù)的能力。VT6656與S3C2440A的連接非常簡單,二者可以通過標(biāo)準(zhǔn)的USB接口直接相連。VT6656芯片的主要特性:54 Mbps標(biāo)準(zhǔn)802.11g無線Internet訪問,比基于802.11b協(xié)議快5倍;采用USB 2.0最高比USB 1.1 快40倍; 新的天線技術(shù)支持更遠(yuǎn)距離的無線訪問;支持所有標(biāo)準(zhǔn)802.11g 和802.11b 無線路由器及接入點(diǎn);支持64/128/152位WEP加密;支持WPA/WPA2、WPA-PSK/WPA2-PSK等高級(jí)加密與安全機(jī)制。
3 軟件平臺(tái)設(shè)計(jì)
軟件平臺(tái)采用一種開放源碼的Linux操作系統(tǒng),便于在其基礎(chǔ)上完成各項(xiàng)相關(guān)應(yīng)用程序的開發(fā)。軟件主要涉及到操作系統(tǒng)的裁剪與編譯、驅(qū)動(dòng)程序編寫和系統(tǒng)主程序編寫。
3.1 家庭網(wǎng)關(guān)軟件體系結(jié)構(gòu)
家庭網(wǎng)關(guān)采用模塊化設(shè)計(jì)方案,如圖4 所示由硬件驅(qū)動(dòng)層、操作系統(tǒng)層、網(wǎng)絡(luò)協(xié)議層和應(yīng)用程序?qū)咏M成。硬件驅(qū)動(dòng)層描述網(wǎng)關(guān)節(jié)點(diǎn)中Zigbee模塊和Wi-Fi模塊的驅(qū)動(dòng);操作系統(tǒng)層移植了ARM Linux實(shí)時(shí)操作系統(tǒng)內(nèi)核;網(wǎng)絡(luò)協(xié)議層移植了Zigbee和Wi-Fi協(xié)議棧,實(shí)現(xiàn)Zigbee和Wi-Fi協(xié)議雙向轉(zhuǎn)換;應(yīng)用程序?qū)釉贚inux內(nèi)核上移植嵌入式Web服務(wù)器軟件Boa.
圖4 家庭網(wǎng)關(guān)結(jié)構(gòu)。
網(wǎng)關(guān)中的網(wǎng)絡(luò)協(xié)議層主要完成從Wi-Fi和Zigbee協(xié)議的相互轉(zhuǎn)換工作。對(duì)于從Zigbee設(shè)備發(fā)送到Wi-Fi的數(shù)據(jù),在網(wǎng)關(guān)需要經(jīng)過以下處理步驟;Zigbee設(shè)備接收到數(shù)據(jù)→去掉物理層Zigbee分組→去掉MAC層Zigbee分組→添加MAC頭的Wi-Fi分組→添加物理層頭的Wi-Fi分組→Wi-Fi處理或發(fā)送。Wi-Fi接收數(shù)據(jù)到發(fā)送給Zigbee設(shè)備的過程如下:
Wi-Fi 接收到數(shù)據(jù)→去掉物理層Wi-Fi分組→去掉MAC層Wi-Fi分組→添加MAC頭的Zigbee分組→添加物理層頭的Zigbee分組→Zigbee處理或發(fā)送。Wi-Fi-Zigbee通信協(xié)議模型如圖5所示。
圖5 Zigbee/Wi-Fi網(wǎng)關(guān)的通信協(xié)議模型。
3.2 Zigbee組網(wǎng)軟件設(shè)計(jì)
家庭網(wǎng)關(guān)集成了Zigbee網(wǎng)絡(luò)協(xié)調(diào)器和嵌入式Web服務(wù)器,有兩個(gè)主要功能。1)實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的建立,傳感器節(jié)點(diǎn)管理和數(shù)據(jù)傳輸。將收集到的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,使用戶可以隨時(shí)查詢監(jiān)控Zigbee終端設(shè)備的狀態(tài)。2)用戶可以通過Web瀏覽器直接訪問網(wǎng)關(guān),可以進(jìn)行實(shí)時(shí)監(jiān)測和遠(yuǎn)程管理。
為了實(shí)現(xiàn)家庭網(wǎng)關(guān)的功能,在硬件平臺(tái)上移植了Linux2.6實(shí)時(shí)操作系統(tǒng)、Zigbee協(xié)議棧和VT6656的驅(qū)動(dòng)程序,并使用基于HTTP協(xié)議的Boa服務(wù)器作為Web服務(wù)器,其中ZigBee網(wǎng)絡(luò)協(xié)調(diào)器的軟件實(shí)現(xiàn)包括ZigBee協(xié)議和監(jiān)控管理程序的移植。該軟件流程如圖6所示。
圖6 Zigbee軟件流程。
在智能家居內(nèi)部ZigBee無線網(wǎng)絡(luò)中,首先協(xié)調(diào)器進(jìn)行初始化,然后協(xié)調(diào)器選擇一個(gè)稱為PAN ID的標(biāo)識(shí)號(hào)碼,接著啟動(dòng)網(wǎng)絡(luò),所有的設(shè)備接入CSMA-CA機(jī)制的協(xié)調(diào)器。當(dāng)協(xié)調(diào)器收到數(shù)據(jù)時(shí),首先判斷是新節(jié)點(diǎn)加入網(wǎng)絡(luò)的請(qǐng)求還是設(shè)備節(jié)點(diǎn)的控制請(qǐng)求:如果是新節(jié)點(diǎn)加入網(wǎng)絡(luò)的請(qǐng)求則分配網(wǎng)絡(luò)地址并綁定節(jié)點(diǎn);如果是控制請(qǐng)求,則調(diào)用控制請(qǐng)求處理函數(shù)處理數(shù)據(jù)。數(shù)據(jù)處理完畢,協(xié)調(diào)器返回等待請(qǐng)求監(jiān)聽狀態(tài)。
3.3 家庭網(wǎng)關(guān)主程序設(shè)計(jì)
家庭網(wǎng)關(guān)是建立在傳輸層以上的協(xié)議轉(zhuǎn)換器,通常它連接兩個(gè)或多個(gè)相互獨(dú)立的網(wǎng)絡(luò),每接收一種協(xié)議的數(shù)據(jù)包后,在轉(zhuǎn)發(fā)之前將它轉(zhuǎn)換為另一種協(xié)議的格式,Zigbee協(xié)議棧由一系列分層結(jié)構(gòu)組成,包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、應(yīng)用支持層和應(yīng)用層,每一層為上一層提供服務(wù)。采集節(jié)點(diǎn)將要傳輸?shù)墓?jié)點(diǎn)地址信息和監(jiān)測數(shù)據(jù)以Zigbee 幀的形式打包發(fā)送給網(wǎng)關(guān)節(jié)點(diǎn)。傳送數(shù)據(jù)在通過物理介質(zhì)進(jìn)入網(wǎng)關(guān)后,先用Zigbee協(xié)議棧解封裝得到原始數(shù)據(jù),網(wǎng)關(guān)可以用操作系統(tǒng)上的應(yīng)用軟件根據(jù)需要對(duì)原始數(shù)據(jù)處理。然后再以TCP/IP協(xié)議打包后通過USB口與Wi-Fi通信模塊VT6656相連,Wi-FiVT6656網(wǎng)卡通過AP路由器,將數(shù)據(jù)傳送到Wi-Fi網(wǎng)絡(luò)中,AP路由器接入Internet,從而實(shí)現(xiàn)網(wǎng)關(guān)與Internet相連。為實(shí)現(xiàn)系統(tǒng)的監(jiān)測和控制兩大功能,數(shù)據(jù)幀結(jié)構(gòu)的設(shè)計(jì)由前導(dǎo)碼、數(shù)據(jù)模式、目標(biāo)地址、數(shù)據(jù)長度、數(shù)據(jù)信息與校驗(yàn)和等部分構(gòu)成[3],其中數(shù)據(jù)信息字段又劃分為方向位、功能類型和數(shù)據(jù)。
方向位分為上行和下行兩種: 上行傳輸?shù)氖潜O(jiān)測數(shù)據(jù),下行傳輸?shù)氖强刂泼睢?br />
家庭網(wǎng)關(guān)主程序處理流程如圖7 所示。硬件上電系統(tǒng)啟動(dòng)以后,應(yīng)用程序初始化,網(wǎng)關(guān)開始監(jiān)聽網(wǎng)絡(luò),有數(shù)據(jù)到來網(wǎng)關(guān)進(jìn)入中斷狀態(tài)。首先判斷是否Zigbee數(shù)據(jù),如果是Zigbee數(shù)據(jù),按照WSN協(xié)議處理數(shù)據(jù)然后打包轉(zhuǎn)發(fā)給Wi-Fi模塊,網(wǎng)關(guān)返回監(jiān)聽狀態(tài); 如果不是Zigbee數(shù)據(jù),網(wǎng)關(guān)判斷是否Wi-Fi數(shù)據(jù),如果是則以Wi-Fi協(xié)議處理數(shù)據(jù)然后打包轉(zhuǎn)發(fā)給Zigbee模塊,并返回監(jiān)聽狀態(tài); 若是未知數(shù)據(jù),網(wǎng)關(guān)進(jìn)行丟棄處理直接返回監(jiān)聽網(wǎng)絡(luò)狀態(tài)。
4 測試結(jié)果與分析
將設(shè)計(jì)的Wi-Fi-Zigbee網(wǎng)關(guān)與同樣采用無線通信技術(shù)的Wi-Fi-藍(lán)牙無線網(wǎng)關(guān),以及采用綜合布線的有線網(wǎng)關(guān)做如下比較,如表1.有線網(wǎng)關(guān)網(wǎng)絡(luò)穩(wěn)定性、抗干擾性方面高,但是耗時(shí)且靈活性較低,而無線網(wǎng)關(guān)耗費(fèi)的工時(shí)少且在網(wǎng)絡(luò)穩(wěn)定、靈活和抗干擾方面均性能良好。
圖7 家庭網(wǎng)關(guān)主程序流程
表1 三種網(wǎng)關(guān)的比較
為驗(yàn)證Wi-Fi-Zigbee網(wǎng)關(guān)在智能家居監(jiān)控系統(tǒng)中的性能,測試了兩組性能指標(biāo):1)無障礙物和干擾狀態(tài)下,隨著距離的增加,數(shù)據(jù)丟包率和響應(yīng)時(shí)間的變化情況;2)數(shù)據(jù)傳輸距離分別為10 m、20 m、50 m 時(shí),有障礙物情況下丟包率和響應(yīng)時(shí)間性能變化; 如圖8所示,其中(a)、( b)為在無障礙物和干擾狀態(tài)下測得三種網(wǎng)關(guān)下丟包率與響應(yīng)時(shí)間的曲線:(c)、(d)為在有障礙物和干擾情況下所測得的數(shù)據(jù)。實(shí)驗(yàn)結(jié)果表明,在無障礙物傳輸距離為50m以內(nèi)時(shí),Wi-Fi-Zigbee網(wǎng)關(guān)較Wi-Fi-藍(lán)牙網(wǎng)關(guān)的優(yōu)勢(shì)明顯,隨著傳輸距離增加,丟包率低維持在3%左右,相對(duì)于有線網(wǎng)關(guān)高出2%左右,而響應(yīng)時(shí)間波動(dòng)在1ms以內(nèi),完全能夠充分滿足正常家居環(huán)境的通信需要,而且接收功率很低,非常適合家庭的使用。在有障礙物和干擾的情況下,Wi-Fi-Zigbee網(wǎng)關(guān)丟包率與響應(yīng)時(shí)間較有線網(wǎng)關(guān)稍高,卻遠(yuǎn)優(yōu)于Wi-Fi-藍(lán)牙網(wǎng)關(guān)。
圖8 三種網(wǎng)關(guān)在不同環(huán)境下丟包率與響應(yīng)時(shí)間的比較
5 結(jié)語
本文提出了一種無線智能家居網(wǎng)關(guān)的設(shè)計(jì)和實(shí)現(xiàn)方案,該方案采用低功耗ARM 處理器S3C2440A為核心,利用內(nèi)嵌TCP/IP 協(xié)議棧的模塊Wi-Fi為網(wǎng)絡(luò)的數(shù)據(jù)出口,以嵌入式Web服務(wù)器為網(wǎng)關(guān),克服了傳統(tǒng)網(wǎng)關(guān)架構(gòu)下Zigbee傳輸速率較低的瓶頸,利用Wi-Fi和Zigbee全網(wǎng)無線無縫連接。實(shí)驗(yàn)表明,該系統(tǒng)可靠性高、協(xié)議轉(zhuǎn)換效率高,抗干擾能力強(qiáng),同時(shí)具有很好的通用性,非常適合在智能家居系統(tǒng)中應(yīng)用。
【推薦閱讀】
被外因坑慘了的智能家居何時(shí)能夠上位?
創(chuàng)新+互聯(lián)+一站式解決方案撐起智能家居的未來
智能家居中紅外遙控模塊的設(shè)計(jì)方案
基于Linux系統(tǒng)和ZigBee的智能家居系統(tǒng)方案
智控LED燈泡Hue拆解:最聰明智能照明,如何做到?