0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

双频定位怎么用?看这篇——合宙Air551G开发板入门使用及基础知识普及

合宙LuatOS 2022-02-08 09:25 次阅读

焊板子、撸代码、写文章——LuatOS社群工程师们热火朝天的2022虎年春节写照。无论何时何处,心里总燃动着灵魂之舞,没有什么能阻挡真正的热爱!

今天特别带来乔帮主乔工关于合宙Air551G双频定位开发板的试用分享,一篇详实易懂的用心之作,尤其适合新上手的朋友们。

1

Air551G开发板试用分享


一、开箱

合宙挺给力,节前就拿到了这块Air551G开发板,板子制作的不错,和我其他的板子对比起来,感觉高级不少。

左边是Air551G,右边是我另外其他厂家一个型号的。

4ae23f86-8832-11ec-9e9d-dac502259ad0.jpg

二、连线

美中不足的是,它的连接线是5针1.25mm的传感器接口,拿到后,可能没有合适的线(年前活动未能同步发出,年后有配套接线)。有的同学,直接把接头口给取下来,直接焊线了。

我手头刚好有6针的接头,剪断一根,削了一针变5针,刚刚好用。

4af1377a-8832-11ec-9e9d-dac502259ad0.jpg

然后把剪断的部分,对接上标准的杜邦线,方便接在其他开发板上使用。当然,如果本身就有对应的1.25接口,那更好了。

初次使用,看了说明书,可以当一个普通的串口设备使用,那就先直接用USB2TTL连接,进行调试好了。等弄清楚了,再上开发板也不迟。

4b04e072-8832-11ec-9e9d-dac502259ad0.jpg

Air551G开发板有五个引脚,其中VCC使用3.3V或者5V电源均可,GND接地,PPS暂时不用,RX、TX接其他设备的对应的TX、RX即可。

4b1223d6-8832-11ec-9e9d-dac502259ad0.png

三、串口连接使用

这个开发板,串口波特率默认情况下,选择115200即可,打开串口,就能看到信息Biu Biu Biu的发过来了。

通过Air551G的手册,我们可以知道,它是主动上报信息的。通电后,就会自动通过串口上报获取到的定位相关信息。

4b272f4c-8832-11ec-9e9d-dac502259ad0.png

4b373a9a-8832-11ec-9e9d-dac502259ad0.gif

收不到定位信息如何解决?


初次使用,如果简单了解过这些信息的格式,可能会郁闷:怎么没有成功定位啊,定位到的经纬度信息,怎么都是0呢?

这是因为,一个单纯的GPS定位模块,需要在室外使用,越开阔的地方越好。而我们常用的手机上使用了基站、WIFi等辅助定位,在室内也通常可以定位,但是在地下车库或者隧道里面,或者信号不好的地方,辅助也不给力,也不能定位了。

那就把Air551放到窗外即可:

4b484100-8832-11ec-9e9d-dac502259ad0.jpg

不一会儿,串口收到的信息,就发生了变化,数字部分,丰富多了。

4b5eb0ca-8832-11ec-9e9d-dac502259ad0.png

串口收到的这些信息,就是导航卫星发送的电文信息,也就是NMEA协议报文。

通常情况下,会包含如下的报文:

4b6b2b02-8832-11ec-9e9d-dac502259ad0.png

定位模块都会主动获取卫星定位系统的报文信息,然后通过串口上报。

上面的报文信息,会分为几类:

1)定位信息:**GGA,通常使用;

2)当前卫星信息:**GSA,一般可以忽略,调试需要;

3)推荐定位信息:**RMC;

4)地面速度信息:**VTG;

5)可见卫星信息:**GSV,一般可以忽略,调试需要。

如果是通过单一的卫星导航系统定位,则上面的**为对应卫星导航系统的标识,如果是多系统定位的话,那么1-4的**会是GN,5则为各卫星导航系统的标识。

卫星导航系统通用标识


  • GN:全球导航卫星系统GNSS;

  • GP:美国全球定位系统GPS;

  • GL:俄罗斯全球轨道导航卫星系统格洛纳斯GLONAS

  • BD:中国的北斗卫星导航系统BDS;

  • GA:欧盟伽利略卫星导航系统GALILEO,全球覆盖,问题较多;

  • IRN:印度区域卫星导航系统IRNSS,范围较小,印度本土及周边、印度洋区域;

  • QZ:日本准天顶卫星导航系统QZSS,是美國GPS的輔助系統,主要服务日本,亦覆盖东亚、澳洲等地。

