From 2e956c684e180bc67117b63e05a96dab3ea85260 Mon Sep 17 00:00:00 2001 From: MuedeHydra Date: Tue, 21 Apr 2026 17:32:51 +0200 Subject: [PATCH] first commit --- README.md | 6 ++++++ src/main.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 README.md create mode 100644 src/main.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..ce55cce --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# Projektarbeit: Mobile Kommunikationsnetze +--- + +Ziel ist es was cooles mit dem 4G-Hat und dem Sens-Hat für den Raspberry PI zu machen. + +--- diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..3792ebc --- /dev/null +++ b/src/main.py @@ -0,0 +1,47 @@ +import serial +import time + +class GPS_DATA: + breitengrad = "" + laengengrad = "" + datum = "" + zeit_UTC = "" + hoehe: float = 0 + geschwindigkeit_km_h: float = 0 + + 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}" + + +def get_gps_info(ser, gps: GPS_DATA): + ser.write(b'AT+CGPSINFO\r\n') + result = ser.read_all().decode() + + if "+CGPSINFO:" in result: + raw_data = result.split("\n")[1] + raw_data_list = str(raw_data).removeprefix("+CGPSINFO: ").removesuffix(",\r").split(",") + gps.breitengrad = raw_data_list[0] + gps.laengengrad = raw_data_list[2] + gps.datum = raw_data_list[4] + gps.zeit_UTC = raw_data_list[5] + gps.hoehe = float(raw_data_list[6]) + gps.geschwindigkeit_km_h = float(raw_data_list[7]) * 1.852 # knoten zu km/h + else: + print("Suche Satelliten...") + + +if __name__ == "__main__": + ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) + ser.write(b'AT+CGPS=1\r\n') + time.sleep(2) + + gps = GPS_DATA() + + try: + while True: + get_gps_info(ser, gps) + print(gps) + time.sleep(2) + + except KeyboardInterrupt: + ser.close()