多串口轉(zhuǎn)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ù)通訊。
開發(fā)基于標準操作系統(tǒng)的多跳路由網(wǎng)關主要有如下兩個典型應用:
1、通過網(wǎng)關,能夠?qū)崿F(xiàn)公網(wǎng)(如Internet)與自組網(wǎng)設備之間互聯(lián)互通,如下圖典型應用場景1所示;
2、通過在S2W-M02上運行多跳路由協(xié)議,并配置無線網(wǎng)卡工作在WiFi自組網(wǎng)模式,方便用戶與自組網(wǎng)中的設備通信,監(jiān)控網(wǎng)絡狀態(tài)。如下圖典型應用場景2所示。

應用場景一

應用場景二
- 設計原理
多跳路由模塊主要功能是無線路由,必須依附于操作系統(tǒng)的TCP/IP協(xié)議棧,因此設計時需要充分考慮TCP/IP協(xié)議棧特性。

軟件架構(gòu)圖
1、多跳路由模塊核心算法模塊為在最中心黃色區(qū)域,被其他各個模塊包圍,其實現(xiàn)需要依賴于其他模塊的參與。
2、最下面Platform config層供其他所有模塊調(diào)用,其封裝了操作系統(tǒng)的通用處理。
3、而中間netif、ipq以及sock等模塊主要負責與TCP/IP協(xié)議棧交互。
4、多跳路由模塊主功能模塊在最上層,主要負責模塊初始化、啟動加載、管理資源、卸載等功能。
多跳路由器協(xié)議最終應用場景
無線網(wǎng)絡在實際應用中,大多都是通過一個或多個網(wǎng)關節(jié)點,將數(shù)據(jù)傳送到公網(wǎng)。然后用戶可以遠程監(jiān)控網(wǎng)絡中節(jié)點的狀態(tài)。

如上圖所示,傳感器節(jié)點將采集到的數(shù)據(jù)發(fā)送至網(wǎng)關節(jié)點,通過網(wǎng)關實現(xiàn)與公網(wǎng)服務器的連接。上圖描述了Adhoc網(wǎng)絡中只有一個網(wǎng)關的情況,如果Adhoc網(wǎng)絡覆蓋區(qū)域較大,只有一個網(wǎng)關就無法滿足要求,因為很可能處于Adhoc網(wǎng)絡邊緣的節(jié)點需要通過幾十甚至上百跳(路由轉(zhuǎn)發(fā)),才能將數(shù)據(jù)傳送到網(wǎng)關節(jié)點,這樣難免會造成數(shù)據(jù)的丟失。因此,覆蓋大面積的Adhoc網(wǎng)絡,需要有多個網(wǎng)關共同分擔節(jié)點信息采集。
上述算法已經(jīng)大量的應用到了現(xiàn)場,能夠?qū)崿F(xiàn)穩(wěn)定的多跳通訊。參考simpleWiFi的S2W-M02多串口2串口3串口雙串口以及三串口的通訊模塊。后續(xù)文章會詳細介紹多跳路由算法實現(xiàn)。
|