Air551G支持的卫星定位导航系统,包括:GPS、BDS、GLONAS、GALILEO、IRNSS等。在北京地区,GPS、BDS、GLONAS、GALILEO都能搜到对应的卫星,IRNSS没有见到过。

在上述的报文信息中,我们可以看到GP、GL、GA、BD等GSV信息,对应的就是当前位置,可见的各卫星导航系统的卫星信息。其中,我们可以看到有BDGSC,5开头的BDGSC,5,1至BDGSC,5,5,这个就是一组北斗导航卫星,当前有5颗能为我们提供服务。

但是,其中还有BDGSV开头的信息,这是因为卫星导航系统有不同的频段,提供差异性的服务,也包括系统升级和增强对不同接收端系统的兼容。

通过Air551G提供的资料,我们了解到,支持的北斗导航,包括:BD B1I、BD B1C、BD B2A、BD B2B等。

报文信息的具体资料,可以查看合宙提供的资料:

《 2_GK9701输入输出格式文档V1.0.pdf 》中关于NMEA协议部分的详细说明。

四、经纬度信息到地图坐标转换

以上报文信息中的GGA部分信息:

$GNGGA,063508.000,??53.35241,N,??638.40280,E,1,13,1.15,36.02,M,-5.15,M,,*58

E/W之前的为经度信息,N/S之前的为维度信息,GPS拿到的经纬度信息,需要经过转换两次后,才能在百度地图或者其他地图上使用。

4b861520-8832-11ec-9e9d-dac502259ad0.gif

地图坐标转换示例


假设取到的原始坐标为:

lng0=11626.27158

lat0=3954.85016

第一次转换为WGS84坐标系通用格式:

GPS模块经纬度换算说明,参考网址:
http://www.gnss-module.com/news/47-cn.html

(Math.floor表示取整)

lng1_d=Math.floor(lng0/100) = 116

lng1_m= (lng0-lng1_d*100)/60 = 0.43786

lng1=lng1_d+lng1_m=116.43786

lat1_d=Math.floor(lat0/100) = 39

lat1_m= (lat0-lat1_d*100)/60 = 0.91417

lat1=lat1_d+lat1_m=39.91417

第二次转换为百度地图坐标系:

使用网页转换工具地图坐标系转换,参考网址:
https://tool.lu/coordinate/

通过上述转换工具,可以转换为各地图软件的坐标系;或者也可以在各地图开发者服务中申请对应的API接口。

使用上述网页进行转换时,记住我们要选择WGS84坐标系:

4ba915e8-8832-11ec-9e9d-dac502259ad0.png

转换后的百度坐标地址为:

经度=116.45054049919501

维度=39.921605252645946

然后,我们去百度地图上,使用经纬度进行定位,看看是否准确:

4bb7414a-8832-11ec-9e9d-dac502259ad0.png

该定位地址,就是我们原始的经纬度信息对应的实际百度地图位置。

五、NaviTrack基本使用

通过串口工具,能够正常收到Air551G的信息后,我们就可以使用NaviTrack工具来更有效的获取调试信息了。

先关闭串口工具,再打开NaviTrack,选择正确的串口和波特率,Connect后,界面如下:

4bcd3cac-8832-11ec-9e9d-dac502259ad0.png

注意:需要运行一段时间,且Air551G在室外,才能获得丰富的定位信息。

在以上界面中,各子窗口展示功能:

1)Navi CMD:用于给Air551G发送命令;

2)Track:表示每次输出经纬度坐标点在一个基准位置的散落情况;

3)Signal:表示各导航卫星的信号情况;

4)NAME info:对串口中的信息进行了整理输出,更便于查看分析;

5)Fix mode:修正模式;

6)Sky view:当前可见卫星一览。

如果Sky view中,没有显示到卫星,那么定位就不能进行,NAME info部分的经纬度信息,就会不显示或者显示为0,同时Singal部分也会没有信息。

六、指令发送:

在Navi CMD界面中,我们可以给Air551G发送指令。

重置设备指令示例


如果要重置设备,我们可以发送指令:

PGKC030,4,2

其中:030表示指令编号;4,2表示硬重启,也就是恢复到出厂模式。

4bdb824e-8832-11ec-9e9d-dac502259ad0.png

在串口工具中,我们也可以发送该指令,但是其格式为完整格式:

