4G远程小车1-树莓派读取WTGPS+BD模块

树莓派python读取WTGPS+BD模块

WTGPS+BD模块

模块可以通过type-C线连接(自带ch430芯片)USB口;也可以通过串口与硬件串口号相连接。
IPX天线接头为IPX1代

连接树莓派

连接好GPS线,树莓派上插上USB串口,查看设备名:

终端输入输入ls /dev/ttyUSB*
查看串口输出信息:cat /dev/ttyUSB0
4G远程小车1-树莓派读取WTGPS+BD模块_第1张图片这里:GNRMC,GNGLL,GNGGA均能输出经纬度,且信息一样;GN表示多卫星联合输出的信息,GP为GPS输出的信息,BP为北斗卫星输出的信息。
4G远程小车1-树莓派读取WTGPS+BD模块_第2张图片
串口协议:
NANME协议:
GNRMC协议样式:
经纬度转化:
时间转化:
所以程序代码为:

import serial
import time
ser = serial.Serial("/dev/ttyUSB0",9600) #9600是GPS的波特率
while True:
    line = str(str(ser.readline()))
    # #打印所有串口数据
    # print(line)
    GNRMC_line = line
    # GNGLL_line = line
    # GNGLL_line = line
    if GNRMC_line.startswith("b\'$GNRMC"):
        print(GNRMC_line)
        GNRMC_line = str(GNRMC_line).split(',')  # 将line以“,”为分隔符
        #GNRMC_line格式为:["b'$GNRMC", '132558.000',    'A',    '3412.93903',  'N',  '11708.08969',  'E',      '0.00',            '0.00',             '081221',                '', '', "A*75\\r\\n'"]
        #GNRMC_line格式为:["b'$GNRMC", '当天UTC时间', 'A表示数据有效', '纬度',    'N-北', '精度',        'E-东', '对地速度,单位为节', '对地真航向,单位为度', '日期(dd 为日,mm为月,yy为年)', '', '', "A*75\\r\\n'"]
        # print(GNRMC_line)  #查看数据类型
        # 时间转化省略(需要把UTC转化为北京时间)
        # Lat ddmm.mmmm 纬度,前2字符表示度,后面的字符表示分,需要转化为小数形式
        latitude = float(GNRMC_line[3][:2]) + float(GNRMC_line[3][2:])/60
        # Lon dddmm.mmmm 经度,前3字符表示度,后面的字符表示分,需要转化为小数形式
        longitude = float(GNRMC_line[5][:3]) + float(GNRMC_line[5][3:])/60
        print("纬度:  " + GNRMC_line[4] + " " + str(latitude))
        print("经度:  " + GNRMC_line[6] + " " + str(longitude))
        # time.sleep(1)

运行结果:

4G远程小车1-树莓派读取WTGPS+BD模块_第3张图片

你可能感兴趣的:(4G远程小车,单片机,linux,gps)