ubuntu下给不同串口设置别名

news2024/11/24 23:59:08

目录

一、绑定设备ID

1.查看设备ID

2.编写usev规则

3.重新加载usev规则

4.查看

二、绑定USB端口号

1.先插入一个串口,查看USB设备信息

2.查看USB转串口信息

3.编写usev规则

4.重新加载usev规则

5.查看 


        在Ubuntu环境下,有时候工控机或者arm开发板需要连接多个传感器,而这些传感器通过不同的串口来采集数据,由于Ubuntu上电会导致串口别名错乱,所以需要为串口设置别名。

        设置别名就是 设置软链接,它可以链接到原始文件,类似于windows下的快捷方式。它实际上是一个特殊的文件,其中包含了另一个文件的位置信息。如果原始文件被删除或移动,软连接将失效。

        为串口设置别名主要分为绑定设备ID和绑定USB端口号两种方法。

一、绑定设备ID

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

1.查看设备ID

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

lsusb

显示:

查看到我们要操作的USB转串口的VID:1a86,PID:7523。此处可以看到四个串口的VID和PID一样,证明串口属于同一厂家,所以第一种方法绑定设备ID不合适,下面的步骤为假设只有一个串口,而不是四个。

2.编写usev规则

命令行下输入:

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

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

KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", SYMLINK+="myserial"

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

3.重新加载usev规则

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

4.查看

ls /dev/my*

可以看到输出/dev/myserial

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

二、绑定USB端口号

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

1.先插入一个串口,查看USB设备信息

ls /dev/ttyUSB*

 2.查看USB转串口信息

udevadm info -a -n /dev/ttyUSB0

显示:

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

3.编写usev规则

sudo vi /etc/udev/rules.d/rotation_detector.rules

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

KERNELS=="2-3.2:1.0", SUBSYSTEMS=="usb", MODE:="0666", SYMLINK+="rotation_detector"

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

4.重新加载usev规则

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

5.查看 

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

类比上述方法,我们在.rules文件夹里加入所有的串口

再次给工控机重新上电,查看软连接:

此时可以看到/dev/rotation_detector由前面的ttyUSB0切换为了ttyUSB1,但是我的上层代码里面定义的串口是/dev/rotation_detector,所以不影响使用/dev/rotation_detector串口。

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

参考链接:

Ubuntu环境下为串口设置别名_mode="0666", symlink+=-CSDN博客

在ubuntu系统下给串口起别名_ubuntu串口别名-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新增收货地址

目录 🧂1.创建controller层 🥓2.创建service层 🌭3.注意细节 🍿4.避免dao数据暴漏 1.创建controller层 controller不做逻辑操作,只接受前端的数据 1.添加Api设置swagger模块名称2.RestController以json形式返回…

CAJViewer8.1下载地址及安装教程

CAJViewer是中国学术期刊(CAJ)全文数据库的专用阅读软件。CAJViewer是中国知识资源总库(CNKI)开发的一款软件,旨在方便用户在线阅读和下载CAJ数据库中的学术论文、期刊和会议论文等文献资源。 CAJViewer具有直观的界面…

2000-2021年各省技术市场发展水平数据(原始数据+计算结果)

2000-2021年各省技术市场发展水平数据(原始数据计算结果) 1、时间:2000-2021年 2、来源:国家统计局、统计年鉴 3、范围:30省 4、指标:技术市场成交额、国内生产总值、技术市场发展水平 5、计算说明“技…

java字符串(一)-- 字符串API,StringBuffer 和 StringBuilder,Object

String字符串相关的类 String的特性 String类:代表字符串。Java 程序中的所有字符串字面值(如"abc" )都作为此类的实例实现。String类是引用数据类型。 在 Java 8 中,String 内部使用 char 数组存储数据。 public fi…

C++的入门学习

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一、C关键字(C98) 二、命名空间 2.1 引入 ​编辑2.2 命名空间定义 2.3 命名空间的使用 三. C输入&输出 四.缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 1.全缺省参数 2…

MCGS学习——水位控制

要求 插入一个水罐,液位最大值为37插入一个滑动输入器,用来调节水罐水位,滑动输入器最大调节为液位最大值,并能清楚的显示出液位情况用仪表显示水位变化情况,仪表最大显示设置直观清楚方便读数,主划线为小…

基于spark的大数据分析预测地震受灾情况的系统设计

基于spark的大数据分析预测地震受灾情况的系统设计 在本篇博客中,我们将介绍如何使用Apache Spark框架进行地震受灾情况的预测。我们将结合数据分析、特征工程、模型训练和评估等步骤,最终建立一个预测模型来预测地震造成的破坏程度,同时使用可视化大屏的方式展示数据的分布…

提升 RAG 效果的实践

提升 RAG 效果的实践 0. 引言1. 测试数据2. cohere/embed-multilingual-v3.0 的几组测试结果2-1. 第1组测试2-2. 第2组测试 3. BAAI/bge-m3 的几组测试结果3-1. 第1组测试 0. 引言 AI 大语言模型的主要应用方式之一就是 RAG,接下来计划陆续分享工作中提升 RAG 效果…

vue3封装Element表格

配置表头配置多选配置序号自定义操作列按钮 封装表格 Table.vue <template><el-table:data"tableData"width"100%":maxHeight"maxHeight"v-bind"$attrs"selection-change"handleSelectChange"row-click"hand…

考研数学|听完一遍汤家凤基础,1800都没思路,怎么办?

看了我这篇回答&#xff0c;保证你可以顺利的做1800题&#xff01; 如果你听了汤家凤老师的课&#xff0c;但是做题没思路&#xff0c;请不要担心&#xff0c;也不要急着换老师&#xff0c;你很有可能是方法错了。 请你反思一下&#xff1a; 1、你是不是听完课立刻就去做题。…

linux系统基础命令

1、Linux中文件的权限包括哪些&#xff1f;某个文件的权限列为644代表该文件属主、属组和其它用户分别有什么权限&#xff1f; 1&#xff09;Linux中文件的权限包括哪些&#xff1f; 在Linux系统中&#xff0c;文件的权限包括读取&#xff08;r&#xff09;、写入&#xff08;w…

ARP类型

地址解析协议ARP即可实现将IP地址解析为MAC地址 动态ARP 动态ARP表项由ARP协议通过ARP报文自动生成和维护&#xff0c;可以被老化&#xff0c;可以被新的ARP报文更新&#xff0c;也可以被静态ARP表项覆盖。 动态ARP适用于拓扑结构复杂、通信实时性要求高的网络。 静态ARP …

C刊级 | Matlab实现DBO-BiTCN-BiGRU-Attention蜣螂算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

C刊级 | Matlab实现DBO-BiTCN-BiGRU-Attention蜣螂算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测 目录 C刊级 | Matlab实现DBO-BiTCN-BiGRU-Attention蜣螂算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测效果一览基本介绍模型描述程序…

(React组件基础)前端八股文Day6

一 类组件与函数组件有什么异同 在React中&#xff0c;类组件和函数组件是创建组件的两种主要方式。随着React的发展&#xff0c;尤其是自Hooks在React 16.8中引入以来&#xff0c;函数组件的功能变得更加强大&#xff0c;使得它们能够更加方便地与类组件相竞争。下面是类组件…

雷卯有1.8V的ESD供您选择

一&#xff0e;雷卯有1.8V的ESD供您选择&#xff0c;如下是型号&#xff0c;体积小。 二. 为什么要用低压1.8V 做静电保护呢 省电&#xff0c;省电&#xff01; 1.8V的电压&#xff0c;内阻也小的话&#xff0c;那就是非常省电的电路。现在很多产品号称10年不用换电池。电池技…

基于Springboot旅游网站管理系统设计和实现

基于Springboot旅游网站管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系…

内网渗透-(黄金票据和白银票据)详解(一)

目录 一、Kerberos协议 二、下面我们来具体分析Kerberos认证流程的每个步骤&#xff1a; 1、KRB_AS-REQ请求包分析 PA-ENC-TIMESTAMP PA_PAC_REQUEST 2、 KRB_AS_REP回复包分析&#xff1a; TGT认购权证 Logon Session Key ticket 3、然后继续来讲相关的TGS的认证过程…

在react项目用echarts绘制中国地图

文章目录 一、引入echarts二、下载地图json数据三、编写react组件四、组件使用 一、引入echarts 安装&#xff1a;npm i echarts --save 二、下载地图json数据 由于echarts内部不再支持地图数据&#xff0c;所以要绘制地图需要自己去下载数据。建议使用阿里云的。 地址&…

mysql 用户管理-权限管理

学习了用户管理&#xff0c;再学习下权限管理。 3&#xff0c;权限管理 权限管理主要是对登录到MySQL的用户进行权限验证。所有用户的权限都存储在MySQL的权限表中&#xff0c;不合理的权限规划会给MySQL服务器带来安全隐患。数据库管理员要对所有用户的权限进行合理规…

14 - grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)

@[TOC](grace数据处理 - 泄露误差改正 - 空域滤波法(Mascon法)) 空域法的基本思想是假设地面某区域的质量变化是由一系列位置已知、质量未知的质量块(小范围区域)引起的,那么将GRACE反演的结果归算到n个质量块上的过程就是泄露信号恢复的过程。个人理解是这样的:假定已知研…