新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于GPS+CDMA的物流車輛監(jiān)控終端的設(shè)計

基于GPS+CDMA的物流車輛監(jiān)控終端的設(shè)計

作者: 時間:2011-03-18 來源:網(wǎng)絡(luò) 收藏

  3.3 無線網(wǎng)絡(luò)通信程序

  通過網(wǎng)絡(luò)接入Internet后,無線網(wǎng)絡(luò)通信程序?qū)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/終端">終端解析的數(shù)據(jù)通過Intemet上傳到中心。本軟件采用流格式套接字進行網(wǎng)絡(luò)通信,對應(yīng)于TCP/IP協(xié)議中面向連接的TCP協(xié)議。網(wǎng)絡(luò)數(shù)據(jù)傳輸程序采用客戶機/服務(wù)器機制編程,終端(客戶機)進程由用戶操縱;而中心(服務(wù)器)進程則駐留在主機上連續(xù)運行,等待終端連接請求進入。

  中心的網(wǎng)絡(luò)通信程序流程如下:1)用socket()函數(shù)創(chuàng)建套接口,并給套接口地址結(jié)構(gòu)賦值;2)用bind()函數(shù)使套接口與本地IP地址、端*綁定,選用靜態(tài)IP地址;3)用listen()函數(shù)在該套接口上*連接請求;4)用accept()函數(shù)接收終端連接請求,產(chǎn)生新的套接口及描述字并與終端連接,利用新的套接字發(fā)送和接收數(shù)據(jù);5)用fork()函數(shù)派生新的子進程與終端通信,父進程繼續(xù)*其他請求。這樣就可避免一個終端與監(jiān)控中心建立連接后,監(jiān)控中心不能再與其他終端通信的問題。

  終端的TCP程序流程如下:1)用socket()創(chuàng)建本地套接口,給監(jiān)控中心套接口地址結(jié)構(gòu)賦值;2)用connect()函數(shù)使本地套接口向監(jiān)控中心套接口主動發(fā)出建立連接請求,經(jīng)三次握手建立TCP連接;3)若連接建立成功,則用send()和recv()函數(shù)與監(jiān)控中心通信;4)通信結(jié)束,用close()關(guān)閉套接口。

  3.4 終端串口程序

  軟件開發(fā)工具采用EVC(embedded visual C++),EVC是Windows CE上的主流開發(fā)工具,封裝了網(wǎng)絡(luò)底層通訊、COM互操作、RAPI等。EVC支持MFC類庫的子集,使Win32平臺上的VC程序可以方便地移植到WinCE平臺上。

  終端串口程序主要完成兩個功能:接收GPS數(shù)據(jù)和解析GPS數(shù)據(jù)。GPS模塊輸出遵循NMEA-0183標準。程序流程如下:

  1)使用OpenPort()函數(shù)打開串口,該函數(shù)使用創(chuàng)建文件函數(shù)CreatFile()打開串口2,以獲取串口2的操作句柄m_hComm;

  2)如果串口2打開成功,則讀取當(dāng)前串口的設(shè)置,即通過GetCommState()讀取串口參數(shù)結(jié)構(gòu)體DCB變量;

  3)用SetCommState()對串口2進行相應(yīng)的設(shè)置:如設(shè)置波特率為4 800 b/s,8位數(shù)據(jù)位,無奇偶校驗,1位停止位,無數(shù)據(jù)流控制;

  4)按位讀取數(shù)據(jù),判斷幀起始是否為$GPRMC,若為$GPRMC則從中提取時間、經(jīng)度、緯度、速度等信息并存入相應(yīng)結(jié)構(gòu)體;判斷幀起始是否為$GPGGA,若為$GPGGA則從第9字段提取海拔高度并存入相應(yīng)結(jié)構(gòu)體;判斷幀起始是否為$GPGSV,若為$GPGSV則從中提取有效衛(wèi)星數(shù)目、有效衛(wèi)星編號等信息并存入相應(yīng)結(jié)構(gòu)體;

  5)用SetWindowText()在LCD上顯示接收到的GPS數(shù)據(jù)和解析后的GPS信息;

  6)最后,在需要時用ClosePort()函數(shù)關(guān)閉串口2。該函數(shù)使用CloseHandh()關(guān)閉串口2的句柄m_hComm。

  4 運行結(jié)果

  本文所的終端軟件運行結(jié)果如圖5所示。終端GPS數(shù)據(jù)顯示包括UTC時間、經(jīng)緯度、星歷、方向、海拔等。實現(xiàn)了全面地、直觀地顯示GPS數(shù)據(jù)的功能,具有友好的人機界面風(fēng)格。其中圖5(a)中可以對GPS串口進行配置,以及顯示接收到的原始NEMA-0183語句。圖5(b)中的經(jīng)緯度是在天津市北辰區(qū)河北工業(yè)大學(xué)新校區(qū)測得的,精確到秒級,經(jīng)度為東經(jīng)117°41’34.4”,緯度為北緯39°37’6.2”。測試時間是2010年6月6日,下午16點24分22秒。

終端GPS數(shù)據(jù)顯示界面

圖5 終端GPS數(shù)據(jù)顯示界面

  測試表明,終端軟件能平穩(wěn)地運行在嵌入式WinCE 5.0系統(tǒng)上,具有良好的實時性和準確性。

  另外,終端通過無線通信網(wǎng)絡(luò)實時地將GPS定位數(shù)據(jù)傳給監(jiān)控中心,監(jiān)控中心的電子地圖上即實時顯示終端的地理位置。經(jīng)測試,終端的實際位置與電子地圖上的位置完全符合,并且具有良好的實時性,數(shù)據(jù)刷新時間小于3 s,GPS位置漂移值小于20 m。

  5 結(jié)束語

  針對我國行業(yè)快速發(fā)展的背景,本文對GPS和CDMA的監(jiān)控終端進行了軟硬件。實現(xiàn)了對的遠程監(jiān)控和實時調(diào)度。相比傳統(tǒng)的車載終端,本設(shè)計采用32位ARM處理器,具有更快的處理速度、更大的存儲空間、更直觀的界面顯示等優(yōu)點。尤其在GPS數(shù)據(jù)無線傳輸方面采用了CDMA無線通信技術(shù),比傳統(tǒng)GPRS技術(shù)更適用于長距離、大數(shù)據(jù)量、實時性要求非常高的車載終端領(lǐng)域。隨著3G移動通信系統(tǒng)的發(fā)展,采用CDMA網(wǎng)絡(luò)的GPS終端更易于向3G網(wǎng)絡(luò)平滑過渡,會有更廣闊的應(yīng)用前景。

cdma相關(guān)文章:cdma原理



上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