$PGKC030,4,2*2A[CR][LF]

而Navi CMD会自动帮我们处理$和*后面的内容,并自动添加回车换行[CR][LF];*后面的2A,表示 $和*中间部分的BCC校验(异或校验)结果。

如果不了解如何进行BCC校验,可以通过网页进行计算。
BCC校验(异或校验)在线计算参考网址:

http://www.ip33.com/bcc.html

4bebffde-8832-11ec-9e9d-dac502259ad0.png

4bfc4b82-8832-11ec-9e9d-dac502259ad0.gif

由此我们也可以知道,给Air551G发送指令,其格式为:

$PGKC指令编号,参数1,参数2,...,参数n*BCC校验码[CR][LF]

注意,其中的参数1~n,均为十六进制,BCC校验码,也为16进制。(10进制的10为16进制的A)。

4c1ac166-8832-11ec-9e9d-dac502259ad0.gif

我们还可以再分别尝试两条指令,用于查看只使用北斗导航和所有卫星导航的区别。

注意:在串口工具中,需要输入完整的指令;在Navi CMD中,只用输入$和*中间的部分即可。

只使用北斗导航示例


先试第一条,设置只使用北斗导航:

$PGKC121,0,8,0*39

4c294376-8832-11ec-9e9d-dac502259ad0.png

执行该指令后,NaviTrack的NMEA info和Sky view界面会发生如下变化:

4b861520-8832-11ec-9e9d-dac502259ad0.gif

4c68a05c-8832-11ec-9e9d-dac502259ad0.png

因为刚才执行的那一条指令,表示只使用L1的BD导航,所以现在只显示了北斗导航的卫星。

同样的,如果我们使用串口工具发送指令后,会看到如下返回:

4c791888-8832-11ec-9e9d-dac502259ad0.png

可以看到,报文中,就只有BD的信息了。

注意:使用串口工具,一定要勾选尾部添加CRLF,否则指令无效。

使用所有卫星导航示例


我们在执行使用所有卫星导航指令后,上述界面中的卫星,又会变得多了起来。

$PGKC121,5,3F,3F*34

4b861520-8832-11ec-9e9d-dac502259ad0.gif

4cb4d044-8832-11ec-9e9d-dac502259ad0.png

以上展示了基本的指令使用,在前面的《2_GK9701输入输出格式文档V1.0.pdf》中,有详细的指令说明,有需要可以仔细研读。

另外,出厂情况下,串口上报的信息会尽可能丰富,但是我们在实际使用中,如前面对报文简介所说的,很多只是调试使用,实际使用时不用。我们可以使用输出控制指令,设置需要输出哪些信息即可。

具体指令格式为:

4ccd2a22-8832-11ec-9e9d-dac502259ad0.png

实际上,9-21位的0,并不需要输入,我们只输入1-8位即可,1表示开启对应的输出,0表示关闭对应的输出。

GGA获取经纬度信息示例


在实际使用中,我们只需要通过GGA获取经纬度信息即可,那么发送的指令如下:

$PGKC242,0,0,0,1,0,0*2A

如果我们要把调试的信息都发出来,则使用如下的指令:

$PGKC242,1,1,1,1,1,1*2B

再次提醒:

在串口工具中,需要输入完整的指令;在Navi CMD中,只需要输入$和*之间的部分(不包含$和*)即可。

设置只输出GGA信息后,我们就可以使用其他开发板的串口来连接Air551G,通过串口读取即可。

到这里,我们了解了如何通过串口上报的报文,获取经纬度信息,以及通过发送对应的指令来控制Air551G的运行模式了。

后续通过合宙的其他LuatOS开发板,或者MicroPython类的开发板,都能非常方便的获取定位信息。再结合屏幕,就能够进行实际的定位展示了。

今天的分享就先到这里了,希望对大家有帮助,一起多交流~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4441

    浏览量

    94200
