GPS定位
本文档介绍了GPS定位的大致功能,通过demo_gps.c进行举例演示,本文中所指的GPS即为GNSS
工作原理
- 模组通过UART2与GPS模块通信, 获取GPS NMEA数据并解析。
- gps tools iNavTool_V4207工具,与模组UART1连接,获取NMEA数据,显示卫星个数、信号、定位信息等,并且可以通过UART1下发命令,如热启动,冷启动等,通过UART1口转发给GPS
- Agps, 将时间,位置,星历数据通过UART2注入GPS芯片
时间使用的是系统本地时间
位置,通过基站定位获取, 需要通过agps_token_set接口设置基站定位的token id, 如果不设置辅助定位缺少位置信息注入
星历2个小时更新一次, 5分钟检测一次有效期
准备工作
在使用GPS功能之前,请将定位器连接到开发板的GNSS接口,天线连接至网络天线接口,插入SIM卡, GNSS 本身可以在不联网的情况下完成基本的定位功能,但联网能够为其提供额外的辅助,提升定位的速度、精度和可靠性。
开发板通过UART1与电脑连接,gps tools iNavTool_V4207工具通过UART1获取信息,下发命令
GPS接口介绍
初始化GPS系统
- GPS初始化
gps_init();
- AGPS初始化
agps_init();
- 初始化GPS TOOLS
gps_tools_init();
注册 AGPS 回调函数
- 向GPS注入辅助定位信息时,会有对应的上报
agps_register_callback(AGPS_CALLBACK cb);
设置TOKEN
- 设置基站定位的TOKEN
agps_token_set(char *token);
启动定位功能
- 打开GPS
gps_open();
- AGPS使能
agps_enable(bool time_enable, bool location_enable, bool eph_enable);
参数:
参数 | 说明 |
---|---|
time_enable | 时间使能 |
location_enable | 位置使能 |
eph_enable | eph使能 |
获取GPS数据
- 获取NMEA解析后的数据
gps_get_data();
关闭GPS
- 关闭GPS
gps_close(bool vbckp_off)
参数:
参数 | 说明 |
---|---|
vbckp_off | 是否关闭GPS VBCKP 不关闭可以热启动 |
固件烧录
编译命令:.\build.bat YM310_X09S.U62 gps
- 编译成功后烧录至开发板,具体过程参考Yopen 入门篇开发入门
- 打开EPAT工具查看打印log,工具使用方法请参考工具篇抓日志工具EPAT使用指南
举例演示
Gps tools工具显示
日志显示
解析NMEA数据并输出
Agps 辅助定位注入成功日志
也可以通过工具查询AGPS状态