色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 物聯倉儲系統ZigBee組網原理

物聯倉儲系統ZigBee組網原理 時間:2018-09-29      來源:未知

在嵌入式項目物聯倉儲系統中,使用cortexM0模擬倉庫,cortex-A9模擬服務器,兩塊開發板之間使用ZigBee技術實現數據接收和發送,本文就介紹一下ZigBee組網的原理和相關步驟。

1.組網概述

組建一個完整的zigbee網狀網絡包括兩個步驟:網絡初始化、節點加入網絡。其中節點加入網絡又包括兩個步驟:通過與協調器連接入網和通過已有父節點入網。

ZigBee網絡中的節點主要包含三個:終端節點、路由器節點、PAN協調器節點

節點功能:

協調器節點:ZigBee協調器是網絡各節點信息的匯聚點,是網絡的核心節點,負責組建、維護和管理網絡,并通過串口實現各節點與上位機的數據傳遞;ZigBee協調器有較強的通信能力、處理能力和發射能力,能夠把數據發送至遠程控制端。

路由器節點:負責轉發數據資料包,進行數據的路由路徑尋找和路由維護,允許節點加入網絡并輔助其子節點通信;路由器節點是終端節點和協調器節點的中繼,它為終端節點和協調器節點之間的通信進行接力。

終端節點:終端節點可以直接與協調器節點相連,也可以通過路由器節點與協調器節點相連。

2. 網絡初始化預備

Zigbee網絡的建立是由網絡協調器發起的,任何一個zigbee節點要組建一個網絡必須要滿足以下兩點要求:

(1)節點是FFD節點,具備zigbee協調器的能力;

(2)節點還沒有與其他網絡連接,當節點已經與其他網絡連接時,此節點只能作為該網絡的子節點,因為一個zigbee網絡中有且只有一個網絡協調器。

FFD:Full Function Device 全功能節點

RFD:Reduced FunctionDevice 半功能節點

全功能設備(FFD):設備可提供全部的IEEE 802.15.4 MAC服務,可充當熱河ZigBee設備,因此FFD設備不僅可以發送和接收數據,還具備路由功能。

精簡功能設備(RFD):設備只提供部分的IEEE 802.15.4 MAC服務,智能充當終端節點,不能充當協調點和路由節點,因此它只負責將采集的數據信息發送給協調點和路由點,并不具備數據轉發、路由發現和路由維護等功能。

3.網絡初始化流程

ZigBee網絡初始化只能是由網絡協調器發起的,在組建網絡前,需要判斷本節點還沒與其他網絡連接,如果節點已經與其他網絡連接時,此節點只能作為該網絡的子節點。一個ZigBee網絡中有且僅有一個ZigBee協調器,一旦網絡建立好了,協調器就退化成路由器的角色,甚至是可以去掉協調器的,這一切得益于ZigBee網絡的分布式特性。

3.1 確定網絡協調器:

首先判斷節點是否是FFD節點,接著判斷此FFD節點是否在其他網絡里或者網絡里是否已經存在協調器。通過主動掃描,發送一個信標請求命令(Beaconrequest command),然后設置一個掃描期限(T_scan_duration),如果在掃描期限內都沒有檢測到信標,那么就認為FFD在其pos內沒有協調器,那么此時就可以建立自己的zigbee網絡,并且作為這個網絡的協調器不斷地產生信標并廣播出去。

注意:一個網絡里,有且只能有一個協調器(coordinator)。

3.2 進行信道掃描過程。

包括能量掃描和主動掃描兩個過程:首先對指定的信道或者默認的信道進行能量檢測,以避免可能的干擾。以遞增的方式對所測量的能量值進行信道排序,拋棄那么些能量值超出了可允許能量水平的信道,選擇可允許能量水平的信道并標注這些信道是可用信道。接著進行主動掃描,搜索節點通信半徑內的網絡信息。這些信息以信標幀的形式在網絡中廣播,節點通過主動信道掃描方式獲得這些信標幀,然后根據這些信息,找到一個好的、相對安靜的信道,通過記錄的結果,選擇一個信道,該信道應存在少的zigbee網絡,好是沒有zigbee設備。在主動掃描期間,MAC層將丟棄PHY層數據服務接收到的除信標以外的所有幀。

