tio是一个简单的TTY终端应用程序,它只有简单的命令行界面,可轻松连接到设备的串口进行通信。
如果你使用esp32这样的开发板,了解这个将对于非常有用。在本教程中,我们将说明如何使用tio代替Putty通过串口连接到Esp32设备。
在大多数Linux发行版和macOS都可以通过软件包管理器轻松安装tio。要检查tio命令在您的系统是否可用,请运行命令tio --version
,命令将会打印tio的版本号。
tio --version
tio v1.32
Copyright (c) 2014-2018 Martin Lund
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
如果你的系统未安装tio,命令将显示tio: command not found,tio命令未找到。您可以使用发行版的软件包管理器轻松安装tio。
如果你的计算机运行的是基于Debian的Linux发行版,例如Ubuntu,Linux mint。请运行命令sudo apt update && sudo apt install tio
安装tio。
如果你的计算机运行的是基于RedHat的Linux发行版,例如CentOS,Fedora。请运行命令sudo yum install tio
安装tio。
如果你的计算机运行的是Arch发行版,请运行命令sudo pacman -S tio
安装tio。
sudo apt update && sudo apt install tio -y
sudo yum install tio -y
sudo pacman -S tio
tio命令
tio命令语法形式是tio [options] <tty device>
,options
运行你指定连接串口的参数,tty device
是你要连接到串口设备终端。
默认情况下,如果设备存在tio会自动连接到指定的设备。如果设备不存在,它将等待设备的连接。
但是,如果提供了--no-autoconnect
选项,tio则在设备不存在时退出,或者在已建立的连接丢失时退出。
如果你需要查看更多关于tio命令的选项,请运行命令tio --help
,命令将会打印tio所有选项的说明。
tio --help
Usage: tio [<options>] <tty device>
Options:
-b, --baudrate <bps> Baud rate (default: 115200)
-d, --databits 5|6|7|8 Data bits (default: 8)
-f, --flow hard|soft|none Flow control (default: none)
-s, --stopbits 1|2 Stop bits (default: 1)
-p, --parity odd|even|none Parity (default: none)
-o, --output-delay <ms> Output delay (default: 0)
-n, --no-autoconnect Disable automatic connect
-l, --log <filename> Log to file
-m, --map <flags> Map special characters
-v, --version Display version
-h, --help Display help
In session, press ctrl-t + q to quit.
串口连接
使用tio连接最简单的方式就是仅指定tty设备,通常不同的设备会有不同通讯波特率,tio默认使用的波特率是115200。
如果你的串口设备使用的是其它波特率,tio命令的-b选项允许你指定连接串口的波特率。
假设你串口设备波特率是4800,你可运行命令tio /dev/ttyUsb0 -b 480000
连接到设备。
tio /dev/ttyUsb0
tio /dev/ttyUsb0 -b 480000
/dev/ttyUSB Permission denied
如果你尝试作为普通用户连接到TTY设备,Linux将会给你抛出一个权限拒绝的错误。
can't open device "/dev/ttyUSB0": Permission denied,翻译过来就是不能够打开设备/dev/ttyUSB0,权限拒绝。
在Linux,dialout组的用户拥有打开TTY设备权限。因此我们可以将当前用户加入dialout组,运行命令sudo usermod -a -G dialout $USER
。
当然你也可以以root用户的身份运行命令sudo tio /dev/ttyUsb0
连接到TTY设备。处于安全考虑,这种方式通常是不推荐的。
sudo usermod -a -G dialout $USER
sudo tio /dev/ttyUsb0
Windows WSL 串口连接
要在Windows WSL进行串口连接,你需要先找USB串口在你的设备管理器映射的COM端口。
如果你的设备连接到windows USB COM4端口,在WSL将会映射为/dev/ttyS4
。
因此你可运行命令tio /dev/ttyS4
,命令连接到USB串口设备。
tio /dev/ttyS4
结论
教程向你展示如何安装tio以及如何Linux和WSL进行串口连接。如有问题可以在下面发表评论。