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

本文介绍了如何使用Python在树莓派上通过串口读取WTGPS+BD模块的数据,解析GNRMC协议以获取经纬度信息。通过将串口设备设置为/dev/ttyUSB0,以9600波特率读取数据,然后转换经纬度为小数形式进行显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树莓派python读取WTGPS+BD模块

WTGPS+BD模块

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

连接树莓派

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

终端输入输入ls /dev/ttyUSB*
查看串口输出信息:cat /dev/ttyUSB0
GPS串口信息打印这里:GNRMC,GNGLL,GNGGA均能输出经纬度,且信息一样;GN表示多卫星联合输出的信息,GP为GPS输出的信息,BP为北斗卫星输出的信息。
GNRMC
串口协议:
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)

运行结果:

输出结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值