文章目录
一、简介二、硬件准备1、元器件清单2、接线说明三、软件准备1、安装Python22、安装pynmea2库3、配置mini串口4、gps.py四、知识准备1、GPS数据解析1、$GPGGA2、$GPRMC一、简介
因为之前想通过GPS模块来获取经纬度进行区域的划分,就买了NEO-6M GPS模块,但后来发现误差较大,且只能用于室外,有些鸡肋。不过买都买了,怎么也得试一试。
二、硬件准备
1、元器件清单
MINI NEO-6M GPS模块:
SMA有源天线:
2、接线说明
因为我们只用到了RXD来读取GPS信息,所以GPS模块中的RXD也可以不接。
三、软件准备
1、安装Python2
由于目前市面上提供的测试代码都是通过Python2来运行的,所以我们需要提前安装一下Python2。
sudo apt-get install idle-python2.7idle-python2.7
2、安装pynmea2库
通过 pymea2库来解析gps数据。
pip3 install pynmea2
也可以在编译器中搜索安装。
3、配置mini串口
树莓派使用mini串口与外部进行通信
4、gps.py
import serialimport timeimport stringimport pynmea2while True:port="/dev/ttyAMA0"ser=serial.Serial(port, baudrate=9600, timeout=0.5)dataout = pynmea2.NMEAStreamReader()newdata=ser.readline()if newdata[0:6] == "$GPRMC":newmsg=pynmea2.parse(newdata)lat=newmsg.latitudelng=newmsg.longitudegps = "Latitude=" + str(lat) + "and Longitude=" + str(lng)print(gps)
四、知识准备
1、GPS数据解析
GPS数据一共有七种,每种都有自己的数据格式,这里只展示最常用的两种,其余的大家可以自己去查手册。