世界上第一幢智能建筑1984 年在美國出現(xiàn)后,家居環(huán)境智能化已成為當前的社會主流,隨著人們生活節(jié)奏的加快和生活壓力的加大,智能家居成為人們追求舒適生活的必要途徑。智能家居網絡是指在家庭內部通過一定的傳輸介質( 如電力線、雙絞線、同軸電纜、無線電、紅外等) 將各種電氣設備和電氣子系統(tǒng)連接起來,采用統(tǒng)一的通信協(xié)議,對內實現(xiàn)資源控制,對外能通過網關設備與外部互連進行信息交換的網絡系統(tǒng)。文中提出了通過ZigBee 無線組網技術構建智能家居系統(tǒng)底層網絡的方案。目的在于使智能家居系統(tǒng)的底層網絡構建變得簡單快速,進而使整個智能家居系統(tǒng)具備快速部署和易擴展的特性。
1 網絡結構概述
文中設計的智能家居系統(tǒng)基層網絡采用ZigBee無線組網技術實現(xiàn)家居系統(tǒng)內部網絡,基礎網絡結構采用星型拓撲結構。通過ZigBee 無線通訊模塊與智能家電以及傳感器構成家居內部網絡的終端設備; 使用FFD( Full Function Device) 設備為家居內部ZigBee網絡的中心協(xié)調器,負責建立和維護網絡; 在中心協(xié)調器與中央控制服務器之間使用RS232 串口通信實現(xiàn)連接,并通過PC 機與互聯(lián)網相連,系統(tǒng)結構如圖1 所示。作為智能家居系統(tǒng)的底層基礎網絡,家居內部ZigBee 無線網絡可以實現(xiàn)的功能有: ( 1) 收集家庭環(huán)境內部的數據和信息。( 2) 對于終端設備上傳的簡單情況做初步的預處理。( 3) 匯總基礎網絡信息,通過RS232 串口通訊協(xié)議將數據上傳到中央控制服務器。

圖1 系統(tǒng)結構圖
2 ZigBee 技術
ZigBee 是基于IEEE802. 15. 4 標準制定的一種短距離、低功耗的無線個人網絡通信協(xié)議,具有近距離、低復雜度、自組織、低功耗、低數據速率、低成本的特點。
ZigBee 協(xié)議棧是以OSI(Open Systems Interconnection)七層結構為參考建立起來的,為簡化協(xié)議棧,ZigBee 協(xié)議棧由4 個層結構組成,即物理層、MAC 層、網絡層和應用層,ZigBee 協(xié)議棧結構如圖2 所示。

圖2 ZigBee 協(xié)議棧結構圖
(1) 物理層: 主要功能是啟動和關閉無線電收發(fā)機、當前頻道內的能量監(jiān)測、接收包連接質量指示、為CSMA - CA 確認清除頻道、頻道頻率選擇、數據傳輸和接收。
?。?) 介質接入控制層( MAC 層) : MAC 層負責維護物理無線電頻道的接口,任務包括: 對于協(xié)調器要負責產生網絡信標、對網絡信標進行同步、維護個人局域網的加入和離開、維護設備安全、利用CSMA - CA 機制進行頻道管理、處理與維護GTS 機制、在MAC 實體內部保證可靠的連接等。
?。?) 網絡層: ZigBee 網絡層由ZigBee 聯(lián)盟自行定義,負責為無線網絡提供建立、加入和離開網絡,進行路由轉發(fā)等功能。
(4) 應用層: 由用戶根據需要來自行開發(fā),概括來說,應用層要實現(xiàn)的功能為: 維持節(jié)點功能,發(fā)現(xiàn)該節(jié)點附近的其他工作節(jié)點,維護和管理多個節(jié)點之間的通信。
3 ZigBee 基層網絡硬件
3. 1 ZigBee 數傳模塊介紹
系統(tǒng)ZigBee 基礎網絡的數傳模塊采用的芯片為CC2430 射頻芯片,CC2430 是無線SOC ( System OnChip) 設計,系統(tǒng)所需的一般電路都已集成在芯片內部,只需簡單外圍電路就能實現(xiàn)信號收發(fā)功能。
CC2430 應用電路如圖3 所示

電路使用非平衡天線。其中非平衡變壓器由電容C341和電感L341、L321、L331以及一個印制板微波傳輸線組成,整個結構滿足射頻輸入、輸出匹配電阻50 Ω 的要求; R221和R261為偏置電阻,電阻R221主要用來為32 MHz的晶振提供合適的工作電流; XTAL1為32 MHz晶振,用1 個32 MHz 的石英諧振器和2 個電容( C191和C211) 構成一個32 MHz 的晶振電路; XTAL2為32. 768 kHz 晶振,用1 個32. 768 kHz 的石英諧振器和2 個電容( C441和C431) 構成一個32. 768 kHz 的晶振電路; 電壓調節(jié)器為所有要求1. 8 V 電壓的引腳和內部電源供電,電容C241和C421為去耦合電容,用來電源濾波,以提高芯片工作的穩(wěn)定性。本系統(tǒng)在終端設備和中心協(xié)調器的設計中都采用標準的10 芯調試接口。
調試接口使用CC2430 的P2_1作為調試數據IO,P2_2作為調試時鐘,在非調試模式下這兩個IO 可作為GPIO.
調試接口允許片上的Flash 編程,且能訪問存儲器和寄存器、設置斷點、單步運行和修改寄存器內容。當RESET_N輸入保持低電平時,如果強制調試時鐘連續(xù)經歷兩個上升沿,系統(tǒng)便進入調試模式。
3. 2 終端設備結構設計
終端設備是智能家居環(huán)境內部數據來源以及控制命令的具體執(zhí)行者,如圖4 所示,其主要由智能家電模塊、信號調制模塊和ZigBee 數傳模塊組成。一方面,終端設備通過智能家電模塊中的傳感器單元收集家居環(huán)境的內部數據信息,通過信號調制模塊得到有用信號,然后借助無線數傳模塊將信息上傳; 另一方面,終端設備可通過無線數傳模塊接收控制命令,并傳達給智能家電模塊的命令執(zhí)行單元進行命令執(zhí)行。

