|
3串口多串口雙串口以及2串口轉WiFi多跳通訊實現三
——網關發現協議
串口轉WiFi在(zai)工(gong)業(ye)控(kong)製(zhi)領(ling)域(yu)廣(guang)泛(fan)的(de)應(ying)用(yong),工(gong)業(ye)控(kong)製(zhi)領(ling)域(yu)通(tong)常(chang)距(ju)離(li)比(bi)較(jiao)遠(yuan)環(huan)境(jing)比(bi)較(jiao)複(fu)雜(za)。所(suo)以(yi)就(jiu)有(you)超(chao)遠(yuan)距(ju)離(li)通(tong)訊(xun)的(de)需(xu)求(qiu),通(tong)常(chang)我(wo)們(men)使(shi)用(yong)多(duo)跳(tiao)的(de)方(fang)式(shi)實(shi)現(xian)WiFi遠距離傳輸。即如果實現遠距離的A與C進行通訊,我們可以在A與C之間增加一個模塊B,這樣,B充擔中繼的作用。以下以simpleWiFi的S2W-M02以及S2W-M03中所實現的多跳機製進行描述。S2WM02、S2WM03已經穩定的運用到了很多超長距離通訊環境,該算法穩定性以及大量現場驗證。並且該係列串口轉WiFi模塊可以實現2串口、雙串口、3串口和多串口的通訊,各個通訊相互完全獨立,可以同時支持多個串口設備進行數據通訊。
本節主要描述多跳路由算法:
- 網關發現協議
- 協議概述
該網關發現協議依附 “Hello”報文,在報文後增加了extension type,type格式定義為4,length為5,extension內容中前4個字節為網關IP地址,最後一個字節為節點到網關的跳數。網關節點廣播的Hello報文跳數始終為0。

如上圖所示,網關節點G進入Adhoc網絡後,廣播的Hello報文中攜帶了網關extension域,其鄰居節點A首先收到該Hello幀,經過解析處理後,發現網關G,並建立到網關G的路由;到網關G的路由建立成功後,更新其Hello幀,在Hello幀的最後需要添加網關extension域(前4個字節為網關G的IP地址,最後1個字節表示到網關的跳數為1);接著,節點B會收到A廣播的Hello,經過解析處理後,發現網關G,並建立到網關G的路由;路由建立成功後,更新Hello幀,在Hello幀的最後需要添加網關extension域(前4個字節為網關G的IP地址,最後1個字節表示到網關的跳數為2);依次類推,節點C和D隨後也建立了到網關的路由。
上述算法已經大量的應用到了現場,能夠實現穩定的多跳通訊。參考simpleWiFi的S2W-M02多串口2串口3串口雙串口以及三串口的通訊模塊。後續文章會詳細介紹多跳路由保持實現。
|