喬季軍 王德宇 李玉琳 石坤明 施云波
(哈爾濱理工大學測控技術與通信工程學院,黑龍江 哈爾濱 150080)
隨著移動互聯網、物聯網的發展和電子信息技術的全面普及,家庭信息化、家電網絡化成為當今智能家居系統發展的新趨勢。然而,如何實現低成本、低功耗、自組織、高效率的運行是智能家居系統設計過程中需要考慮的重要問題[1]。
在智能家居監測區域中,需要采集、處理和控制的傳感信息有許多,有涉及安全的防盜、燃氣泄漏,有涉及智能控制的廚房電器,有涉及舒適的空調、視音設備等[2]。早期的智能家居網絡通信方式的研究熱點主要是電力線載波[3]和有線網絡[4],例如以太網絡、工業RS-485 總線網絡等。近幾年,隨著藍牙(Bluetooth)技術、WiFi 技術和ZigBee 等無線技術的發展,在家庭無線網路系統的研究中呈現出無線化的發展趨勢[5]。與有線相比,無線具有低成本、低功耗、自組織、高效率等特點,將成為智能家居系統設計的最優解決方案。
本文設計了基于ZigBee 和WiFi 無線技術的智能家居系統,采用IEEE 802.15.4 協議實現無線自組織、終端自適應的網絡,滿足現代智能家居系統成本低、功耗小、效率高、靈活性強等設計要求。
系統的總體架構原理示意圖如圖1 所示。

圖1 系統總體架構原理示意圖Fig.1 Schematic diagram of the systematic architecture
在本文設計的智能家居系統監測過程中,利用ZigBee 自組網功能將家居中需要感知的各個監測節點采集的信息匯聚于中央協調器,信息經過中央協調器的數據處理,通過WiFi 與家居的計算機互聯,連入互聯網中,實現遠程監控。系統包括智能家居網關協調器、ZigBee 采集節點、ZigBee 控制節點和WiFi 接入互聯網模塊。網關協調器采用CC2530 作為主控制器,配有WiFi232 模塊,作為無線訪問節點(access point,AP)路由器與以太網連接,便于將ZigBee 網絡連入互聯網中。ZigeBee 采集節點負責將溫濕度、光線、煙霧、燃氣等一系列家居參數進行采集,并上傳到用戶APP中。ZigBee 控制節點與家庭中各種家用電器相連。由于許多家用電器的位置都不是固定的,因此,這樣的家庭網絡設計提高了系統的靈活性,用戶可以隨意添加或者刪除任何節點,也可以將電器放置在任何位置。
(1)ZigBee 模塊外圍電路設計。
ZigBee 模塊是系統組網和控制的核心,用來對ZigBee 通信網絡進行相應的配置并接收ZigBee 各個節點的數據,然后通過WiFi232 模塊將系統連入Internet。本文選擇了高性能、低功耗的TI 公司的CC2530 射頻芯片作為ZigBee 通信芯片,CC2530 能夠提供較高的通信鏈路質量、較高的接收器靈敏度和較強的抗干擾性。此外,CC2530 還提供了豐富的外設,包括2 個USART、12位的ADC 和21 個GPIO。該芯片搭配TI 公司提供的ZigBee 協議棧Z -Stack2007 進行開發,縮短了設計周期。ZigBee 模塊電路外圍設計原理示意圖如圖2 所示。

圖2 ZigBee 模塊電路外圍設計原理示意圖Fig.2 Peripheral design principle of ZigBee module circuit
(2)恒流源電路設計。
為了適應家居中市電波動較大的特點,本文采用OPA603 運放芯片和TL431 精密穩壓電源芯片,設計一種精度較高的恒流源電路,用于傳感器測量電路,提高了系統的穩定性。恒流源電路原理示意圖如圖3 所示。

圖3 恒流源電路原理示意圖Fig.3 Schematic diagram of the constant current source circuit
(3)WiFi 模塊電路設計。
本文通過WiFi 技術無線路由實現家居內網與Internet 外網互聯,選用嵌入式WiFi232 模塊,完成數據的收發。其硬件內嵌一個單片機和TCP/IP 協議棧,對外提供UART 串口或者SPI 總線接口。WiFi 模塊電路原理示意圖如圖4 所示。

