APP下载

PC 机与GPS接收机的通讯程序设计与实现

2011-09-07沈振汉黄华灿

关键词:经纬度电子地图控件

沈振汉,黄华灿

(华侨大学信息科学与工程学院,福建泉州362021)

PC 机与GPS接收机的通讯程序设计与实现

沈振汉,黄华灿

(华侨大学信息科学与工程学院,福建泉州362021)

设计一种利用GPS模块与计算机串口互相连接,实现对GPS全球定位系统定位信息接收;然后,通过VB的串口通信程序对数据进行处理并制作电子地图.通过GPS接收机采集数据,对收集到的数据进行处理,利用电子地图和数据库实现了定位和查询功能.系统基本实现经纬度、速度、海拔、时间的显示,以及GPS数据的历史查询功能.

全球卫星定位系统;电子地图;数据库;串口互联

1 系统设计

1.1 功能流程

要实现定位信息的提取和显示,首先要实现定位信息的传输,即通过相应的接口实现GPS接收机与PC机之间的通信.采用SiRF Technology公司的GPS接收芯片,通过天线接收GPS卫星信号,并进行相应处理产生定位信息;然后,通过串口(RS 232)输出.GPS通讯协议较多,可采用应用最为广泛的NMEA-0183协议.NMEA0183格式以“$”开始,主要语句有GPGGA,GPVTG,GPRMC等.

图1 主要功能流程图Fig.1 Main function flow chart

程序的功能主要是串口通信模块,通过串口采集GPS数据实时显示的经度、纬度、速度、时间,海拔高度等,以及通过连接数据库对定位信息进行实时存储,以便查询.同时,通过电子地图的设计来实现实时定位功能图.系统的主要功能流程图,如图1所示.

1.2 串口通信属性的设置

定位信息的传输和提取定位信息的传输,通常采用串口来实现.VB提供的MSComm控件被广泛用来实现串口通信,MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能.

在实现具体的串口通信时,必须对MSComm控件的相关属性进行设置.在默认设置基础上,需要进行更改的设置包括如下3个部分[1].

(1)考虑到GPS串口通信采用的是固定参数,因此要将MSComm控件中的Settings属性设置为“4800,N,8,1”,即比特率为4 800 bit·s-1,无奇偶校验位,数据位为8,停止位为1.

(2)根据所采用的接收机的不同,需对MSComm控件中的input Mode属性进行设置,采用“comInput ModeText”方式.

(3)根据所选择的串口,将MSComm控件中的Commport属性设置为相应的串口号,选择为“1”.定位信息的提取,包括从“$GPRMC”和“$GPGGA”数据列中提取经纬度高度等信息,以及将这些信息在文本框内显示.这一工作可以在MSComm控件中的OnComm事件中通过编程具体实现[2-4].

软件的流程图,如图2所示.将硬件跟PC连好,开启COM1端口,等待数据输入,通过提取$GPRMC格式数据中的状态定位符(A表示有效数据,V表示无效数据)来判断输入数据是否有效.当数据有效时,通过VB函数提取“$GPRMC”中的经纬度、时间日期、速率等参数,以及“$GPGGA”格式中的高度信息,将经纬度信息存入数据库并显示.

1.3 定位信息的提取

部分代码如下:

图2 软件流程图Fig.2 Software flow chart

将缓存中的“$GPRMC”格式的定位信息赋给字符串变量“$GPRMC”,根据“$GPRMC”的格式,通过相应的语句从变量“$GPRMC”中提取出所需的纬度、经度、速度和时间日期等信息,并赋给相应的变量.需要注意的是,在提取时间信息时需要将UTC时间转换为北京时间,并对24进行模运算,以确保时间的准确.通过提取“$GPGGA”格式信息来提取海拔高度.

由于在调试过程中发现高度值长度不是一个固定长度的值,不像提取“$GPRMC”格式的固定长度信息采用InStr函数.然后,将提取出来的定位信息在预先设计的文本框中显示出来.通过这些步骤即完成定位信息的提取工作.

1.4 GPS信息与数据库

将提取的日期时间、经纬度信息存入ACCESS数据库,以便查询历史记录可输入日期时间查询.其部分代码如下:

1.5 实例分析

GOOGLE地图上的图都是通过航拍获取的,清晰度和可靠度都很高,且可以提取经纬度坐标,为地图的制作提供了方便[5].利用提取的地图顶点坐标的经纬度来制作电子地图,主要有如下4个步骤.

(1)截取GOOGLE地图上某地的鸟瞰图,通过图像软件处理图像并大概标注地图的信息.

(2)提取地图上的经纬度坐标,提取4个顶角的坐标和几个标志建筑的坐标.

(3)对坐标进行换算,并转化为GPS接收机接收到数据的格式.

(4)由于提取坐标时存在人为误差和GOOGLE地图上的定位误差,通过实时的定位实验,调整校正从GOOGLE地图上提取的坐标,以减小误差.

GPS接收机将接收到的信息通过串口送入计算机,经过VB的程序处理,将GPS信息中的经纬度、速度、海拔、时间提取出来并显示、存储.然后,将经纬度信息与简易电子地图相匹配实现定位功能.

2 结束语

介绍一种利用VB程序设计和实现PC机与GPS接收机的通讯程序,以及实现GPS数据帧信息提取与分离.利用数据库技术将接收到的GPS数据进行存储,并且利用简单的电子地图设计实现基本定位功能.

[1] 张巨,陈荦,刘雨.在VB5中运用多线程实现微机与GPS接收机间的通信[J].微型机与应用,1999(12):9-10.

[2] 高春艳,刘彬彬.Visual Basic控件参考大全[M].北京:人民邮电出版社,2006.

[3] 王建宏.用VB实现GPS信息处理[J].微型电脑应用,2007,23(1):43-45.

[4] 蔡榆榕.VB通讯控件在机房管理中的应用[J].华侨大学学报:自然科学版,2004,25(3):334-336.

[5] 李拥军.GPS定位系统中数据读取和坐标的转换[J].计算机与通信,2005,14(4):43-45.

Design and Implementation of Communications Programs of PC Computer with GPS Receiver

SHEN Zhen-han,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

(责任编辑:钱筠 英文审校:吴逢铁)

1000-5013(2011)01-0118-03

2009-09-23

黄华灿(1948-),男,教授,主要从事传输电子系统与专用集成电路设计的研究.E-mail:hchuangqz@hqu.edu.cn.

福建省科技计划项目(2006T0006)

猜你喜欢

经纬度电子地图控件
基于灵活编组的互联互通车载电子地图设计及动态加载
基于经纬度范围的多点任务打包算法
关于.net控件数组的探讨
基于Mapserver的增强现实电子地图的设计与实现
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
电子地图在初中地理教学中的应用实践
ASP.NET服务器端验证控件的使用
电子地图多尺度显示模型研究
基于嵌入式MINIGUI控件子类化技术的深入研究与应用