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的部署,并进行数据的收发与记录。

相关推荐
huangdong_4 小时前
1688商品图片批量下载与SKU图自动分类技术完整实现方案
运维·服务器
yyuuuzz4 小时前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
utf8mb4安全女神4 小时前
MySQL8.0.43的下载安装【二进制安装】【shell脚本】【环境准备】【my.cnf配置】【修改密码】
linux·服务器·网络
凡人叶枫4 小时前
Effective C++ 条款33:避免遮掩继承而来的名字
linux·服务器·开发语言·c++·嵌入式开发
Qres8214 小时前
docker & WSL & Ubuntu安装记录
ubuntu·docker·容器·wsl
凡人叶枫4 小时前
Effective C++ 条款31:将文件间的编译依存关系降至最低
linux·开发语言·c++·php·嵌入式开发·effective c++
MXsoft6184 小时前
**用自动化脚本给MAC误阻断留条后路:可审计、可回滚的准入控制方案**
运维·macos·自动化
ai_coder_ai5 小时前
在自动化脚本中如何调用大语言模型?
运维·语言模型·自动化
冰帆<5 小时前
[特殊字符] 深度起底:突破火山引擎 Ark-Helper 的 Linux 底层环境死锁,顺手魔改一份 Windows 一键安装脚本!
linux·windows·火山引擎
我星期八休息5 小时前
Linux系统编程—mmap文件映射
java·linux·运维·服务器·数据库·mysql·spring