分页: 1 / 1

micropython的GNSS 解析器 micropyGPS

发表于 : 2020年 6月 12日 17:24
shaoziyang
micropyGPS 是完整功能的 GPS NMEA 语法解析器,可与MicroPython和PyBoard嵌入式平台配合使用。它与Python 3.x完全兼容。


图片


特征
  • 将大多数重要的NMEA-0183输出消息解析并验证为易于处理的数据结构
  • 提供解释,显示,记录和操作GPS数据的辅助方法
  • 使用Micropython中提供的标准库以纯Python 3.x编写
  • 在单个文件中实现为单个类,以便轻松集成到嵌入式项目中
  • 分析器在编写时考虑了串行UART数据源;通过嘈杂的嵌入式环境中强大的错误处理,一次处理单个字符
  • 建立在TinyGPS Arduino库基础上
基本用法

代码: 全选

>>> from micropyGPS import MicropyGPS
>>> my_gps = MicropyGPS()
>>> my_sentence = '$GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62'
>>> for x in my_sentence:
...     my_gps.update(x)
...
'GPRMC'
>>> my_gps.latitude
(37, 51.65, 'S')
支持的语法
  • GPRMC
  • GLRMC
  • GNRMC
  • GPGLL
  • GLGLL
  • GNGLL
  • GPGGA
  • GLGGA
  • GNGGA
  • GPVTG
  • GLVTG
  • GNVTG
  • GPGSA
  • GLGSA
  • GNGSA
  • GPGSV
  • GLGSV
隐藏内容
你必须登入/注册才可观看隐藏内容
 
 
 

Re: micropython的GNSS 解析器 micropyGPS

发表于 : 2020年 6月 12日 17:26
shaoziyang
定位

代码: 全选

## Latitude is 37° 51.65' S
>>> my_gps.latitude
(37, 51.65, 'S')
# Longitude is 145° 7.36' E
>>> my_gps.longitude
(145, 7.36, 'E')
# Course is 54.7°
>>> my_gps.course
54.7
# Altitude is 280.2 meters
>>> my_gps.altitude
280.2
# Distance from ideal geoid is -34 meters
>>> my_gps.geoid_height
-34.0
速度

代码: 全选

>>> my_gps.speed
(5.5, 6.3305, 10.186)
时间

代码: 全选

>>> my_gps.timestamp
(8, 18, 36.0)
>>> my_gps.date
(22, 9, 05)
 

卫星资料

代码: 全选

>>> my_gps.satellites_in_use
7
>>> my_gps.satellites_used
[7, 2, 26, 27, 9, 4, 15]
# Fix types can be: 1 = no fix, 2 = 2D fix, 3 = 3D fix
>>> my_gps.fix_type
3
# Dilution of Precision (DOP) values close to 1.0 indicate excellent quality position data
>>> my_gps.hdop  
1.0
>>> my_gps.vdop
1.5
>>> my_gps.pdop
1.8
卫星统计

代码: 全选

>>> my_gps.parsed_sentences
14
>>> my_gps.clean_sentences
14
>>> my_gps.crc_fails
0
 
 

Re: micropython的GNSS 解析器 micropyGPS

发表于 : 2020年 6月 15日 12:12
shaoziyang
注意:MicropyGPS暂时不支持北斗。