GPS Module
COM.GPS is a satellite positioning module in the M5Stack stacking module series. It is developed based on the NEO-M8N module.
Support the following products:
Micropython Example:
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 Example:
class GPSModule
Constructors
Methods
- GPSModule.set_time_zone(value)
set timezone function.
- Parameters:
value (int) – timezone value
UIFLOW2:
- GPSModule.get_time_zone()
get timezone function.
- Return (int):
timezone value
UIFLOW2:
- GPSModule.get_satellite_num()
get satellite numbers.
- Return (str):
satellite numbers value.
UIFLOW2:
- GPSModule.get_altitude()
get altitude.
- Return (str):
altitude unit is meter.
UIFLOW2:
- GPSModule.get_time()
get time.
- Return (str):
time(hh:mm:ss)
UIFLOW2:
- GPSModule.get_date()
get date.
- Return (str):
date(dd/mm/yy)
UIFLOW2:
- GPSModule.get_latitude()
get latitude.
- Return (str):
latitude, using degrees minutes format (ddmm.mmmmmN/S).
UIFLOW2:
- GPSModule.get_longitude()
get longitude.
- Return (str):
longitude, using degrees minutes format (ddmm.mmmmmE/W).
UIFLOW2:
- GPSModule.get_latitude_decimal()
get latitude decimal.
- Return (float):
latitude decimal(dd.dddd).
UIFLOW2:
- GPSModule.get_longitude_decimal()
get longitude decimal.
- Return (float):
longitude decimal(dd.dddd).
UIFLOW2:
- GPSModule.get_speed(type)
get speed.
- Return (str):
speed.
- Parameters:
type (int) – speed type, 0 km/h, 1 knot/h Options: -
km/h
: 0 -knot/h
: 1
UIFLOW2:
- GPSModule.get_course()
get course.
- Return (str):
course unit is °.
UIFLOW2:
- GPSModule.is_locate_valid()
get locate status.
- Return (bool):
locate status, true is locate, false is not locate.
UIFLOW2: