《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee技術(shù)的智能家居系統(tǒng)內(nèi)部組網(wǎng)
基于ZigBee技術(shù)的智能家居系統(tǒng)內(nèi)部組網(wǎng)
摘要: 為了提高智能家居系統(tǒng)的快速部署能力、降低構(gòu)建成本,提出了一種利用ZigBee無線組網(wǎng)技術(shù),構(gòu)建智能家居系統(tǒng)內(nèi)部基礎(chǔ)網(wǎng)絡(luò)的設(shè)計(jì)方案。該方案采用無線射頻收發(fā)CC2430芯片和外圍電路設(shè)計(jì)終端設(shè)備與中心協(xié)調(diào)器的硬件電路。根據(jù)ZigBee協(xié)議棧使用C語(yǔ)言編寫終端設(shè)備和中心協(xié)調(diào)器的通信應(yīng)用軟件。
Abstract:
Key words :

    世界上第一幢智能建筑1984 年在美國(guó)出現(xiàn)后,家居環(huán)境智能化已成為當(dāng)前的社會(huì)主流,隨著人們生活節(jié)奏的加快和生活壓力的加大,智能家居成為人們追求舒適生活的必要途徑。智能家居網(wǎng)絡(luò)是指在家庭內(nèi)部通過一定的傳輸介質(zhì)( 如電力線、雙絞線、同軸電纜、無線電、紅外等) 將各種電氣設(shè)備和電氣子系統(tǒng)連接起來,采用統(tǒng)一的通信協(xié)議,對(duì)內(nèi)實(shí)現(xiàn)資源控制,對(duì)外能通過網(wǎng)關(guān)設(shè)備與外部互連進(jìn)行信息交換的網(wǎng)絡(luò)系統(tǒng)。文中提出了通過ZigBee 無線組網(wǎng)技術(shù)構(gòu)建智能家居系統(tǒng)底層網(wǎng)絡(luò)的方案。目的在于使智能家居系統(tǒng)的底層網(wǎng)絡(luò)構(gòu)建變得簡(jiǎn)單快速,進(jìn)而使整個(gè)智能家居系統(tǒng)具備快速部署和易擴(kuò)展的特性。

1 網(wǎng)絡(luò)結(jié)構(gòu)概述

  文中設(shè)計(jì)的智能家居系統(tǒng)基層網(wǎng)絡(luò)采用ZigBee無線組網(wǎng)技術(shù)實(shí)現(xiàn)家居系統(tǒng)內(nèi)部網(wǎng)絡(luò),基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)采用星型拓?fù)浣Y(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)器,負(fù)責(zé)建立和維護(hù)網(wǎng)絡(luò); 在中心協(xié)調(diào)器與中央控制服務(wù)器之間使用RS232 串口通信實(shí)現(xiàn)連接,并通過PC 機(jī)與互聯(lián)網(wǎng)相連,系統(tǒng)結(jié)構(gòu)如圖1 所示。作為智能家居系統(tǒng)的底層基礎(chǔ)網(wǎng)絡(luò),家居內(nèi)部ZigBee 無線網(wǎng)絡(luò)可以實(shí)現(xiàn)的功能有: ( 1) 收集家庭環(huán)境內(nèi)部的數(shù)據(jù)和信息。( 2) 對(duì)于終端設(shè)備上傳的簡(jiǎn)單情況做初步的預(yù)處理。( 3) 匯總基礎(chǔ)網(wǎng)絡(luò)信息,通過RS232 串口通訊協(xié)議將數(shù)據(jù)上傳到中央控制服務(wù)器。

圖1 系統(tǒng)結(jié)構(gòu)圖

圖1 系統(tǒng)結(jié)構(gòu)圖

2 ZigBee 技術(shù)

  ZigBee 是基于IEEE802. 15. 4 標(biāo)準(zhǔn)制定的一種短距離、低功耗的無線個(gè)人網(wǎng)絡(luò)通信協(xié)議,具有近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本的特點(diǎn)。

  ZigBee 協(xié)議棧是以O(shè)SI(Open Systems Interconnection)七層結(jié)構(gòu)為參考建立起來的,為簡(jiǎn)化協(xié)議棧,ZigBee 協(xié)議棧由4 個(gè)層結(jié)構(gòu)組成,即物理層、MAC 層、網(wǎng)絡(luò)層和應(yīng)用層,ZigBee 協(xié)議棧結(jié)構(gòu)如圖2 所示。

圖2 ZigBee 協(xié)議棧結(jié)構(gòu)圖

