myfreax
usb

Tio Putty串口连接的替代品

tio是一个简单的TTY终端应用程序,它只有简单的命令行界面,可轻松连接到设备的串口进行通信

4 min read
By myfreax
Tio Putty串口连接的替代品
Tio Putty串口连接的替代品

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进行串口连接。如有问题可以在下面发表评论。