Eu tenho a resposta / solução para você.
Em primeiro lugar, desculpas pelo meu mau nível de Inglês, vou tentar fazer o meu melhor.
Eu estava procurando a mesma coisa que você, mas eu não consigo encontrar nada. Eu fiz um script para fazer isso automaticamente e funciona. Aqui está o código:
#!/usr/bin/python
# get lines of text from serial port, save them to a file
from __future__ import print_function
import serial, io
addr = '/dev/ttyUSB0' # serial port to read data from
baud = 9600 # baud rate for serial port
fname = '/home/gps.dat' # log file to save data in
fmode = 'a' # log file mode = append
with serial.Serial(addr,9600) as pt, open(fname,fmode as outf:
spb = io.TextIOWrapper(io.BufferedRWPair(pt,pt,1),
encoding='ascii', errors='ignore', newline='\r',line_buffering=True)
spb.readline() # throw away first line; likely to start mid-sentence (incomplete)
while (1):
x = spb.readline() # read one line of text from serial port
print (x,end='') #echo line of text on-screen
outf.write(x) #write line of text to file
outf.flush() #make sure it actually gets written out
Este é o script que executa a comunicação. No meu caso, eu tenho um GPS conectar via RS-232 (DB-9) para cabo USB para Raspberry PI (Raspbian SO), para que eu use ttyUSB0.
Na linha que diz fname, você pode indicar o destino e o nome do arquivo que deseja capturar as informações.
Se você quiser usar o formato .dat ou .txt, não há problema.
E mais uma coisa. Eu não uso o gtkterm para isso (eu estava louco com este terminal).
Acho que esse é um caminho muito fácil para a sua missão, e espero que seja útil.