圖2 ZigBee 協(xié)議棧結(jié)構(gòu)圖

       (1) 物理層: 主要功能是啟動(dòng)和關(guān)閉無線電收發(fā)機(jī)、當(dāng)前頻道內(nèi)的能量監(jiān)測(cè)、接收包連接質(zhì)量指示、為CSMA - CA 確認(rèn)清除頻道、頻道頻率選擇、數(shù)據(jù)傳輸和接收。

  (2) 介質(zhì)接入控制層( MAC 層) : MAC 層負(fù)責(zé)維護(hù)物理無線電頻道的接口,任務(wù)包括: 對(duì)于協(xié)調(diào)器要負(fù)責(zé)產(chǎn)生網(wǎng)絡(luò)信標(biāo)、對(duì)網(wǎng)絡(luò)信標(biāo)進(jìn)行同步、維護(hù)個(gè)人局域網(wǎng)的加入和離開、維護(hù)設(shè)備安全、利用CSMA - CA 機(jī)制進(jìn)行頻道管理、處理與維護(hù)GTS 機(jī)制、在MAC 實(shí)體內(nèi)部保證可靠的連接等。

 ?。?) 網(wǎng)絡(luò)層: ZigBee 網(wǎng)絡(luò)層由ZigBee 聯(lián)盟自行定義,負(fù)責(zé)為無線網(wǎng)絡(luò)提供建立、加入和離開網(wǎng)絡(luò),進(jìn)行路由轉(zhuǎn)發(fā)等功能。

  (4) 應(yīng)用層: 由用戶根據(jù)需要來自行開發(fā),概括來說,應(yīng)用層要實(shí)現(xiàn)的功能為: 維持節(jié)點(diǎn)功能,發(fā)現(xiàn)該節(jié)點(diǎn)附近的其他工作節(jié)點(diǎn),維護(hù)和管理多個(gè)節(jié)點(diǎn)之間的通信。

3 ZigBee 基層網(wǎng)絡(luò)硬件

3. 1 ZigBee 數(shù)傳模塊介紹


  系統(tǒng)ZigBee 基礎(chǔ)網(wǎng)絡(luò)的數(shù)傳模塊采用的芯片為CC2430 射頻芯片,CC2430 是無線SOC ( System OnChip) 設(shè)計(jì),系統(tǒng)所需的一般電路都已集成在芯片內(nèi)部,只需簡(jiǎn)單外圍電路就能實(shí)現(xiàn)信號(hào)收發(fā)功能。

  CC2430 應(yīng)用電路如圖3 所示

圖3 CC2430 應(yīng)用電路
電路使用非平衡天線。其中非平衡變壓器由電容C341和電感L341、L321、L331以及一個(gè)印制板微波傳輸線組成,整個(gè)結(jié)構(gòu)滿足射頻輸入、輸出匹配電阻50 Ω 的要求; R221和R261為偏置電阻,電阻R221主要用來為32 MHz的晶振提供合適的工作電流; XTAL1為32 MHz晶振,用1 個(gè)32 MHz 的石英諧振器和2 個(gè)電容( C191和C211) 構(gòu)成一個(gè)32 MHz 的晶振電路; XTAL2為32. 768 kHz 晶振,用1 個(gè)32. 768 kHz 的石英諧振器和2 個(gè)電容( C441和C431) 構(gòu)成一個(gè)32. 768 kHz 的晶振電路; 電壓調(diào)節(jié)器為所有要求1. 8 V 電壓的引腳和內(nèi)部電源供電,電容C241和C421為去耦合電容,用來電源濾波,以提高芯片工作的穩(wěn)定性。本系統(tǒng)在終端設(shè)備和中心協(xié)調(diào)器的設(shè)計(jì)中都采用標(biāo)準(zhǔn)的10 芯調(diào)試接口。

  調(diào)試接口使用CC2430 的P2_1作為調(diào)試數(shù)據(jù)IO,P2_2作為調(diào)試時(shí)鐘,在非調(diào)試模式下這兩個(gè)IO 可作為GPIO.

  調(diào)試接口允許片上的Flash 編程,且能訪問存儲(chǔ)器和寄存器、設(shè)置斷點(diǎn)、單步運(yùn)行和修改寄存器內(nèi)容。當(dāng)RESET_N輸入保持低電平時(shí),如果強(qiáng)制調(diào)試時(shí)鐘連續(xù)經(jīng)歷兩個(gè)上升沿,系統(tǒng)便進(jìn)入調(diào)試模式。

