Ubuntu环境下为串口设置别名

news/2024/11/29 8:44:14/

本文介绍Ubuntu环境下为串口设置别名。

Ubuntu环境下,有时候开发调试会使用到USB转串口,本文介绍在不同使用场景下为串口设置别名的方法。主要分为绑定设备ID和绑定USB端口号。

1.绑定设备ID

绑定设备ID适用于USB转串口的设备ID唯一的情况,这时为了程序编写的方便,为串口指定一个特殊的名称作标识。具体方法如下:

1)查看设备ID

要绑定到具体的串口设备,必须知道其VID,PID。命令行下输入:

lsusb

显示:

查看到我们要操作的USB转串口的VID:0403,PID:6001。

2)编写udev规则

命令行下输入:

sudo vi /etc/udev/rules.d/89-usb-serial.rules

“89-usb-serial.rules”名称可根据实际情况自行指定,在此文件中增加:

KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666", SYMLINK+="myserial"

PID,VID为我们在步骤1)中查看到的,“myserial”为我们为此串口设备起的别名,可根据实际情况指定。

3)重新加载udev规则

命令行下输入:

sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger

4)查看

命令行下输入:

ls /dev/my*

显示:

这样,绑定设备ID给USB转串口起别名功能就实现好了。这里要注意,因绑定的是USB转串口的设备ID,因此同一种USB转串口是不能同时使用的(它们的ID相同)。

2.绑定USB端口号

绑定设备ID有个缺陷,当使用多个相同厂家的USB转串口设备时会出现问题,因为他们的VID,PID是一样的。这时就需要绑定到具体的USB端口号,毕竟端口号是可以唯一确定的。具体方法如下:

1)查看USB设备信息

命令行下输入:

ls /dev/ttyUSB*

显示:

2)查看USB转串口信息

命令行下输入:

udevadm info -a -n /dev/ttyUSB0

显示:

我们可以将USB转串口的别名绑定到“1-4:1.0”这个层级,名称根据实际情况不同。

2)编写udev规则

命令行下输入:

sudo vi /etc/udev/rules.d/89-usb-serial.rules

“89-usb-serial.rules”名称可根据实际情况自行指定,在此文件中增加:

KERNELS=="1-4:1.0", SUBSYSTEMS=="usb", MODE:="0666", SYMLINK+="my-serial"

“myserial”为我们为此串口设备起的别名,可根据实际情况指定。

4)重新加载udev规则

命令行下输入:

sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger

4)查看

命令行下输入:

ls /dev/my*

显示:

这样,绑定USB端口号给USB转串口起别名功能就实现好了。这里要注意,USB口接口不能随意变动,否则会引起问题。

总结,本文介绍Ubuntu环境下为串口设置别名的方法,可根据实际使用场景进行选择。


http://www.ppmy.cn/news/1216921.html

相关文章

存在重复元素 II

题意&#xff1a; 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输…

Android Rxjava架构原理与使用的详解解答

简单介绍 Rxjava这个名字&#xff0c;其中java代表java语言&#xff0c;而Rx是什么意思呢&#xff1f;Rx是Reactive Extensions的简写&#xff0c;翻译过来就是&#xff0c;响应式拓展。所以Rxjava的名字的含义就是&#xff0c;对java语言的拓展&#xff0c;让其可以实现对数据…

git cherry-pick命令(合并单个或多个提交记录到当前分支)

文章目录 一、如何使用二、注意事项三、总结 Git cherr-pick&#xff1a;选择性合并提交 在项目中&#xff0c;我们常常需要选择性的把某个提交或某些提交单独的合并到当前分支&#xff0c;Git 提供了一个称为 cherry-pick 的命令来执行这个操作。 一、如何使用 1、要在当前分…

linux概念基础认识(基于阿里云ecs服务器操作)

文章目录 linux基本介绍SSH登录方式linux系统目录结构FHS介绍linux基础操作命令修改命令提示符名称时间同步Hash缓存表文件通配符创建硬链接创建软连接软连接与硬链接的区别 查看是否是文件或文件夹命令令牌文本管理工具nanovimgrepsed 用户和权限root用户用户组 linux权限构成…

windows10上使用Visual Studio对树莓派进行交叉编译示例

本文主要介绍通过Visual Studio对树莓派进行交叉编译的方法。 1 环境 宿主机&#xff1a; 系统&#xff1a;Windows10 开发平台&#xff1a;Visual Studio 2022 (我用的是社区版) VisualGDB: VisualGDB - Download (我下的试用版本) GNU工具链: Prebuilt GNU toolchain f…

设计模式系列之最终篇:大盘点

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概4000多字&#xff0c;预计阅读时间长需要3分钟。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&#x…

使用 Redis 实现生成分布式全局唯一ID(使用SpringBoot环境实现)

目录 一、前言二、如何通过Redis设计一个分布式全局唯一ID生成工具2.1、使用 Redis 计数器实现2.2、使用 Redis Hash结构实现 三、通过代码实现分布式全局唯一ID工具3.1、编写获取工具3.2、测试获取工具 四、总结 一、前言 在很多项目中生成类似订单编号、用户编号等有唯一性数…

Android设计模式--Builder建造者模式

一&#xff0c;定义 Builder模式是一步一步创建一个复杂对象的创建型模式&#xff0c;它允许用户在不知道内部构建细节的情况下&#xff0c;可以更精细的控制对象的构造流程。 也就是将一个对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 二&…