add all gps to gps class
This commit is contained in:
parent
b81e57cffe
commit
587bd1bd8d
45
src/main.py
45
src/main.py
@ -9,39 +9,42 @@ class GPS_DATA:
|
|||||||
hoehe: float = 0
|
hoehe: float = 0
|
||||||
geschwindigkeit_km_h: float = 0
|
geschwindigkeit_km_h: float = 0
|
||||||
|
|
||||||
|
def __init__(self, port, baud = 115200):
|
||||||
|
self.port = port
|
||||||
|
self.ser = serial.Serial(port, baud, timeout=1)
|
||||||
|
self.ser.write(b'AT+CGPS=1\r\n')
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"N = {self.breitengrad}\t E = {self.laengengrad} \t Datum = {self.datum}\t Zeit = {self.zeit_UTC} \t höhe = {self.hoehe} \t geschwindigkeit = {self.geschwindigkeit_km_h}"
|
return f"N = {self.breitengrad}\t E = {self.laengengrad} \t Datum = {self.datum}\t Zeit = {self.zeit_UTC} \t höhe = {self.hoehe} \t geschwindigkeit = {self.geschwindigkeit_km_h}"
|
||||||
|
|
||||||
|
|
||||||
def get_gps_info(ser, gps: GPS_DATA):
|
def get_gps_info(self):
|
||||||
ser.write(b'AT+CGPSINFO\r\n')
|
self.ser.write(b'AT+CGPSINFO\r\n')
|
||||||
result = ser.read_all().decode()
|
result = self.ser.read_all().decode()
|
||||||
|
|
||||||
if "+CGPSINFO:" in result:
|
if "+CGPSINFO:" in result:
|
||||||
raw_data = result.split("\n")[1]
|
raw_data = result.split("\n")[1]
|
||||||
raw_data_list = str(raw_data).removeprefix("+CGPSINFO: ").removesuffix(",\r").split(",")
|
raw_data_list = str(raw_data).removeprefix("+CGPSINFO: ").removesuffix(",\r").split(",")
|
||||||
gps.breitengrad = raw_data_list[0]
|
self.breitengrad = raw_data_list[0]
|
||||||
gps.laengengrad = raw_data_list[2]
|
self.laengengrad = raw_data_list[2]
|
||||||
gps.datum = raw_data_list[4]
|
self.datum = raw_data_list[4]
|
||||||
gps.zeit_UTC = raw_data_list[5]
|
self.zeit_UTC = raw_data_list[5]
|
||||||
gps.hoehe = float(raw_data_list[6])
|
self.hoehe = float(raw_data_list[6])
|
||||||
gps.geschwindigkeit_km_h = float(raw_data_list[7]) * 1.852 # knoten zu km/h
|
self.geschwindigkeit_km_h = float(raw_data_list[7]) * 1.852 # knoten zu km/h
|
||||||
else:
|
else:
|
||||||
print("Suche Satelliten...")
|
print("Suche Satelliten...")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
|
gps = GPS_DATA("/dev/ttyUSB0")
|
||||||
ser.write(b'AT+CGPS=1\r\n')
|
|
||||||
time.sleep(2)
|
|
||||||
|
|
||||||
gps = GPS_DATA()
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
while True:
|
while True:
|
||||||
get_gps_info(ser, gps)
|
gps.get_gps_info()
|
||||||
print(gps)
|
print(gps)
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
ser.close()
|
gps.ser.close()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user