基于ZigBee無線傳感器網絡的智能家居設計
1.3 網絡節點的設計
如圖2所示,傳感器網絡節點的基本組成和功能包括如下幾個單元:(1)傳感單元,將節點與物理世界聯系起來,由一組傳感器、激勵裝置和數模轉換功能模塊構成。(2)處理單元,由嵌入式系統構成,包括CPU、存儲器、嵌入式操作系統等。(3)通信單元,由無線通信模塊組成。(4)供電裝置,此外可以選擇的其他功能單元包括:定位系統、移動系統以及電源自供電系統等。本文引用地址:http://www.104case.com/article/154878.htm
在傳感器網絡中大量的節點部署在感知對象內部或者附近。這些節點通過自組織的方式構成無線網絡,并以協作的方式感知、采集和處理網絡覆蓋區域中特定的信息,從而實現對任意地點信息在任意時間的采集、處理和分析。
監控節點主要完成兩方面工作:將傳感器放大電路輸出的模擬電壓轉換成數字信號,再將這個數字信號通過ZigBee網絡發送給網絡協調器。監控節點加入網絡后,一直處于睡眠狀態,當收到來自外部的喚醒信號后,開始進行數據的采集或發送報警信號,完成任務后再次回到睡眠狀態,直到下一次喚醒。
2 系統方案設計
2.1 網絡的建立
ZigBee協議規定:只有當前還沒有加入網絡且具有ZigBee協調器能力的設備,可以嘗試建立一個新網絡。當建網過程開始后,協調器首先對協議所規定的信道或由物理層所默認的有效信道進行能量檢測掃描。如果某個信道的能量低于預定值,則表示該信道是可用信道,并進行標記。然后,在可用信道中進行主動掃描,尋找信道中存在的ZigBee設備,找到一個最佳信道,即存在ZigBee設備相對較少的信道,由該信道所組建的網絡即為佳ZigBee網絡。這時,協調器通過一個PAN標識符來標注該信道,以識別該新建的網絡。一旦選擇一個PAN標識符后,協調器將會為自己分配一個0x0000的16位邏輯地址,這樣就成功地啟動了一個新網絡,如圖3所示。
(1)在網絡開始建立前,首先要確定這個設備為ZigBee協調器。我們通過協議棧配置文件ZigBee.def中的#define I_AM_COORDINATOR來定義這個設備為ZigBee協調器。協調器的應用層調用NLME_NETWORK_FORMATION.request原語,發出建立網絡請求,網絡層收到這個原語后,要求MAC層執行信道能量掃描。
(2)MAC層調用MLME_SCAN.request,主要找到信道能量低于設定能量值的信道,標注這些信道是可用信道。通過函數NWKStartDiscovery(),對掃描的起始信道進行設置假定起始值為N。然后執行MACStartED()對信道進行能量檢測掃描,得到信道能量值。
(3)通過MACStartScan(TRUE)對信道N進行主動掃描,判斷是否發現網絡。通過記錄每次接收到的信標幀信息掃描可用信道中網絡活動情況,并將掃描結果記錄在個域網描述符列表中,最后找到一個最優信道。
(4)調用函數APLNetworkForm()在最優信道上建立網絡,給網絡隨機分配一個PAN ID,通過MACSetShortAddrLSB(0x00)和MACSetShort AddrMSB(0x00)給協調器分配一個0x0000的網絡地址,并把協調器的MAC地址存入鄰居表中。網絡層向MAC層發送MLME_START.request原語請求開始發送信標幀運行新的個域網,MAC層將運行結果通過MLME_START.confirm原語返回網絡層。網絡層收到個域網啟動狀態后,通過NL ME_NETWORK_FORMATION.confirm原語將告知應用層建立要求的網絡狀態。最后協調器應用層通過發送NLME_PERMIT_JOIN.request原語允許設備與網絡連接。
評論