描述了GPS與手持終端串口通信的方法,并在WinCE6.0操作系統下提取GPS的定位信息,采用NMEA-0183通信協議中的RMC數據格式進行解析。簡述了GIS概念,并介紹了GPS在GIS方面的應用。
GPS(Global Position Svstem)即全球定位系統,是20世紀70年代由美國陸??杖娐摵涎兄频男乱淮臻g衛星導航定位系統,其主要目的是用來為陸、海、空3大領域提供實時、全天候及全球性導航服務,具有高精度和自動測量的特點。利用該系統,用戶還能夠進行高精度的時間傳遞和精密定位。隨著GPS的發展和完善其應用層面日益增大,嵌入式GPS的手持終端應運而生。而今,人們對生活智能化提出了更高的要求,使其在GIS領域上的應用得到了廣泛關注。例如智慧城市、旅游導航等。用戶可以手持帶有GPS的MID實時獲取位置、時間信息,實現定位導航功能。基于GPS的特性,文中介紹了GPS定位信息的提取方法,包括與MID串口通信的實現過程,并對獲取的數據信號通過相關的協議進行解析。最后探討了嵌入式GPS在導游中的應用。GPS還將在更多領域上得到應用,為人們的生活提供更大的方便。服務人性化、生活智能化將逐步實現。
1 GPS信號解析協議
GPS信號通過串口以NMEA-0183標準格式輸出,NMEA-0183通信協議,提供6種數據格式,分別是GGA,GLL,GSA,GSV,RMC,VTG。在此主要介紹RMC格式數據。
$GPRMC是GPS推薦的最短數據,其幀結構為:
$GPRMC,<1>.<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>
字段0:$GPRMC,語句ID,表明該語句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位信息。GP為信息來源,RMC為句型識別符
字段1:UTC時間,hhmmss.sss格式
字段2:狀態,A=定位,V=未定位
字段3:緯度ddmm.mmmm,度分格式(前導位數不足則補0)
字段4:緯度N(北緯)或S(南緯)
字段5:經度dddmm.mmmm,度分格式(前導位數不足則補0)
字段6:經度E(東經)或W(西經)
字段7:速度,節,Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000-180)度(前導位數不足則補0)
字段11:校驗值
對接收到的數據進行解析后即可獲得經緯度、速度、時間等信息,從而實現GPS定位信息的提取。
2 GPS軟件流程圖
目前MID主要使用Android操作系統,然而相比Android系統,WinCE操作系統的穩定性相對更高,技術更加成熟。本文將介紹在WinCE 6.0操作系統下GPS信號的提取與解析。GPS軟件流程圖如圖1所示。
首先打開串口進行串口的初始化,配置串口的參數,根據硬件配置,默認設置串口為COM4口,比特率為9 600 bit/s,完成所有初始化工作后,啟動監聽線程,監聽串口上所有的輸入數據,當接收到數據后,對數據進行保存,若無數據,則繼續監聽。系統1 s定時觸發事件,若數據存在,則對接收到的數據按照NMEA0183協議解析,從而顯示在用戶界面上。
3 GPS定位信息提取與解析
3.1 GPS讀取MID串口數據流程圖
首先創建串口的讀線程,然后進行串口的監聽,等待指定瀆事件的發生。如果有可讀數據則讀串口,對接收到的事件進行數據處理。數據讀取流程圖如圖2所示。
3.2 串行端口數據通信
1)打開串行端口
通過調用CreateFile函數打開串行端口
m_hComm=CreateFile (Port,GENERIC_READ1GENERIC_WRITE,0,0,OPEN_EXISTING,0,0)。這個函數的返回值是已打開串行端口的句柄值。
2)串行端口通信配置
串口打開后.需對串口進行配置。用GetCommState函數獲得當前打開的串口參數,然后根據需要修改DCB的成員變量,用SetCommState函數來設置新的串口參數。
3)設置狀態參數
SetCommMask(m_hComm,EV_RXCHAR);
4)設置超時參數
為防止程序陷入循環狀態,需要設置超時值。
5)讀寫串口通信
fReadState=ReadFiie(m_hComm,data,length,&dwLength,NULL)://從串口讀取數據
fWriteState=WriteFile(m_hComm,buf,dwCharToWrite*sizeof(char),&dwBytesWritten,NULL);//向串口寫入數據
6)通信結束關閉串口
函數CloseHandle(m_hComm)用來關閉串口。當串口獲取GPS接收機數據信號后,需要根據NMEA-0183通信協議解析GPS數據,獲取移動目標當前的格林尼治時間和位置,而我國的標準時間需在格林尼治時間上加上8小時。
GPS使用的坐標系為WGS_84坐標系,而我國通常使用的是國家坐標系,如北京54國家坐標系,因此需要進行坐標轉換。GPS在與MID通信過程中可通過串口每秒發送10條數據。實際應用中可根據需要解析所需定位數據。
4 軟件測試
首先,在開發平臺上對程序進行編譯成功后,然后同步到硬件平臺上,并運行該軟件,實現串口打開,使接收機處于工作狀態,同時獲取GPS數據,最終顯示在數據信息框中。
GPS數據信息采集程序運行如圖3所示。
5 嵌入式GPS在GIS上的應用
5.1 GIS簡介
GIS(Geographic Information System)地理信息系統是上世紀60年代興起的技術,經過40余年的發展,GIS技術已趨成熟,現在已進入推廣和普及應用階段。GIS是一項以計算機為基礎的新興技術,同繞著這項技術的研究、開發和應用形成了一門交叉性、邊緣性的學科,是管理和研究空間數據的技術系統,在計算機軟硬件支持下,它可以對空間數據按地理坐標或空間位置進行各種處理、對數據的有效管理、研究各種空間實體及相互關系。通過對多因素的綜合分析,它可以迅速地獲取滿足應用需要的信息,并能以地圖、圖形或數據的形式表示處理的結果。
隨著嵌入式GPS的出現,GIS的應用領域也得到了新的擴展。例如車載導航定位系統的實現,其大大方便了出行者,改善了交通狀況。而隨著城市的快速發展,我國提出了智慧城市的方案。目前宣布準備或正在規劃和計劃建設智慧城市的有北京、上海、廣州、南京、沈陽、武漢、合肥、昆明、無錫、昆山、富陽、雙流等。而其中上海在智慧城市的建設中引領風騷。其涉及領域之廣可及智慧安防,醫療,交通,校園,節能等。這將成為GIS發展的新領域。因此,嵌入式GPS在GIS上的應用具有很大的發展前景。
5.2 嵌入式GPS在導游中的應用
隨著旅游業的蓬勃發展,傳統的導游解說式旅游已經不能滿足游客的需求。人們更希望自主游玩兒,而不是跟著導游走馬觀花,然而對于景區的陌生常常又會給游客帶來困擾,不能隨心所欲。此時GPS定位在GIS上的應用即可解決這一問題。以游樂園為例,游客即可進行自主游玩。
如圖4所示,游客手持帶有GPS的手持終端進入游樂園,當游客進入一個區域時,這里假設游客進入城堡區,通過GPS定位,此時手持終端將自動彈出界面,告知游客處于城堡區,而在城堡區界面中將設有幾個窗口,分別標有城堡區中各城堡的名稱,如白雪公主城堡、灰姑娘城堡、美女與野獸城堡等。用戶挑選自己感興趣的城堡點擊進入界面,此時便可查看相關城堡圖片,閱讀相關資訊等。游客便可根據喜好判斷是否前去游玩兒。
6 結束語
文中對GPS定位信息的提取進行了介紹。隨著GPS的發展,嵌入式GPS的手持終端得到了廣泛應用。在我國,智慧城市的提出又將帶來嵌入式GPS在GIS領域上新的應用,具有美好的發展前景。