树莓派3b连接GPS+BD模块并用python获取数据(串口版)
来源:互联网 发布:诸葛武侯巧连神数 算法 编辑:程序博客网 时间:2024/05/17 09:01
目的:树莓派用串口连接GPS+BD模块获取位置信息
材料:树莓派3b(Ubuntu MATE系统),GPS+BD模块,GPS有源天线,杜邦线
步骤:
1. 连接各模块
2. 修改串口设置,由于树莓派3b添加了蓝牙模块,默认状态下串口是被蓝牙占用的,所以首先要修改系统配置,未修改过的读者请看另一篇文章进行修改(查看文章);配置好的读者进行第三步
3. 通过minicom获取串口数据
sudo apt-get install minicom
若提示Unable to locate package……,请使用sudoapt-get update && sudo apt-get install minicom
安装好后使用minicom命令获取串口上的数据
minicom -b 9600 -o -D /dev/ttyAMA0
-b 设定的是波特率,是模块参数而定;-o 是不初始化Modem且不锁定文件;-D 设定的是接口
如果一切顺利,将会出现如下画面:
我们从这张图上基本找不出有用信息,因为此时的GPS信号太差了,原因是我忘记把天线的一头放到窗外了
放到窗外后,一切正常,将会出现如下画面:
红框标记的为有用信息,为了解读它,让我们来了解一下GNSS卫星协议(只讲重要的):
NMEA0183消息输出格式 :$--sss,df1,df2,…[CR][LF]
数据标识是表示某种卫星发射。标识如下:
GN:全球导航卫星系统(GNSS-global navigationsatellite system)
BD:北斗导航卫星系统(COMPASS)
各主要GNNS消息内容识别码的含义如下:
GGA:时间、位置、定位数据
GLL:经纬度,UTC时间和定位状态
GSA:接收机模式和卫星工作数据,包括位置和水平/竖直稀释精度等。稀释精度(Dilution of Precision)是个地理定位术语.一个接收器可以在同一时间得到许多颗卫星定位信息,但在精密定位上,只要四颗卫星讯号即已足够了
GSV:接收机能接收到的卫星信息,包括卫星ID,海拔,仰角,方位角,信噪比(SNR)等
RMC:日期,时间,位置,方向,速度数据。是最常用的一个消息
VTG:方位角与对地速度
MSS:信噪比(SNR),信号强度,频率,比特率
ZDA:时间和日期数据
4. 用python读取位置信息,nano getGPSInfoBySerial.py,复制如下代码:
import serialimport pynmea2import timeser = serial.Serial("/dev/ttyAMA0",9600)while True: line = ser.readline() if line.startswith('$GNRMC'): rmc = pynmea2.parse(line) print "Latitude: ", float(rmc.lat)/100 print "Longitude: ", float(rmc.lon)/100 break
这里需要用到pynmea2的库,python官网可以下载,并且有帮助文档
用sudo python getGPDInfoBySerial.py运行程序,注意:这里一定要用sudo不然会报权限不够的错,因为这里访问了串口的数据
使用USB连接的教程:http://blog.csdn.net/qq_32384313/article/details/77744542
- 树莓派3b连接GPS+BD模块并用python获取数据(串口版)
- 树莓派3b连接GPS+BD模块并用python获取数据(USB版)
- 树莓派3b连接摄像头模块并用python编程拍照和录像
- 树莓派GPS(USB转串口)获取经纬度
- 定位型与授时型GPS模块(BD/…
- 树莓派Android系统下串口GPS模块驱动
- GPS数据解析以及模块连接开发板
- 树莓派3 GPS 串口调试。公式调整
- 树莓派测试串口GPS
- 从Garmin USB中读取GPS数据(串口实现)
- python连接elasticsearch获取数据
- Arduino Uno 连接JY-61陀螺仪模块 串口读取数据
- 安信可A7模块GPS数据解析与开发板模块连接
- GPS模块数据分析 -- linux
- GPS 定位模块数据提取
- 树莓派+python+打印串口数据
- Python串口模块pySerial
- Python串口模块pySerial
- STOMP 客户端 API 整理
- ThinkPHP中View页面 if,switch:case的不同使用
- X-pack破解
- PAT 1053. Path of Equal Weight (30)
- 用Python和Pygame写游戏-从入门到精通(9) Vector2d
- 树莓派3b连接GPS+BD模块并用python获取数据(串口版)
- 数据库连接工具Navicat Premium_11.2.7简体中文版
- CUDA 学习笔记 1
- BZOJ4537:[Hnoi2016]最小公倍数 (分块+并查集+启发式合并)
- codeforces 279-B. Books(尺取)
- git创建分支
- .net 手机滑动加载
- rman channel是无限制的吗?
- 使用PowerDesigner设计数据库物理模型