GPS Module
COM.GPS 是 M5Stack 堆叠模块系列中的卫星定位模块。它基于 NEO-M8N 模块开发。
支持以下产品:
MicroPython 应用示例:
1import os, sys, io 2import M5 3from M5 import * 4from module import GPSModule 5 6 7GPST = None 8label0 = None 9label1 = None 10label2 = None 11label3 = None 12label4 = None 13label5 = None 14label6 = None 15label7 = None 16label8 = None 17label9 = None 18label10 = None 19label11 = None 20com_gps_0 = None 21 22 23def setup(): 24 global \ 25 GPST, \ 26 label0, \ 27 label1, \ 28 label2, \ 29 label3, \ 30 label4, \ 31 label5, \ 32 label6, \ 33 label7, \ 34 label8, \ 35 label9, \ 36 label10, \ 37 label11, \ 38 com_gps_0 39 40 M5.begin() 41 Widgets.fillScreen(0x222222) 42 GPST = Widgets.Title( 43 " GPS Module Demo", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18 44 ) 45 label0 = Widgets.Label( 46 "Locate status:", 10, 27, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18 47 ) 48 label1 = Widgets.Label( 49 "Satellite nums:", 2, 52, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18 50 ) 51 label2 = Widgets.Label("Longitude:", 40, 105, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 52 label3 = Widgets.Label("Latitude:", 56, 77, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 53 label4 = Widgets.Label("Date:", 85, 131, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 54 label5 = Widgets.Label("Time:", 83, 159, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 55 label6 = Widgets.Label("label6", 150, 28, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 56 label7 = Widgets.Label("label7", 150, 52, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 57 label8 = Widgets.Label("label8", 150, 79, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 58 label9 = Widgets.Label("label9", 150, 107, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 59 label10 = Widgets.Label("label10", 150, 134, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 60 label11 = Widgets.Label("label11", 150, 160, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 61 62 com_gps_0 = GPSModule(2, 13, 14) 63 com_gps_0.set_time_zone(8) 64 65 66def loop(): 67 global \ 68 GPST, \ 69 label0, \ 70 label1, \ 71 label2, \ 72 label3, \ 73 label4, \ 74 label5, \ 75 label6, \ 76 label7, \ 77 label8, \ 78 label9, \ 79 label10, \ 80 label11, \ 81 com_gps_0 82 M5.update() 83 if com_gps_0.is_locate_valid(): 84 label6.setText(str("OK")) 85 else: 86 label6.setText(str("False")) 87 label7.setText(str(com_gps_0.get_satellite_num())) 88 label8.setText(str(com_gps_0.get_latitude())) 89 label9.setText(str(com_gps_0.get_longitude())) 90 label10.setText(str(com_gps_0.get_date())) 91 label11.setText(str(com_gps_0.get_time())) 92 93 94if __name__ == "__main__": 95 try: 96 setup() 97 while True: 98 loop() 99 except (Exception, KeyboardInterrupt) as e: 100 try: 101 from utility import print_error_msg 102 103 print_error_msg(e) 104 except ImportError: 105 print("please update to latest firmware")
UiFlow2 应用示例:
class GPSModule
构造函数
Methods
- GPSModule.get_time_zone()
获取时区函数。
- Return (int):
timezone 值
UIFLOW2:

- GPSModule.get_satellite_num()
获取卫星数量。
- Return (str):
卫星数量值。
UIFLOW2:

- GPSModule.get_altitude()
获取海拔高度。
- Return (str):
海拔单位为米。
UIFLOW2:

- GPSModule.get_time()
获取时间。
- Return (str):
time(hh:mm:ss)
UIFLOW2:

- GPSModule.get_date()
获取日期。
- Return (str):
date(dd/mm/yy)
UIFLOW2:

- GPSModule.get_latitude()
获取纬度。
- Return (str):
纬度,使用度分格式(ddmm.mmmmmN/S)。
UIFLOW2:

- GPSModule.get_longitude()
获取经度。
- Return (str):
经度,使用度分格式(ddmm.mmmmmE/W)。
UIFLOW2:

- GPSModule.get_latitude_decimal()
获取纬度小数。
- Return (float):
纬度十进制(dd.dddd)。
UIFLOW2:

- GPSModule.get_longitude_decimal()
获取经度(十进制度)。
- Return (float):
经度十进制度数(dd.dddd)。
UIFLOW2:

- GPSModule.get_speed(type)
获取速度。
- Return (str):
speed。
- 参数:
type (int) – 速度类型,0 表示 km/h,1 表示 knot/h。选项:-
km/h:0 -knot/h:1。
UIFLOW2:

- GPSModule.get_course()
获取课程。
- Return (str):
温度单位为 °。
UIFLOW2:

- GPSModule.is_locate_valid()
获取定位状态。
- Return (bool):
定位状态,true 表示已定位,false 表示未定位。
UIFLOW2:





