Atomic GPS Base v2.0

该库用于获取Atom GPS Base v2.0的GPS数据。

支持以下产品:

Atom GPS Base v2.0

UiFlow2示例

获取GPS数据

在UiFlow2中打开 base_gpsv2_atom_example.m5f2 项目。

该示例演示了如何使用Atomic GPS Base v2.0获取GPS数据。

UiFlow2代码块:

example.png

示例输出:

None

MicroPython示例

获取GPS数据

该示例演示了如何使用Atomic GPS Base v2.0获取GPS数据。

MicroPython代码块:

 1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from hardware import RGB
 9from base import AtomicGPSV2Base
10import time
11
12
13rgb = None
14base_gpsv2 = None
15
16
17def setup():
18    global rgb, base_gpsv2
19
20    M5.begin()
21    rgb = RGB()
22    rgb.set_screen([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
23    rgb.set_brightness(20)
24    rgb.fill_color(0x33FF33)
25    base_gpsv2 = AtomicGPSV2Base(2, port=(22, 19))
26    base_gpsv2.set_work_mode(7)
27    base_gpsv2.set_time_zone(0)
28
29
30def loop():
31    global rgb, base_gpsv2
32    M5.update()
33    print((str("longitude:") + str((base_gpsv2.get_longitude()))))
34    print((str("altitude:") + str((base_gpsv2.get_altitude()))))
35    print((str("latitude:") + str((base_gpsv2.get_latitude()))))
36    time.sleep(1)
37
38
39if __name__ == "__main__":
40    try:
41        setup()
42        while True:
43            loop()
44    except (Exception, KeyboardInterrupt) as e:
45        try:
46            from utility import print_error_msg
47
48            print_error_msg(e)
49        except ImportError:
50            print("please update to latest firmware")

示例输出:

None

API

AtomicGPSV2Base

class base.gpsv2.AtomicGPSV2Base(id=1, port=None, verbose=False)

基类:ATGM336H

创建一个AtomicGPSV2Base对象。

参数:
  • id (int) – 与GPS模块通信的UART ID。可以是1或2。

  • port (list | tuple) – 包含TX和RX引脚的列表或元组,用于UART通信。

  • verbose (bool) – 是否打印详细输出。

UIFlow代码块:

init.png

MicroPython代码块:

from base.gpsv2 import AtomicGPSV2Base

gps_0 = AtomicGPSV2Base(id=1, tx=5, rx=6)
class driver.atgm336h.ATGM336H(id, tx, rx, pps=None, rst=None, verbose=False)

基类:object

创建一个ATGM336H对象。

参数:
  • id (int) – 与GPS模块通信的UART ID。可以是1或2。

  • tx (int) – TX引脚是发送数据到GPS模块的引脚。

  • rx (int) – RX引脚是接收来自GPS模块的数据的引脚。

  • pps (int) – PPS引脚是接收来自GPS模块的PPS信号的引脚。

  • verbose (bool) – 是否打印详细输出。

MicroPython代码块:

from driver.atgm336h import ATGM336H

gps_0 = ATGM336H(id=2, tx=5, rx=6)
set_work_mode(mode)

设置GPS模块的工作模式。

参数:

mode (int) – 要设置的模式,由GPS模块定义。

UiFlow2代码块:

set_work_mode.png

MicroPython代码块:

gps_0.set_work_mode(7)
get_work_mode()

获取当前GPS模块的工作模式。

返回:

当前GPS模块的工作模式。

返回类型:

int

UiFlow2代码块:

get_work_mode.png

MicroPython代码块:

gps_0.get_work_mode()
get_antenna_state()

获取天线状态。

返回:

天线状态。

返回类型:

str

MicroPython代码块:

gps_0.get_antenna_state()
get_gps_time()

获取当前GPS时间。

返回:

GPS时间作为字符串列表[小时,分钟,秒]。

返回类型:

list[str]

UiFlow2代码块:

get_gps_time.png

MicroPython代码块:

gps_0.get_gps_time()
get_gps_date()

获取当前GPS日期。

返回:

GPS日期作为字符串列表[日,月,年]。

返回类型:

list[str]

UiFlow2代码块:

get_gps_date.png

MicroPython代码块:

gps_0.get_gps_date()
get_gps_date_time()

获取当前GPS日期和时间组合。

返回:

GPS日期和时间作为字符串列表[年,月,日,小时,分钟,秒]。

返回类型:

list[str]

UiFlow2代码块:

get_gps_date_time.png

MicroPython代码块:

gps_0.get_gps_date_time()
get_timestamp()

获取当前GPS时间的时间戳。

返回:

表示当前GPS时间的时间戳。

返回类型:

int | float

UiFlow2代码块:

get_timestamp.png

MicroPython代码块:

gps_0.get_timestamp()
get_latitude()

获取当前纬度。

返回:

当前纬度作为字符串格式。

返回类型:

str

UiFlow2代码块:

get_latitude.png

MicroPython代码块:

gps_0.get_latitude()
get_longitude()

获取当前经度。

返回:

当前经度作为字符串格式。

返回类型:

str

UiFlow2代码块:

get_longitude.png

MicroPython代码块:

gps_0.get_longitude()
get_altitude()

获取当前海拔高度。

返回:

当前海拔高度作为字符串格式。

返回类型:

str

UiFlow2代码块:

get_altitude.png

MicroPython代码块:

gps_0.get_altitude()
get_satellite_num()

获取用于定位的卫星数量。

返回:

卫星数量。

返回类型:

str

UiFlow2代码块:

get_satellite_num.png

MicroPython代码块:

gps_0.get_satellite_num()
get_pos_quality()

获取GPS位置的质量。

返回:

位置质量。

返回类型:

str

UiFlow2代码块:

get_pos_quality.png

MicroPython代码块:

gps_0.get_pos_quality()
get_course_over_ground()

获取航向角(COG)。

返回:

航向角(COG)以度为单位。

返回类型:

str

UiFlow2代码块:

get_course_over_ground.png

MicroPython代码块:

gps_0.get_course_over_ground()
get_speed_over_ground()

获取地面速度(SOG)。

返回:

地面速度(SOG)以节为单位。

返回类型:

str

UiFlow2代码块:

get_speed_over_ground.png

MicroPython代码块:

gps_0.get_speed_over_ground()
set_time_zone(value)

设置GPS时间的时间区偏移。

参数:

value (int) – 要设置的时间区偏移值。

UiFlow2代码块:

set_time_zone.png

MicroPython代码块:

gps_0.set_time_zone(1)
get_time_zone()

获取当前时间区偏移。

返回:

当前时间区偏移。

返回类型:

int

UiFlow2代码块:

get_time_zone.png

MicroPython代码块:

gps_0.get_time_zone()
deinit()

取消初始化GPS单元,停止任何正在运行的任务并释放资源。

UiFlow2代码块:

deinit.png

MicroPython代码块:

gps_0.deinit()