圖4 WiFi 模塊電路原理示意圖Fig.4 Schematic diagram of WiFi module circuit
(4)ZigBee 控制節點電路設計。
ZigBee 控制模塊電路主要對家庭中各種家用電器進行開關控制,如電燈、電飯煲、加濕器、自動窗簾等設備。通常是借助繼電器、步進電機等電控制器件,其中,控制模塊中繼電器模塊電路原理示意圖如圖5 所示。

圖5 ZigBee 控制節點電路Fig.5 ZigBee control node circuit
ZigBee 是基于IEEE 802.15.4 標準的低功耗局域網無線協議,適用于智能家居系統中的無線傳感器網絡中[6]。在智能家居無線傳感網絡系統中,要求整個網絡具有網絡穩定、組網速度快、實時性高、節點可隨意添加等特點。因此,本文在ZigBee 協議的基礎上采用Mash 網絡,Mash 網絡結構以及網絡通信原理示意圖如圖6、圖7 所示。

圖6 Mash 網絡通信原理示意圖Fig.6 Communication principle of Mash network

圖7 Mash 網絡結構示意圖Fig.7 Structure of Mash network
為了使數據幀更容易進行編解碼,將數據幀定義為定長,為每一個字節賦予特定的功能,這樣就不需要單獨開辟一個空間來標志數據幀的長度,在程序設計時也會變得簡單,又能實現各種功能[7]。本文設計的數據幀包括兩種類型的幀,即命令幀和狀態幀,數據幀的定義格式如圖8 所示。其中,數據域中,功能碼、命令碼和數據碼可以是用戶自定義的數據區。在數據傳輸過程中,將此數據封裝成幀,在網絡中傳輸。

圖8 數據幀定義的格式Fig.8 Definition of the data frame format
系統軟件設計包括終端節點數據采集與控制程序設計、Mash 結構組網程序設計和網關協調器程序設計。
ZigBee 網絡采用分布式地址分配(DAAM),為每個設備分配唯一的一個網絡地址[8]。DAAM 分配的地址有一定的規律性,包含了“地址-位置”對應關系。DAAM 規定,每個父節點都擁有一段網絡地址,當父節點接收子節點入網時,可以將地址分配給子節點,如果這段地址已分配完,則該父節點不能再接受子節點。網絡中,每個節點都有深度,表示在逐級傳遞的網絡中,該節點傳送數據到協調器所需要的最小跳數。假設協調器作為根節點深度為0,則它的子節點深度為1,如果每個深度可容納的最大子節點個數為Cm,整個網絡的最大深度為Lm,每個深度可容納最大路由器的個數為Rm,由此可以算出Cskip(d),其中d 為父設備的網絡深度,Cskip(d)為父設備所能分配的網絡地址段,計算公式為:

DAAM 的具體分配步驟如下。
①網絡初始化。網關節點地址為0,確定組網參數,然后再廣播通知全網絡。
②子節點發送地址請求信息。未入網的子節點查詢鄰居表,找出深度最小的潛在父節點,然后向其發送地址請求消息。
③父節點回復地址信息。地址為Ap的路由節點收到未入網節點的入網申請后,作為父節點,根據申請節點的類型和順序做如下地址分配。
如果申請節點為路由設備,則:

如果申請節點為終端設備,則:

式中:1≤n≤Cm-Rm。如果子節點收到父節點回復的拒絕信息,則返回步驟②,重新選擇父節點發送請求信息。
網關協調器的工作模式主要包括睡眠模式、發送模式、接收模式、命令模式[9]。網關協調器的軟件設計流程如圖9 所示。

圖9 網關協調器軟件設計流程圖Fig.9 The software flowchart of gateway coordinator
在以協調器為中心的ZigBee 網絡構建成功后,網關協調器進入睡眠模式。如果有相應的節點加入網絡,則會通過中斷喚醒方式將協調器喚醒并進入命令模式,進行節點配置。當接收到新的數據幀指令時,會通過串口中斷方式將協調器喚醒并進入接收模式和發送模式,將數據幀發送至相應節點,執行相應的操作。
終端節點成功加入ZigBee 網絡后,即進入相應的低功耗模式[10];在收到協調器發送來的數據幀之后,會通過中斷喚醒方式進入數據幀接收模式,進行相應的操作。ZigBee 采集節點主要完成傳感器數據的采集,當采集數據完成后,將數據打包并發送至協調器,等待確認消息,如果超過最大等待時間,會重新發送數據包。當接收到確認消息后,即完成本次數據采集任務,再次進入低功耗模式,等待下一次數據采集。ZigBee 控制節點主要進行各種家用電器的實時控制。終端節點程序設計流程如圖10 所示。

