文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>GPS数据的解析

GPS数据的解析

时间:2010-12-29  来源:hugerat

现在GPS的应用越来越广泛,已不仅仅应用于导航系统了。很多项目中,都用到了GPS。比如车载防盗系统。公交调度系统,自动气象仪等等。这里,我大致谈一下GPS数据的提取方法。

GPS数据都是一条条的ASCII字符串。每个字符串的开头都是以’$’开头。以累加和校验(’*’后的两个字符)以及回车换行结束。’$’后跟的标识表示当前的字符的种类。如GPRMC,GPGGA等。每种字符串内所包含的数据以’,’分开。每种字符串所包含数据的格式,在GPS的手册中都有详细说明,这里不多说,主要是说一下,各种字符串的主要用处。

$GPRMC,最常用的字符串,包含了时间,日期,定位,和航速航向信息。一般应用,只要有这些信息就可以了。

$GPGGA,包含了定位信息相关的详细信息。如定位时用到的星数,定位的方式,天线的海拔高度,精度等等。

$GPGSA,包含了定位,水平,海拔三种DOP信息,即精度信息,包含了定位所用到的卫星ID。

$GPGSV,包含了GPS模块可以看到的星数(注意,只是能看到的星数,实际使用到的星数在GPGGA中),以及这些卫星的ID号,仰角,方位角,信噪比。关于这种字符串要特别说明的是,它可能会由几条GPGSV字符串组成,因此,每个字符串都包含了共几条字符串,本字串是第几条这样的信息。一般的GPS最多是三条。也有的GPS模块会超过3条。

$GPVTG,包含了更详细的航向航速的信息,航向信息分为以真北为参考和以地磁北为参考(真北和地磁北是不一样的,两者相差几度),航速信息则给出了以节为单位和以公里/时为单位的数据。

以上信息,一般GPS模块都会默认输出,也有的模块只输出其中几个。

在C语言中,提供了一些与字符串处理有关的函数,因此想要将这些字符串中的数据提出,只要使用这些函数即可。其基本方法是使用strchr函数,将字符串以’,’为间隔分开来,用atoi函数读取整数值,用sscanf函数来读取浮点数。在单片机中,因为处理浮点数效率低,可考虑将浮点数拆分为两个整数,即整数部分的数和小数部分的数。

要特别说明的是,通过串口读取GPS字串时,一般是极可靠的,但在实际应用中,有时会出错或出现读取不全的现象,因此,对读到的GPS字串最好是进行累加和校验,其方法是将除’$’以后到’*’以前的数据计算累加和,将结果与’*’后所包含的累加和比对。一致则认为校验通过。下面,给出我用的算法。

//检验GPS信息的校验和,databuf为GPS字符串,buflen为字符串长度(含$及回车换行符的长度)

unsigned char CheckSum(char *databuf,unsigned char buflen)

{

    unsigned char sum;

    unsigned char c1;

    unsigned char c2;

    int i;

    sum = 0;

    for(i=1;i<(buflen-5);i++)

    {

        sum = sum ^ databuf[i];

    }

    c2 = sum&0x0F;

    c1 = (sum>>4)&0x0F;

    if(c1<10) c1 +='0';else c1 += 'A' -10;

    if(c2<10) c2 +='0';else c2 += 'A' -10;

    if(c1 == databuf[buflen-4] && c2 == databuf[buflen-3]) //比较时,要注意这节序,我这里是在小端模式下的字节序

    {

        return 1;

    }

    return 0;

}

 

我写了一个软件,可以演示GPS数据的解析。给大家参考一下,方便学习。

下载地址

http://cid-6b7a311158eebf59.office.live.com/self.aspx/%e5%8e%9f%e5%88%9b%e5%85%b1%e4%ba%ab%e8%bd%af%e4%bb%b6/GPS^_Demo.rar

 

另外,如大家需要,还可以购买我的GPS开发板,其特点是提供了RS232,USB,TTL三种接口,方便学习和开发。

淘宝连接

http://item.taobao.com/auction/item_detail.htm?item_num_id=8929914206

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载