ME3616 NBIOT GNSS(GPS+北斗)定位应用示例

? ? ? ? ME3616-G模组集成了NBIOT和GNSS(GPS+北斗)双系统,在数据传输的同时,实现GNSS的快速精确定位,满足客户低功耗与高定位精度的应用场景。下面给出ME3616 GPS的基本通信过程&数据解析,方便大家快速应用。

NB与GNSS的内部通讯方案

一、GPS基本原理

首次使用GPS是可先了解相关工作原理,几篇推荐文章:? ? ? ? ? ?https://www.cnblogs.com/xueyaohong/p/4502746.html《GPS定位基本原理浅析》介绍了GPS定位的基本工作原理;https://www.cnblogs.com/magicboy110/archive/2010/12/10/1902741.html《GSM蜂窝基站定位基本原理浅析》给出了基站定位的几个方式;https://www.cnblogs.com/magicboy110/archive/2010/12/12/1903927.html《AGPS定位基本原理浅析》介绍了基站+GPS结合的定位方式。https://blog.csdn.net/zhangbijun1230/article/details/79832316给出了仰角、2D、3D基本概念;

NB通过基站获取所需卫星&大概位置信息,然后GPS快速对应频点搜星

实际应用过程中,需要使用基站+GPS结合的定位方式,速度快,位置准确。

二、硬件连接

? ? ? ?ME3616在NB-IOT硬件基础上加上GPS天线即可。因为串口通信,整个流程也非常简单,下图是样机测试时的硬件连接

GPS最简调试连接

? ? ? 模组硬件可以参考之前文章《ME3616模组介绍&硬件画板》,高新兴模组硬件引脚封装都相同,所以在G系列模组上直接焊接天线,就可以使用GPS功能了。

三、AT指令

? ? ? ?模组查询&确认入网之后,就可以开启GPS功能了。这里注意NB卡如果TCP通信需要使用移动、联通卡,电信卡有白名单限制只能对接AEP或者电信IoT。模组确认入网之后,发送如下几个指令

ME3616G3A最简定位指令

? ? ? ?其中几个参数说明可以直接参考高新兴AT指令手册或者《高新兴物联ME3616-G模组GNSS应用指导》,其他必要的说明这里解释下。ZGNMEA指定通信的参数,比如有人需要时间、有人需要仰角速度等,通过该指令选择,协议按bit定义的。ZDATA下载星历这样可以更快搜星(内部应该是跳频所以不用扫频了),ZGDATA?查询是否下载完成,如果返回" NOT READY"或者"DOWNLOAD FAIL"(或者说没有返回READY)时就发送AT+ZGRUN=1,则模组自动从AGPS跳转为StandAlone定位模式(定位速度慢了,其他没啥区别)。

? ? ? 目前推荐ZDATA之后如果没有返回"+ZGPS: DOWNLOAD SUCCESS",最多尝试3次,如果一直失败则跳过ZGDATA指令直接发送ZGRUN启动定位搜索GPS信号。

3.1 AT指令定位示例

? ? ? ?使用移动卡时,下载星历数据失败概率较大,可能和测试位置有关,电信卡可以马上获取星历数据

移动卡测试下载星历失败概率大

电信卡下载星历速度快、成功率高

? ? ? ?样机测试时,设备放在4楼空旷会议室,一直无法搜索到信号,直到超时停止搜索,返回"+GPS: TIMEOUT",室内不进信号衰减大,只有1个方向的仰角在无法同时搜索3颗卫星时也是不能进行精确定位的。

最终超时停止搜索卫星

将设备拿到室外可较快完成位置搜索

GPS在室内信号差

3.2 数据解析

? ? ? ?NMEA信息遵循NMEA-0183协议,NMEA前两位为定位系统标识,分别为:GP-GPS系统单独定位;GB-北斗系统单独定位;GN-GPS与北斗系统混合定位。这里解析几个关键数据,便于人员定位、电动车防盗应用

? ? ? ?具体回复的定位信息代表意义可参考《高新兴物联ME3616模组AT指令手册》或者直接网络搜索GGA、GSA、GSV、VTG等关键字,或参考如下链接解析关键字https://blog.csdn.net/jickjiang/article/details/79086202

? ? ? ?目前来看几个必不可少的信息:GGA中的UTC时间、经纬度、定位成功标志(差分时间);GSA中的定位模式&类型;GSV中的卫星总数、信噪比;这些是必选的,其他用户根据自己的需要提取对应数据。其中信噪比(SNR)典型值在0到50之间,其中50表示非常好的信号(0-99,但实际一般不会高于50)

四、NMEA定位信息格式转换

? ? ? ?NMEA的数据格式可网络搜索关键字"GPS的NMEA数据解析"进行了解,或者查看ME3616AT指令手册《高新兴物联ME3616模组AT指令手册》

? ? ? ?“1度=60分,1分=60秒。度分秒的换算就像时间中的“小时、分钟、秒”,各个单位中的进率都是60。GPS的位置信息主要查看GGA参数:

? ? ? $GNGGA,045227.01,2948.51391,N,12133.26522,E,1,03,3.73,-20.0,M,,M,,*4B

? ? ? ?nmea数据的格式是纬度ddmm.mmmmm度分格式,经度dddmm.mmmm度分格式,而地图都是按照度(没有分)来解析的,所以需要将GPS的数据进行格式转换后在进行地图定位。将上述的纬度信息2948.51391与经度信息12133.26522进行格式转换如下

纬度转换示例

经度转换示例

上图中对应纬度、经度信息为29.808565166666668,121.55442033333334,这个是精确的信息,但每个地图的经纬度不一致,比如最常使用的百度地图,在下方的"地图开放平台"-->"坐标拾取器"输入的地里坐标是这样的(注意百度地图经度在前,纬度在后):

百度地图坐标查询偏差较大

? ? ? ?使用国内地图直接输入位置信息偏差大问题百度上搜索具体原因大家这个观点比较多:"天朝上国特有的地图加偏,以安全之名,行掩耳盗铃之事",所以这里使用第三方工具的"google地球"进行解析

同一个位置不同地图软件解析坐标不同

这里以"谷歌地球"为准,输入刚刚的纬度、精度位置,查询如下

最终定位准确信息