Seite 1 von 1

Ausgegebene Werte speichern

Verfasst: Dienstag 14. Januar 2020, 09:27
von Code_Zero
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.

Re: Ausgegebene Werte speichern

Verfasst: Dienstag 14. Januar 2020, 13:50
von ThomasL

Re: Ausgegebene Werte speichern

Verfasst: Dienstag 14. Januar 2020, 14:00
von __deets__
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.

Re: Ausgegebene Werte speichern

Verfasst: Dienstag 14. Januar 2020, 14:31
von Sirius3
Hier erst mal der aufgeräumte Code:

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)
Wo hast Du genau Schwierigkeiten, etwas in eine Datei zu schreiben?

Re: Ausgegebene Werte speichern

Verfasst: Mittwoch 15. Januar 2020, 09:00
von Code_Zero
Vielen dank für die schnellen Antworten und die Tipps. Besonders Thomas der Link hat mir sehr weiter geholfen. Natürlich auch danke für die Verbesserungsvorschläge ich werde sie mit berücksichtigen.