jetson nano使用python读取解析GPS数据(GPRMC,GPGGA)。

本人第一次写文章,主要记录一下制作这个代码代码的过程,老师的要求是在nano版上通过python读取到GPS的数据并解析经纬度,大地速率和卫星数后期通过GUI图形化,关于nano上读取GPS的教程比较少,也有文章使用了GPS模块但是不利于我后期工作,故自己仿写了一串简单的代码。

首先下载安装cutecom来观察nano是否已经读取到了GPS数据,使用命令:

sudo apt-get install cutecom即可

其次是Nano 安装pthon3-serial和pynmea2.

关于python3-serial的安装我记得昨晚我是用sudo apt-get intsall python3-serial安装的,但是网上也有pip install pyserial 

至于哪种可以自己去试我认为这个过程不重要,只要pyserial安装成功即可,关于pyserial的理解就是他是python实现串口通信的模块,通过这个模块我们可以读取到串口工具。

关于pynmea2的安装

这里我希望提一下使用pip安装 时发生找不到文件pip,应该是我们用python3,pip应该打成pip3,这样就可以安装成功了。pynmea2的理解就是pynmea2 是一个用来处理 NMEA 0183 协议的第三方模块。用于我们解析NAME 0183协议。http://gnss.help/2018/03/01/pynmea2-readme/index.html这是我参考的网页。后面就是自己写代码了。

首先是导入两个下载好的模块,后面是导入time模块,我也不懂有啥用就是跟着他们加。

接下来ser是将串口赋值于ser(大概这个意思),后面第一个是你的串口名  串口线一般是ttyTHS1 USB一般是ttyUSB0这些名称应该是可以通过cutecom查到的,第二个是波特率我使用的默认115200网上很多是9600这个大家跟着改,timeout我感觉无所谓我是跟着别人改的,多少我感觉都OK。后面就是使用while语句。第八行使用pyserial的方法读取串口数据赋值于line变量,第九行因为line读到的是字节然后需要改成字符串(大概这个意思),后面是两个if语句里面的GPRMC这个是你使用的GPS读到的内容第十一行使用了pynmea2.parse()的解析方法

这里提一下为啥用这个而不与网上其他教程一样使用列表,主要是我觉得GPS信号可能不稳定导致解析错误而且这个方法也很方法,着仅是我个人想法,不知道是否会出错。如果在if语句结束时加入break可以停止循环,因为这边是两个if语句我们最好在第二个if处加入break,如果在第一个if加break会导致第二if无法使用,这时他会直接退出while语句。

 

18开始是保存成txt文件,主要我是已以a+方式写入,一开始我是使用W或W+来试的后面发现txt只有GPGGA的数据后面试 出来的。19改成str的格式,因为python只能是字符串形式,20是空行,21注意需要保存。

 

 

好了,大概就是这样,后面不是很详细。不懂的可以去百度一下。第一次写成功,往接下来加油!!

  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值