手把手教你利用【有人透传模块】快速获取【千寻差分数据】

在大数据时代下,越来越多的应用,或多或少的都跟物联网有着各种牵连。前段时间,笔者在做一个项目时,使用到了GPS模块实现高精度定位,用过GPS模块的小伙伴们应该会知道,普通的GPS模块定位精度会在几米甚至几十米的范围内,而要实现更高精度的定位,就需要借用差分基站来实现纠偏了,当然,前提是所用的GPS模块需要自带差分解算功能,那么,我们只需要将从差分基站获取到的差分数据写到GPS模块里面即可,否则的话,我们可能就需要自己做差分解算了。

不过,这篇文章,笔者可没打算给大家介绍GPS高精度定位的问题,今天笔者主要给大家介绍一下,如何获取差分数据。

当然咯,网上也有不少网络工具可以快速实现对差分服务器的连接,从而获取到差分数据,但是,很多应用场合,仅仅只是像单片机这样的终端设备,我们就没办法借助基于PC的网络工具来获得差分数据了。这个时候,我们可能就需要一个能联网的模块,比如2G模块、4G模块、NB模块等。

所以,今天笔者就要给大家介绍一款4G模块,并且教大家,如何用这个4G模块连接差分服务器,从而获取到差分数据。

说实话,在做这个项目之前,笔者对今天要给大家分享的这些知识是一无所知的,但是项目需要,也没办法,不得不到处找资料、找资源、寻求技术支持,折腾了好长一段时间,才终于搞清楚了是怎么一回事,因为,为了让后来者少走弯路,特在此给大家分享这些知识点,希望能帮助到你们。好了,话不多说,先来看下我们今天需要用到的这个比较重要的4G模块吧,实物图如下:

这个模块是“山东有人信息技术有限公司”推出的一款全网通的5模13频的4G透传模块,尺寸的话,也并不是很大,当然,相对于NB或2G模块来说,还是会有点点大(下图来自于官网资料):

从官方手册上,我们知道,这个模块供电方式有两种,一种是DC5~16V供电(模块自带稳压电路),另外一种就是DC3.4V~4.2V供电(厂家建议供电3.8V,瞬间帯载能力2.5A以上),当然咯,为了快速验证,笔者还购买了一个厂家提供的配套的底板用于测试。底板跟4G模块整体连接实物图如下图所示:

关于这个4G模块的更多知识,笔者就不在此赘述了,请直接移步到官网,获取更详细的信息:http://www.usr.cn/Product/179.html。
好了,硬件我们是有了,接下来,我们就需要获取一个差分账号和差分密码了。笔者这里用的是千寻的差分服务器,当然,大家也可以用别的差分服务器,或者自己购买差分基站(只是成本有点高,哈哈)。

我们直接来到千寻的服务商城:https://mall.qxwz.com/market/services
可以看到,这里有很多种不同类型、不同价格的服务产品:

大家可以根据自己的实际需要,购买对应的产品,笔者这里只是测试,所以就直接买了个便宜的服务“千寻硅步-FindM”,看到这里,或许有人有疑问了:“千寻云踪-FindS”不是更便宜么?哈哈,别奇怪,笔者还没笨到分不清楚6块钱跟1块钱的区别,笔者这里之所以购买“千寻硅步-FindM”,是因为后面GPS差分定位需要用到这个服务。好了,关于这个地方就不纠结了,大家仔细看下每个服务的介绍便清楚明了了!

在购买成功后,我们就可以在“用户中心”里面看到我们购买过的产品了,下图就是笔者购买过的一些产品了:

这里顺便温馨提示一下大家,其实新用户可以免费体验这些服务的,所以大家可以自己注册账号,免费申请一些服务用来测试。

好了,接下来,我们在购买的服务中,找到我们这次测试需要用到的服务“FindM-千寻硅步”,点击进去之后,我们可以看到自己之前购买过的所有跟FindM-千寻硅步”相关的服务。

排在最上面的名为“FindM_20190710_hd0D2W”,就是笔者刚才购买的服务,从文件命名上就能区分开来了。接下来,我们点开右边的“服务配置”选项,获取我们购买的服务的相关信息:

然后,我们选择左上角的“设备服务号”,来获取我们的差分账号和密码(密码可以自己修改,符合千寻密码规则即可):

