我需要将GtkTerm
工具中的日志直接捕获到文本文件中。我试过
gtkterm > /path/to/file/file.txt
和
touch /path/to/file/file.txt
gtkterm -f /path/to/file/file.txt -e -c MyConfiguration
在这两种情况下,GtkTerm
shell 都开始生成日志,但目标文件为空。
答案1
我有答案/解决方案给你。
首先,抱歉我的英语水平不好,我会尽力的。
我和你一样在寻找同样的东西,但我什么也没找到。我编写了一个脚本来自动执行此操作,并且它有效。以下是代码:
#!/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
这是运行通信的脚本。在我的例子中,我有一个 GPS 通过 RS-232 (DB-9) 连接到 USB 电缆,连接到 Raspberry PI (Raspbian SO),为此我使用 ttyUSB0。
在 fname 行中,您可以指示要捕获信息的文件的目的地和名称。
如果您想使用.dat 或 .txt 格式,则没有问题。
还有一件事。我没有为此使用 gtkterm(我对这个终端很着迷)。
我认为这对您的任务来说是一种非常简单的方法,我希望它会很有用。