这里写自定义目录标题

  • python解析nmea0183协议获取GPS定位信息

python解析nmea0183协议获取GPS定位信息

nmea0183协议里面定位数据主要在GPRMC报文里面,下面是报文的大体形式:

b'$GPRMC,111025.00,A,2517.033747,N,11019.176025,E,0.0,144.8,270920,2.3,W,A*2D\r\n'
b'$GPRMC,,V,,,,,,,,,,N*53\r\n'
b'$GPRMC,024443.0,A,2517.038296,N,11019.174048,E,0.0,,120201,0.0,E,A*2F\r\n'

下面是报文说明
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC时间,hhmmss(时分秒)格式
<2> 定位状态,A=有效定位,V=无效定位
<3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<4> 纬度半球N(北半球)或S(南半球)
<5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率(000.0~999.9节,前面的0也将被传输) 1节=1.852千米(km/h)
<8> 地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)
<9> UTC日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0度,前面的0也将被传输)
<11> 磁偏角方向,E(东)或W(西)
<12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)

#把度秒转成小数
def parse_loc_val(val, d):v = float(val)/100v = int(v) + (v-int(v))*100/60if d=='S' or d=='W':v = v * -1return v
#获取经纬度信息
def parse_gprmc(data):'''b'$GPRMC,111025.00,A,2517.033747,N,11019.176025,E,0.0,144.8,270920,2.3,W,A*2D\r\n'b'$GPRMC,,V,,,,,,,,,,N*53\r\n'b'$GPRMC,024443.0,A,2517.038296,N,11019.174048,E,0.0,,120201,0.0,E,A*2F\r\n'$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF> <1> UTC时间,hhmmss(时分秒)格式 <2> 定位状态,A=有效定位,V=无效定位 <3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输) <4> 纬度半球N(北半球)或S(南半球) <5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输) <6> 经度半球E(东经)或W(西经)<7> 地面速率(000.0~999.9节,前面的0也将被传输) 1节=1.852千米(km/h)<8> 地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输) <9> UTC日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也将被传输) <11> 磁偏角方向,E(东)或W(西) <12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)'''li = data.decode().replace('$GPRMC,', '').strip().split(',')lat=log=speed=direct=0if li[1] == 'A':lat = round(parse_loc_val(li[2], li[3]), 6)   #纬度log = round(parse_loc_val(li[4], li[5]), 6)   #经度speed = float(li[6]) * 1.852if len(li[7])>0:direct = float(li[7])else:direct = 0#logging.info('lat:{:.6f},log:{:.6f},speed:{},direct:{}'.format(lat, log, speed, direct))return (lat,log,speed, direct)

python解析nmea0183协议获取GPS定位信息相关推荐

  1. python模拟gps定位_python解析nmea0183协议获取GPS定位信息

    python解析nmea0183协议获取GPS定位信息 nmea0183协议里面定位数据主要在GPRMC报文里面,下面是报文的大体形式: b'$GPRMC,111025.00,A,2517.03374 ...

  2. 使用带GPS模块的LTE Cat.4模组获取GPS定位信息

    上海域格miniPCIe LTE模组 CLM920 NC5 mdgv为Cat.4模组,且带有GPS模块可支持获取GPS定位信息: 将CLM920 NC5 MGC模组连接到PC上,安装驱动后,可以在设备 ...

  3. java编程手机gps定位_GPS 获取Gps定位信息的Android源码实例,通过这个JAVA 目,你可能学会GPS在 手机 238万源代码下载- www.pudn.com...

    文件名称: GPS下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 59 KB 上传时间: 2013-04-08 下载次数: 22 详细说明:获取Gps定位信息的A ...

  4. Autojs获取GPS定位信息

    记得先把autojs的"定位权限"给开了!!!! console.show(); importClass(android.content.BroadcastReceiver); i ...

  5. matlab菜鸡学习日志--------使用matlab解析NMEA-0183 协议获取经纬度以及航向角

    先上代码! clc clear all filename = 'zuixin.txt'; %result = cell(224, 5); fid = fopen(filename, 'r'); dat ...

  6. linux下编程epoll实现将GPS定位信息上报到服务器

    操作系统:CentOS 开发板:fl2440 开发模块:A7(GPS/GPRS),RT3070(无线网卡) ********************************************** ...

  7. android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...

    1.添加权限--6.0之后要动态获取,下面会说 2.直接上代码,不多说,代码中注释很详细. private static final int BAIDU_READ_PHONE_STATE = 100; ...

  8. Andorid获取原生GPS定位信息

    @SuppressLint("MissingPermission")@TargetApi(Build.VERSION_CODES.M)public Location getLoca ...

  9. GPS定位信息的接收

    定位信息的接收 通常GPS定位信息接收系统主要由GPS接收天线.变频器.信号通道.微处理器.存储器以及电源等部分组成.由于GPS定位信息内容较少,因此多用RS-232串口将定位信息(NEMA0183语 ...

  10. 微信小程序入门5--查询湖畔云GPS定位信息

    本文内容较多,请耐心查阅. 本文分为四个部分进行介绍: 一.在百度地图开发平台申请AK 1. 注册账号 2.创建应用 3.获取密钥(AK) 二.下载API模块 三.获取湖畔云GPS定位经纬度信息 四. ...

最新文章

  1. 操作系统(三)| 进程同步详解(主要任务、制约关系、临界资源、临界区、同步机制遵循规则、信号量机制、信号量的应用)
  2. Nginx面试中最常见的18道题及答案
  3. 海康存储携手英特尔发布AI企业私有云
  4. 你需要了解的有关.NET日期时间的必要信息
  5. SurfaceView介绍
  6. 大数据公司Palantir曾向法拉第未来投资2500万美元
  7. vnpy学习_04回测评价指标的缺陷
  8. ASP.NET网站还是ASP.NET Web应用程序?
  9. (三)映射对象标识符(OID)
  10. MSSQL如何将查询结果拼接成字符串
  11. js 格式化输出_JS之 调试
  12. 利用图灵机器人为公众号添加智能问答,知识库功能
  13. 小程序按钮如何制作?
  14. 解决应用程序无法正常启动0xc0150002问题(转)
  15. 创建脚本的步骤整理(转发)
  16. OCM实验-备份恢复-控制文件
  17. R 回归 虚拟变量na_互助问答第30期:工具变量、GARCH模型操作和多项选择效信度...
  18. 别@微信官方了,最全的圣诞帽都在这儿了!
  19. Company interview process
  20. 自定义桌面(仿360桌面)

热门文章

  1. PCIe总线协议概述
  2. 华为手机字体改简体_华为手机字体怎么更换简体
  3. Oracle数据库经典50题(附答案),写完不理解的来打我
  4. 2021 泰迪杯 A 题思路
  5. GBase 数据库用户的最大连接数限制
  6. android 修复工具下载,安卓数据恢复软件(FonePaw for Android)
  7. 用户故事与敏捷方法—故事不是什么
  8. 商品图像识别是什么?如何实现图像识别呢?
  9. 合肥工业大学机器人技术期末_机器人技术基础期末考试复习资料
  10. 系统架构变迁——个人成长路线