Daten über serielle einlesen und auf Datei speichern
Verfasst: Sonntag 24. September 2017, 13:59
Hallo,
Ich habe eine kleine Haussteuerung mit mehreren Arduinos und CAN Bus Knoten am laufen.
Nun möchte ich per CAN-RS232 Daten per Python auf meinem (debian) Server regelmäßig einlesen und in einer Datei speichern.
Folgende kleine Routine habe ich mir zusammengesucht: (noch nicht getestet)
Nun möchte ich, daß die Datei nicht immer überschrieben sondern angehängt wird, wie macht man das?
Ziel ist es, später mit einem ChartViewer oder auch Excel die Daten als Statistik anzeigen lassen zu können.
Auch soll als Datensatz-Anfang das Datum und die Uhrzeit drinstehen, als Datensatz-Ende dann ein definiertes Zeichen, z.B. #
Sollte man die serielle vielleicht nur einmal öffnen und dann nur einlesen?
Daten kommen im 30Sekunden Takt.
Gruß,
Wolfram.
Ich habe eine kleine Haussteuerung mit mehreren Arduinos und CAN Bus Knoten am laufen.
Nun möchte ich per CAN-RS232 Daten per Python auf meinem (debian) Server regelmäßig einlesen und in einer Datei speichern.
Folgende kleine Routine habe ich mir zusammengesucht: (noch nicht getestet)
Code: Alles auswählen
import serial #Serielle Schnittstelle klarmachen
file_out = open("rs232_daten.txt","w")
ser = serial.Serial('/dev/tty0', 19200) #Serielle Schnittstelle öffnen
ser.flushInput() #Input Puffer leeren
while True: #abfrage schleife
if (ser.inWaiting() >0): # wenn was drinne ist (imPuffer) dann...
line = ser.readline() # lese die Zeichen
print line #Stelle das ausgelesene sichtbar da.
file_out.write(line)
ser.close() #schliesse serielle Schnittstelle
file_out.close()
Ziel ist es, später mit einem ChartViewer oder auch Excel die Daten als Statistik anzeigen lassen zu können.
Auch soll als Datensatz-Anfang das Datum und die Uhrzeit drinstehen, als Datensatz-Ende dann ein definiertes Zeichen, z.B. #
Sollte man die serielle vielleicht nur einmal öffnen und dann nur einlesen?
Daten kommen im 30Sekunden Takt.
Gruß,
Wolfram.