是否有带时间戳的 Linux 串行终端?

问题描述 投票:0回答:5

我仍然想检查我的 Bootloader + Linux Startupcode 以获得嵌入式设备。因此,我想捕捉打印到串行端口的每个命令的时间。

我知道有像 putty(我强烈推荐)、getty、cutecom、picocom、screen 等程序。但是这些都没有在主机屏幕上的传入消息中添加时间戳(我不是真的在说话关于日期,更像是自第一次输出以来经过了多少毫秒)。这实际上听起来没什么大不了的。

我发现有一个脚本在执行我想要的操作,称为 grabserial 但它无法正常工作,因为它处理整个输出的速度很慢。我在另一个论坛上讨论过这个问题(如果你想知道:grabserial problem 但它不是主题的一部分)。所以我不能使用那个脚本。

现在再次:你能告诉我一个 Linux 终端,它为从串行端口接收到的每一行添加时间戳吗?

谢谢

[编辑:]我发现了一个非常粗糙的workaroundcereal,它想要一些设置,因为它会在您每次使用它时锁定端口。最后,它添加了实际日期和时间,而不是每个步骤之间的启动时间和差异时间,所以你可以看到我仍在寻找合适的解决方案。

linux serial-port
5个回答
9
投票

这可能晚了 3 年,但 minicom (https://en.wikipedia.org/wiki/Minicom) 支持终端上打印的每一行的时间戳。在 Ubuntu 中,它在默认存储库中直接可用。


1
投票

tio 位于 https://tio.github.io 提供了各种时间戳选项:

       -t, --timestamp

          Enable line timestamp.

       --timestamp-format <format>

          Set timestamp format to any of the following timestamp formats:

          24hour          24-hour format ("hh:mm:ss.sss")

          24hour-start    24-hour format relative to start time

          24hour-delta    24-hour format relative to previous timestamp

          iso8601         ISO8601 format ("YYYY-MM-DDThh:mm:ss.sss")

          Default format is 24hour

在你的情况下,显示自开始以来已经过去了多少时间,那将是这样的:

tio -t --timestamp-format 24hour-start /dev/ttyUSB0

也可以在 tio 配置文件 ~/.tioconfig 中启用设置


0
投票

你可能想看看使用 strace 来监视串口。请参阅如何在 Linux 中监视串行端口上的数据?


0
投票

如果你愿意自己构建二进制文件,你可以尝试一个分支的 picocom (https://github.com/codepox/picocom)。这是基于有点旧的picocom 1.7。

我已经分叉并增强了这个 picocom 并使其能够显示增量时间或挂钟时间戳。你可以在这里https://github.com/tdwong/picocom-with-timestamp)找到它。您仍然必须自己构建二进制文件。

这是我的使用方法。注意,N 是启用/切换时间戳的命令。

$ picocom -b 115200 /dev/ttyUSB0
  ...
<ctrl-a> N      # enable delta-time timestamp
<ctrl-a> N      # toggle wall-clock timestamp
<ctrl-a> N      # disable timestamp

-3
投票

我相信 ExtraPuTTY 是您正在寻找的解决方案。

但是,我不清楚你是想让某些东西在 Linux 上运行,还是只是为了能够监控它(SSH 到 Linux)。如果您不想要 Windows 解决方案,那么我深表歉意。

2023-05-05 编辑:抱歉,我不知道我 8 年前提供的链接现在转到了某个咨询公司。我当时用的是extraputty,并没有刻意链接一个公司来推广。 Here 是 archive.org 的链接,显示了我发表这篇文章时的网站。

© www.soinside.com 2019 - 2024. All rights reserved.