我使用一些帶有zb堆棧的xbee(s2)模塊進行網狀網絡評估。因此必須創建多跳環境。問題是,固件會自行處理關聯,並且沒有辦法像api提供的那樣更深入到堆棧中。爲了強制數據的路徑,而不干擾路由機制,我試圖測量,我不得不把它們放在它們的範圍之外。爲了僅獲得關聯中的下一跳並不那麼容易。我使用了輸出功率最小的功率電平,但測試設置的距離很大,環境的射頻特性不確定。如何用xbee zb強制多跳拓撲?
所以我的問題,有這個問題的人的經驗?
問候,託比
我使用一些帶有zb堆棧的xbee(s2)模塊進行網狀網絡評估。因此必須創建多跳環境。問題是,固件會自行處理關聯,並且沒有辦法像api提供的那樣更深入到堆棧中。爲了強制數據的路徑,而不干擾路由機制,我試圖測量,我不得不把它們放在它們的範圍之外。爲了僅獲得關聯中的下一跳並不那麼容易。我使用了輸出功率最小的功率電平,但測試設置的距離很大,環境的射頻特性不確定。如何用xbee zb強制多跳拓撲?
所以我的問題,有這個問題的人的經驗?
問候,託比
我不認爲這是可能通過軟件和協調員/路由器。您可以更改節點加入時間(ATNJ
)以強制新路由器通過特定路由器加入(在除1之外的所有節點上禁用節點加入),但這隻會影響加入。一旦加入網絡,路由器就會發現其他節點在範圍之內。
你可能有困終端設備做到這一點。您可以使用ATNJ
技巧強制終端設備通過單個路由器加入,並且它會始終將其消息發送到該路由器。但是你不會得到那麼多跳 - 終端設備發送到它的父路由器,它發送到目標的父路由器,它發送到目標終端設備。
你可能會需要在物理上限制了無線電的範圍內強制跳躍,如你有超過1000電臺的網絡鏈接的Digi的K-節點測試設備的視頻演示。他們將無線電裝置放在射頻屏蔽盒中,並使用有線天線連接和軟件控制衰減器將模塊相互連接。
如果具有與U.FL或RPSMA連接器的XBee模塊,並且不連接的天線,但應顯著減小模塊的範圍內。否則,使用線鞭或集成PCB天線,您需要將每個收音機放入某種可減弱信號的盒子中。也許其他人可以提供有關材料的建議,以減少信號的範圍而不會完全阻擋信號。
ZigBee節點嘗試自動形成一個Ad-Hoc網絡。這就是爲什麼他們加入網絡的最強連接(最佳網絡覆蓋)。這些模塊的設計方式使您無需關心建立可靠的通信。他們大部分時間都會解決網絡問題。
你想要做什麼,是某種強制不同的情況。你想創建一個特定的拓撲結構,以獲得一些多跳。這不會是點頭的正常行爲。但是你仍然可以通過一些AT命令獲得你想要的。
提到的命令「NJ」應該適合你。該命令在一段時間後(以秒爲單位)鎖定連接。讓我們考慮一個簡單的ZigBee網絡,它有三個節點:一個協調器,一個路由器和一個終端設備。打開協調器,將「NJ」設置爲,讓我們說,兩分鐘。然後快速打開路由器,這樣它可以在兩分鐘內與協調器相關聯。在這兩分鐘後,協調員將被鎖定,不會接受更多聯合。那時你可以啓動終端設備,而終端設備必須與路由器相關聯。這樣,您會看到終端設備和協調器之間的消息按照您的要求通過路由器。
你可能會得到一個更大的網絡來應用這個想法多次,而不需要玩模塊的天線。您可以遠程控制AT參數(即從連接到協調器的計算機),因此您可以使用一些代碼來幫助您初始化網絡。
我很確定'NJ'命令只限制連接。一旦路由器加入到網絡中,它就會發現鄰居節點,並可以直接發送到網絡上的任何其他節點。你不會得到你所希望的啤酒花。 – tomlogic
一旦節點加入網絡,節點將通過此節點發送數據包。這是處理分組路由的「父節點」。因此,在這個簡單的網絡中,您將獲得一跳(終端設備無法直接加入協調器,因此消息會通過路由器)。 –
啊,我錯過了其中一個設備是終端設備的事實。你是正確的,終端設備將通過父母加入,並通過該父母發送所有消息。正如我的回答中所提到的,通過讓終端設備發送到其父節點,可以獲得3跳,該父節點會發送到目標的父節點,然後傳遞到目標終端設備。 – tomlogic
add:http://www.youtube.com/watch?feature=player_embedded&v=QeSvAn-YRSE ...關於這個鏈接,我認爲它遠遠超出了xbee zb api的目的。即使他們通過RF約束來實現它。儘管如此,對這個問題的任何想法都是受歡迎的。 –