当前位置:首页>Linux>Linux 串口调试痛点,终于有人解决了.

Linux 串口调试痛点,终于有人解决了.

  • 2026-09-20 13:59:09
Linux 串口调试痛点,终于有人解决了.

Linux串口调试,选择串口工具一直是令人困扰的事情。

minicom 配置起来很复杂,每次改个波特率都要翻半天菜单,功能虽多但操作繁琐。

screen 倒是简单的,但是没有日志功能,重要的内容一闪而过,想再看也没有办法了。

更崩溃的是,设备频繁重启时,你得一次次手动重连,每次都要重新敲命令。

一天下来会浪费很多时间,调试效率也会大大降低。

最近在 GitHub 刷到一个在 Linux 用的串口工具:tio,已经有 3000 多人关注了。

01 开源项目简介

TIO 是一个面向嵌入式开发者的串口调试工具。

一般的串口工具只能实现数据的收发,功能比较单一。

TIO 可以实现自动重连、自动日志、配置文件管理等功能,还可以利用 Lua 脚本做自动化调试。

它把嵌入式开发者的真实需求放在第一位,解决了传统工具的诸多痛点。

02 几个核心亮点

① 自动连接管理,使调试不那么手忙脚乱

只要运行tio/dev/ttyUSB0,后面的工作就由工具来完成。

设备没插上?它会一直等下去,直到设备出现之后再自动连接上。

连接断开了?可以自动重连,不需要手动再打开一次。

这种体验在频繁插拔设备时特别省心。

另外,它还支持通过设备 ID 连接。

因为 Linux 下的串口号经常会变,这次是 /dev/ttyUSB0,下次可能就成了 /dev/ttyUSB1。

它会根据 USB 设备在总线上的位置生成唯一标识,只要 USB 拓扑没变,就能一直找到同一台设备。

tio /dev/serial/by-id/usb-FTDI_TTL232R-3V3_FTGQVXBL-if00-port0

这样就不会因为设备插拔导致串口路径变化而找错设备了。

② 日志功能,让关键信息不再溜走

调试时最怕的就是关键信息溜走了,想找的时候却找不到。

TIO的日志记录既可以自动命名也可以手动指定文件名,很灵活方便。

还可以对控制字符、转义序列进行过滤,并且结合上文提到的时间戳功能,在调试过程中可以迅速找到某一个特定时刻的日志输出,一目了然。

tio --log /dev/ttyUSB0

日志文件会被自动地用tio_TARGET_YYYY-MM-DDTHH:MM:SS.log这样的格式来命名。

③ 配置文件支持,让重复工作变得简单

可以给不同类型的设备分别创建对应的配置文件,例如树莓派、STM32、ESP32等等,每一个都有自己单独的波特率、日志路径、颜色主题等参数,并且彼此之间不会互相影响。

[rpi3]device = /dev/serial/by-id/usb-FTDI_TTL232R-3V3_FTGQVXBL-if00-port0baudrate = 115200log = truelog-file = rpi3.logcolor = 11

下一次连接的时候直接输入tio rpi3就可以一键启动了,不需要每次都要打那么长的一串命令,这样既节省时间又方便快捷。

④ Lua 脚本支持,让调试自动化

TIO 内置了 Lua 脚本引擎,在连接时会自动执行一些操作来完成自动化的调试。

比如自动登录设备:

tio --script 'expect("login: "); write("root\n"); expect("Password: "); write("root\n")' /dev/ttyUSB0

批量配置、自动化测试,这些原本需要手动重复的操作,现在都能脚本化,大大提高工作效率。

⑤ 高级功能,覆盖串口调试的方方面面

还可以使用 X-Modem 和 Y-Modem 协议来传输文件,在给嵌入式设备烧写固件的时候非常方便,并且不需要另外安装软件。

支持 RS-485 模式,在工业场景中也可以使用它来满足更多的专业需求。

还可以把串口I/O重定向到网络socket上,从而实现远程调试或者多个客户端共用一个调试会话:

tio --socket inet:4444 /dev/ttyUSB0

03 怎么用

表现非常稳定。它可以与tmux、screen等终端复用器一起工作,并且不会抢夺到快捷键或者发生冲突的情况,所以可以放心地使用。

命令行参数的设计很直观,常用的功能有合理的默认值,上手成本低,几分钟就可以学会。

按住 Ctrl+t 可以看到所有命令。例如切换日志、查看统计信息、发送特殊符号等都十分便捷。

Linux用户可以使用包管理器直接安装:

# Debian/Ubuntusudo apt install tio# Arch Linuxyay -S tio# Fedorasudo dnf install tio

macOS 可以使用 Homebrew 来安装。

也可以用源码进行编译安装:

git clone https://github.com/tio/tiocd tiomeson buildcd buildninjasudo ninja install

安装好之后,在终端中运行tio --list就可以看到所有的串口设备,一目了然。

选择设备后直接使用tio /dev/ttyUSB0来进行调试,十分方便。

如果要指定波特率,可以加个-b参数,比如tio -b 9600 /dev/ttyUSB0。

退出也很简单,只要按一下 Ctrl-tq 即可。

想要使用到配置文件的功能的话。

在 ~/.config/tio/config 目录下创建一个配置文件,下一次就可以一键启动了,避免了重复输入的麻烦。

如果要频繁地用到串口与设备进行通信的话,那么该工具是值得一试的,可以让你的调试工作更加高效。

开源地址:https://github.com/tio/tio

最新文章

随机文章