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