3.3 設置網絡ID。

找到合適的信道后,協調器將為網絡選定一個網絡標識符(PAN ID,取值《=0x3FFF),這個ID在所使用的信道中必須是唯一的,也不能和其他zigbee網絡沖突,而且不能為廣播地址0xFFFF(此地址為保留地址,不能使用)。PAN ID可以通過偵聽其他網絡的ID然后選擇一個不會沖突的ID的方式來獲取,也可以人為的指定掃描的信道后,來確定不和其他網絡沖突的PAN ID。

在zigbee網絡中有兩種地址模式:擴展地址(64位)和短地址(16位),其中擴展地址由IEEE組織分配,用于唯一的設備標識;短地址用于本地網絡中設備標識,在一個網絡中,每個設備的短地址必須唯一,當節點加入網絡時由其父節點分配并通過使用短地址來通信。對于協調器來說,短地址通常設定為0x0000。

上面步驟完成后,就成功初始化了zigbee網狀網絡,之后就等待其他節點的加入。節點入網時將選擇范圍內信號強的父節點(包括協調器)加入網絡,成功后將得到一個網絡短地址并通過這個地址進行數據的發送和接收,網絡拓撲關系和地址就會保存在各自的flash中。

4.節點通過協調器加入網絡

當節點協調器確定之后,節點首先需要和協調器建立連接加入網絡。

為了建立連接,FFD節點需要向協調器提出請求,協調器接收到節點的連接請求后根據情況決定是否允許其連接,然后對請求連接的節點做出響應,節點與協調器建立連接后,才能實現數據的收發。節點加入網絡的具體流程可以分為下面的步驟:

4.1 查找網絡協調器。

首先會主動掃描查找周圍網絡的協調器,如果在掃描期限內檢測到信 標,那么將獲得了協調器的有關信息,這時就向協調器發出連接請求。在選擇合適的網絡之后,上層將請求MAC層對物理層PHY和MAC層的phyCurrentChannel、macPANID等PIB屬性進行相應的設置。如果沒有檢測到,間隔一段時間后,節點重新發起掃描。

4.2 發送關聯請求命令(Associaterequest command)。

節點將關聯請求命令發送給協調器,協調器收到后立即回復一個確認幀(ACK),同時向它的上層發送連接指示原語,表示已經收到節點的連接請求。但是這并不意味著已經建立連接,只表示協調器已經收到節點的連接請求。當協調器的mac層的上層接收到連接指示原語后,將根據自己的資源情況(存儲空間和能量)決定是否同意此節點的加入請求,然后給節點的mac層發送響應。

4.3 等待協調器處理。

當節點收到協調器加入關聯請求命令的ACK后,節點mac將等待一段時間,接受協調器的連接響應。在預定的時間內,如果接收到連接響應,它將這個響應向它的上層通告。而協調器給節點的mac層發送響應時會設置一個等待響應時間(T_ResponseWaitTime)來等待協調器對其加入請求命令的處理,若協調器的資源足夠,協調器會給節點分配一個16位的短地址,并產生包含新地址和連接成功狀態的連接響應命令,則此節點將成功的和協調器建立連接并可以開始通信。若協調器資源不夠,待加入的節點將重新發送請求信息,直接入網成功。

4.4 發送數據請求命令。

如果協調器在響應時間內同意節點加入,那么將產生關聯響應命令(Associateresponse command)并存儲這個命令。當響應時間過后,節點發送數據請求命令(Datarequest command)給協調器,協調器收到后立即回復ACK,然后將存儲的關聯響應命令發給節點。如果在響應時間到后,協調器還沒有決定是否同意節點加入,那么節點將試圖從協調器的信標幀中提取關聯響應命令,成功的話就可以入網成功,否則重新發送請求信息直到入網成功。

4.5 回復。

節點收到關聯響應命令后,立即向協調器回復一個確認幀(ACK),以確認接收到連接響應命令,此時節點將保存協調器的短地址和擴展地址,并且節點的MLME向上層發送連接確認原語,通告關聯加入成功的信息。

5.節點通過已有節點加入網絡

