3串口雙串口2串口WiFi多跳通訊實現(xiàn)二
串口轉(zhuǎn)WiFi在工業(yè)控制領域廣泛的應用,工業(yè)控制領域通常距離比較遠環(huán)境比較復雜。所以就有超遠距離通訊的需求,通常我們使用多跳的方式實現(xiàn)WiFi遠距離傳輸。即如果實現(xiàn)遠距離的A與C進行通訊,我們可以在A與C之間增加一個模塊B,這樣,B充擔中繼的作用。以下以simpleWiFi的S2W-M02以及S2W-M03中所實現(xiàn)的多跳機制進行描述。S2WM02、S2WM03已經(jīng)穩(wěn)定的運用到了很多超長距離通訊環(huán)境,該算法穩(wěn)定性以及大量現(xiàn)場驗證。并且該系列串口轉(zhuǎn)WiFi模塊可以實現(xiàn)2串口、雙串口、3串口和多串口的通訊,各個通訊相互完全獨立,可以同時支持多個串口設備進行數(shù)據(jù)通訊。
本節(jié)主要描述多跳路由算法:
1、協(xié)議概述
1.1.1 協(xié)議概述
該多跳路由實際上是 DSR和 DSDV的綜合,以 DSDV為基礎,采用DSR中的按需路由思想進行改進。它采用了DSR中路由發(fā)現(xiàn)和路由維護的原理,結(jié)合了DSDV的逐跳(hop-by-hop)路由,順序編號和路由維護階段的周期更新機制。與DSDV保存完整的路由表不同的是,基于按需路由思想的多跳路由只有在有需要的時候才建立路由,這與DSDV相比的好處是能減少大量維護路由所需的開銷。與DSR相比,多跳路由的優(yōu)勢在于源路由并不需要包括在每一個數(shù)據(jù)分組中,這樣能減少路由協(xié)議的開銷。多跳路由協(xié)議可以實現(xiàn)在移動終端動態(tài)的、自發(fā)的路由,使移動終端很快的獲得通向所需目的地的路由,而且不用維護當前沒有使用的路由信息,還能對鏈路狀態(tài)和拓撲的變化做出快速的反應。多跳路由使用路由請求序列號來保證無環(huán)路。避免了通常 Bellman-foul 算法的無窮計數(shù)(count-to-infinite)的問題,并且提供了很快的收斂速度。鑒于多跳路由路由協(xié)議功能強大而又便于實現(xiàn)的優(yōu)點,故其成為嵌入式系統(tǒng)下UART 轉(zhuǎn)WiFi 路由協(xié)議的首選。
圖 1 RREQ幀格式
圖 2 RREP幀格式
路由請求分組RREQ的轉(zhuǎn)發(fā)過程類似于DSR協(xié)議。簡單描述如下:收到“路由請求”分組的節(jié)點,在路由表中設置反向路徑表項指向源節(jié)點。目的是使RREP分組能夠返回源節(jié)點。當目標節(jié)點接到RREQ 分組時,它就發(fā)送RREP分組。RREP分組沿著反向路徑(RREQ分組經(jīng)過時形成的路徑的反方向)到達源節(jié)點。
1.1.1 路由發(fā)現(xiàn)過程
(1)結(jié)點在需要時(路徑不存在或者無效),向其鄰居廣播RREQ分組用于路由發(fā)現(xiàn)。
(2)對接收到RREQ的結(jié)點作如下處理:
創(chuàng)建一個表項,用于記錄反向路徑;
如果在“路由發(fā)現(xiàn)定時”內(nèi)已收到一個具有相同標識的RREQ分組,則拋棄該分組,不作任何處理;否則,更新該反向路由表項;
如果滿足如下兩個條件:
①:該結(jié)點就是信宿;
②:結(jié)點的路由表中有到信宿的活動表項,且表項的序列號大于RREQ中的信宿序列號;
則結(jié)點產(chǎn)生“路由回答分組”RREP,并發(fā)送到信源;否則,更新RREQ分組,并廣播更新后的RREQ分組 。
(3)RREP的傳播:RREP中的內(nèi)容包括:跳計數(shù)、信宿序列號、信宿地址、信源地址、生存時間等。結(jié)點通過前面建立的反向路由反饋給源結(jié)點,并且是以單播方式發(fā)送;
(4)轉(zhuǎn)發(fā)RREP的中間結(jié)點會更新路由表,記錄轉(zhuǎn)發(fā)路由的下游結(jié)點、跳數(shù)、生存時間、目的序列號等內(nèi)容,并根據(jù)先前記錄的反向路由將RREP報文轉(zhuǎn)發(fā)給上游結(jié)點,直至源結(jié)點;
(5)源結(jié)點收到RREP報文后,就獲得了到目的結(jié)點的路由,接下來,源結(jié)點就可以用該路由進行數(shù)據(jù)報文的發(fā)送了。
上述算法已經(jīng)大量的應用到了現(xiàn)場,能夠?qū)崿F(xiàn)穩(wěn)定的多跳通訊。參考simpleWiFi的S2W-M02多串口2串口3串口雙串口以及三串口的通訊模塊。后續(xù)文章會詳細介紹多跳路由保持實現(xiàn)。

提交
3串口多串口雙2串口轉(zhuǎn)WiFi多跳實現(xiàn)四
有線以太網(wǎng)RJ45網(wǎng)口轉(zhuǎn)無線WiFi方案
3串口多雙串口2串口轉(zhuǎn)WiFi多跳通訊
以串口S2W-M02為例說明Modbus
工業(yè)串口設備RS232或485設備通過WiFi聯(lián)網(wǎng)傳輸方案