基于ZigBee技術(shù)的智能家居系統內部組網(wǎng)設計
摘要:為了提高智能家居系統的快速部署能力、降低構建成本,提出了一種利用ZigBee 無(wú)線(xiàn)組網(wǎng)技術(shù),構建智能家居系統內部基礎網(wǎng)絡(luò )的設計方案。該方案采用無(wú)線(xiàn)射頻收發(fā)CC2430 芯片和外圍電路設計終端設備與中心協(xié)調器的硬件電路。根據ZigBee 協(xié)議棧使用C 語(yǔ)言編寫(xiě)終端設備和中心協(xié)調器的通信應用軟件。
世界上第一幢智能建筑1984 年在美國出現后,家居環(huán)境智能化已成為當前的社會(huì )主流,隨著(zhù)人們生活節奏的加快和生活壓力的加大,智能家居成為人們追求舒適生活的必要途徑。智能家居網(wǎng)絡(luò )是指在家庭內部通過(guò)一定的傳輸介質(zhì)( 如電力線(xiàn)、雙絞線(xiàn)、同軸電纜、無(wú)線(xiàn)電、紅外等) 將各種電氣設備和電氣子系統連接起來(lái),采用統一的通信協(xié)議,對內實(shí)現資源控制,對外能通過(guò)網(wǎng)關(guān)設備與外部互連進(jìn)行信息交換的網(wǎng)絡(luò )系統。文中提出了通過(guò)ZigBee 無(wú)線(xiàn)組網(wǎng)技術(shù)構建智能家居系統底層網(wǎng)絡(luò )的方案。目的在于使智能家居系統的底層網(wǎng)絡(luò )構建變得簡(jiǎn)單快速,進(jìn)而使整個(gè)智能家居系統具備快速部署和易擴展的特性。
1 網(wǎng)絡(luò )結構概述
文中設計的智能家居系統基層網(wǎng)絡(luò )采用ZigBee無(wú)線(xiàn)組網(wǎng)技術(shù)實(shí)現家居系統內部網(wǎng)絡(luò ),基礎網(wǎng)絡(luò )結構采用星型拓撲結構。通過(guò)ZigBee 無(wú)線(xiàn)通訊模塊與智能家電以及傳感器構成家居內部網(wǎng)絡(luò )的終端設備; 使用FFD( Full Function Device) 設備為家居內部ZigBee網(wǎng)絡(luò )的中心協(xié)調器,負責建立和維護網(wǎng)絡(luò ); 在中心協(xié)調器與中央控制服務(wù)器之間使用RS232 串口通信實(shí)現連接,并通過(guò)PC 機與互聯(lián)網(wǎng)相連,系統結構如圖1 所示。作為智能家居系統的底層基礎網(wǎng)絡(luò ),家居內部ZigBee 無(wú)線(xiàn)網(wǎng)絡(luò )可以實(shí)現的功能有: ( 1) 收集家庭環(huán)境內部的數據和信息。( 2) 對于終端設備上傳的簡(jiǎn)單情況做初步的預處理。( 3) 匯總基礎網(wǎng)絡(luò )信息,通過(guò)RS232 串口通訊協(xié)議將數據上傳到中央控制服務(wù)器。
圖1 系統結構圖
2 ZigBee 技術(shù)
ZigBee 是基于IEEE802. 15. 4 標準制定的一種短距離、低功耗的無(wú)線(xiàn)個(gè)人網(wǎng)絡(luò )通信協(xié)議,具有近距離、低復雜度、自組織、低功耗、低數據速率、低成本的特點(diǎn)。
ZigBee 協(xié)議棧是以OSI(Open Systems Interconnection)七層結構為參考建立起來(lái)的,為簡(jiǎn)化協(xié)議棧,ZigBee 協(xié)議棧由4 個(gè)層結構組成,即物理層、MAC 層、網(wǎng)絡(luò )層和應用層,ZigBee 協(xié)議棧結構如圖2 所示。
圖2 ZigBee 協(xié)議棧結構圖。
?。?1) 物理層: 主要功能是啟動(dòng)和關(guān)閉無(wú)線(xiàn)電收發(fā)機、當前頻道內的能量監測、接收包連接質(zhì)量指示、為CSMA - CA 確認清除頻道、頻道頻率選擇、數據傳輸和接收。
?。?2) 介質(zhì)接入控制層( MAC 層) : MAC 層負責維護物理無(wú)線(xiàn)電頻道的接口,任務(wù)包括: 對于協(xié)調器要負責產(chǎn)生網(wǎng)絡(luò )信標、對網(wǎng)絡(luò )信標進(jìn)行同步、維護個(gè)人局域網(wǎng)的加入和離開(kāi)、維護設備安全、利用CSMA - CA 機制進(jìn)行頻道管理、處理與維護GTS 機制、在MAC 實(shí)體內部保證可靠的連接等。
?。?3) 網(wǎng)絡(luò )層: ZigBee 網(wǎng)絡(luò )層由ZigBee 聯(lián)盟自行定義,負責為無(wú)線(xiàn)網(wǎng)絡(luò )提供建立、加入和離開(kāi)網(wǎng)絡(luò ),進(jìn)行路由轉發(fā)等功能。
?。?4) 應用層: 由用戶(hù)根據需要來(lái)自行開(kāi)發(fā),概括來(lái)說(shuō),應用層要實(shí)現的功能為: 維持節點(diǎn)功能,發(fā)現該節點(diǎn)附近的其他工作節點(diǎn),維護和管理多個(gè)節點(diǎn)之間的通信。
3 ZigBee 基層網(wǎng)絡(luò )硬件
3. 1 ZigBee 數傳模塊介紹
系統ZigBee 基礎網(wǎng)絡(luò )的數傳模塊采用的芯片為CC2430 射頻芯片,CC2430 是無(wú)線(xiàn)SOC ( System OnChip) 設計,系統所需的一般電路都已集成在芯片內部,只需簡(jiǎn)單外圍電路就能實(shí)現信號收發(fā)功能。
CC2430 應用電路如圖3 所示。
圖3 CC2430 應用電路。
電路使用非平衡天線(xiàn)。其中非平衡變壓器由電容C341和電感L341、L321、L331以及一個(gè)印制板微波傳輸線(xiàn)組成,整個(gè)結構滿(mǎn)足射頻輸入、輸出匹配電阻50 Ω 的要求; R221和R261為偏置電阻,電阻R221主要用來(lái)為32 MHz的晶振提供合適的工作電流; XTAL1為32 MHz晶振,用1 個(gè)32 MHz 的石英諧振器和2 個(gè)電容( C191和C211) 構成一個(gè)32 MHz 的晶振電路; XTAL2為32. 768 kHz 晶振,用1 個(gè)32. 768 kHz 的石英諧振器和2 個(gè)電容( C441和C431) 構成一個(gè)32. 768 kHz 的晶振電路; 電壓調節器為所有要求1. 8 V 電壓的引腳和內部電源供電,電容C241和C421為去耦合電容,用來(lái)電源濾波,以提高芯片工作的穩定性。本系統在終端設備和中心協(xié)調器的設計中都采用標準的10 芯調試接口。
調試接口使用CC2430 的P2_1作為調試數據IO,P2_2作為調試時(shí)鐘,在非調試模式下這兩個(gè)IO 可作為GPIO.
調試接口允許片上的Flash 編程,且能訪(fǎng)問(wèn)存儲器和寄存器、設置斷點(diǎn)、單步運行和修改寄存器內容。當RESET_N輸入保持低電平時(shí),如果強制調試時(shí)鐘連續經(jīng)歷兩個(gè)上升沿,系統便進(jìn)入調試模式。
3. 2 終端設備結構設計
終端設備是智能家居環(huán)境內部數據來(lái)源以及控制命令的具體執行者,如圖4 所示,其主要由智能家電模塊、信號調制模塊和ZigBee 數傳模塊組成。一方面,終端設備通過(guò)智能家電模塊中的傳感器單元收集家居環(huán)境的內部數據信息,通過(guò)信號調制模塊得到有用信號,然后借助無(wú)線(xiàn)數傳模塊將信息上傳; 另一方面,終端設備可通過(guò)無(wú)線(xiàn)數傳模塊接收控制命令,并傳達給智能家電模塊的命令執行單元進(jìn)行命令執行。
圖4 終端設備結構。
3. 3 中心協(xié)調器結構設計
中心協(xié)調器是智能家居無(wú)線(xiàn)內部網(wǎng)絡(luò )的核心,負責建立和維護網(wǎng)絡(luò ),并通過(guò)串口向PC 機發(fā)送終端設備上傳來(lái)的數據信息,同時(shí)將控制中心傳達的命令傳達到正確的終端設備,具體結構如圖5 所示。與終端設備的不同之處在于中心協(xié)調器不包含智能家電模塊和信號調制模塊,為偵聽(tīng)串口接收中斷,在中心協(xié)調器硬件平臺上擴展了RS232 串口。
圖5 中心協(xié)調器結構。
4 ZigBee 網(wǎng)絡(luò )通訊軟件
4. 1 信道分配
通過(guò)ZigBee 協(xié)議棧中的MAC _ RADIO _ SET _CHANEL( x) 可以配置智能家居系統無(wú)線(xiàn)ZigBee 網(wǎng)絡(luò )的無(wú)線(xiàn)信道,其中形參x 為信道編號,缺省值為11 頻道。在mac_radio_defs. h 文件中可定義MAC_RADIO_SET_CHANEL( x) 函數。
原語(yǔ)來(lái)啟動(dòng)智能家居系統網(wǎng)絡(luò )的建立。由于文中采用星型網(wǎng)絡(luò ),所以在智能家居系統中只允許中心協(xié)調器進(jìn)行初始的網(wǎng)絡(luò )建立。
具體過(guò)程: 應用層通過(guò)NLME _ NETWORK _FORMATION. request 開(kāi)啟網(wǎng)絡(luò )建立過(guò)程。網(wǎng)絡(luò )層接收命令后,隨即要求MAC 層進(jìn)行信道掃描; MAC 層完成第一次掃描后,將掃描結果回饋到網(wǎng)絡(luò )層,網(wǎng)絡(luò )層管理實(shí)體對接收到的信道按照能量值進(jìn)行排序,并進(jìn)一步處理,找到一條合適的信道; 隨后網(wǎng)絡(luò )層會(huì )為這個(gè)網(wǎng)絡(luò )配置一個(gè)PAN 標識符和一個(gè)16 位的網(wǎng)絡(luò )地址來(lái)啟動(dòng)網(wǎng)絡(luò )。
4. 2 加入網(wǎng)絡(luò )
首先,終端設備通過(guò)NLME_NETWORK_DISCOVERY.request 原語(yǔ),啟動(dòng)加入網(wǎng)絡(luò )流程。網(wǎng)絡(luò )層隨后發(fā)送MLME_SCAN. request,要求MAC 層執行信道掃描。
當MAC 完成掃描后就會(huì )向網(wǎng)絡(luò )層管理實(shí)體回饋掃描信息。網(wǎng)絡(luò )層管理實(shí)體隨后發(fā)送網(wǎng)絡(luò )發(fā)現確認原語(yǔ),將掃描到的ZigBee 版本號、堆棧結構、各域網(wǎng)標識符、邏輯信道以及是否允許連接等信息上傳應用層。應用層決定是否加入并通過(guò)發(fā)送加入原語(yǔ)申請加入。此時(shí)中心協(xié)調器在收到終端設備的申請加入請求后,中心協(xié)調器通過(guò)NLME_NETWORK_JOINING. request 原語(yǔ)向MAC 層下達允許加入的命令,并通過(guò)NLME _PERMIT_ JOINING. confirm 原語(yǔ)反饋命令執行情況。
加入請求原語(yǔ)中的PermitDuration 參數是ZigBee 協(xié)調器允許終端設備的連接時(shí)間,有效值范圍0x00 ~0xFF.當PermitDuration 參數被設定在0x01 到0xFE之間時(shí),網(wǎng)絡(luò )層管理實(shí)體就會(huì )設定一個(gè)定時(shí)器,用來(lái)計時(shí),以此進(jìn)行連接的時(shí)間限制。在智能家居系統中通常不需要對終端設備與中心協(xié)調器的連接進(jìn)行時(shí)間限制,所以這一參數通常設定為0xFF.
4. 3 終端設備程序流程
終端設備,通過(guò)傳感器模塊收集信息,并借助ZigBee模塊將收集來(lái)的信息上傳,當ZigBee 模塊接收到控制命令時(shí),控制模塊負責根據命令執行操作。程序流程如下: 開(kāi)啟電源啟動(dòng)終端設備,初始化終端設備的硬件資源、并啟動(dòng)協(xié)議棧、加入網(wǎng)絡(luò )。當設備成功加入網(wǎng)絡(luò )后,開(kāi)始設置循環(huán)采集時(shí)鐘,當有數據包被收到后,終端設備隨即解讀數據信息,并執行命令。沒(méi)有數據包接收就進(jìn)入采集過(guò)程,當發(fā)現采集數據超過(guò)限制時(shí),按預定程序進(jìn)入處理程序并向上傳達報警數據包報警,當到達循環(huán)采樣點(diǎn)時(shí),系統將該時(shí)刻的采集數據上傳。
圖6 終端設備程序流程圖
4. 4 中心協(xié)調器程序流程
中心協(xié)調器由ZigBee 模塊接收終端設備上傳來(lái)的數據信息,并通過(guò)串口線(xiàn)連接PC 機器,將收集來(lái)的信息傳輸給中央控制服務(wù)器。流程如下: 開(kāi)啟電源開(kāi)關(guān)啟動(dòng)中心協(xié)調器,其主程序啟動(dòng)。通過(guò)halBoardInit( )函數初始化設備的硬件設備,系統進(jìn)入網(wǎng)絡(luò )建立過(guò)程。
當網(wǎng)絡(luò )建立完成之后,中心協(xié)調器進(jìn)入一個(gè)無(wú)限的循環(huán)工作狀態(tài): 如果有無(wú)線(xiàn)電數據,就進(jìn)入無(wú)線(xiàn)電接收數據過(guò)程,接收完成后還需要將接收來(lái)的信息,上傳到控制中心; 如果沒(méi)有無(wú)線(xiàn)電數據接入,則判斷串口控制命令,協(xié)調器隨即開(kāi)始解析命令,并向下傳達。當這兩個(gè)過(guò)程完成時(shí),系統回到判斷是否有無(wú)線(xiàn)電數據的判斷過(guò)程,系統進(jìn)入再一次循環(huán)。
圖7 中心協(xié)調器程序流程圖
5 結束語(yǔ)
以ZigBee 無(wú)線(xiàn)組網(wǎng)技術(shù)構建智能家居系統的底層基礎網(wǎng)絡(luò ),通過(guò)構建一種成本低廉、部署快捷的基礎無(wú)線(xiàn)網(wǎng)絡(luò ),進(jìn)而降低智能家居系統的搭建成本和構建難度。此外,以此為基礎的智能家居系統還具有良好的擴展性,可根據具體的應用需求,在不同的智能家電模塊與無(wú)線(xiàn)數傳模塊之間實(shí)現連接,使之接入智能家居系統。
評論