Welcome 微信登录

首页 / 操作系统 / Linux / Linux串口读取GPS数据

?一、相关概念 1.GPS(Global Positioning System):全球卫星定位系统
美国的24颗卫星不停地给地面发GPS信号,只要有一台GPS接收设备,就能定位出你所在的位置高度和速度了,它与电子地图的结合就是通常所说的GPS功能 二、连接方式 1.串口:计算机通常通过串口读取gps数据(蓝牙的gps也使用虚拟串口) 2.步骤: 1)普通串口设备
打开串口->设置串口->读取数据->恢复串口->关闭串口 2)蓝牙设备
开启蓝牙->与gps设备连接->打开串口->读取数据->关闭串口->与gps设备断开->关闭蓝牙 3)注意
连接gps蓝牙设备如需要连接密码,设置为0000(蓝牙默认密码)
用蓝牙gps设备一般不用对串口进行设置 三、gps数据格式 1.从串口中读出的是文本数据,每次读出一行,一般情况下,一秒种能收到多行数据 2.有效数据以$GP开头,分为$GPGGA、$GPGSA、$GPGSV、$GPRMC… 3. $GPGGA 是GPS定位的主要数据,通过解析它得到经度、纬度、海拔高度、时间、卫星使用情况等基本信息,其中每项用逗号分隔,共十四个逗号,举例如下:
$GPGGA,064746.000,4925.4895,N,00103.9255,E,1,05,2.1,-68.0,M,47.1,M,,0000*4F
$GPGGA(语句标识头),064746.000(UTC时间),4925.4895(纬度),N(纬度半球),00103.9255(经度),E(经度半球),1(定位质量指示),05(使用卫星数量),2.1(水平精确度),-68.0(海拔高度),M(高度单位),47.1(大地水准面高度),M(高度单位),(差分 GPS数据期限),0000(差分参考基站标号)*4F(校验)(结束标记回车换行) 四、例程 1.功能描述
假设蓝牙模块与gps已连接成功,蓝牙的虚拟串口设备是ttyB2
实现从蓝牙设备连接读取100条数据,解析后(经度/纬度/海拔/卫星个数)显示出来 2.代码 #include #include #include #include #include #include  void parseData(char *buf) { int ret, nQ, nN, nB, nC; char cX, cY, cM1, cM2; float fTime, fX, fY, fP, fH, fB, fD;  if (buf == NULL) return; ret = sscanf(buf, "$GPGGA,%f,%f,%c,%f,%c,%d,%02d,%f,%f,%c,%f,%c,%f,%04d%02x", &fTime, &fX, &cX, &fY, &cY, &nQ, &nN, &fP, &fH, &cM1, &fB, &cM2, &fD, &nB, &nC); printf("x: %c %f, y: %c %f, h %f, satellite: %d ", cX, fX, cY, fY, fH, nN); }  int main(int argc, char **argv) { int fd, i, ret; char buf[1024] = "$GPGGA,064746.000,4925.4895,N,00103.99255,E,1,05,2.1,-68.0,M,47.1,M,,0000*4F "; // 此处赋值用于测试  if ((fd = open("/dev/ttyB2", O_RDWR)) == -1) return -1; // set fd: tcsetattr... 直接连接串口的设备需要在此设置波特率 for (i = 0; i < 100; i++) { ret = read(fd, buf, 1024); if (ret > 1) { if (strstr(buf, "GPGGA") != NULL) parseData(buf); } } // restore fd: tcsetattr... 直接连接串口的设备需要在此恢复波特率 close(fd); } Linux系统下读取U盘信息Linux小于ox3ff端口读取相关资讯      GPS 
  • 通过GPS测试跑步速度可行性验证  (10/13/2013 07:42:49)
  • 研究人员发现 GPS 系统的严重漏洞  (12/10/2012 14:03:16)
  • Android GPS定位系统  (04/29/2012 20:58:24)
  • GAMIT/GLOBK在GPS数据处理中的应  (12/18/2012 20:42:12)
  • C语言解码GPS--实现篇  (08/30/2012 09:42:47)
  • gpsd 3.4 发布,GPS 侦听器  (04/07/2012 13:25:56)
本文评论 查看全部评论 (0)
表情: 姓名: 字数