Ubuntu 22.04:安装串口调试助手CoolTerm

前言

在嵌入式开发或物联网调试过程中,串口通信是最常用且基础的数据交互方式之一。Ubuntu 22.04 虽然自带了minicom等命令行工具,但对习惯图形界面的开发者来说操作不够直观。本文将介绍如何在Ubuntu 22.04上安装轻量好用的串口调试助手CoolTerm,快速搭建可视化的串口调试环境。


一、将当前用户加入dialout组

在Ubuntu系统下,默认的用户组权限不包含能够使用串口的dialout组,需要手动添加,否则将会碰到权限问题。Dialout是dial(拨号)和out(向外)的组合,意为向外拨号。古早时期通过串口(COM 口)用Modem打电话、拨号上网,所以Linux把能操作串口设备的权限组起名叫dialout。而常用于表示串口的tty指代Teletypewriter(电传打字机),也是古早时期终端设备的代表,到现在tty便用于指代终端设备,ttyS中的S即表示Serial(串行)。

输入下面的指令将当前用户加入dialout组:

bash 复制代码
sudo usermod -aG dialout $USER

注意千万别把-aG中的a丢了,否则将失去包括sudo在内的所有用户组,后果很严重,想弄回来很麻烦!

权限组的修改,必须注销当前用户或重启电脑才会生效,这里直接重启:

bash 复制代码
sudo reboot

重启计算机后,打开"终端",输入下面的指令来验证是否成功:

bash 复制代码
groups

如果输出里有dialout这个组就说明权限生效了,如下图:

二、下载并安装CoolTerm

1. 下载CoolTerm

打开CoolTerm官方网站,找到第一组CoolTerm,选择最新的64位Linux版本下载:

尽管官网提示CoolTerm对Linux的支持未经过完整测试,但是实际使用时还没发现什么问题。

2. 安装CoolTerm

下载完成后,得到了一个zip压缩包,右击此压缩包,选择"提取到此处":

解压后得到软件文件夹,在窗口空白处点击右键,选择"在终端中打开":

输入下面的指令将解压得到的软件文件夹移动到/opt目录下:

bash 复制代码
sudo mv CoolTermLinux64Bit /opt/

利用nano编辑器,输入如下指令创建快捷方式文件:

bash 复制代码
sudo nano /usr/share/applications/CoolTerm.desktop

编辑器框中,粘贴下列内容:

bash 复制代码
[Desktop Entry]
Name=CoolTerm
Comment=Serial Terminal
Exec=/opt/CoolTermLinux64Bit/CoolTerm
Terminal=false
Type=Application
StartupNotify=true
Icon=/opt/CoolTermLinux64Bit/CoolTerm Resources/appicon_128.png

按"Ctrl+O"写入内容,按"Enter"键确认,然后按"Ctrl+X"退出编辑器界面。

输入指令为快捷方式赋予执行权限:

bash 复制代码
sudo chmod +x /usr/share/applications/CoolTerm.desktop

刷新程序启动器菜单:

bash 复制代码
sudo update-desktop-database /usr/share/applications/

点击启动器可以看到CoolTerm的快捷方式已经创建好并显示出来了:

三、测试CoolTerm

尽管这台占美GK1037工控机拥有多达4个COM口,主板内部还藏了2个,但是配合的开发板依然使用的是USB转串口,串口桥接芯片是CP2102N。Ubuntu 22.04已经集成了CP210x系列芯片的驱动,板子直接插上就能识别到串口。

插好板子,打开CoolTerm,先点击"Options"按钮配置串口:

在选择串口的界面可以看到非常长的串口列表,其实真实的串口算上主板内藏的满打满算也就7个,其它的很多是系统预留的虚拟终端,可多达数十个!这里也不用纠结,找到唯一的一个ttyUSB就是开发板的串口:

波特率等信息,按照自己开发板的程序,配置如下:

点击"OK"按钮保存配置后,回到软件主界面,点击"Connect"连接串口:

此时,点击开发板的复位按键,可以看到板子串口输出的启动日志:

说明串口已经通了,CoolTerm可以正常使用了。


总结

CoolTerm的软件为即插即用型,可以轻松在Ubuntu上完成CoolTerm的部署,并进行数据的收发与记录。

相关推荐
志栋智能4 小时前
超自动化运维如何支持合规审计?
运维·自动化
小诗懂技术5 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
名字还没想好☜5 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
琥珀色糖5 小时前
Linux守护进程
linux·终端·守护进程·会话·进程组
鹤落晴春5 小时前
有状态应用 vs 无状态应用
运维·云原生·k8s
starzy19907 小时前
虚拟化解决方案全景:软件虚拟化、硬件虚拟化与 Docker 的位置
运维·docker·容器
Neighbor_OldY8 小时前
云上安全配置审计与误配置修复实战:从安全组、OSS、RAM到数据库的全栈排查复盘
大数据·运维·安全·云计算
开心大爆炸9 小时前
xrdp 连接 登录对话框输入密码后闪退
linux·运维·服务器
oushaojun29 小时前
大厂 C++ 面试:深度剖析 Linux Signal 信号机制(转)
linux
苏生Susheng10 小时前
【软件实施】Linux系统Shell脚本教程
linux·运维·服务器·chrome·spring boot·学习·实施