新购买的服务,在使用之前需要先激活,才能正常使用,但是,一旦激活了,就开始计时了,所以大家小慎重哈,尤其是如果购买了多个服务,暂时不打算使用的服务千万先别激活!

服务激活成功后,接下来我们就要开始使用这个服务了。当然咯,在使用之前,我们先要对差分账号和密码做一个小小的处理,因为根据Ntrip协议,用户名和密码之间需要用冒号(:)链接的,并且要转成Base64编码格式,有关Ntrip协议相关的知识,详情请看:https://www.cnblogs.com/hanford/p/6028156.html。
笔者直接百度了一个在线转换的工具,直接将ASCII格式的账号和密码转成了Base64编码格式,然后我们直接将转换后的结果复制下来即可:

好了,接下来我们就要来开始配置4G模块的参数了!我们打开配置软件,选择好对应的串口参数,并打开串口,同时,我们选择4G模块的工作模式为“网络透传模式”,然后填入“网络透传模式相关参数”,我们直接将“千寻硅步”服务器的域名即对应的坐标系的端口号填入即可,笔者这里同时连了两个服务器,所以配置了两个服务器的参数,如果大家只需要连接一个服务器,那么直接填其中一个即可。在测试板上发送“[USR-7S4 V2]”字符后,意味着模块成功启动了:

这个时候,我们点击“进入配置状态”按钮,即可让模块进入配置状态,当出现一下内容是,表示模块成功进入了配置状态:

接下来,我们点击“设置所有参数”按钮,设置软件变自动将我们填入的参数,写入到了4G模块当中,当出现如下界面时,意味着参数写入成功:

接下来,我们需要重启一下模块,在模块成功重启后,等十几秒钟我们会看到中红灯跟绿灯中的那个网络指示灯在闪(前提是得插入SIM卡,并接上天线),同时,底板上的LINKA和LINKB指示灯也会亮起(如果只连接了一个服务器,就只会亮其中一个)。接下来,我们只需要在4G模块的设置软件中,下入如下指令,并通过串口发送即可(值得一提的是,最后一条指令后面一定要用两个回车换行符):

GET /RTCM32_GGB HTTP/1.0
User-Agent: NTRIP LefebureNTRIPClient/20131124
Accept: */*
Connection: close
Authorization: Basic cXhmbnpjMDA2OjEyMzQ1Njc=

当我们看到串口返回“ICY 200 OK”字符时,意味着我们已经成功连接了千寻的差分服务器,关于这一串指令的具体含义,相信大家在前面看有关Ntrip协议的内容的时候,就已经很清楚了,笔者也就不做过多解释了,还没搞懂的,再去多看几遍:https://www.cnblogs.com/hanford/p/6028156.html.

前面的部分几乎不用修改,只需将最后的差分账号和密码改成我们自己的就好了。在成功连接了千寻的差分服务器之后,我们只需要再回传一条GGA数据即可获取RTCM32格式的差分电文数据,并且,在获取差分数据的过程中,我们也需要在规定时间内回传GGA数据(可能有些差分服务器没有这个要求,不过千寻的是需要的)。当然咯,这个RTCM32格式的电文,是二进格式的数据流,需要在十六进制模式下才能看得比较清楚一些,在ASCII模式下就是一堆的乱码了。

当然咯,看到这一大串的十六进制数,可能不熟悉的小伙伴们也是一脸懵逼,笔者这里就简单提一下RTCM32格式的电文的帧构成吧,如下图所示:

相信看到上面这个图,大家就很明白了,具体的内容,大家需要了解的话,就请自行查阅资料吧,另外,关于GNGGA的相关内容,也是跟GPS相关了知识了,百度也是一大把,笔者这半桶水也不好多说啥了。

好了,关于如何利用4G透传模块获取差分数据的相关内容就介绍到这了,我们只要搞懂了如何连接并获取差分数据,那么在以后的应用中,将这部分功能做到处理中即可。如看了这篇文章后,还有什么不理解的地方,可以站内私信笔者哟,期待您的关注,笔者后续会给大家带来更多极具实用性的精彩内容!你们的支持,是我坚持写作的最大动力,希望我的分享,能够帮助要更多需要的人!

 

posted @ 2022-04-13 14:40  #迷途小书童  阅读(1549)  评论(0编辑  收藏  举报