linux固定串口别名

news/2024/9/22 15:17:35 标签: linux, 运维, 服务器

最近项目功能要求,需要将插入设备的串口设备占用的端口号固定住,这里记录一下设置过程方便以后查阅。

linux固定串口别名

  • 配置过程
  • 相关补充

配置过程

列出当前插入USB端口的设备:

lsusb

在这里插入图片描述

查看当前设备的端口号:

ls dev/

在这里插入图片描述

查看当前设备的具体端口信息:

sudo udevadm info -a -n /dev/ttyUSB0

在这里插入图片描述

新建一个规则文件:

sudo vim /etc/udev/rules.d/rplidar_port.rules

将如下信息接入文件:

SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{bcdDevice}=="8233", MODE:="0777", SYMLINK+="lora"

在这里插入图片描述

KERNEL==”tty”             	 tty代表tty开头的USB端口总称
ATTRS{idVendor}==”1a86”      "10c4"对串口模块端口信息中ID 10c4:ea60中:前的地址
ATTRS{idProduct}==”7523”     "ea60"对串口模块端口信息中ID 10c4:ea60中:后的地址
ATTRS{bcdDevice}=="8233"      bcdDevice字段用于表示USB设备的版本号
MODE:=”0777”                  MODE代表赋予串口端口的权限,"0777"是具体的权限
SYMLINK+=”lora”               SYMLINK代表别名,"lora"=是具体的别名

保存并关闭规则文件,然后执行如下代码:

sudo udevadm control --reload

然后重启设备使上述配置生效。

重启后执行如下代码,查看配置效果:

ls -l /dev | grep ttyUSB

在这里插入图片描述

完整的设备配置如下所示:

SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d3", ATTRS{bcdDevice}=="0445", MODE:="0777", SYMLINK+="openbci"               
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{bcdDevice}=="8233", MODE:="0777", SYMLINK+="lora"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{bcdDevice}=="0264", MODE:="0777", SYMLINK+="emg"

相关补充

USB设备描述符是每个USB设备所必需包含的,并且一个USB设备只能有一个设备描述符。USB设备描述符用于表示USB设备的总体信息,包括USB规范版本号、产品ID、供应商ID、设备版本号等信息。USB设备描述符中的信息对于整个设备是完全有效的,而无关配置和接口的数量。

在这里插入图片描述


http://www.niftyadmin.cn/n/5670480.html

相关文章

设置文件夹用VSCODE右键打开,自己修改注册表不管用,该怎么办

设置文件夹用VSCODE右键打开,自己修改注册表不管用;试了好几次,自己修改注册表的方法不管用。所幸直接下个新版本,覆盖安装,把这两个选项勾上就可以了。

Java笔试面试题AI答之设计模式(1)

文章目录 1. 简述什么是设计模式 ?2. 叙述常见Java设计模式分类 ?3. Java 设计模式的六大原则 ?4. 简述对 MVC 的理解, MVC 有什么优缺点?MVC 的三个核心部分:MVC 的优点:MVC 的缺点&#xff1a…

RedisTemplate混用带来的序列化问题

最近在工作中发现一个现象,项目中使用了不同的 RedisTemplate 来操作redis,有的同事用默认的 RedisTemplate ,有的同事用 StringRedisTemplate。这就导致了我本次遇到的问题: 在一次需求中,我需要从 redis 中取值&…

当大语言模型应用到教育领域时会有什么火花出现?

当大语言模型应用到教育领域时会有什么火花出现? LLM Education会出现哪些机遇与挑战? 今天笔者分享一篇来自New York University大学的研究论文,另外一篇则是来自Michigan State University与浙江师范大学的研究论文,希望对这个话题感兴趣…

仓颉编程入门2,启动HTTP服务

上一篇配置了仓颉sdk编译和运行环境,读取一个配置文件,并把配置文件简单解析了一下。 前面读取配置文件,使用File.readFrom(),这个直接把文件全部读取出来,返回一个字节数组。然后又创建一个字节流,给文件…

LeetCode 每日一题 2024/9/16-2024/9/22

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/16 1184. 公交站间的距离9/17 815. 公交路线9/18 2332. 坐上公交的最晚时间9/19 2414. 最长的字母序连续子字符串的长度9/20 2376. 统计特殊整数9/21 2374. 边积分最高的…

华为OD机试 - N个选手比赛前三名、比赛(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

网络丢包定位记录(二)

网卡驱动丢包 查看:ifconfig eth1/eth0 等接口 1.RX errors: 表示总的收包的错误数量,还包括too-long-frames错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。 …