王 博
(西安電子科技大學(xué)電子工程學(xué)院,陜西西安 710071)
基于ZigBee技術(shù)的智能家居系統(tǒng)內(nèi)部組網(wǎng)
王 博
(西安電子科技大學(xué)電子工程學(xué)院,陜西西安 710071)
為了提高智能家居系統(tǒng)的快速部署能力、降低構(gòu)建成本,提出了一種利用ZigBee無線組網(wǎng)技術(shù),構(gòu)建智能家居系統(tǒng)內(nèi)部基礎(chǔ)網(wǎng)絡(luò)的設(shè)計方案。該方案采用無線射頻收發(fā)CC2430芯片和外圍電路設(shè)計終端設(shè)備與中心協(xié)調(diào)器的硬件電路。根據(jù)ZigBee協(xié)議棧使用C語言編寫終端設(shè)備和中心協(xié)調(diào)器的通信應(yīng)用軟件。
ZigBee協(xié)議;CC2430;中心協(xié)調(diào)器;智能家居系統(tǒng)
世界上第一幢智能建筑1984年在美國出現(xiàn)后[1],家居環(huán)境智能化已成為當前的社會主流,隨著人們生活節(jié)奏的加快和生活壓力的加大,智能家居成為人們追求舒適生活的必要途徑。智能家居網(wǎng)絡(luò)是指在家庭內(nèi)部通過一定的傳輸介質(zhì)(如電力線、雙絞線、同軸電纜、無線電、紅外等)將各種電氣設(shè)備和電氣子系統(tǒng)連接起來,采用統(tǒng)一的通信協(xié)議,對內(nèi)實現(xiàn)資源控制,對外能通過網(wǎng)關(guān)設(shè)備與外部互連進行信息交換的網(wǎng)絡(luò)系統(tǒng)[2]。文中提出了通過ZigBee無線組網(wǎng)技術(shù)構(gòu)建智能家居系統(tǒng)底層網(wǎng)絡(luò)的方案。目的在于使智能家居系統(tǒng)的底層網(wǎng)絡(luò)構(gòu)建變得簡單快速,進而使整個智能家居系統(tǒng)具備快速部署和易擴展的特性。
文中設(shè)計的智能家居系統(tǒng)基層網(wǎng)絡(luò)采用ZigBee無線組網(wǎng)技術(shù)實現(xiàn)家居系統(tǒng)內(nèi)部網(wǎng)絡(luò),基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)采用星型拓撲結(jié)構(gòu)。通過ZigBee無線通訊模塊與智能家電以及傳感器構(gòu)成家居內(nèi)部網(wǎng)絡(luò)的終端設(shè)備;使用FFD(Full Function Device)設(shè)備為家居內(nèi)部ZigBee網(wǎng)絡(luò)的中心協(xié)調(diào)器,負責(zé)建立和維護網(wǎng)絡(luò);在中心協(xié)調(diào)器與中央控制服務(wù)器之間使用RS232串口通信實現(xiàn)連接,并通過PC機與互聯(lián)網(wǎng)相連,系統(tǒng)結(jié)構(gòu)如圖1所示。作為智能家居系統(tǒng)的底層基礎(chǔ)網(wǎng)絡(luò),家居內(nèi)部ZigBee無線網(wǎng)絡(luò)可以實現(xiàn)的功能有:(1)收集家庭環(huán)境內(nèi)部的數(shù)據(jù)和信息。(2)對于終端設(shè)備上傳的簡單情況做初步的預(yù)處理。(3)匯總基礎(chǔ)網(wǎng)絡(luò)信息,通過RS232串口通訊協(xié)議將數(shù)據(jù)上傳到中央控制服務(wù)器。
圖1 系統(tǒng)結(jié)構(gòu)圖
ZigBee是基于IEEE802.15.4標準制定的一種短距離、低功耗的無線個人網(wǎng)絡(luò)通信協(xié)議[3],具有近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本的特點。ZigBee協(xié)議棧是以O(shè)SI(Open Systems Interconnection)七層結(jié)構(gòu)為參考建立起來的,為簡化協(xié)議棧,ZigBee協(xié)議棧由4個層結(jié)構(gòu)組成,即物理層、MAC層、網(wǎng)絡(luò)層和應(yīng)用層,ZigBee協(xié)議棧結(jié)構(gòu)如圖2所示。
圖2 ZigBee協(xié)議棧結(jié)構(gòu)圖
(1)物理層:主要功能是啟動和關(guān)閉無線電收發(fā)機、當前頻道內(nèi)的能量監(jiān)測、接收包連接質(zhì)量指示、為CSMA-CA確認清除頻道、頻道頻率選擇、數(shù)據(jù)傳輸和接收。
(2)介質(zhì)接入控制層(MAC層):MAC層負責(zé)維護物理無線電頻道的接口,任務(wù)包括:對于協(xié)調(diào)器要負責(zé)產(chǎn)生網(wǎng)絡(luò)信標、對網(wǎng)絡(luò)信標進行同步、維護個人局域網(wǎng)的加入和離開、維護設(shè)備安全、利用CSMA-CA機制進行頻道管理、處理與維護GTS機制、在MAC實體內(nèi)部保證可靠的連接等。
(3)網(wǎng)絡(luò)層:ZigBee網(wǎng)絡(luò)層由ZigBee聯(lián)盟自行定義,負責(zé)為無線網(wǎng)絡(luò)提供建立、加入和離開網(wǎng)絡(luò),進行路由轉(zhuǎn)發(fā)等功能。
(4)應(yīng)用層:由用戶根據(jù)需要來自行開發(fā),概括來說,應(yīng)用層要實現(xiàn)的功能為:維持節(jié)點功能,發(fā)現(xiàn)該節(jié)點附近的其他工作節(jié)點,維護和管理多個節(jié)點之間的通信。
系統(tǒng)ZigBee基礎(chǔ)網(wǎng)絡(luò)的數(shù)傳模塊采用的芯片為CC2430射頻芯片,CC2430是無線 SOC(System On Chip)設(shè)計,系統(tǒng)所需的一般電路都已集成在芯片內(nèi)部,只需簡單外圍電路就能實現(xiàn)信號收發(fā)功能。CC2430應(yīng)用電路如圖3所示。
圖3 CC2430應(yīng)用電路
電路使用非平衡天線。其中非平衡變壓器由電容C341和電感L341、L321、L331以及一個印制板微波傳輸線組成,整個結(jié)構(gòu)滿足射頻輸入、輸出匹配電阻50 Ω的要求;R221和 R261為偏置電阻,電阻 R221主要用來為32 MHz的晶振提供合適的工作電流;XTAL1為32 MHz晶振,用1個32 MHz的石英諧振器和2個電容(C191和C211)構(gòu)成一個32 MHz的晶振電路;XTAL2為32.768 kHz晶振,用1個32.768 kHz的石英諧振器和2個電容(C441和C431)構(gòu)成一個32.768 kHz的晶振電路;電壓調(diào)節(jié)器為所有要求1.8 V電壓的引腳和內(nèi)部電源供電,電容C241和C421為去耦合電容,用來電源濾波,以提高芯片工作的穩(wěn)定性。本系統(tǒng)在終端設(shè)備和中心協(xié)調(diào)器的設(shè)計中都采用標準的10芯調(diào)試接口。調(diào)試接口使用CC2430的P2_1作為調(diào)試數(shù)據(jù)IO,P2_2作為調(diào)試時鐘,在非調(diào)試模式下這兩個IO可作為GPIO。調(diào)試接口允許片上的Flash編程,且能訪問存儲器和寄存器、設(shè)置斷點、單步運行和修改寄存器內(nèi)容。當RESET_N輸入保持低電平時,如果強制調(diào)試時鐘連續(xù)經(jīng)歷兩個上升沿,系統(tǒng)便進入調(diào)試模式。
終端設(shè)備是智能家居環(huán)境內(nèi)部數(shù)據(jù)來源以及控制命令的具體執(zhí)行者,如圖4所示,其主要由智能家電模塊、信號調(diào)制模塊和ZigBee數(shù)傳模塊組成。一方面,終端設(shè)備通過智能家電模塊中的傳感器單元收集家居環(huán)境的內(nèi)部數(shù)據(jù)信息,通過信號調(diào)制模塊得到有用信號,然后借助無線數(shù)傳模塊將信息上傳;另一方面,終端設(shè)備可通過無線數(shù)傳模塊接收控制命令,并傳達給智能家電模塊的命令執(zhí)行單元進行命令執(zhí)行。
圖4 終端設(shè)備結(jié)構(gòu)
中心協(xié)調(diào)器是智能家居無線內(nèi)部網(wǎng)絡(luò)的核心,負責(zé)建立和維護網(wǎng)絡(luò),并通過串口向PC機發(fā)送終端設(shè)備上傳來的數(shù)據(jù)信息,同時將控制中心傳達的命令傳達到正確的終端設(shè)備,具體結(jié)構(gòu)如圖5所示。與終端設(shè)備的不同之處在于中心協(xié)調(diào)器不包含智能家電模塊和信號調(diào)制模塊,為偵聽串口接收中斷,在中心協(xié)調(diào)器硬件平臺上擴展了RS232串口。
圖5 中心協(xié)調(diào)器結(jié)構(gòu)
通過 ZigBee協(xié)議棧中的 MAC_RADIO_SET_CHANEL(x)可以配置智能家居系統(tǒng)無線ZigBee網(wǎng)絡(luò)的無線信道,其中形參x為信道編號,缺省值為11頻道。在mac_radio_defs.h文件中可定義MAC_RADIO_SET_CHANEL(x)函數(shù)。
原語來啟動智能家居系統(tǒng)網(wǎng)絡(luò)的建立。由于文中采用星型網(wǎng)絡(luò),所以在智能家居系統(tǒng)中只允許中心協(xié)調(diào)器進行初始的網(wǎng)絡(luò)建立。
具體過程:應(yīng)用層通過 NLME_NETWORK_FORMATION.request開啟網(wǎng)絡(luò)建立過程。網(wǎng)絡(luò)層接收命令后,隨即要求MAC層進行信道掃描;MAC層完成第一次掃描后,將掃描結(jié)果回饋到網(wǎng)絡(luò)層,網(wǎng)絡(luò)層管理實體對接收到的信道按照能量值進行排序,并進一步處理,找到一條合適的信道;隨后網(wǎng)絡(luò)層會為這個網(wǎng)絡(luò)配置一個PAN標識符和一個16位的網(wǎng)絡(luò)地址來啟動網(wǎng)絡(luò)。
首先,終端設(shè)備通過NLME_NETWORK_DISCOVERY.request原語,啟動加入網(wǎng)絡(luò)流程。網(wǎng)絡(luò)層隨后發(fā)送MLME_SCAN.request,要求MAC層執(zhí)行信道掃描。當MAC完成掃描后就會向網(wǎng)絡(luò)層管理實體回饋掃描信息。網(wǎng)絡(luò)層管理實體隨后發(fā)送網(wǎng)絡(luò)發(fā)現(xiàn)確認原語,將掃描到的ZigBee版本號、堆棧結(jié)構(gòu)、各域網(wǎng)標識符、邏輯信道以及是否允許連接等信息上傳應(yīng)用層。應(yīng)用層決定是否加入并通過發(fā)送加入原語申請加入。此時中心協(xié)調(diào)器在收到終端設(shè)備的申請加入請求后,中心協(xié)調(diào)器通過NLME_NETWORK_JOINING.request原語向MAC層下達允許加入的命令,并通過NLME_PERMIT_JOINING.confirm原語反饋命令執(zhí)行情況。加入請求原語中的PermitDuration參數(shù)是ZigBee協(xié)調(diào)器允許終端設(shè)備的連接時間,有效值范圍0x00~0xFF。當PermitDuration參數(shù)被設(shè)定在0x01到0xFE之間時,網(wǎng)絡(luò)層管理實體就會設(shè)定一個定時器,用來計時,以此進行連接的時間限制。在智能家居系統(tǒng)中通常不需要對終端設(shè)備與中心協(xié)調(diào)器的連接進行時間限制,所以這一參數(shù)通常設(shè)定為0xFF。
終端設(shè)備,通過傳感器模塊收集信息,并借助ZigBee模塊將收集來的信息上傳,當ZigBee模塊接收到控制命令時,控制模塊負責(zé)根據(jù)命令執(zhí)行操作。程序流程如下:開啟電源啟動終端設(shè)備,初始化終端設(shè)備的硬件資源、并啟動協(xié)議棧、加入網(wǎng)絡(luò)。當設(shè)備成功加入網(wǎng)絡(luò)后,開始設(shè)置循環(huán)采集時鐘,當有數(shù)據(jù)包被收到后,終端設(shè)備隨即解讀數(shù)據(jù)信息,并執(zhí)行命令。沒有數(shù)據(jù)包接收就進入采集過程,當發(fā)現(xiàn)采集數(shù)據(jù)超過限制時,按預(yù)定程序進入處理程序并向上傳達報警數(shù)據(jù)包報警,當?shù)竭_循環(huán)采樣點時,系統(tǒng)將該時刻的采集數(shù)據(jù)上傳。
中心協(xié)調(diào)器由ZigBee模塊接收終端設(shè)備上傳來的數(shù)據(jù)信息,并通過串口線連接PC機器,將收集來的信息傳輸給中央控制服務(wù)器。流程如下:開啟電源開關(guān)啟動中心協(xié)調(diào)器,其主程序啟動。通過halBoardInit()函數(shù)初始化設(shè)備的硬件設(shè)備,系統(tǒng)進入網(wǎng)絡(luò)建立過程。當網(wǎng)絡(luò)建立完成之后,中心協(xié)調(diào)器進入一個無限的循環(huán)工作狀態(tài):如果有無線電數(shù)據(jù),就進入無線電接收數(shù)據(jù)過程,接收完成后還需要將接收來的信息,上傳到控制中心;如果沒有無線電數(shù)據(jù)接入,則判斷串口控制命令,協(xié)調(diào)器隨即開始解析命令,并向下傳達。當這兩個過程完成時,系統(tǒng)回到判斷是否有無線電數(shù)據(jù)的判斷過程,系統(tǒng)進入再一次循環(huán)。
圖6 終端設(shè)備程序流程圖
以ZigBee無線組網(wǎng)技術(shù)構(gòu)建智能家居系統(tǒng)的底層基礎(chǔ)網(wǎng)絡(luò),通過構(gòu)建一種成本低廉、部署快捷的基礎(chǔ)無線網(wǎng)絡(luò),進而降低智能家居系統(tǒng)的搭建成本和構(gòu)建難度。此外,以此為基礎(chǔ)的智能家居系統(tǒng)還具有良好的擴展性,可根據(jù)具體的應(yīng)用需求,在不同的智能家電模塊與無線數(shù)傳模塊之間實現(xiàn)連接,使之接入智能家居系統(tǒng)。
圖7 中心協(xié)調(diào)器程序流程圖
[1]侯海濤.國內(nèi)外智能家居發(fā)展現(xiàn)狀[J].建材發(fā)展導(dǎo)向,2004(5):92-93.
[2]潘維琴.智能社區(qū)及家庭網(wǎng)絡(luò)技術(shù)研究[D].遼寧:大連理工大學(xué),2005.
[3]高守瑋,吳燦陽.ZigBee技術(shù)實踐教程[M].北京:北京航空航天大學(xué)出版社,2008.
[4]Texas Instruments Inc.Z - Stack HAL Porting Guide[M].USA:Texas Instruments Inc,2007.
[5]Texas Instruments Inc.Z - Stack Developer's Guide[J].USA:Texas Instruments Inc,2007.
[6]Texas Instruments Inc.CC2430芯片使用手冊A Truo Seystem - on - Chipsolution for 2.4 GHz IEEE 802.15.4/Zig-Bee[M].USA:Texas Instruments Inc,2005.
Smart Home System Internal Network Based on Zigbee Technology
WANG Bo
(School of Electronic Engineering,Xidian University,Xi'an 710071,China)
In order to enhance the rapid deployment of the intelligent household system and to reduce the cost of construction,this paper presents a design scheme of the intelligent household system,in which the Zigbee wireless networking technology has been used to construct the basic internal network.On the basis of CC2430 radio chip and in virtue of some peripheral circuits,the scheme designs the hardware circuit of the terminal device and the Center Coordinator;according to the Zigbee stack,C language is used to design the communication application software for the terminal device and the Center Coordinator.
ZigBee stack;CC2430;center coordinator;intelligent household system
TN926
A
1007-7820(2012)08-114-04
2012-01-07
王博(1986—),男,碩士研究生。研究方向:物聯(lián)網(wǎng)。