NMEA PYthon代码集合
来源:互联网 发布:网络语老司机什么意思 编辑:程序博客网 时间:2024/05/21 23:33
GPS(garmin)使用的是串口线(当然也支持USB线)波特率为4800bps,python使用pyserial模块控制串口
将GPS的接口协议调整为NMEA协议,使用pyserial接收到的信号(每两秒钟刷新一次)例如为
$GPRMC,,V,,,,,,,230509,4.0,W,N*23
$GPRMB,V,,,,,,,,,,,,A,N*13
$GPGGA,,,,,,0,00,,,M,,M,,*66
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,09,05,055,00,12,37,051,00,14,56,353,00,18,40,161,00*7F
$GPGSV,3,2,12,22,70,199,00,26,09,100,00,29,07,136,00,30,65,091,00*71
$GPGSV,3,3,12,31,41,268,00,32,02,323,00,33,00,000,00,34,00,000,00*77
$GPGLL,,,,,,V,N*64
$GPBOD,,T,,M,,*47
$GPVTG,,T,,M,,N,,K*4E
$PGRME,,M,,M,,M*00
$PGRMZ,,f,1*29
$PGRMM,WGS 84*06
$GPRTE,1,1,c,*37
可参照NMEA协议 对抓取的记录进行分析
串口接收的python代码为
#coding=utf-8
import serial
ser=serial.Serial()
ser.port=0
ser.baudrate=4800
ser.open()
while True:
line=ser.readline()
if line.startswith('$GPGLL,'):
st=line.split(',')#0,‘$GPGLL’;1,维度;2,南北半球;3,经度;4,东西经;5,时间
print st[5],st[4],st[3],st[2],st[1]
print line,
ser.close()
这样配合python的GUI库,将经纬度打点到DC上,路径就显示出来了
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/weizhe86/archive/2009/05/24/4210707.aspx
#coding=utf-8
import serial
from socket import *
import time
import re
HOST = '127.0.0.1'
PORT = 51234
ADDR = (HOST, PORT)
COM = 'com7'
BAUDRATE = 115200
def main():
'''接收文本格式的串口数据,以"/n"为分隔符。
'''
ser = serial.Serial(COM, baudrate=BAUDRATE)
last_utc = None
message = ""
msg = ""
try:
while True:
data = ser.readline()
if data:
# 只有"$GPRMC","$GPVTG"和"$GPGGA"才能发送给GooPs。
# 我们将同一时刻接受的NMEA语句合并为一个message发给GooPs。
pattern = '^/$G[PN](?:GGA|RMC),([0-9.]{9}),'
m = re.match(pattern, data)
if m:
# 屏幕显示
# print "raw data: %s" % data
utc = m.group(1)
# print "utc: %s, last_utc: %s" % (utc, last_utc)
if utc == last_utc:
message += data
else:
last_utc = utc
# print "before: %s" % message
msg = "ace@localhost:%s" % message
message = data
# print "after: %s" % message
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
tcpCliSock.send(msg)
tcpCliSock.close()
print "msg: %s" % msg
# 给其他程序运行的机会~
time.sleep(0.1)
except Exception, e:
print "error: %s" % e
finally:
ser.close()
if __name__ == '__main__':
main()
- NMEA PYthon代码集合
- GPS-NMEA解析代码
- GPS-NMEA解析代码
- GPS-NMEA解析代码
- gps python serial nmea
- 学会看NMEA-0183数据协议代码
- python--实现1+..+100的代码集合
- NMEA Data
- nmea pdf
- NMEA-0183
- 代码与图详解性能之Python集合类型
- python通过串口读取GPS NMEA格式的数据,并保存为csv文件
- 代码集合
- 代码集合
- python 集合
- python集合
- python 集合
- [python]集合
- 删除多余内核
- C++语言及网络编程书籍整理
- Studio Web Debugger安装配置
- Zend studio7.1注册码
- combo box控件的使用方法
- NMEA PYthon代码集合
- 使用 Windows Live Writer 代码高亮插件
- Google Code 密码网页打不开解决方法
- flex
- 文章2:CoupleVIBE: Mobile Implicit Communication to Improve Awareness for (Long-Distance) Couples
- Linux下使用“Man”的7大诀窍
- 遇到困难要克服
- 非不能也,而是不愿也
- 中括号解决sql语句操作符丢失的问题