CircuitPython GPS模块库。
项目描述
简介
GPS解析模块。可以向串行和I2C GPS模块发送命令,并解析简单的NMEA数据句子以读取纬度、经度等信息。
依赖项
此驱动程序依赖于
请确保所有依赖项都可在CircuitPython文件系统中使用。这可以通过下载 Adafruit库和驱动程序捆绑包 来轻松实现。
从PyPI安装
在支持的GNU/Linux系统(如树莓派)上,您可以从PyPI 安装驱动程序。为当前用户安装
pip3 install adafruit-circuitpython-gps
为全局安装(在某些情况下可能需要)
sudo pip3 install adafruit-circuitpython-gps
在当前项目中的虚拟环境中安装
mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-gps
使用示例
请参阅examples/gps_simpletest.py以了解解析和打印GPS位置的方法。
重要:Feather板和许多其他CircuitPython板会四舍五入到两位小数,如下所示
>>> float('1234.5678')
1234.57
这并不理想,因为这将GPS数据的精度从0.1m降低到11m。
可以通过在输出GPS数据时使用字符串格式化来修复此问题。
此实现的示例可以在 examples/gps_simpletest.py 中找到。
import time
import board
import busio
import adafruit_gps
RX = board.RX
TX = board.TX
uart = busio.UART(TX, RX, baudrate=9600, timeout=30)
gps = adafruit_gps.GPS(uart, debug=False)
gps.send_command(b'PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0')
gps.send_command(b'PMTK220,1000')
last_print = time.monotonic()
while True:
gps.update()
current = time.monotonic()
if current - last_print >= 1.0:
last_print = current
if not gps.has_fix:
print('Waiting for fix...')
continue
print('=' * 40) # Print a separator line.
print('Latitude: {0:.6f} degrees'.format(gps.latitude))
print('Longitude: {0:.6f} degrees'.format(gps.longitude))
这两行代码实际上是解决问题的关键。
print('Latitude: {0:.6f} degrees'.format(gps.latitude))
print('Longitude: {0:.6f} degrees'.format(gps.longitude))
注意:在每次调用 gps.send_command() 之间没有足够的时间间隔时,使用 gps.send_command() 发送多个 PMTK314 数据包将不会工作。建议使用 1 秒或更长时间的 time.sleep() 来解决这个问题。
文档
此库的 API 文档可以在 Read the Docs 上找到。
有关构建库文档的信息,请参阅 本指南。
贡献
欢迎贡献!在为此项目做出贡献之前,请阅读我们的 行为准则,以帮助保持项目的友好性。
项目详情
关闭
adafruit_circuitpython_gps-3.10.15.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c28fde1dbb8eb6d93d36ff8bf27f90e443f6eee2bcf9355fe95ddca8000fac8 |
|
MD5 | a9163aa9705b03e6f4efd099a9828196 |
|
BLAKE2b-256 | 758d5d0202f15cfa79af99e093372a142d71bd0b1d08bc19b87eb55a0d354aae |
关闭
哈希值 for adafruit_circuitpython_gps-3.10.15-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d8614b569e521205a22958ef926fa639ca9a804379d3fd451f005258e9d6151a |
|
MD5 | 7cca9b093950d5e8f00e6265e057451e |
|
BLAKE2b-256 | 68b302f675a2ac79fd44b4f368c434a93031b66af2ec9e924b759d91c922ca5f |