黃 偉,陳世亮
(肇慶學(xué)院 電子信息與機(jī)電工程學(xué)院,廣東 肇慶 526061)
默認(rèn)情況下,GPRS設(shè)備聯(lián)網(wǎng)時(shí)所獲得的IP地址為移動(dòng)網(wǎng)內(nèi)動(dòng)態(tài)局域網(wǎng)IP地址,網(wǎng)外的主機(jī)無法對(duì)其進(jìn)行訪問;此外,本設(shè)計(jì)方案網(wǎng)絡(luò)環(huán)境是局域網(wǎng),如果要使車輛監(jiān)控中心正常工作,則要解決2個(gè)局域網(wǎng)之間的數(shù)據(jù)訪問問題.一般情況下,要解決這個(gè)問題的方案是采用1臺(tái)擁有固定Internet IP的主機(jī)作為中介,聯(lián)通2個(gè)局域網(wǎng)內(nèi)的主機(jī),使之可以相互訪問;此外,也可以為監(jiān)控中心主機(jī)申請(qǐng)1個(gè)固定的靜態(tài)IP地址.很明顯,這2種方案都需要比較高的額外費(fèi)用,不是本次設(shè)計(jì)的首選方案.GPRS數(shù)據(jù)傳輸是本次設(shè)計(jì)的關(guān)鍵[1],如果GPRS設(shè)備不能正常地給監(jiān)控中心傳輸車輛狀態(tài)數(shù)據(jù),那么其他部分無法正常工作.可以說,GPRS設(shè)備能否正常工作直接影響到整個(gè)系統(tǒng)的完整性.
綜上分析,2局域網(wǎng)之間的主機(jī)相互訪問的低成本方案的實(shí)現(xiàn)是非常必要的.
目前GPRS網(wǎng)絡(luò)的接入模式主要有2種:NET模式和WAP模式[2].如中國移動(dòng)的CMWAP和CMNET.其中NET模式是可以直接對(duì)Internet網(wǎng)進(jìn)行訪問的,可以滿足本次設(shè)計(jì)要求,但它的資費(fèi)比較昂貴,所以NET模式不是首選.WAP模式采用的實(shí)現(xiàn)方式是“終端+WAP網(wǎng)關(guān)+WAP服務(wù)器”的模式,采用WAP模式,設(shè)備無法直接對(duì)Internet進(jìn)行訪問,但資費(fèi)比NET模式便宜很多,如果能突破這一訪問限制,會(huì)使本系統(tǒng)節(jié)省不少成本.下面將探討如何突破WAP模式限制,充分利用WAP模式的廉價(jià)優(yōu)勢(shì)降低系統(tǒng)的開發(fā)與應(yīng)用成本.
圖1為2個(gè)局域網(wǎng)之間主機(jī)互訪方案的無線傳輸總體部署圖.
本解決方案的部署圖與普通GPRS數(shù)據(jù)傳輸方案有1個(gè)不同的地方,就是本解決方案多用了1臺(tái)Web虛擬主機(jī)(下文中稱其為數(shù)據(jù)中轉(zhuǎn)服務(wù)器),主要充當(dāng)數(shù)據(jù)中轉(zhuǎn)作用.因?yàn)橛辛诉@個(gè)數(shù)據(jù)中轉(zhuǎn)服務(wù)器,所以移動(dòng)終端可以通過GPRS設(shè)備來將數(shù)據(jù)上傳到這個(gè)數(shù)據(jù)中轉(zhuǎn)服務(wù)器暫存,而監(jiān)控中心則會(huì)實(shí)時(shí)地從這個(gè)中轉(zhuǎn)服務(wù)器下載車輛的狀態(tài)數(shù)據(jù).那么,2個(gè)局域網(wǎng)之間的主機(jī)因有了這臺(tái)中轉(zhuǎn)服務(wù)器就可以相互進(jìn)行數(shù)據(jù)傳輸了.
圖1 無線傳輸總體部署圖
數(shù)據(jù)中轉(zhuǎn)服務(wù)器實(shí)際上為1臺(tái)Web虛擬主機(jī),訪問端口為80,是一種比較廉價(jià)的Web服務(wù)器,每年只需要支付不足100元的租用費(fèi)就可以滿足本系統(tǒng)的要求,相比申請(qǐng)固定IP地址的租用費(fèi)而言,運(yùn)行成本低很多.具體的通信流程為:(1)GPRS模塊與移動(dòng)網(wǎng)關(guān)采用TCP/IP協(xié)議連接;(2)GPRS模塊向移動(dòng)網(wǎng)關(guān)發(fā)送請(qǐng)求,與數(shù)據(jù)中轉(zhuǎn)服務(wù)器數(shù)據(jù)進(jìn)行通信,提交當(dāng)前的GPS定位數(shù)據(jù);(3)數(shù)據(jù)中轉(zhuǎn)服務(wù)器對(duì)GPRS模塊所提交的數(shù)據(jù)進(jìn)行緩存,等待監(jiān)控中心對(duì)數(shù)據(jù)進(jìn)行提?。?4)監(jiān)控中心服務(wù)器訪問數(shù)據(jù)中轉(zhuǎn)服務(wù)器的數(shù)據(jù)下載接口,將最新的數(shù)據(jù)下載到本機(jī)數(shù)據(jù)庫.
CMWAP雖然不能直接訪問互聯(lián)網(wǎng)資源,但可以實(shí)現(xiàn)間接訪問,方案是借用CMWAP的對(duì)外網(wǎng)關(guān)就可以完成這個(gè)任務(wù).每次要上傳數(shù)據(jù)到監(jiān)控中心的服務(wù)器時(shí),只需與CMWAP的網(wǎng)關(guān)建立連接,然后向網(wǎng)關(guān)發(fā)送POST或GET請(qǐng)求就可以實(shí)現(xiàn)GPRS與外網(wǎng)Web服務(wù)器的相互通訊.
由于數(shù)據(jù)中轉(zhuǎn)服務(wù)器實(shí)際上為Web服務(wù)器,而本次使用的GPRS設(shè)備為BenQ M22,支持TCP/IP層協(xié)議,并且HTTP是基于TCP協(xié)議的,所以我們可以通過GPRS模塊的TCP/IP AT指令來實(shí)現(xiàn)HTTP的數(shù)據(jù)通信.具體實(shí)現(xiàn)如下:
(1)連接到網(wǎng)關(guān)的AT指令組[3]:
(2)發(fā)送HTTP數(shù)據(jù)請(qǐng)求格式
GET中轉(zhuǎn)服務(wù)器域名/UPDATA.ASP?MSG=傳輸?shù)臄?shù)據(jù) HTTP/1.1
數(shù)據(jù)中轉(zhuǎn)服務(wù)器作為本解決方案的中介服務(wù)器,運(yùn)行2個(gè)主要的線程,一是響應(yīng)GPRS的數(shù)據(jù)上傳,將收到的數(shù)據(jù)暫存到自己的數(shù)據(jù)庫;二是隨時(shí)響應(yīng)監(jiān)控中心服務(wù)器的數(shù)據(jù)下載請(qǐng)求.響應(yīng)數(shù)據(jù)上傳請(qǐng)求和響應(yīng)數(shù)據(jù)下載請(qǐng)求線程,離不開數(shù)據(jù)庫的訪問.所以要先建立1個(gè)用于數(shù)據(jù)存儲(chǔ)和訪問的數(shù)據(jù)庫.數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)如表1和表2所示.
為了減小GPRS的通信流量,所以將車輛的狀態(tài)進(jìn)行合并,而不單獨(dú)進(jìn)行變量劃分,本方案規(guī)定GPRS模塊要上傳的數(shù)據(jù)格式為:
表1 狀態(tài)信息表(TB_DATA)的存儲(chǔ)結(jié)構(gòu)
MSG=時(shí)間@北緯@東經(jīng)@速度@方向角@用戶名@密碼.
那么,根據(jù)上面的數(shù)據(jù)格式和數(shù)據(jù)表的存儲(chǔ)結(jié)構(gòu),可以通過數(shù)據(jù)中轉(zhuǎn)服務(wù)器支持的腳本語言來實(shí)現(xiàn)響應(yīng)數(shù)據(jù)上傳和數(shù)據(jù)下載.具體實(shí)現(xiàn)如下.
3.2.1 上傳數(shù)據(jù)頁面程序設(shè)計(jì)(采用ASP VBScript語言編寫)
1)建立數(shù)據(jù)庫連接
表2 車輛信息表(TB_Car)的存儲(chǔ)結(jié)構(gòu)
2)獲取用戶名和密碼
3)獲取用戶ID
4)保存提交的數(shù)據(jù)
3.2.2 下載數(shù)據(jù)頁面程序設(shè)計(jì)
1)建立數(shù)據(jù)庫連接
2)獲取未取的數(shù)據(jù)
3)數(shù)據(jù)打包并發(fā)送
本文討論的網(wǎng)絡(luò)解決方案主要是針對(duì)局域網(wǎng)用戶,延遲時(shí)間小于3 s,對(duì)于實(shí)時(shí)性要求不高的車輛監(jiān)控系統(tǒng)有一定的應(yīng)用價(jià)值.
[1] 文志成.通用分組無線業(yè)務(wù)——GPRS[M].北京:電子工業(yè)出版社,2004.
[2] 周學(xué)泳.短信息(SMS)與WAP的開發(fā)及應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[3] BENQ Corporation.BenQ M22 GSM/GPRS Wireless Module AT Command List[M].Taipei:BenQ Corporation Networking& Communications BG,2004.