當靠近協調器的FFD節點和協調器關聯成功后,處于這個網絡范圍內的其他節點就以這些FFD節點作為父節點加入網絡了,具體加入網絡有兩種方式,一種是通過關聯(associate)方式,就是待加入的節點發起加入網絡;另一種是直接(direct)方式,就是待加入的節點具體加入到那個節點下,作為該節點的子節點。其中關聯方式是zigbee網絡中新節點加入網絡的主要途徑。

對于一個節點來說只有沒有加入過網絡的才能進行加入網絡。在這些節點中,有些是曾經加入過網絡中,但是卻與它的父節點失去聯系(這樣的被稱為孤兒節點),而有些則是新節點。當是孤兒節點時,在它的相鄰表中存有原父節點的信息,于是它可以直接給原父節點發送加入網絡的請求信息。如果父節點有能力同意它加入,于是直接告訴它的以前被分配的網絡地址,它便入網成功;如果此時它原來的父節點的網絡中,子節點數已達到大值,也就是說網絡地址已經分配滿,父節點便無法批準它加入,它只能以新節點身份重新尋找并加入網絡。

而對于新節點來說,他首先會在預先設定的一個或多個信道上通過主動或被動掃描周圍它可以找到的網絡,尋找有能力批準自己加入網絡的父節點,并把可以找到的父節點的資料存入自己的相鄰表。存入相鄰表的父節點的資料包括zigbee協議的版本、協議棧的規范、PAN ID和可以加入的信息。在相鄰表中所有的父節點中選擇一個深度小的,并對其發出請求信息,如果出現相同小深度的兩個以上的父節點,那么隨機選取一個發送請求。如果相鄰表中沒有合適的父節點的信息,那么表示入網失敗,終止過程。如果發出的請求被批準,那么父節點同時會分配一個16位的網絡地址,此時入網成功,子節點可以開始通信。如果請求失敗,那么重新查找相鄰表,繼續發送請求信息,直到加入網絡。

6.ZigBee分離流程

正常的分離過程:

1).協調器主動要求設備分離

協調器向設備發送接觸連接命令,不管設備是否有ACK回應,協調器都認為該設備已經分離

2).已連接設備主動分離

設備主動向協調器發送接觸連接命令,不管有沒有收到協調器的ACK回應,設備都認為自己已經分離

3).異常分離過程

由于設備突然斷電或者被阻擋覆蓋,而造成的分離。前一種,在重啟后,會發起孤兒請求連接。后一種,設備會嘗試重試重傳并等待ACK響應,如果沒有響應,設備則為認為自己已經失去聯系,間隔一段時間(默認為1s)后,節點重新并且不斷的發起掃描。

上一篇:進程中創建線程

下一篇:Linux 的多線程編程的幾點注意事項

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 亚洲多毛妓女毛茸茸的 | 我的巨臀人肉坐便器老师 | 在线免费观看色 | 精品久久久久久无码人妻蜜桃 | 国产一区二区三区好的精华液 | 成人免费一区二区三区 | 欧美激情精品 | 亚洲一线产区二线产区精华 | 欧美日韩精品一区二区三区 | 亚洲情a成黄在线观看动 | 亚洲国产精品va在线观看麻豆 | 美女裸体无遮挡黄污网站 | 国产精品美女mmm爽爽爽视频 | 久久久久人妻精品一区三寸蜜桃 | 在线精品一卡乱码免费 | 日本一区二区三区视频在线观看 | 亚洲 校园 欧美 国产 另类 | 任你操这里只有精品 | 欧美国产中文字幕 | 好硬好湿好爽再深一点动态图视频 | xvideos国产在线视频 | 中文字幕在线观看一区二区三区 | 国产精品无码Av在线观看播放 | 国产老师开裆丝袜喷水视频 | 国产成人无码区免费A∨视频网站 | 麻豆wwwcom内射软件 | 人妻夜夜爽天天爽三区麻豆AV网站 | 国产一级午夜一级在线观看 | 人人妻一区二区三区 | 日本特黄特色特爽大片 | 成人精品一区二区三区在线观看 | 久久久国产片 | 又粗又硬又大又爽免费视频播放 | 亚洲国产成人无码影片在线播放 | 欧美性生活一区二区三区 | 国产东北肥熟老胖女 | 男人进女人下部全黄大色视频 | 午夜香蕉成视频人网站 | 欧xxxx| 久久免费视频一区二区三区 | 天噜啦精品免费视频日本免费视频 |