圖10 終端節點軟件設計流程圖Fig.10 The flowchart of the terminal node software
系統采用低功耗休眠機制,節點由兩節5 號電池供電,能維持使用半年時間,平均功耗在7 ~10 mW;采用定時喚醒的方式進行數據傳輸。這樣的軟件設計大大降低了ZigBee 網絡系統的功耗,有較強的適用性。
傳輸的距離測試時以ZigBee 點對點,采用ZigBee溫度終端節點每隔1 s 發送一次溫度值,ZigBee 協調器連接計算機USB 串口接收數據。以協調器為圓心,在100 m 的范圍內進行測試,接收到數據為通信成功。測試結果如表1 所示。

表1 ZigBee 傳輸距離測試
測試結果表明,ZigBee 在開闊環境中的有效距離在70 m 左右,在有建筑物遮擋時有效距離在50 m左右。在小型和中型房子中基本可以直接使用,如果不能滿足需求,還可以在中間加入路由器節點來增大ZigBee 的有效傳輸距離。
將溫度采集節點、濕度采集節點、煙霧采集節點和光線采集節點分別用3 V 電源供電,放在房間的不同位置。計算機連接系統的網關協調器,打開網絡串口調試助手,發送采集指令并接收終端節點發送給ZigBee 網絡協調器的數據。通過設置不同的發送周期就可以調整串口發送數據的頻率,從而控制數據波特率。測試結果如表2 所示。

表2 傳輸數據掉包率測試Fig.2 Test of the packet loss rate of data transmission
測試結果表明,ZigBee 和WiFi 的串口傳輸可以滿足系統的日常要求,但在數據速率過大和傳輸數據過多時會有丟包現象,最大掉包率為0.02%。另外由1、3、4組的測試推測,在測試的環境下可能有干擾,使得接收字節變多,所以,在傳輸的過程中有必要加入校驗程序。
本文基于ZigBee 和WiFi 無線技術設計了一種新型智能家居系統,采用IEEE 802.15.4 協議實現無線自組織、終端自適應的網絡,滿足現代智能家居系統成本低、功耗小、效率高、靈活性強等設計要求。
通過通信傳輸距離和數據掉包率的測試,結果表明,該系統設計基本滿足要求,并有一定的功能擴展空間。
[1] 俞文俊,凌志浩.一種物聯網智能家居系統的研究[J]. 自動化儀表,2011,32(8):56 -59.
[2] 王云良,王敏其,程凌.智能家居網絡系統的優化及控制穩定性分析[J].自動化儀表,2014,35(8):78 -82.
[3] 祁明晰,祁昶,黃天戍.基于電力線載波通信技術的智能家居系統[J].電力自動化設備,2005,25(3):72 -75.
[4] 徐鋒,劉欣,方加寶. 智能家居遠程控制系統設計[J]. 低壓電器,2009(4):20 -24.
[5] 賀玲玲. Zigbee 傳感器網絡Cluster - Tree 改進路由算法研究[J].傳感技術學報,2010(9):1303 -1305.
[6] 王益祥,牛江平. 遠程無線抄表系統的研究[J]. 自動化儀表,2011,32(3):4 -7.
[7] 張雪凡.線性拓撲無線傳感器網絡關鍵技術[J]. 上海大學學報:自然科學版,2010(16):20 -22.
[8]宋蟄存,陳寧,李迪飛.Zigebee 無線傳感技術在森林火災監測中的應用[J].自動化儀表,2010,31(4):50 -52.
[9] 汪玉鳳,姜林.基于Zigbee 和GPRS 的無線抄表系統[J]. 儀表技術與傳感器,2010(10):49 -51.
[10]Han D M ,Lim J H . Design and implementation of smart home energy management systems based on Zigbee [C]//IEEE Transactions on Consumer Electronics,2010:1417 -1425.