3. 2 終端設(shè)備結(jié)構(gòu)設(shè)計(jì)


  終端設(shè)備是智能家居環(huán)境內(nèi)部數(shù)據(jù)來源以及控制命令的具體執(zhí)行者,如圖4 所示,其主要由智能家電模塊、信號(hào)調(diào)制模塊和ZigBee 數(shù)傳模塊組成。一方面,終端設(shè)備通過智能家電模塊中的傳感器單元收集家居環(huán)境的內(nèi)部數(shù)據(jù)信息,通過信號(hào)調(diào)制模塊得到有用信號(hào),然后借助無線數(shù)傳模塊將信息上傳; 另一方面,終端設(shè)備可通過無線數(shù)傳模塊接收控制命令,并傳達(dá)給智能家電模塊的命令執(zhí)行單元進(jìn)行命令執(zhí)行。


3. 3 中心協(xié)調(diào)器結(jié)構(gòu)設(shè)計(jì)

  中心協(xié)調(diào)器是智能家居無線內(nèi)部網(wǎng)絡(luò)的核心,負(fù)責(zé)建立和維護(hù)網(wǎng)絡(luò),并通過串口向PC 機(jī)發(fā)送終端設(shè)備上傳來的數(shù)據(jù)信息,同時(shí)將控制中心傳達(dá)的命令傳達(dá)到正確的終端設(shè)備,具體結(jié)構(gòu)如圖5 所示。與終端設(shè)備的不同之處在于中心協(xié)調(diào)器不包含智能家電模塊和信號(hào)調(diào)制模塊,為偵聽串口接收中斷,在中心協(xié)調(diào)器硬件平臺(tái)上擴(kuò)展了RS232 串口。

圖5 中心協(xié)調(diào)器結(jié)構(gòu)
圖5 中心協(xié)調(diào)器結(jié)構(gòu)。

4 ZigBee 網(wǎng)絡(luò)通訊軟件

4. 1 信道分配


  通過ZigBee 協(xié)議棧中的MAC _ RADIO _ SET _CHANEL( x) 可以配置智能家居系統(tǒng)無線ZigBee 網(wǎng)絡(luò)的無線信道,其中形參x 為信道編號(hào),缺省值為11 頻道。在mac_radio_defs. h 文件中可定義MAC_RADIO_SET_CHANEL( x) 函數(shù)。

  原語(yǔ)來啟動(dòng)智能家居系統(tǒng)網(wǎng)絡(luò)的建立。由于文中采用星型網(wǎng)絡(luò),所以在智能家居系統(tǒng)中只允許中心協(xié)調(diào)器進(jìn)行初始的網(wǎng)絡(luò)建立。

  具體過程: 應(yīng)用層通過NLME _ NETWORK _FORMATION. request 開啟網(wǎng)絡(luò)建立過程。網(wǎng)絡(luò)層接收命令后,隨即要求MAC 層進(jìn)行信道掃描; MAC 層完成第一次掃描后,將掃描結(jié)果回饋到網(wǎng)絡(luò)層,網(wǎng)絡(luò)層管理實(shí)體對(duì)接收到的信道按照能量值進(jìn)行排序,并進(jìn)一步處理,找到一條合適的信道; 隨后網(wǎng)絡(luò)層會(huì)為這個(gè)網(wǎng)絡(luò)配置一個(gè)PAN 標(biāo)識(shí)符和一個(gè)16 位的網(wǎng)絡(luò)地址來啟動(dòng)網(wǎng)絡(luò)。

4. 2 加入網(wǎng)絡(luò)

  首先,終端設(shè)備通過NLME_NETWORK_DISCOVERY.request 原語(yǔ),啟動(dòng)加入網(wǎng)絡(luò)流程。網(wǎng)絡(luò)層隨后發(fā)送MLME_SCAN. request,要求MAC 層執(zhí)行信道掃描。

  當(dāng)MAC 完成掃描后就會(huì)向網(wǎng)絡(luò)層管理實(shí)體回饋掃描信息。網(wǎng)絡(luò)層管理實(shí)體隨后發(fā)送網(wǎng)絡(luò)發(fā)現(xiàn)確認(rèn)原語(yǔ),將掃描到的ZigBee 版本號(hào)、堆棧結(jié)構(gòu)、各域網(wǎng)標(biāo)識(shí)符、邏輯信道以及是否允許連接等信息上傳應(yīng)用層。應(yīng)用層決定是否加入并通過發(fā)送加入原語(yǔ)申請(qǐng)加入。此時(shí)中心協(xié)調(diào)器在收到終端設(shè)備的申請(qǐng)加入請(qǐng)求后,中心協(xié)調(diào)器通過NLME_NETWORK_JOINING. request 原語(yǔ)向MAC 層下達(dá)允許加入的命令,并通過NLME _PERMIT_ JOINING. confirm 原語(yǔ)反饋命令執(zhí)行情況。

  加入請(qǐng)求原語(yǔ)中的PermitDuration 參數(shù)是ZigBee 協(xié)調(diào)器允許終端設(shè)備的連接時(shí)間,有效值范圍0x00 ~0xFF.當(dāng)PermitDuration 參數(shù)被設(shè)定在0x01 到0xFE之間時(shí),網(wǎng)絡(luò)層管理實(shí)體就會(huì)設(shè)定一個(gè)定時(shí)器,用來計(jì)時(shí),以此進(jìn)行連接的時(shí)間限制。在智能家居系統(tǒng)中通常不需要對(duì)終端設(shè)備與中心協(xié)調(diào)器的連接進(jìn)行時(shí)間限制,所以這一參數(shù)通常設(shè)定為0xFF.

