工控智能終端的一個重要應用就是GPRS無線數(shù)據(jù)業(yè)務。GPRS無線數(shù)據(jù)通信因其無需鋪設線路,組網(wǎng)方便,覆蓋面廣等特點,在無人職守,遠程監(jiān)控,電力調度等場合具有廣泛的應用。因此,英創(chuàng)公司的嵌入式主板作為工控終端,除了具有至少一個以太網(wǎng)接口外,基本上都提供了對GPRS模塊的支持,以方便客戶通過GPRS進行數(shù)據(jù)通訊。
GPRS數(shù)據(jù)通訊的應用通常可分為兩類:一、客戶端/服務器應用模式,二、無線網(wǎng)關應用模式。英創(chuàng)公司網(wǎng)站文章《GPRS/CDMA應用方案》對這兩種模式進行了詳細的說明,本文將討論一種特殊的應用模式:工控終端作為客戶端,通過GPRS與互聯(lián)網(wǎng)上的遠端服務器連接,同時通過企業(yè)內部網(wǎng)與基于企業(yè)網(wǎng)的數(shù)據(jù)中心相連,如圖。
在上圖中工控終端為ARM9主板EM9160,EM9160通過以太網(wǎng)與基于企業(yè)網(wǎng)的數(shù)據(jù)中心相連接,通過GPRS與基于互聯(lián)網(wǎng)的數(shù)據(jù)中心相連,在此應用中基于互聯(lián)網(wǎng)數(shù)據(jù)中心的IP和基于企業(yè)網(wǎng)的數(shù)據(jù)中心的IP相對于EM9160的網(wǎng)絡參數(shù)來說均為外網(wǎng)的IP,要實現(xiàn)同時相連的目的就需要在ARM9 主板EM9160上實現(xiàn)自動選路的功能,也就是說根據(jù)不同的數(shù)據(jù)中心IP選擇走不同的網(wǎng)絡:GPRS連接的互聯(lián)網(wǎng)或者以太網(wǎng)連接的企業(yè)網(wǎng)。以下介紹將詳細介紹實現(xiàn)自動選路的方法。
為了讓數(shù)據(jù)缺省是通過GPRS發(fā)送到遠端服務器,需要把EM9160以太網(wǎng)默認的網(wǎng)關設為空,當把該網(wǎng)關設為空時,系統(tǒng)路由表中就沒有能夠到達遠端網(wǎng)絡的路徑了,當GPRS成功撥號上網(wǎng)后,操作系統(tǒng)會動態(tài)的在路由表中增加一條路由記錄,此時通過telnet登錄到EM9160上,輸入route print命令將系統(tǒng)路由表打印出來,如圖。
其中的Interface是EM9160通過GPRS連接到互聯(lián)網(wǎng)時,分配給本地的IP地址, Interface與GatewayAddress相同,表示這是條直連網(wǎng)段路由記錄,Destination和Netmask為0.0.0.0,說明這是系統(tǒng)缺省路由,這條路由記錄的意思是:當要發(fā)送的數(shù)據(jù)包的IP地址不在系統(tǒng)的路由記錄中時,系統(tǒng)會將該數(shù)據(jù)包通過10.14.71.10這個接口直接發(fā)送出去,這個接口會將數(shù)據(jù)交付到下一個路由器處理。圖2中所示的路由記錄作為系統(tǒng)缺省路由記錄,發(fā)往外網(wǎng)的數(shù)據(jù)都將通過10.14.71.10這個接口發(fā)送出去,即通過GPRS發(fā)送。
為了讓到指定IP的數(shù)據(jù)可以通過以太網(wǎng)傳輸,只需要在路由表中添加一條靜態(tài)路由記錄,比如想通過以太網(wǎng)連接的遠端服務器IP為10.2.55.21,本地以太網(wǎng)網(wǎng)關為192.168.201.19,則只需要通過route命令增加一條路由記錄:
route -p ADD 10.2.55.21 MASK 255.255.255.255 192.168.201.19 if 2
從路由表可以看到,除了通過GPRS的缺省路由外,還多了一條目標主機地址為10.2.55.21的路由記錄,這條路由記錄的意思是:當要發(fā)送的數(shù)據(jù)包的IP地址為10.2.55.21時,系統(tǒng)會將數(shù)據(jù)包通過192.168.201.210這個接口發(fā)送到192.168.201.19這個地址。其中192.168.201.210為本機以太網(wǎng)口IP,192.168.201.19為本地局域網(wǎng)與外網(wǎng)連接的網(wǎng)關。這樣客戶就能夠控制要發(fā)送的數(shù)據(jù)是通過以太,還是通過GPRS到達遠端主機了,實現(xiàn)了雙網(wǎng)絡選路的方法。
在程序中可通過CreatProcess來調用route程序,如下:
PROCESS_INFORMATION procInfo;
TCHAR szCmdLine[100];
_stprintf( szCmdLine ,_T(‘-p ADD 10.2.55.21 MASK 255.255.255.255 192.168.201.19 if 2’) );
if( !CreateProcess( _T(‘route.exe’), szCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &procInfo ) )
TRACE( _T(‘ \nCreateProcess failure!’ ));
另一種情況是EM9160在GPRS應用上做客戶端,在以太網(wǎng)應用上做服務器端,一遠端客戶機通過以太網(wǎng)來訪問EM9160。對于這種情況,當EM9160作為服務器接收到遠端客戶機的連接請求時,將得到遠端客戶機IP,此時仍需要通過route來增加一條路由記錄到本地路由表中,才能正確與遠端客戶機建立連接,實現(xiàn)方法與前述相同。
-
嵌入式主板
+關注
關注
7文章
6104瀏覽量
36363
發(fā)布評論請先 登錄
英創(chuàng)支持Linux高級客戶自行移植內核
英創(chuàng)工控主板產(chǎn)品選型指南
工控遠程智能終端的雙網(wǎng)絡選路方案

英創(chuàng)信息技術ARM9工控板遠程抓拍圖像應用介紹

英創(chuàng)信息技術工控主板EM9360的GPIO介紹
英創(chuàng)信息技術工控主板的復位管理介紹

英創(chuàng)信息技術英創(chuàng)工控主板支持電力終端標準顯示介紹

英創(chuàng)信息技術工控主板USB驅動安裝說明

英創(chuàng)信息技術Linux工控主板支持3G網(wǎng)卡介紹

英創(chuàng)信息技術用ETA820應用底板快速構建工控整機
英創(chuàng)信息技術工控主板產(chǎn)品選型指南介紹
英創(chuàng)信息技術Linux雙進程應用示例

英創(chuàng)信息技術ESMARC工控主板升級簡介

英創(chuàng)信息技術基于英創(chuàng)主板快速構建整機應用方案簡介

評論