5299|9

5979

帖子

8

TA的资源

版主

楼主
 

“玩板”+ 共享单车控制板-GPS模块ublox MAX-M8Q [复制链接]

 

这种板子上的GPS模块有两种,一种是ublox的 MAX-M8Q,还有一种是LYNQ的N10,调试的时候我还是选择的ublox的 MAX-M8Q。

.

测试的时候使用串口透传模式,打通UART2<--->UART3,GPS模块是接在UART3上,波特率是9600. 上位机使用u-box的u-center软件,还是挺方便的。


接下来将考虑一下,如何解析这些数据,继续加油。

 

上传一些 MAX-M8Q的参考资料:

MAX-8-M8-FW3_HardwareIntegrationManual_(UBX-15030059) (1).pdf (965.77 KB, 下载次数: 203)

MAX-M8_ProductSummary_(UBX-16008997).pdf (159.51 KB, 下载次数: 53) MAX-M8-FW3_DataSheet_(UBX-15031506).pdf (924.84 KB, 下载次数: 33) u-blox8-M8_ReceiverDescrProtSpec_(UBX-13003221)_Public.pdf (3.49 MB, 下载次数: 33)

此内容由EEWORLD论坛网友chenzhufly原创,如需转载或用于商业用途需征得作者同意并注明出处

最新回复

感谢分享!!!!!!   详情 回复 发表于 2024-11-3 20:39
点赞 关注
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复
举报

375

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

很好!

 
 
 

回复

5979

帖子

8

TA的资源

版主

板凳
 

收到的格式类似这样的

// $GNRMC,092846.400,A,3029.7317,N,10404.1784,E,000.0,183.8,070417,,,A*73

/*
$GNRMC,
092846.400, // UTC时间,hhmmss.sss(时分秒.毫秒)格式
A, // 定位状态,A=有效定位,V=无效定位
3029.7317,N, // 纬度
10404.1784,E, // 经度
000.0, // 地面速率
183.8, // 地面航向
070417, // UTC日期
, // 磁俯角
, // 磁方向角
A*73 // 模式指示
*/

个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

5979

帖子

8

TA的资源

版主

4
 

通过UART3接收GPS的数据,然后解析精度和维度,解析GNRMC 协议帧

uint8_t parseGpsData(char* buffer, GPS_INFO* gps, GPS_DATA_TYPE type)
{
	uint8_t ch, status, tmp;
	char* buf = buffer;
	

	int len = 0;
    int commaCount = 0;

    while (buf[len] != '\0')
    {
        if (buf[len] == ',')
        {
            commaCount++;
        }
        len++;
    }

    if (commaCount != 12)
    {
        return 0;
    }
	
    if (!((buf[0] == '$') && (buf[1] == 'G') && (buf[2] == 'N') && (buf[3] == 'R') && (buf[4] == 'M') && (buf[5] == 'C')))
    {
        return 0;
    }	
		

	if ( type == (GPS_DATA_TYPE)GNRMC )
		status = buf[getComma(2, buf)];			
	

    if ( status == 'A' )	
	{
			
		getStringNumber(&buf[getComma(3, buf)], gps->latitude);
		getStringNumber(&buf[getComma(5, buf)], gps->longitude);					
		return 1;
	}

	return 0;
}

 

个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

5979

帖子

8

TA的资源

版主

5
 

GPRM/GNRMC定位信息的读取与解析

帧头

UTC时间

状态

纬度

北纬/南纬

经度

东经/西经

速度

$GPRMC

hhmmss.sss

A/V

ddmm.mmmm

N/S

dddmm.mmmm

E/W

 

方位角

UTC日期

磁偏角

磁偏角方向

模式

校验

回车换行

ddmmyy

000 - 180

E/W

A/D/E/N

*hh

CR+LF

 

 

格 式: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
说 明:
字段 0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息
          字段 1:UTC时间,hhmmss.sss格式
          字段 2:状态,A=定位,V=未定位
          字段 3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
          字段 4:纬度N(北纬)或S(南纬)
          字段 5:经度dddmm.mmmm,度分格式(前导位数不足则补0)
          字段 6:经度E(东经)或W(西经)
          字段 7:速度,节,Knots(一节也是1.852千米/小时)
          字段 8:方位角,度(二维方向指向,相当于二维罗盘)
          字段 9:UTC日期,DDMMYY格式
          字段10:磁偏角,(000 - 180)度(前导位数不足则补0)
          字段11:磁偏角方向,E=东,W=西
          字段12:模式,A=自动,D=差分,E=估测,N=数据无效(3.0协议内容)
          字段13:校验值

个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

5979

帖子

8

TA的资源

版主

6
 

解析经纬度暴露位置了,哈哈哈,解析时间就挺好的

			tmp = getComma(1, buf);			
			gps->DT.hour		= (buf[tmp + 0] - '0') * 10 + (buf[tmp + 1] - '0');
			gps->DT.minute	= (buf[tmp + 2] - '0') * 10 + (buf[tmp + 3] - '0');
			gps->DT.second	= (buf[tmp + 4] - '0') * 10 + (buf[tmp + 5] - '0');
			tmp = getComma(9, buf);
			gps->DT.day		= (buf[tmp + 0] - '0') * 10 + (buf[tmp + 1] - '0');
			gps->DT.month	= (buf[tmp + 2] - '0') * 10 + (buf[tmp + 3] - '0');
			gps->DT.year	= (buf[tmp + 4] - '0') * 10 + (buf[tmp + 5] - '0') + 2000;

个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 

使用UBX协议不更简单吗?

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
用的是有源天线还是无源天线?
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(中级)

9
 
感谢分享 谢谢
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

10
 

感谢分享!!!!!!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表