linux固定串口别名

news2024/11/15 18:03:31

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

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.coloradmin.cn/o/2163376.html

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

相关文章

无人机飞手培训及巡检、吊运等飞行服务一体化技术详解

在无人机行业日益兴起的背景下,培养专业、合格的无人机飞手成为首要任务。飞手培训基础涵盖理论学习与安全意识建立两大方面。理论学习包括无人机基础知识(如无人机类型、结构、原理)、航空法规(如民用无人驾驶航空器实名制登记管…

旧衣回收小程序搭建,开发功能优势

随着人们生活水平、消费水平的提高,在日常生活中产生了大量的限制物品,为了减少浪费,越来越多的人开始重视环保回收。旧衣物作为一种新型的回收方式,也逐渐得到了大众的关注,旧衣物回收市场发展规模也在持续上升&#…

Certbot自动申请并续期https证书

Certbot自动申请并续期https证书 一、 安装 Certbot:使用命令安装 Certbot: dnf install certbot python3-certbot-nginx获取 SSL 证书:运行 Certbot 命令来获取并安装 SSL 证书。 示例命令,替换其中的域名和路径信息&#xff1a…

PHP API 框架:构建高效API的利器【电商API接口】

在当今快速发展的互联网时代,API(应用程序编程接口)已成为连接不同应用程序和服务的关键。PHP,作为一种流行的服务器端脚本语言,提供了多种强大的框架来简化API的开发。本文将介绍PHP API框架的重要性,以及…

java并发编程笔记 之 线程和进程

文章目录 前言线程线程优先级和时间片创建多线程及运行线程的状态 进程查看进程的命令进程的通信方式 线程和进程的区别从关系上疑问集锦 前言 并发 1、并发是指在同一时间段内,计算机系统能够处理多个任务的能力。 2、在并发编程中,我们可以理解为多个…

chapter17-多线程基础——(自定义泛型)——day20

580-程序进程线程 581-并发并行 并发和并行也可以同时进行 582-继承Thread创建线程 583-多线程机制 主线程和子线程交替执行 单核:两个线程并发 多核:两个线程并行 主线程结束,不是说进程就结束,进程要等所有线程结束 584-为什…

模型Alignment之RLHF与DPO

1. RLHF (Reinforcement Learning from Human Feedback) RLHF 是一种通过人类反馈来强化学习的训练方法,它能够让语言模型更好地理解和执行人类指令。 RLHF 的三个阶段 RLHF 的训练过程一般分为三个阶段: 监督微调(Supervised Fine-Tuning,…

认知杂谈82《跳出信息茧房,持续精进》

内容摘要: 互联网时代,信息丰富,但便捷性削弱了我们的好奇心。互联网是双刃剑,快速获取知识的同时,也让我们陷入“信息茧房”,限制视野。 好奇心减少,部分原因是互联网的“懒惰效应”&#xff0…

国家标准和团体标准有什么区别?

国家标准和团体标准的区别主要体现在以下几个方面: 1. 制定标准的主体不同:国家标准是由国家机构通过并公开发布的标准;团体标准是由学会、协会、商会、联合会、产业技术联盟等社会团体协调相关市场主体共同制…

【项目实战】如何在项目中基于 Spring Boot Starter 开发简单的 SDK

什么是SDK 通常在分布式项目中,类和方法是不能跨模块使用的。为了方便开发者的调用,我们需要开发一个简单易用的SDK,使开发者只需关注调用哪些接口、传递哪些参数,就像调用自己编写的代码一样简单。实际上,RPC(远程过…

element下拉框联动 或 多选 回显数据后页面操作不生效问题解决

第一种:多选回显不生效 解决方式: 代码: <el-form-item label"系统" prop"Key"> <el-select v-model"addForm.Key" multiple placeholder"请选择" change"$forceUpdate()"> <el-option v-for"item …

Typescript高级用法

TypeScript 是一种类型安全的 JavaScript 超集&#xff0c;除了基本类型和对象类型之外&#xff0c;TypeScript 还提供了一些高级类型系统&#xff0c;使得我们可以更好地处理复杂的数据结构和业务逻辑。本文将深入探讨 TypeScript 的高级类型系统&#xff0c;以更好地理解和使…

【AI大模型应用开发】【综合实战】AI+搜索,手把手带你实现属于你的AI搜索引擎(附完整代码)

现在市面上有很多的AI搜索的应用或插件&#xff0c;一直想学习其背后的实现原理。今天咱们就学习一下&#xff0c;并且亲自动手实践&#xff0c;从0开始&#xff0c;搭建一个自己的AI搜索引擎。最终实现效果如下&#xff1a; 话不多说&#xff0c;开干。 本文代码参考&#xff…

累加求和-C语言

1.问题&#xff1a; 计算123……100的和&#xff0c;要求分别用while、do while、for循环实现。 2.解答&#xff1a; 累加问题&#xff0c;先后将100个数相加。要重复进行100次加法运算&#xff0c;可以用循环结构来实现。重复执行循环体100次&#xff0c;每次加一个数。 3.代…

02DSP学习-了解syscfg

不是哥们儿&#xff0c;学习DSP为什么不是上来就写代码啊&#xff0c;说了一堆&#xff0c;写小说呢啊&#xff1f; 你别着急&#xff0c;学习DSP本身&#xff0c;真不需要写多少代码&#xff0c;我们需要的写的是自己的算法。开车知道方向盘、油门、刹车、后视镜之后也能开&a…

【SpringBoot详细教程】-03-整合Junit【持续更新】

JUnit是一个用于Java编程语言的测试框架。它支持自动化单元测试&#xff0c;可以帮助开发人员测试代码的正确性和健壮性。JUnit提供了一组注解、断言和测试运行器&#xff0c;可以方便地编写和运行单元测试。 SpringBoot 整合 junit 特别简单&#xff0c;分为以下三步完成 在…

cmake--file

教程 参数 需要指定文件后缀 GLOB 只搜索当前目录 GLOB_RECURSE &#xff1a;搜索当前目录和其子目录&#xff08;递归搜索&#xff09; RELATIVE 相对于哪个路径进行搜索&#xff0c;获取文件的相对路径。 使用RELATIVE和不使用RELATIVE的区别&#xff1a; 1&#xff…

《让手机秒变超级电脑!ToDesk云电脑、易腾云、青椒云移动端深度体验》

前言 科技发展到如今2024年&#xff0c;可以说每一年都在发生翻天覆地的变化。云电脑这个市场近年来迅速发展&#xff0c;无需购买和维护额外的硬件就可以体验到电脑端顶配的性能和体验&#xff0c;并且移动端也可以带来非凡体验。我们在外出办公随身没有携带电脑情况下&#x…

MudBlazor:一个UI简洁美观漂亮的Blazor开源组件!

Blazor&#xff0c;作为.NET生态系统中的一个革命性框架&#xff0c;使得可以使用C#来全栈开发Web应用。下面推荐一个Blazor开源UI组件MudBlazor&#xff0c;方便我们快速开发。 01 项目简介 MudBlazor 是一个开源的 .NET 库&#xff0c;它为 Blazor 应用程序提供了一套丰富的…

Java JUC(二) Synchronized 基本使用与核心原理

Java JUC&#xff08;二&#xff09; Synchronized 基本使用与核心原理 随着 Java 多线程开发的引入&#xff0c;程序的执行效率和速度都取得了极大的提升。但此时&#xff0c;多条线程如果同时对一个共享资源进行了非原子性操作则可能会诱发线程安全问题&#xff0c;而线程安全…