引 言
基于GPS/ GPRS 的車輛監(jiān)控系統(tǒng)在我國開始應(yīng)用是在20 世紀(jì)90 年代初, 在2000 年后才逐漸出現(xiàn)了較成熟的產(chǎn)品。目前很多的導(dǎo)航定位產(chǎn)品數(shù)據(jù)傳輸?shù)姆绞經(jīng)]有得到優(yōu)化, 不能做到以較少的流量完成相對實時穩(wěn)定的監(jiān)控任務(wù), 影響整個系統(tǒng)的實時性和可靠性。
本文從系統(tǒng)總體設(shè)計的角度介紹基于GPRS 網(wǎng)絡(luò)GPS 監(jiān)控系統(tǒng)的設(shè)計, 選用GPRS 網(wǎng)絡(luò)為主GSM 通訊方式為輔的通訊方式, 這種通訊方式穩(wěn)定性強, 面對將來的3G 網(wǎng)絡(luò)可平滑技術(shù)升級, 耗費流量較少, 同時GPRS 網(wǎng)絡(luò)支持TCP/ IP 協(xié)議, 使得無線數(shù)據(jù)的傳輸變得更加輕松,更容易擴(kuò)展功能。
GPRS( 通用分組無線業(yè)務(wù)) 是在現(xiàn)有的GSM 網(wǎng)絡(luò)上開通的一種數(shù)據(jù)業(yè)務(wù), 相比原來GSM 撥號方式的數(shù)據(jù)交換傳送方式, 具有“永遠(yuǎn)在線”、“ 按流量計費”、“快捷登錄”、“ 支持TCP/ IP 協(xié)議”、“適用于中小數(shù)據(jù)量傳輸”等優(yōu)點。GPRS 系統(tǒng)在GSM 基礎(chǔ)上, 增加了分組控制單元( PCU ) 、服務(wù)GPRS 支持節(jié)點SGSN ( serving GPRS support node) 、網(wǎng)關(guān)GPRS 支持節(jié)點GGSN ( gateway GPRSsuppor t node) 等網(wǎng)元設(shè)備。
1 車輛監(jiān)控系統(tǒng)總體及通訊通道
車輛監(jiān)控管理系統(tǒng)包括服務(wù)器、監(jiān)控服務(wù)終端、車載終端以及外圍網(wǎng)頁瀏覽器管理器和用戶手機管理器。各個部分以服務(wù)器為中心, 通過GSM/ GPRS 網(wǎng)絡(luò)以及Internet 網(wǎng)絡(luò)組織起來配合工作, 完成車輛實時監(jiān)控管理等功能。系統(tǒng)總體結(jié)構(gòu)框圖如圖1 所示。
?
圖1? 車輛監(jiān)控系統(tǒng)結(jié)構(gòu)框圖
車載終端集成控制芯片( MCU ) 、GPS 定位模塊、GPRS 數(shù)據(jù)傳輸模塊以及語音模塊等周邊設(shè)備。GPS 定位模塊采集定位信息, 通過串口發(fā)送給MCU, MCU 分析打包后通過串口發(fā)送給GPRS 模塊, 完成信息的采集、分析、傳送流程。
數(shù)據(jù)傳輸中, GPRS 網(wǎng)絡(luò)與Internet 網(wǎng)絡(luò)共同搭建系統(tǒng)的數(shù)據(jù)傳輸通道, 車載機與監(jiān)控中心之間維持3 條通信通道:
1) T CP 協(xié)議命令通道——采用T CP 協(xié)議ASCII 方式編碼傳送。
2) T CP 協(xié)議數(shù)據(jù)通道——數(shù)據(jù)以二進(jìn)制編碼傳送, 與命令通道信息在同一SOCKET 傳送。
3) UDP 協(xié)議數(shù)據(jù)通道——實時上傳數(shù)據(jù)以UDP 協(xié)議采用二進(jìn)制編碼傳送。
服務(wù)器申請靜態(tài)IP 地址, 開放相應(yīng)的TCP 及U DP端口, 開啟線程完成數(shù)據(jù)接收存儲工作。
2? 數(shù)據(jù)采集傳輸協(xié)議與AT命令
2. 1? GPS 數(shù)據(jù)采集及NMEA??0183 協(xié)議
GPS 模塊, GPS 信號接收機和設(shè)備軟件以及GPS 數(shù)據(jù)的后處理軟件包構(gòu)成完整的GPS 模塊。車載終端GPS定位模塊選擇了RoyalTek 公司的REB??1315LPX, 根據(jù)NMEA-0183 協(xié)議完成GPS 定位信息的采集。
NMEA-0183 協(xié)議, NMEA 即Nat iONal Mar ine Electronics Associat ion, 是美國國際海洋電子協(xié)會的縮寫。
NMEA-0183 協(xié)議是該組織為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式, NMEA??0183 協(xié)議語句采用ASCI I 碼, 串行通信默認(rèn)參數(shù)為, 波特率4 800 bps, 8 位數(shù)據(jù)位, 1 位開始位, 1 位停止位, 無奇偶校驗位。其包含的語句種類有: GPGGA,GPGSA, GPGSV, GPRMC, GPV TG.系統(tǒng)采用GPRMC格式, 可以完成所需定位信息的采集。
2. 2? GPRS數(shù)據(jù)傳輸模塊及AT 命令
GPRS 數(shù)據(jù)傳輸模塊選擇SIMComWirelESS SolutionLtd 開發(fā)的一款緊湊型雙頻GSM/ GPRS 無線通信模塊SIM900A.工作頻率為GSM/ GPRS 900/ 1 800 MHz, 其在GPRS 無線網(wǎng)絡(luò)連接條件下, 可嵌入TCP/UDP 協(xié)議、FTP/ HTT P 等協(xié)議的數(shù)據(jù)通信, 數(shù)據(jù)下行速率最大可達(dá)到85. 6 kbps.
AT 指令集是從終端設(shè)備T E( terminal equipment) 或數(shù)據(jù)終端設(shè)備DTE( data terminal equipment) 向終端適配器TA( terminal adapter ) 或數(shù)據(jù)電路終端設(shè)備DCE( datacircuit terminal equipment) 發(fā)送的。通過T A, T E 發(fā)送AT 指令來控制移動臺MS(mobile st ation) 的功能。系統(tǒng)網(wǎng)絡(luò)傳輸中用到的AT 命令有如下幾種:
AT + CMGF= 1 設(shè)置消息內(nèi)容為文本模式;
AT + CMGS = " 138xxxxxxxx"短消息發(fā)送目標(biāo)號碼;
AT + CIPST ART = "T CP/U DP", "120. 192. 209.83", "8030"
TCP/ UDP 方式連接服務(wù)器, 服務(wù)器IP 為120. 192.209. 83, 端口為8030;
AT + CIPSEN D , 發(fā)送數(shù)據(jù)指令;
數(shù)據(jù)內(nèi)容+ 0x0A , 輸入數(shù)據(jù)內(nèi)容并以0x0A 為數(shù)據(jù)結(jié)尾;
AT + CIPCLOSE, 關(guān)閉連接;
AT + CIPSHUT, 關(guān)閉移動場景;
2. 3? 套接字Socket
socket, 用于描述IP 地址和端口, 是一個通信鏈的句柄。服務(wù)打開一個Socket, 并綁定到一個端口上, 不同的端口對應(yīng)于不同的服務(wù)。一般Socket 有2 種: 流式Socket( SOCK _ STREAM ) 和數(shù)據(jù)報式Socket ( SOCK _DGRAM) .流式是一種面向連接的S ocket , 針對于面向連接的TCP 服務(wù)應(yīng)用; 數(shù)據(jù)報式Socket 是無連接的Socket, 用于UDP 服務(wù)應(yīng)用。
在車載終端和服務(wù)器程序中, 定義了不同協(xié)議格式的2 種Socket( SOCK_STREAM、SOCK_DGRAM) .Socket作為網(wǎng)絡(luò)節(jié)點, 通過T CP/U DP 協(xié)議完成數(shù)據(jù)發(fā)送接收。
3? 車載模塊與服務(wù)器通訊模塊軟件設(shè)計
軟件部分設(shè)計主要包括車載模塊通訊軟件和服務(wù)器軟件通訊模塊設(shè)計。
3. 1? 車載模塊通訊軟件設(shè)計
1) 車載終端處理器芯片
車載模塊的處理器選擇芯唐M0516 處理器, 車載終端內(nèi)部通訊包括MCU 與GPS 模塊、GPRS 模塊、以及周邊模塊的數(shù)據(jù)傳輸。內(nèi)部數(shù)據(jù)傳輸都通過串口完成。以下代碼為初始化串口中斷, 并使能收發(fā)中斷, 中斷服務(wù)函數(shù):
Void init _ 1315 ( PFN _DRVU ART _CA LLBA CK GPS _
INT _HANDLE)
{
STR_U ART_T sParam;
UNLOCKREG( ) ;
SY SCLK??> PWRCON . XT L12M_EN= 1;
/ * 設(shè)置串口1 功能引腳* /
DrvGPIO_Init Funct ion( E_FUNC_UA RT 0) ;
/ * 串口通信設(shè)置* /
sParam. u32BaudRat e= 9 600;
sParam. u8cDataBits= DRV UART_DAT ABIT S_8;
sParam. u8cSt opBits= DRVU ART _ST OPBIT S_1;
sParam. u8cPar ity= DRVUART _PARIT Y_N ONE;
sParam. u8cRxTriggerLevel = DRVU ART _ FIFO _1BYTES;
while (DrvUART _ Open ( UART _ PORT 0,& sParam) ! = E_SUCCESS) ;
DrvU ART _EnableInt( U ART _PORT0, DRVU ART _RDAINT , GPS_IN T_HANDLE) ;
}
MCU 通過響應(yīng)串口的中斷, 完成車載終端內(nèi)部數(shù)據(jù)傳輸過程。
2) GPS 模塊接收數(shù)據(jù)
GPS 模塊采用REB??1315LPX 模塊, 其讀取定位信息流程如下圖2 所示。
?
圖2 REB-1315LPX 模塊數(shù)據(jù)的讀取方法
代碼較多, 具體實現(xiàn)函數(shù)不在此處詳述。
(3)GPRS 模塊的通訊程序
GPRS 模塊與處理器的通信是通過串口完成的, 處理器向GPRS 模塊發(fā)送AT 指令以及數(shù)據(jù)。GPRS 模塊連接網(wǎng)絡(luò)后利用TCP/U DP 協(xié)議與調(diào)度中心服務(wù)器進(jìn)行無線通信。
3. 2 服務(wù)器軟件通訊模塊設(shè)計
服務(wù)器程序運用VC+ + 6. 0 為開發(fā)平臺, 服務(wù)器程序通訊模塊首先定義多組Socket 與其地址結(jié)構(gòu)sockaddr_in, 然后根據(jù)需要調(diào)用通訊函數(shù)完成節(jié)點間通訊。
WSA DAT A wsaDat a; / / 根據(jù)版本通知操作系統(tǒng), 啟用相應(yīng)版本的DLL 庫
/ / 地址結(jié)構(gòu)賦值:
serv. sin_addr. s_addr= h tonl( INADDR_ANY) ;
serv. sin_family= AF_INET ;
serv. sin_por t= htons( 8030) ; / / 取端口號為8030
addlen= sizeof( serv) ;
sock_T = socket( AF_INET , SOCK_ST REAM, 0) ;
sock_U= socket(A F_IN ET, SOCK_DGRAM, 0) ;
bind ( sock _ U , ( struct sockaddr * ) & srv, s izeof(srv) ) ; / / 綁定地址與端口
listen( sock_T , 500) ; / / 監(jiān)聽T CP 端口
accept( dlg-> sock_T, ( sockaddr* ) & ( dlg??> serv) ,& ( dlg-> addlen) ) ; / / 接受連接請求
AfxBeginT hread(& t hread, 0) ; / / 啟動監(jiān)聽及數(shù)據(jù)傳輸線程
線程中調(diào)用recv( ) 函數(shù)和send( ) 函數(shù), 完成數(shù)據(jù)收發(fā)任務(wù)。
4? 實 驗
設(shè)置車載機目標(biāo)服務(wù)器IP 地址和端口號后加電, 車載機通過GPRS 網(wǎng)絡(luò)向遠(yuǎn)程服務(wù)器發(fā)送連接請求, 服務(wù)器收到連接請求后, 建立連接并根據(jù)SIM 卡號和車載機編號識別車輛, 按照一定格式打包車輛GPS 并信息定時回傳, 服務(wù)器將數(shù)據(jù)存入數(shù)據(jù)庫完成數(shù)據(jù)采集, 實驗結(jié)果如下:
圖3 為車載終端通過TCP 協(xié)議A SCII 碼通道回傳的一條定位信息, 此通道數(shù)據(jù)傳輸穩(wěn)定且不需要對數(shù)據(jù)解碼, 耗費流量較大。
?
圖3? TCP 協(xié)議ASCI I 通道回傳信息
圖4 為車載終端通過TCP 協(xié)議二進(jìn)制編碼通道回傳的一條定位信息, 二進(jìn)制解碼后為以“ $ ”開頭的定位信息。此通道傳輸穩(wěn)定, 需要對二進(jìn)制數(shù)據(jù)解碼, 流量相對較小。
?
圖4? TCP 協(xié)議ASCI I 通道回傳信息
圖5 為車載終端通過UDP 協(xié)議二進(jìn)制編碼通道回傳的一條定位信息。此通道為不可靠傳輸, 二進(jìn)制數(shù)據(jù)需要解碼, 相對于T CP 協(xié)議回傳包簡化了包頭, 節(jié)省流量, 在系統(tǒng)中為主用數(shù)據(jù)傳輸通道, 用于定時( 此處設(shè)置30S) 回傳數(shù)據(jù)。
?
圖5? TCP 協(xié)議ASCII 通道回傳信息
服務(wù)終端調(diào)出GPS 回傳數(shù)據(jù)并與GIS 系統(tǒng)結(jié)合, 完成車輛信息的分析, 為車輛提供定位、監(jiān)控、管理服務(wù)。圖6 為監(jiān)控終端對采集的數(shù)據(jù)進(jìn)行分析的監(jiān)控結(jié)果。
?
圖6? TCP 協(xié)議ASCII 通道回傳信息
5? 結(jié)束語
本文設(shè)計與實驗基于GPS 和GPRS 的嵌入式車輛監(jiān)控系統(tǒng)的整個通訊方式及流程, 可以穩(wěn)定、低成本并且相對實時的完成車載終端的定位信息回傳任務(wù), 從而有效的為車輛提供車輛信息的監(jiān)控管理、信息記錄、車輛導(dǎo)航、調(diào)度以及防盜等功能。21 世紀(jì)是通信網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)成熟運用的時代, 移動通信技術(shù)發(fā)展到第三代, 基于GPRS 網(wǎng)絡(luò)與Internet 網(wǎng)絡(luò)結(jié)合將會有更好的應(yīng)用前景。
評論