Hi, ich habe ein Problem. Ich habe ein Programm geschrieben was meine Gps Daten in Sekundentakt ausgibt.
import serial
import time
import string
import pynmea2
while True:
port="/dev/ttyAMA0"
ser=serial.Serial(port, baudrate=9600, timeout=0.5)
dataout = pynmea2.NMEAStreamReader()
newdata=ser.readline()
if newdata[0:6] == "$GPRMC":
newmsg=pynmea2.parse(newdata)
lat=newmsg.latitude
lng=newmsg.longitude
gps = "Latitude=" + str(lat) + "and Longitude=" + str(lng)
print(gps)
Jetzt möchte ich diese Koordinaten (Latitude und Longitude) gleichzeitig während sie ausgegeben werden in form einer Textdatei speichern. Es soll so sein das wenn das Programm beendet ist das ich alle bis dahin abgefragten Koordinaten sehen kann.
Es währe sehr nett wenn mir jemand dabei helfen könnte.
Ausgegebene Werte speichern
Schau mal hier: https://docs.python.org/3/tutorial/inpu ... ting-files
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Da ist ganz viel im Argen. Permanent die serielle Schnittstelle zu schließen und wieder zu öffnen ist völlig unnötig und produziert im Zweifelsfall Müll-Daten die dann wie zu sehen mühselig ausgefiltert werden müssen. Mach das also einmal am Anfang. Und da öffnest du auch de Datei wie von Thomas gezeugt.
Und zu guter letzt: bitte Code immer mit Code Tags versehen, damit er lesbar bleibt. Im vollständigen Editor der </> Knopf.
Und zu guter letzt: bitte Code immer mit Code Tags versehen, damit er lesbar bleibt. Im vollständigen Editor der </> Knopf.
Hier erst mal der aufgeräumte Code:
Wo hast Du genau Schwierigkeiten, etwas in eine Datei zu schreiben?
Code: Alles auswählen
import serial
import pynmea2
PORT = "/dev/ttyAMA0"
with serial.Serial(PORT, baudrate=9600, timeout=0.5) as serial_connection:
reader = pynmea2.NMEAStreamReader()
for line in serial_connection:
if line.startswith("$GPRMC"):
msg = reader.parse(line)
gps = f"Latitude={msg.latitude} and Longitude={msg.longitude}"
print(gps)