3. 3 中心協(xié)調器結構設計
中心協(xié)調器是智能家居無線內部網絡的核心,負責建立和維護網絡,并通過串口向PC 機發(fā)送終端設備上傳來的數據信息,同時將控制中心傳達的命令傳達到正確的終端設備,具體結構如圖5 所示。與終端設備的不同之處在于中心協(xié)調器不包含智能家電模塊和信號調制模塊,為偵聽串口接收中斷,在中心協(xié)調器硬件平臺上擴展了RS232 串口。

圖5 中心協(xié)調器結構。
4 ZigBee 網絡通訊軟件
4. 1 信道分配
通過ZigBee 協(xié)議棧中的MAC _ RADIO _ SET _CHANEL( x) 可以配置智能家居系統(tǒng)無線ZigBee 網絡的無線信道,其中形參x 為信道編號,缺省值為11 頻道。在mac_radio_defs. h 文件中可定義MAC_RADIO_SET_CHANEL( x) 函數。
原語來啟動智能家居系統(tǒng)網絡的建立。由于文中采用星型網絡,所以在智能家居系統(tǒng)中只允許中心協(xié)調器進行初始的網絡建立。
具體過程: 應用層通過NLME _ NETWORK _FORMATION. request 開啟網絡建立過程。網絡層接收命令后,隨即要求MAC 層進行信道掃描; MAC 層完成第一次掃描后,將掃描結果回饋到網絡層,網絡層管理實體對接收到的信道按照能量值進行排序,并進一步處理,找到一條合適的信道; 隨后網絡層會為這個網絡配置一個PAN 標識符和一個16 位的網絡地址來啟動網絡。
4. 2 加入網絡
首先,終端設備通過NLME_NETWORK_DISCOVERY.request 原語,啟動加入網絡流程。網絡層隨后發(fā)送MLME_SCAN. request,要求MAC 層執(zhí)行信道掃描。
當MAC 完成掃描后就會向網絡層管理實體回饋掃描信息。網絡層管理實體隨后發(fā)送網絡發(fā)現(xiàn)確認原語,將掃描到的ZigBee 版本號、堆棧結構、各域網標識符、邏輯信道以及是否允許連接等信息上傳應用層。應用層決定是否加入并通過發(fā)送加入原語申請加入。此時中心協(xié)調器在收到終端設備的申請加入請求后,中心協(xié)調器通過NLME_NETWORK_JOINING. request 原語向MAC 層下達允許加入的命令,并通過NLME _PERMIT_ JOINING. confirm 原語反饋命令執(zhí)行情況。
加入請求原語中的PermitDuration 參數是ZigBee 協(xié)調器允許終端設備的連接時間,有效值范圍0x00 ~0xFF.當PermitDuration 參數被設定在0x01 到0xFE之間時,網絡層管理實體就會設定一個定時器,用來計時,以此進行連接的時間限制。在智能家居系統(tǒng)中通常不需要對終端設備與中心協(xié)調器的連接進行時間限制,所以這一參數通常設定為0xFF.
4. 3 終端設備程序流程
終端設備,通過傳感器模塊收集信息,并借助ZigBee模塊將收集來的信息上傳,當ZigBee 模塊接收到控制命令時,控制模塊負責根據命令執(zhí)行操作。程序流程如下: 開啟電源啟動終端設備,初始化終端設備的硬件資源、并啟動協(xié)議棧、加入網絡。當設備成功加入網絡后,開始設置循環(huán)采集時鐘,當有數據包被收到后,終端設備隨即解讀數據信息,并執(zhí)行命令。沒有數據包接收就進入采集過程,當發(fā)現(xiàn)采集數據超過限制時,按預定程序進入處理程序并向上傳達報警數據包報警,當到達循環(huán)采樣點時,系統(tǒng)將該時刻的采集數據上傳。

圖6 終端設備程序流程圖
4. 4 中心協(xié)調器程序流程
中心協(xié)調器由ZigBee 模塊接收終端設備上傳來的數據信息,并通過串口線連接PC 機器,將收集來的信息傳輸給中央控制服務器。流程如下: 開啟電源開關啟動中心協(xié)調器,其主程序啟動。通過halBoardInit( )函數初始化設備的硬件設備,系統(tǒng)進入網絡建立過程。
當網絡建立完成之后,中心協(xié)調器進入一個無限的循環(huán)工作狀態(tài): 如果有無線電數據,就進入無線電接收數據過程,接收完成后還需要將接收來的信息,上傳到控制中心; 如果沒有無線電數據接入,則判斷串口控制命令,協(xié)調器隨即開始解析命令,并向下傳達。當這兩個過程完成時,系統(tǒng)回到判斷是否有無線電數據的判斷過程,系統(tǒng)進入再一次循環(huán)。

圖7 中心協(xié)調器程序流程圖
5 結束語
以ZigBee 無線組網技術構建智能家居系統(tǒng)的底層基礎網絡,通過構建一種成本低廉、部署快捷的基礎無線網絡,進而降低智能家居系統(tǒng)的搭建成本和構建難度。此外,以此為基礎的智能家居系統(tǒng)還具有良好的擴展性,可根據具體的應用需求,在不同的智能家電模塊與無線數傳模塊之間實現(xiàn)連接,使之接入智能家居系統(tǒng)。
