新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(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://www.104case.com/news/listbylabel/label/終端">終端解析的數(shù)據(jù)通過Intemet上傳到中心。本軟件采用流格式套接字進(jìn)行網(wǎng)絡(luò)通信,對應(yīng)于TCP/IP協(xié)議中面向連接的TCP協(xié)議。網(wǎng)絡(luò)數(shù)據(jù)傳輸程序采用客戶機(jī)/服務(wù)器機(jī)制編程,終端(客戶機(jī))進(jìn)程由用戶操縱;而中心(服務(wù)器)進(jìn)程則駐留在主機(jī)上連續(xù)運(yùn)行,等待終端連接請求進(jìn)入。

          中心的網(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ù)派生新的子進(jìn)程與終端通信,父進(jìn)程繼續(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標(biāo)準(zhǔn)。程序流程如下:

          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進(jìn)行相應(yīng)的設(shè)置:如設(shè)置波特率為4 800 b/s,8位數(shù)據(jù)位,無奇偶校驗(yàn),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 運(yùn)行結(jié)果

          本文所的終端軟件運(yùn)行結(jié)果如圖5所示。終端GPS數(shù)據(jù)顯示包括UTC時間、經(jīng)緯度、星歷、方向、海拔等。實(shí)現(xiàn)了全面地、直觀地顯示GPS數(shù)據(jù)的功能,具有友好的人機(jī)界面風(fēng)格。其中圖5(a)中可以對GPS串口進(jìn)行配置,以及顯示接收到的原始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點(diǎn)24分22秒。

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

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

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

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

          5 結(jié)束語

          針對我國行業(yè)快速發(fā)展的背景,本文對GPS和CDMA的監(jiān)控終端進(jìn)行了軟硬件。實(shí)現(xiàn)了對的遠(yuǎn)程監(jiān)控和實(shí)時調(diào)度。相比傳統(tǒng)的車載終端,本設(shè)計采用32位ARM處理器,具有更快的處理速度、更大的存儲空間、更直觀的界面顯示等優(yōu)點(diǎn)。尤其在GPS數(shù)據(jù)無線傳輸方面采用了CDMA無線通信技術(shù),比傳統(tǒng)GPRS技術(shù)更適用于長距離、大數(shù)據(jù)量、實(shí)時性要求非常高的車載終端領(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)閉
        主站蜘蛛池模板: 申扎县| 城口县| 都安| 珲春市| 门源| 灵璧县| 芮城县| 永顺县| 古浪县| 黑河市| 日照市| 南川市| 和田市| 大同县| 政和县| 罗江县| 柳州市| 南川市| 武平县| 东宁县| 靖州| 东方市| 临清市| 南涧| 高阳县| 防城港市| 安义县| 略阳县| 潢川县| 墨江| 百色市| 张家口市| 遵义市| 博野县| 荥阳市| 廉江市| 洛扎县| 葵青区| 孟村| 达日县| 顺平县|