收藏 人收藏

    评论

    相关推荐

    哪有FPGA的verilog编程基础知识

    没接触过FPGA开发,那个verilog编程有什么入门基础知识学习的?
    发表于 04-29 23:09

    盘点那些硬件+项目学习套件:STM32U5单片机开发板入门常见问题解答

    入门+项目进阶开发板。主控为ST新一代超低功耗MCU旗舰版STM32U5,开发板采用底板+核心的分离设计,底板统一, 支持STM32G0/
    发表于 02-19 16:59

    AG32开发板的使用入门

    几款开发板的使用方法*附件:AG32开发板的使用入门.pdf
    发表于 01-03 15:09

    【ELF 1开发板试用】板载资源测试4:体验温湿度传感器

    AHT20功能正常!七、实验总结1、从测试过程中理解了板载传感器实验基础知识。这个实验虽然操作简单,但是很有意义。我们可以其他嵌入式开发板或者AT89C52、STM32等
    发表于 12-18 11:09

    【ELF 1开发板试用】板载资源测试2:体验六轴传感器

    名称ELF 1开发板板载资源测试2:体验六轴传感器二、实验目的1、熟悉ELF 1开发板基本操作。2、熟悉ELF 1开发板板载资源。三、实验背景1、知晓串口通信、波特率等计算机通信基础知识
    发表于 12-15 00:02

    sql数据库入门基础知识

    数据库开发人员或数据库管理员的重要基础。本文将介绍SQL的入门基础知识,详细介绍SQL的语法、常用操作以及一些实用技巧。 一、SQL的基本概念和语法 数据库和表格:数据库是一个存储数据的容器,而表格是数据库内部的一种数据结构,类
    的头像 发表于 11-23 14:24 1134次阅读

    ch551什么IDE进行开发

    ch551什么IDE进行开发
    发表于 09-21 08:16

    Air001在Arduino下的测试IIC工程

    本帖最后由 大懒猫54 于 2023-8-23 11:57 编辑 测试使用Air001开发板,使用PF0,PF1对应的IIC接口,测试0.96英寸的OLED。下载器使用
    发表于 08-23 11:56

    【米尔-STM32MP135开发板-入门级MPU试用】STM32MP135开发板评测之初体验

    的相关基础知识才行。 当然,米尔也针对新手提供了配套的手把手教程,能让你快速入门开发介绍MYD-YF13X 搭载基于 Linux 5.15.67 版本内核的操作系统,提供了丰富的系统资源和其他软件资源。Linux 系统平台上
    发表于 08-16 23:59

    合宙Air001开发板——支持Arduino开发,国产MCU新热潮

    包装炸裂、价格便宜、支持Arduino开发——点燃国产MCU新热潮的合宙Air001,开发板补货终于到了!!!合宙Air001开发板、芯片、
    的头像 发表于 08-01 00:12 3294次阅读
    合宙<b class='flag-5'>Air</b>001<b class='flag-5'>开发板</b>——支持Arduino<b class='flag-5'>开发</b>,国产MCU新热潮

    合宙新品开发板排队来~Air001、Air601、树莓派,哪款你更期待

    用代码写诗,用PCB作画看松香袅袅,听同频心跳……如果你也一样热爱那么在时间的光影里共同书写属于我们的故事合宙超值开发板Air001、Air601、RP2040新品系列排队来你希望哪款先上市快来
    的头像 发表于 06-27 10:01 3135次阅读
    合宙新品<b class='flag-5'>开发板</b>排队来~<b class='flag-5'>Air</b>001、<b class='flag-5'>Air</b>601、树莓派,哪款你更期待

    合宙新品开发板排队来~Air001、Air601、树莓派,哪款你更期待

      用代码写诗,用PCB作画 看松香袅袅,听同频心跳 …… 如果你也一样热爱 那么 在时间的光影里 共同书写属于我们的故事 合宙超值开发板 Air001、Air601、RP2040 新品 系列排队
    的头像 发表于 06-26 12:10 2342次阅读
    合宙新品<b class='flag-5'>开发板</b>排队来~<b class='flag-5'>Air</b>001、<b class='flag-5'>Air</b>601、树莓派,哪款你更期待

    iTOP-STM32MP157开发板开发学习一

    处理器 iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。 核心 主频650M、1
    发表于 06-07 10:54

    【开源】基于Air32F103CBT6的DAPLink开发板 多功能高速下载烧录器

    Air32F103CBT6芯片,并适配了216MHz主频和96KB RAM大资源,支持更快的下载速度,开发应用更为便捷的,仅2.5×1.3CM的迷你DAPLink新品开发板,并且软硬件全开源! *附件
    发表于 06-05 17:53

    ESP32C3开发板烧录失败问题

    \"ESP32C3开发板\",VScode + ESP-IDF烧录失败->设备不识别此命令 请问有人遇到过这种烧录失败的问题吗?同个板子同个固件前几次烧录还是
    发表于 05-09 19:49