岑榮瀅, 姜 琴, 扈健瑋, 孫夢(mèng)莉
?
面向智能家居應(yīng)用的ZigBee-WiFi網(wǎng)關(guān)①
岑榮瀅, 姜 琴, 扈健瑋, 孫夢(mèng)莉
(青島工學(xué)院信息工程學(xué)院, 青島 266300)
ZigBee和WiFi是智能家居設(shè)備常用的兩種無(wú)線通信技術(shù), 針對(duì)智能家居設(shè)備使用ZigBee自組網(wǎng)無(wú)法和用戶WiFi網(wǎng)絡(luò)中的智能終端直接通信的問(wèn)題, 設(shè)計(jì)面向家庭應(yīng)用環(huán)境的ZigBee-WiFi無(wú)線網(wǎng)關(guān). 網(wǎng)關(guān)采用S3C6410作為控制核心, 運(yùn)行Linux操作系統(tǒng), 以USB連接無(wú)線網(wǎng)卡, 以DMA通道連接CC2530模塊. 通過(guò)信道掃描切換的方案解決ZigBee和WiFi兩種信號(hào)之間相互干擾的問(wèn)題, 通過(guò)數(shù)據(jù)線連接的方式給要加入ZigBee網(wǎng)絡(luò)的新設(shè)備分發(fā)密鑰. 實(shí)驗(yàn)表明, 所實(shí)現(xiàn)的無(wú)線網(wǎng)關(guān)信號(hào)穩(wěn)定, 丟包率低, 實(shí)用性強(qiáng), 在智能家居系統(tǒng)中運(yùn)行穩(wěn)定、可靠.
ZigBee; WiFi; 無(wú)線網(wǎng)關(guān); S3C6410; 智能家居
智能家居在近年的發(fā)展迅速, 使用家庭戶數(shù)從2002年的2萬(wàn)戶, 經(jīng)過(guò)2007年的45萬(wàn)戶, 直達(dá)2010年的68萬(wàn)戶[1]. ZigBee和WiFi無(wú)線通信技術(shù)在智能家居系統(tǒng)中得到普遍的應(yīng)用, 并且在同一智能家居系統(tǒng)中往往同時(shí)使用這兩種技術(shù), 并通過(guò)異構(gòu)網(wǎng)網(wǎng)關(guān)實(shí)現(xiàn)互聯(lián), 以實(shí)現(xiàn)不同網(wǎng)絡(luò)中終端的信息交互.
網(wǎng)關(guān)是一種充當(dāng)轉(zhuǎn)換重任的計(jì)算機(jī)系統(tǒng)或設(shè)備, 是連接不同網(wǎng)絡(luò)的軟件和硬件的結(jié)合體. 在使用不同的通信協(xié)議、數(shù)據(jù)格式或語(yǔ)言甚至體系完全不同的兩種系統(tǒng)之間, 網(wǎng)關(guān)是一個(gè)翻譯器; 通過(guò)重新封裝數(shù)據(jù)信息以使得它們能被另一個(gè)系統(tǒng)讀取, 以適應(yīng)目的系統(tǒng)的需求[2].
本文研究并設(shè)計(jì)了一種面向智能家居應(yīng)用的WiFi與ZigBee網(wǎng)關(guān), 實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)中的終端在家居環(huán)境下的數(shù)據(jù)交互, 解決兩種信號(hào)都工作在2.4GHz的ISM頻段會(huì)產(chǎn)生的干擾問(wèn)題, 并通過(guò)miniUSB連接的方式給新的需要連入ZigBee加密網(wǎng)絡(luò)的智能節(jié)點(diǎn)設(shè)備導(dǎo)入安全密鑰.
ZigBee-WiFi異構(gòu)網(wǎng)網(wǎng)關(guān)實(shí)現(xiàn)WiFi和ZigBee兩種通信協(xié)議之間的轉(zhuǎn)換, 使得入網(wǎng)設(shè)備不僅可以和WiFi或ZigBee各自網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)設(shè)備通信, 而且能夠使分別處在WiFi網(wǎng)絡(luò)和ZigBee網(wǎng)絡(luò)的節(jié)點(diǎn)設(shè)備實(shí)現(xiàn)相互通信[3].
網(wǎng)關(guān)的主要部件包括: 核心控制芯片, ZigBee模塊, WiFi模塊, 顯示屏和miniUSB接口, 如圖1所示.
圖1 網(wǎng)關(guān)總體結(jié)構(gòu)圖
網(wǎng)關(guān)采用S3C6410為核心控制芯片, 運(yùn)行Linux操作系統(tǒng). 選擇S3C6410的原因是它集成了USB Host控制器, 可以直接從CPU引線出來(lái), 不需要添加額外的控制芯片, 所以它的USB Host接口可以直接連接USB無(wú)線網(wǎng)卡[4]. 同時(shí), S3C6410包含4個(gè)DMA控制器, 每個(gè)控制器由8個(gè)傳輸通道組成, 每個(gè)控制器提供16個(gè)外設(shè)DMA請(qǐng)求, 并且DMA控制器支持外部中斷響應(yīng), 即每個(gè)通道可以支持從內(nèi)存到外設(shè), 從內(nèi)存到內(nèi)存, 從外設(shè)到內(nèi)存, 從外設(shè)到外設(shè)4種模式的數(shù)據(jù)傳輸[5].
ZigBee模塊采用CC2530模塊, 通過(guò)DMA通道與主控芯片相連. 使用DMA通道可以保證以較高速率傳輸數(shù)據(jù)而不占用CUP, 讓CPU能夠繼續(xù)完成其他工作[6], 能夠讓CC2530在傳輸數(shù)據(jù)給S3C6410時(shí), CPU能夠繼續(xù)執(zhí)行Z-Stack協(xié)議棧的其他重要任務(wù).
WiFi模塊采用ralink3070模塊, 通過(guò)USB連接, 作為無(wú)線網(wǎng)卡使用. 使用WiFi模塊, 先要安裝無(wú)線網(wǎng)卡驅(qū)動(dòng), 步驟如下:
1.有效化解各類(lèi)矛盾,保證各項(xiàng)工作平穩(wěn)進(jìn)行。一號(hào)煤礦在經(jīng)營(yíng)、生產(chǎn)、管理運(yùn)行過(guò)程中,廠務(wù)公開(kāi)使廣大職工通過(guò)知廠情、參廠政、議廠事,把矛盾化解在基層與企業(yè),保證企業(yè)穩(wěn)定發(fā)展。企業(yè)把職工關(guān)心、涉及其切身利益的重大事項(xiàng)向職工代表大會(huì)報(bào)告,向職工如實(shí)公開(kāi)、接受廣大職工的監(jiān)督,有效地維護(hù)了職工的各種權(quán)益。一號(hào)煤礦每年一度的區(qū)隊(duì)職工代表大會(huì)與礦職工代表大會(huì)都能廣泛征集職工意見(jiàn),重視吸納職工的參與,集合集體智慧,尊重職工的知情權(quán)、參與權(quán)與監(jiān)督權(quán),深入基層,集中精力,最大限度地解決職工在生產(chǎn)生活中的各類(lèi)問(wèn)題,推行以職代會(huì)為基本形式的廠務(wù)公開(kāi),真正實(shí)現(xiàn)企業(yè)的民主管理。
(1) 修改內(nèi)核源代碼, 加入驅(qū)動(dòng)配置信息, 重新編譯內(nèi)核;
(2) 編譯通過(guò)后會(huì)生成rt3070sta.ko驅(qū)動(dòng)文件, 動(dòng)態(tài)加載模塊#insmod rt3070sta.ko, 插入網(wǎng)卡, 能夠成功識(shí)別;
(3) 安裝Wireless Tools工具配置WiFi, 主要通過(guò)iwlist, iwpriv和 iwconfig命令來(lái)查看和設(shè)置WiFi信息.
WIFI和Zigbee兩種網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包格式不同.
CC2530執(zhí)行的Z-Stack協(xié)議棧能夠處理ZigBee協(xié)議幀, Linux系統(tǒng)能夠形成WiFi協(xié)議幀. CC2530協(xié)調(diào)器在DMA通道以數(shù)據(jù)透明傳輸?shù)姆绞桨裐igBee數(shù)據(jù)傳入到網(wǎng)關(guān), 在網(wǎng)關(guān)建立socket服務(wù)器, 將ZigBee協(xié)調(diào)器發(fā)來(lái)的數(shù)據(jù)傳入連接的客戶端, 將客戶端發(fā)送來(lái)的數(shù)據(jù)傳入ZigBee協(xié)調(diào)器. 無(wú)論開(kāi)發(fā)者需要怎樣的節(jié)點(diǎn)對(duì)應(yīng)關(guān)系都不需要對(duì)網(wǎng)關(guān)程序重新編寫(xiě), 而只要在ZigBee協(xié)調(diào)器和客戶端軟件上設(shè)置數(shù)據(jù)轉(zhuǎn)發(fā)對(duì)應(yīng)關(guān)系.
WiFi和ZigBee互聯(lián)存在傳輸速率不匹配的問(wèn)題, 如表1所示, 由于WiFi的數(shù)據(jù)收發(fā)傳輸數(shù)量大于ZigBee, 在網(wǎng)關(guān)內(nèi)部WiFi端傳入數(shù)據(jù)到ZigBee端需要設(shè)置中間緩沖區(qū). 模塊中設(shè)置數(shù)據(jù)中轉(zhuǎn)的緩沖區(qū)為512字節(jié). 同時(shí)控制WiFi端傳入ZigBee端的每包數(shù)據(jù)在80字節(jié)以內(nèi), 發(fā)送間隔為5ms, 用以防止WiFi端數(shù)據(jù)傳輸速率過(guò)快使得緩沖區(qū)溢出導(dǎo)致的數(shù)據(jù)丟失[7].
表1 ZigBee與WiFi比較
ZigBee和WiFi除了傳輸速率不同, 還存在信號(hào)干擾的問(wèn)題. 如表1所示, 兩種無(wú)線方式都工作頻段都在2.4GHz, 擴(kuò)頻方式都為DSSS, 兩者有信道重疊, 會(huì)產(chǎn)生干擾. 國(guó)內(nèi)802.11信道1、6、11, 分別與ZigBee的11-14、16-19、21-24信道重疊, 與15、20、25、26信道不重疊[8]. ZigBee與WiFi在2.4GHz段的信道分布, 如圖2所示.
圖2 2.4GHz段ZigBee與WiFi信道分布對(duì)比圖
圖3 信道掃描選擇流程圖
通過(guò)讀取RSSI判斷信號(hào)接收質(zhì)量, 當(dāng)RSSI低于閾值, 開(kāi)始掃描尋找干擾程度低的信道, 同時(shí)為了避免在各信道都繁忙時(shí)節(jié)點(diǎn)設(shè)備不停切換信道, 重新組網(wǎng), 還要限制兩次信道切換間的最小時(shí)間間隔. 優(yōu)先掃描ZigBee與WiFi不重合的第26、25、20、15信道, 更容易避開(kāi)WiFi信號(hào)的干擾, 同時(shí)考慮到其他ZigBee網(wǎng)絡(luò)信號(hào)的干擾, 在這四個(gè)信道條件不滿足的情況下, 仍然需要繼續(xù)掃描其他信道.
為驗(yàn)證網(wǎng)關(guān)的信道選擇功能實(shí)際效果, 在不受重疊干擾信道和受重疊干擾信道測(cè)試傳輸延遲和丟包率, 進(jìn)行了4組對(duì)比實(shí)驗(yàn). I組為無(wú)干擾環(huán)境下, II組為不使用信道掃描, 設(shè)置ZigBee信道與WiFi干擾源網(wǎng)絡(luò)信道重疊, III組為不使用信道掃描, 設(shè)置ZigBee信道與另一ZigBee干擾源網(wǎng)絡(luò)信道重疊, IV組為使用信道掃描自動(dòng)切換方案, 設(shè)置多個(gè)信道WiFi干擾源和ZigBee干擾源.
表2 傳輸性能對(duì)比
實(shí)驗(yàn)結(jié)果如表2所示, 實(shí)驗(yàn)結(jié)果表明, 網(wǎng)關(guān)在不使用信道掃描切換方案時(shí), 受到其他WiFi信號(hào)和ZigBee信號(hào)干擾比較嚴(yán)重, 丟包數(shù)增多, 延遲增大, 在使用信道掃描切換時(shí), 雖然切換信道期間的數(shù)據(jù)傳輸延遲會(huì)增大, 但是平均延遲和總體丟包率較無(wú)信道切換方案要低, 因而達(dá)到了設(shè)計(jì)的目標(biāo).
家用ZigBee網(wǎng)絡(luò)及設(shè)備有很強(qiáng)的私有性, 網(wǎng)絡(luò)通信需要安全保護(hù), 外來(lái)設(shè)備不經(jīng)認(rèn)證不允許接入, 家庭購(gòu)置智能設(shè)備往往是逐漸購(gòu)買(mǎi), 連入網(wǎng)絡(luò)的設(shè)備是逐個(gè)添加, 但是ZigBee使用對(duì)稱(chēng)加密的AES加密法, 這要求設(shè)備有相同的密鑰(KEY)才能連入網(wǎng)絡(luò), 后加的設(shè)備無(wú)法得到當(dāng)前網(wǎng)絡(luò)通信的密鑰(KEY), 不能正常入網(wǎng)通信, 這給使用ZigBee網(wǎng)絡(luò)的智能設(shè)備進(jìn)入家庭造成了困難[9].
本文設(shè)計(jì)的網(wǎng)關(guān)以miniUSB連接的方式來(lái)給予新設(shè)備網(wǎng)絡(luò)密鑰. 智能家居設(shè)備和網(wǎng)關(guān)之間實(shí)現(xiàn)一次有線連接, 操作上并不困難. 當(dāng)有新設(shè)備需要添加入網(wǎng)時(shí), 通過(guò)miniUSB數(shù)據(jù)線連接到網(wǎng)關(guān), 網(wǎng)關(guān)獲取新設(shè)備的MAC地址, 記錄到白名單, 注冊(cè)設(shè)備類(lèi)型, 同時(shí)將網(wǎng)絡(luò)密鑰傳入新設(shè)備. 該節(jié)點(diǎn)獲取了入網(wǎng)密鑰就可以加入到當(dāng)前ZigBee網(wǎng)絡(luò)中[10].
為了驗(yàn)證WiFi-ZigBee網(wǎng)關(guān)在家庭環(huán)境中應(yīng)用的運(yùn)行情況, 本網(wǎng)關(guān)在ZigBee智能家居系統(tǒng)中進(jìn)行實(shí)驗(yàn), 智能家居系統(tǒng)包括ZigBee家居設(shè)備網(wǎng)絡(luò), WiFi-ZigBee網(wǎng)關(guān), 智能手機(jī)和PC機(jī), ZigBee家居設(shè)備網(wǎng)絡(luò)中包括安防傳感器, 家居環(huán)境傳感器和照明控制節(jié)點(diǎn), 如圖4所示.
智能手機(jī)和PC機(jī)與網(wǎng)關(guān)連入同一個(gè)WiFi路由器, 在智能手機(jī)和PC機(jī)上能夠監(jiān)測(cè)全部ZigBee節(jié)點(diǎn)設(shè)備的工作狀態(tài)和采集的數(shù)據(jù), 可以控制照明燈的開(kāi)關(guān).
在ZigBee網(wǎng)絡(luò)中要添加一個(gè)新的照明燈節(jié)點(diǎn), 先將照明燈節(jié)點(diǎn)與網(wǎng)關(guān)連接, 注冊(cè)設(shè)備MAC地址, 在上位機(jī)注冊(cè)該MAC地址設(shè)備的種類(lèi)為照明燈, 照明燈節(jié)點(diǎn)獲取網(wǎng)絡(luò)密鑰, 自動(dòng)連入網(wǎng)絡(luò), 通過(guò)智能手或PC機(jī)可以成功控制照明燈開(kāi)關(guān), 如圖5所示.
圖4 智能家居系統(tǒng)結(jié)構(gòu)圖
傳統(tǒng)ZigBee組網(wǎng)設(shè)備只能一次部署完, 不能授予系統(tǒng)外的ZigBee新設(shè)備通信密鑰, 使得消費(fèi)者不能逐步增加ZigBee智能家居設(shè)備. ZigBee和WiFi共同工作在2.4GHz頻段, 產(chǎn)生了相互間信號(hào)干擾的問(wèn)題, 本文設(shè)計(jì)了一種面向家庭應(yīng)用的ZigBee-WiFi無(wú)線網(wǎng)關(guān), 以S3C6410為控制核心, 通過(guò)CC2530和ralink3070無(wú)線網(wǎng)卡連接ZigBee和WiFi網(wǎng)絡(luò), 通過(guò)miniUSB連接要加入ZigBee網(wǎng)絡(luò)的新設(shè)備, 記錄MAC地址, 并授予入網(wǎng)密鑰, 使其接入原加密網(wǎng)絡(luò). 通過(guò)設(shè)置數(shù)據(jù)緩存和采用DMA通信方式實(shí)現(xiàn)網(wǎng)絡(luò)速率匹配, 通過(guò)加入信道篩選, 頻率捷變的控制方案, 使得ZigBee和WiFi在2.4GHz頻段內(nèi)盡可能避免干擾, 獲取更高的網(wǎng)絡(luò)傳輸性能. 經(jīng)試驗(yàn)證明該網(wǎng)關(guān)能夠?qū)崿F(xiàn)ZigBee網(wǎng)絡(luò)和WiFi網(wǎng)絡(luò)中的設(shè)備的相互通信, 適合各種智能家居設(shè)備接入, 通信傳輸性能穩(wěn)定優(yōu)良. 使得人和智能家居設(shè)備的交互更加方便.
1 傅率智.智能家居安全網(wǎng)絡(luò)的一種新結(jié)構(gòu).中國(guó)高新技術(shù)企業(yè),2016,1(8):9–10.
2 樊銳,李茹,王績(jī)一.藍(lán)牙/ZigBee無(wú)線網(wǎng)絡(luò)傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(1):209–213.
3 仲偉波,李忠梅,石婕,陳忠銘.一種用于設(shè)施農(nóng)業(yè)的ZigBee-WiFi網(wǎng)關(guān)研制.計(jì)算機(jī)科學(xué),2014,41(6A):484–486.
4 劉玉寶,霍春寶,張揚(yáng).USB無(wú)線網(wǎng)卡在嵌入式系統(tǒng)中的應(yīng)用.遼寧工業(yè)大學(xué)學(xué)報(bào),2008,28(6):364–366.
5 陳安地,李小文.基于S3C6410的DMA數(shù)據(jù)跟蹤技術(shù)在TD-LTE中的實(shí)現(xiàn).電子技術(shù)應(yīng)用,2012,38(5):19–22.
6 Hessel S, Szczesny D, Bruns F, et al. Architectural analysis of a smart DMA controller for protocol stack acceleration in LTE terminals. The Sixteenth IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. Macau, China. 2010. 309–315.
7 胥嘉佳,許鳴.基于網(wǎng)關(guān)的ZigBee和WiFi互通設(shè)計(jì).電子科技,2014,27(6):22–25.
8 張毅,吳錦,羅元,陳思璇.新型ZigBee-WiFi無(wú)線網(wǎng)關(guān)的設(shè)計(jì)及其抗干擾技術(shù)的研究.計(jì)算機(jī)應(yīng)用與軟件,2014,31(5): 122–124,187.
9 曲金帥,陳楠,范菁,徐野.基于Zigbee-WiFi的異構(gòu)無(wú)線傳感網(wǎng)實(shí)時(shí)數(shù)據(jù)融合機(jī)制研究.云南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,23(5):365–368.
10 董哲,宋紅霞.ZigBee-WiFi協(xié)同無(wú)線傳感網(wǎng)絡(luò)的節(jié)能技術(shù). 計(jì)算機(jī)工程與設(shè)計(jì),2015,36(1):22–29.
ZigBee-WiFi Gateway for Smart Home Application
CEN Rong-Ying, JIANG Qin, HU Jian-Wei, SUN Meng-Li
(School of Information Engineering, Qingdao University of Technology, Qingdao 266300, China)
In smart home applications, ZigBee and WiFi devices are two common wireless communication technologies. The problem is that the smart home devices in the ZigBee self-organizing networks can not directly communicate with the intelligent terminals in the WiFi networks. In order to solve this problem, a home-oriented application environment ZigBee-WiFi wireless gateway is designed. The gateway uses S3C6410 as the control core, runs on the Linux operating system, connects to a wireless network card with USB and connects CC2530 module with the DMA channel, which resolves the issue of mutual interference between ZigBee and WiFi signals by scanning and switching the transmission channels. Key is distributed to the new devices that join the ZigBee network by miniUSB connections. Experiments show that the wireless gateway has stable signal and less packet loss. It is stable and reliable in application of smart home system.
ZigBee; WiFi; wireless gateway; S3C6410; smart home
國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃(201513995007);青島工學(xué)院大學(xué)生科技創(chuàng)新項(xiàng)目(2015cx006)
姜琴.Email:ritajq@126.com
2016-04-07;收到修改稿時(shí)間:2016-06-12
[10.15888/j.cnki.csa.005540]