树莓派 GPS模块 Python获取数据

我用的是树莓派Zero

GPS模块用的是Beitian

Beitian BN-280 GPS

Beitian与树莓派连接

我们需要先把Beitian只带的线剪断,之后与杜邦线的一段也剪断并将他们连在一起

Beitian与树莓派连接

Beitian: VCC 连 树莓派引脚 01

Beitian: GND 连 树莓派引脚 06

Beitian: TX 连 树莓派引脚 010

只需要连接这三条线就可以了

Beitian连接树莓派GPIO

这时通电 如果蓝灯闪烁就代表成功了。

如果红灯闪烁代表接收到GPS信号了。

如果红灯没有闪烁就代表没有接收到GPS数据,需要到户外空旷的地方试试,一般在室内就能收到GPS信号了。

参看原始数据

命令行输入
sudo apt-get install minicom
命令行输入
sudo chmod 777 /dev/ttyS0
minicom -b 9600 -o -D /dev/ttyS0

Python模块安装

pip3 install pyserial
import serial #导入serial模块
 
ser = serial.Serial("/dev/ttyS0",9600)#打开串口,存放到ser中,/dev/ttyUSB0是端口名,9600是波特率
 
while True:
    ser_data = str(ser.readline(), encoding='utf-8')
 
    if 'GNRMC' in ser_data:
        print('GNRMC')
        ser_data_list = ser_data.split(',')
        print('A纬度: ' + str(float(ser_data_list[3][0:2])+(float(ser_data_list[3][2:])/60)))
        print('N经读: ' + str(float(ser_data_list[5][0:3])+(float(ser_data_list[5][3:])/60)))
        print('--------------------')

GPS Python输出样式

这里只做了 GNRMC 的数据处理,其他的也大同小异。