我用的是树莓派Zero
GPS模块用的是Beitian
Beitian与树莓派连接
我们需要先把Beitian只带的线剪断,之后与杜邦线的一段也剪断并将他们连在一起
Beitian: VCC 连 树莓派引脚 01
Beitian: GND 连 树莓派引脚 06
Beitian: TX 连 树莓派引脚 010
只需要连接这三条线就可以了
这时通电 如果蓝灯闪烁就代表成功了。
如果红灯闪烁代表接收到GPS信号了。
如果红灯没有闪烁就代表没有接收到GPS数据,需要到户外空旷的地方试试,一般在室内就能收到GPS信号了。
参看原始数据
安装 minicom
命令行输入
sudo apt-get install minicom
命令行输入
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('--------------------')
这里只做了 GNRMC 的数据处理,其他的也大同小异。
sudo chmod 777 /dev/ttyS0
https://raspberrypi.stackexchange.com/questions/111817/serial-serialutil-serialexception-device-reports-readiness-to-read-but-returned
https://www.csdn.net/tags/MtTaAgzsMzg0OTAxLWJsb2cO0O0O.html
https://bobbyhadz.com/blog/python-attributeerror-module-serial-has-no-attribute-serial