4. 3 終端設(shè)備程序流程

  終端設(shè)備,通過傳感器模塊收集信息,并借助ZigBee模塊將收集來的信息上傳,當(dāng)ZigBee 模塊接收到控制命令時(shí),控制模塊負(fù)責(zé)根據(jù)命令執(zhí)行操作。程序流程如下: 開啟電源啟動(dòng)終端設(shè)備,初始化終端設(shè)備的硬件資源、并啟動(dòng)協(xié)議棧、加入網(wǎng)絡(luò)。當(dāng)設(shè)備成功加入網(wǎng)絡(luò)后,開始設(shè)置循環(huán)采集時(shí)鐘,當(dāng)有數(shù)據(jù)包被收到后,終端設(shè)備隨即解讀數(shù)據(jù)信息,并執(zhí)行命令。沒有數(shù)據(jù)包接收就進(jìn)入采集過程,當(dāng)發(fā)現(xiàn)采集數(shù)據(jù)超過限制時(shí),按預(yù)定程序進(jìn)入處理程序并向上傳達(dá)報(bào)警數(shù)據(jù)包報(bào)警,當(dāng)?shù)竭_(dá)循環(huán)采樣點(diǎn)時(shí),系統(tǒng)將該時(shí)刻的采集數(shù)據(jù)上傳。


圖6 終端設(shè)備程序流程圖

4. 4 中心協(xié)調(diào)器程序流程

  中心協(xié)調(diào)器由ZigBee 模塊接收終端設(shè)備上傳來的數(shù)據(jù)信息,并通過串口線連接PC 機(jī)器,將收集來的信息傳輸給中央控制服務(wù)器。流程如下: 開啟電源開關(guān)啟動(dòng)中心協(xié)調(diào)器,其主程序啟動(dòng)。通過halBoardInit( )函數(shù)初始化設(shè)備的硬件設(shè)備,系統(tǒng)進(jìn)入網(wǎng)絡(luò)建立過程。

  當(dāng)網(wǎng)絡(luò)建立完成之后,中心協(xié)調(diào)器進(jìn)入一個(gè)無限的循環(huán)工作狀態(tài): 如果有無線電數(shù)據(jù),就進(jìn)入無線電接收數(shù)據(jù)過程,接收完成后還需要將接收來的信息,上傳到控制中心; 如果沒有無線電數(shù)據(jù)接入,則判斷串口控制命令,協(xié)調(diào)器隨即開始解析命令,并向下傳達(dá)。當(dāng)這兩個(gè)過程完成時(shí),系統(tǒng)回到判斷是否有無線電數(shù)據(jù)的判斷過程,系統(tǒng)進(jìn)入再一次循環(huán)。

圖7 中心協(xié)調(diào)器程序流程圖

圖7 中心協(xié)調(diào)器程序流程圖

5 結(jié)束語(yǔ)

  以ZigBee 無線組網(wǎng)技術(shù)構(gòu)建智能家居系統(tǒng)的底層基礎(chǔ)網(wǎng)絡(luò),通過構(gòu)建一種成本低廉、部署快捷的基礎(chǔ)無線網(wǎng)絡(luò),進(jìn)而降低智能家居系統(tǒng)的搭建成本和構(gòu)建難度。此外,以此為基礎(chǔ)的智能家居系統(tǒng)還具有良好的擴(kuò)展性,可根據(jù)具體的應(yīng)用需求,在不同的智能家電模塊與無線數(shù)傳模塊之間實(shí)現(xiàn)連接,使之接入智能家居系統(tǒng)。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。