沈振漢,黃華燦
(華僑大學(xué)信息科學(xué)與工程學(xué)院,福建泉州362021)
PC 機(jī)與GPS接收機(jī)的通訊程序設(shè)計(jì)與實(shí)現(xiàn)
沈振漢,黃華燦
(華僑大學(xué)信息科學(xué)與工程學(xué)院,福建泉州362021)
設(shè)計(jì)一種利用GPS模塊與計(jì)算機(jī)串口互相連接,實(shí)現(xiàn)對GPS全球定位系統(tǒng)定位信息接收;然后,通過VB的串口通信程序?qū)?shù)據(jù)進(jìn)行處理并制作電子地圖.通過GPS接收機(jī)采集數(shù)據(jù),對收集到的數(shù)據(jù)進(jìn)行處理,利用電子地圖和數(shù)據(jù)庫實(shí)現(xiàn)了定位和查詢功能.系統(tǒng)基本實(shí)現(xiàn)經(jīng)緯度、速度、海拔、時間的顯示,以及GPS數(shù)據(jù)的歷史查詢功能.
全球衛(wèi)星定位系統(tǒng);電子地圖;數(shù)據(jù)庫;串口互聯(lián)
1.1 功能流程
要實(shí)現(xiàn)定位信息的提取和顯示,首先要實(shí)現(xiàn)定位信息的傳輸,即通過相應(yīng)的接口實(shí)現(xiàn)GPS接收機(jī)與PC機(jī)之間的通信.采用SiRF Technology公司的GPS接收芯片,通過天線接收GPS衛(wèi)星信號,并進(jìn)行相應(yīng)處理產(chǎn)生定位信息;然后,通過串口(RS 232)輸出.GPS通訊協(xié)議較多,可采用應(yīng)用最為廣泛的NMEA-0183協(xié)議.NMEA0183格式以“$”開始,主要語句有GPGGA,GPVTG,GPRMC等.
圖1 主要功能流程圖Fig.1 Main function flow chart
程序的功能主要是串口通信模塊,通過串口采集GPS數(shù)據(jù)實(shí)時顯示的經(jīng)度、緯度、速度、時間,海拔高度等,以及通過連接數(shù)據(jù)庫對定位信息進(jìn)行實(shí)時存儲,以便查詢.同時,通過電子地圖的設(shè)計(jì)來實(shí)現(xiàn)實(shí)時定位功能圖.系統(tǒng)的主要功能流程圖,如圖1所示.
1.2 串口通信屬性的設(shè)置
定位信息的傳輸和提取定位信息的傳輸,通常采用串口來實(shí)現(xiàn).VB提供的MSComm控件被廣泛用來實(shí)現(xiàn)串口通信,MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能.
在實(shí)現(xiàn)具體的串口通信時,必須對MSComm控件的相關(guān)屬性進(jìn)行設(shè)置.在默認(rèn)設(shè)置基礎(chǔ)上,需要進(jìn)行更改的設(shè)置包括如下3個部分[1].
(1)考慮到GPS串口通信采用的是固定參數(shù),因此要將MSComm控件中的Settings屬性設(shè)置為“4800,N,8,1”,即比特率為4 800 bit·s-1,無奇偶校驗(yàn)位,數(shù)據(jù)位為8,停止位為1.
(2)根據(jù)所采用的接收機(jī)的不同,需對MSComm控件中的input Mode屬性進(jìn)行設(shè)置,采用“comInput ModeText”方式.
(3)根據(jù)所選擇的串口,將MSComm控件中的Commport屬性設(shè)置為相應(yīng)的串口號,選擇為“1”.定位信息的提取,包括從“$GPRMC”和“$GPGGA”數(shù)據(jù)列中提取經(jīng)緯度高度等信息,以及將這些信息在文本框內(nèi)顯示.這一工作可以在MSComm控件中的OnComm事件中通過編程具體實(shí)現(xiàn)[2-4].
軟件的流程圖,如圖2所示.將硬件跟PC連好,開啟COM1端口,等待數(shù)據(jù)輸入,通過提取$GPRMC格式數(shù)據(jù)中的狀態(tài)定位符(A表示有效數(shù)據(jù),V表示無效數(shù)據(jù))來判斷輸入數(shù)據(jù)是否有效.當(dāng)數(shù)據(jù)有效時,通過VB函數(shù)提取“$GPRMC”中的經(jīng)緯度、時間日期、速率等參數(shù),以及“$GPGGA”格式中的高度信息,將經(jīng)緯度信息存入數(shù)據(jù)庫并顯示.
1.3 定位信息的提取
部分代碼如下:
圖2 軟件流程圖Fig.2 Software flow chart
將緩存中的“$GPRMC”格式的定位信息賦給字符串變量“$GPRMC”,根據(jù)“$GPRMC”的格式,通過相應(yīng)的語句從變量“$GPRMC”中提取出所需的緯度、經(jīng)度、速度和時間日期等信息,并賦給相應(yīng)的變量.需要注意的是,在提取時間信息時需要將UTC時間轉(zhuǎn)換為北京時間,并對24進(jìn)行模運(yùn)算,以確保時間的準(zhǔn)確.通過提取“$GPGGA”格式信息來提取海拔高度.
由于在調(diào)試過程中發(fā)現(xiàn)高度值長度不是一個固定長度的值,不像提取“$GPRMC”格式的固定長度信息采用InStr函數(shù).然后,將提取出來的定位信息在預(yù)先設(shè)計(jì)的文本框中顯示出來.通過這些步驟即完成定位信息的提取工作.
1.4 GPS信息與數(shù)據(jù)庫
將提取的日期時間、經(jīng)緯度信息存入ACCESS數(shù)據(jù)庫,以便查詢歷史記錄可輸入日期時間查詢.其部分代碼如下:
1.5 實(shí)例分析
GOOGLE地圖上的圖都是通過航拍獲取的,清晰度和可靠度都很高,且可以提取經(jīng)緯度坐標(biāo),為地圖的制作提供了方便[5].利用提取的地圖頂點(diǎn)坐標(biāo)的經(jīng)緯度來制作電子地圖,主要有如下4個步驟.
(1)截取GOOGLE地圖上某地的鳥瞰圖,通過圖像軟件處理圖像并大概標(biāo)注地圖的信息.
(2)提取地圖上的經(jīng)緯度坐標(biāo),提取4個頂角的坐標(biāo)和幾個標(biāo)志建筑的坐標(biāo).
(3)對坐標(biāo)進(jìn)行換算,并轉(zhuǎn)化為GPS接收機(jī)接收到數(shù)據(jù)的格式.
(4)由于提取坐標(biāo)時存在人為誤差和GOOGLE地圖上的定位誤差,通過實(shí)時的定位實(shí)驗(yàn),調(diào)整校正從GOOGLE地圖上提取的坐標(biāo),以減小誤差.
GPS接收機(jī)將接收到的信息通過串口送入計(jì)算機(jī),經(jīng)過VB的程序處理,將GPS信息中的經(jīng)緯度、速度、海拔、時間提取出來并顯示、存儲.然后,將經(jīng)緯度信息與簡易電子地圖相匹配實(shí)現(xiàn)定位功能.
介紹一種利用VB程序設(shè)計(jì)和實(shí)現(xiàn)PC機(jī)與GPS接收機(jī)的通訊程序,以及實(shí)現(xiàn)GPS數(shù)據(jù)幀信息提取與分離.利用數(shù)據(jù)庫技術(shù)將接收到的GPS數(shù)據(jù)進(jìn)行存儲,并且利用簡單的電子地圖設(shè)計(jì)實(shí)現(xiàn)基本定位功能.
[1] 張巨,陳犖,劉雨.在VB5中運(yùn)用多線程實(shí)現(xiàn)微機(jī)與GPS接收機(jī)間的通信[J].微型機(jī)與應(yīng)用,1999(12):9-10.
[2] 高春艷,劉彬彬.Visual Basic控件參考大全[M].北京:人民郵電出版社,2006.
[3] 王建宏.用VB實(shí)現(xiàn)GPS信息處理[J].微型電腦應(yīng)用,2007,23(1):43-45.
[4] 蔡榆榕.VB通訊控件在機(jī)房管理中的應(yīng)用[J].華僑大學(xué)學(xué)報:自然科學(xué)版,2004,25(3):334-336.
[5] 李擁軍.GPS定位系統(tǒng)中數(shù)據(jù)讀取和坐標(biāo)的轉(zhuǎn)換[J].計(jì)算機(jī)與通信,2005,14(4):43-45.
Design and Implementation of Communications Programs of PC Computer with GPS Receiver
SHEN Zhen-h(huán)an,HUANG Hua-can
(College of Information Science and Engineering,Huaqiao University,Quanzhou 362021,China)
This paper designs a system to achieve the global position system by using global positioning system(GPS)module link serial port of the computers which receive the positioning information from the GPS module,and then deal with this information by using Visual Basic serial communication program,moreover,design an electronic map combine with the database technique.The information used in the system is gathered by a GPS receiver,and the information is dealt with by the program,then by use of electronic maps and database to achieve the function of positioning and searching.The system basically realizes the function to display latitude and longitude,speed,altitude,time,and GPS historical data query capabilities.
global position system;electronic map;database;serial interconnection
P 228.4
A
(責(zé)任編輯:錢筠 英文審校:吳逢鐵)
1000-5013(2011)01-0118-03
2009-09-23
黃華燦(1948-),男,教授,主要從事傳輸電子系統(tǒng)與專用集成電路設(shè)計(jì)的研究.E-mail:hchuangqz@hqu.edu.cn.
福建省科技計(jì)劃項(xiàng)目(2006T0006)