Zigbee組建一個完整的網絡包含兩個步驟:網絡初始化和節點加入網絡。其中,節點加入網絡可以分為通過協調器直接連接入網和通過已有父節點入網。下面來依次說明。
1. 網絡初始化
ZigBee網絡初始化只能是由網絡協調器發起的,在組建網絡前,需要判斷本節點還沒與其他網絡連接。如果節點已經與其他網絡連接時,此節點只能作為該網絡的子節點。一個ZigBee網絡中有且僅有一個ZigBee協調器,一旦網絡建立好了,協調器就退化成路由器的角色,甚至是可以去掉協調器的,這一切得益於ZigBee網絡的分布式特性。
- 網絡初始化流程圖如下:
- 每層詳細解釋:
- 1 . 協調器通過主動掃描,發送信標請求命令(Beacon request command),設置一個掃描期限(T_scan_duration),如果在期限內沒檢測到回應信標,則認為在其范圍內沒有其他協調器,那么此時可以建立自己的ZigBee網絡,並且作為網絡的協調器。非信標網絡的設備會等待請求,信標網絡的設備會周期性的產生信標並且廣播出去。
- 2.
2.1 能量掃描
對指定信道或者默認信道進行能量檢測,以避免可能的干擾,以遞增的方式對所檢測的信道能量值進行排序,拋棄那些能量值超出范圍的信道。選擇一系列可用信道。
2.2主動掃描
接着通過主動掃描的方式,獲取節點通訊半徑內的網絡信息,然后根據這些信息,找一個最好的、相對安靜的信道。最后選擇的信道應該是存在最少的ZigBee網絡,最好是沒有ZigBee網絡。
3. 在所選定的信道上,網絡ID(PAN ID)必須是唯一的,不能和其他ZigBee網絡沖突,不能為廣播地址(0xFFFF)。可以使用設定的PAN ID,也可以通過監聽其他網絡的ID來隨機選擇一個不會沖突的ID號.當路由節點或者設備入網時,協調器會給節點分配短地址來通訊。對於協調器來說,網絡地址始終為0x0000
2.ZigBee入網流程
ZigBee設備的入網流程,詳見下圖:
每層詳細解釋4
節點入網將選擇范圍內信號最強的父節點加入網絡,成功加入后,會得到一個網絡短地址,並通過這個地址進行數據的收發。網絡拓撲關系和地址會保存在各自的flash中。
選擇一個合適的ID后,設備的上層會請求MAC層對物理層和MAC層的phyCurrentChannel、macPANID等PIB屬性進行相應的設置。
3.ZigBee分離流程
詳見下圖: