问题描述
我对python非常陌生,我正在尝试与GPS进行串行通信。每个样本中有4行定期重复,我只希望保存以GPGGA
开头的行。 GPS默认以 5 Hz 采样。到目前为止,我的代码如下。
import serial
import csv
gps = serial.Serial('COM3',56700,timeout=1) # opening COM port
gps.flushinput() # clears the serial port so there is no data overlaping
gps_bytes = gps.readline()
try:
while gps_bytes:
line = gps.readline()
if line.find('$GPGGA') != -1:
#else:
# time,LAT,dir1,LONG,dir2 = line.split(",")[1:5]
print(line)
input('Press Enter to stop\n')
except (Exception,KeyboardInterrupt):
pass
gps.close()
#with open("gps_data.csv","a") as f:
# writer = csv.writer(f,delimiter=",")
# writer.writerow([time.time(),gps_data])
GPS信号线是逗号分隔的。在我只想使用GPGGA,时间(hhmmss。),LON(XX),N,LAT(YY),E行的地方,只需要这3个数值(时间,LONG,LAT)。
$GPGGA,070611.00,XXXX.XX,N,YYY.Y,E,2,12,0.9,15.147,M,39.586,*50
$PNVGBLS,N*33
$GPRMC,A,XXXX.X,0.07,0.00,211020,D*5E
$GPVTG,T,0.13,K,D*70
$GPHDT,T*1B
我想要的是打开串口并开始向我发送数据,直到我按Enter键停止然后将其保存在.csv
文件中。有人可以帮助我吗?任何帮助将不胜感激。
提前谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)