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