实验一:Ubuntu系统中的USB设备绑定实验

news2024/11/27 12:54:38

在这里插入图片描述

实验一:Ubuntu系统中的USB设备绑定实验

  • 一、实验目的
  • 二、实验原理
  • 三、实验环境
  • 四、实验步骤
    • 任务 1:绑定不同USB设备
    • 任务 2:绑定多个相同设ID的串口设备
  • 五、注意事项
  • 六、拓展练习


一、实验目的

  1. 学习Ubuntu中USB设备命名方法;
  2. 掌握不同USB设备绑定方法;
  3. 掌握相同串口USB设备绑定方法

二、实验原理

一般情况,在Ubuntu系统中会有多个USB设备连接到主机上,如果仅仅用端口序号识别设备的话,因为序号分配是随机的,一旦出现断电或者重新插拔设备情况,代码就会出现找不到设备或者找错设备的错误。为了解决这个问题,采用将不同设备的属性信息绑定到usb序号上,通过绑定后的别名去查找设备。
本实验的主要内容是实现不同USB设备的绑定以及相同串口的USB设备的绑定。

三、实验环境

电脑笔记本,ROS开发环境。

四、实验步骤

任务 1:绑定不同USB设备

(1)使用lsusb查看接入设备名称;

lsusb

在这里插入图片描述
(2)使用dmesg | grep usb命令,找到刚查看的设备kernel和id;

dmesg | grep

(3)在/etc/udev/rules.d文件夹下新建规则文件xxxx.rules(xxxx为自定义命名);

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

(4)在文件中添加以下字段后保存;

KERNEL=="ttyUSB*",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60", MODE:="0777",SYMLINK+="lds1"

也可以使用终端直接输入:

echo'KERNELS=="ttyUSB*",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="lds1"' >/etc/udev/rules.d/xxxx.rules

(5)使用以下命令重新加载dev规则

sudo udevadm control --reload-rules && udevadm trigger

(6)将USB端口重新插拔,使用sudo ls -l /dev | grep xxxx查看是否绑定成功(xxxx为绑定的新名称)。

sudo ls -l /dev | grep xxx

任务 2:绑定多个相同设ID的串口设备

(1)dmesg – 打印 USB 设备名。查看每个串口设备对应的kernel和id
在这里插入图片描述(2)在udev文件中加入如下代码

KERNELS=="2-7.3",MODE:="0666",GROUP:="dialout", SYMLINK+="ttyUSB001"

(3)重新加载udev文件。

sudo udevadm control --reload-rules && udevadm trigger

五、注意事项

可以在同一个.rules文件中添加多个绑定哟,适用同一主机接入多个不同设备

六、拓展练习

1.学习启用USB/IP通过网络共享USB设备。

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

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

相关文章

如何选择优质智慧公厕系统厂家?@光明源

随着智慧城市建设的推进,智慧公厕系统成为提升城市公共服务水平的重要一环。选择一家优质的智慧公厕系统厂家不仅能确保设备的先进性和可靠性,还能提升用户体验和管理效率。以下是选择优质智慧公厕系统厂家的关键要素。 1. 厂家资质和信誉 1.1 资质认证…

AI/ML 数据湖参考架构架构师指南

这篇文章的缩写版本于 2024 年 3 月 19 日出现在 The New Stack 上。 在企业人工智能中,主要有两种类型的模型:判别模型和生成模型。判别模型用于对数据进行分类或预测,而生成模型用于创建新数据。尽管生成式人工智能最近占据了新闻的主导地…

WordPress如何删除前端评论中的网址字段?

前面跟大家分享的『WordPress插件Comment Link Remove and Other Comment Tools,删除评论网址字段』一文,通过安装插件可轻松删除前端评论中的网址字段,不过有些站长不喜欢安装插件,那么是否可以通过纯代码去掉网址字段呢&#xf…

大数据与java哪个好找工作?这篇文章帮你做选择!

大数据与java哪个好找工作?这篇文章帮你做选择! 还在为选择Java开发还是Java大数据而头疼吗?别担心,本文将从就业前景、学习方向、学习内容以及薪资待遇四个方面,为你揭开Java和Java大数据的神秘面纱,帮你做…

安卓设备优雅的命令 adb 以及 优秀的控制 scrcpy

一、背景 如果有多台安卓设备,并为这些设备安装软件,一个个使用u盘再加上鼠标操作虽然可以做到,但是大概率比较麻烦。试想下,如果坐在电脑旁边,就能鼠标在电脑上点点就能解决问题,是多么优雅的一件事情。 …

【单片机】Code Composer Studio Linux版本下载,CCS开发环境

被windows的驱动兼容性搞得烦死了,我直接搞虚拟机用linux版本的ccs尝试一下。 下载: https://www.ti.com/tool/download/CCSTUDIO ubuntu22 虚拟机内,安装一些依赖: 安装libc6-i386库: 运行以下命令来安装libc6-i38…

鞠婧祎多个商标被丝芭传媒申请注册!

近日鞠婧祎与丝芭传媒合约引发网络关注,普推商标老杨经检索发现,丝芭传媒早在2016起就申请注册了“鞠婧祎”24个商标,涉及多个商标分类,这些基本都下商标注册证。 不管对经纪公司还是网红公司,有实力的基本都会对旗下的…

分布式光纤测温DTS在工程现场中稳定性与可靠性如何?

20年前,分布式光纤测温(Distributed Temperature Sensing,DTS)技术的发展尚不成熟,设备成本高昂,其稳定性与可靠性也存在一定问题。然而,经过二十多年的不断发展与创新,DTS技术在工程现场应用中取得了显著进…

晶体振荡电路中的负性阻抗是什么?-晶发电子

在理想的振荡电路中,为了保持振荡的稳定性和强度,需要一种机制来补偿晶振振动过程中的能量损耗。在实际应用中,这种能量损耗是不可避免的,它可能导致振荡逐渐衰减直至停止。为了解决这个问题,振荡电路设计者采用了一种…

【CV炼丹师勇闯力扣训练营 Day8】

CV炼丹师勇闯力扣训练营 代码随想录算法训练营第8天 ● 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字 一、344 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额…

天马学航——智慧教务系统(移动端)开发日志四

天马学航——智慧教务系统(移动端)开发日志四 日志摘要:优化了教师端界面的UI,更新了教师端添加课程,提交成绩等功能,修复了一些已知的BUG 1、教师添加课程设计 教师在此界面添加课程,并将数据提交后端进行审核 界…

【STM32-MAP文件分析】

STM32-MAP文件分析 ■ MDK编译生成文件简介■ .o■ .axf■ .hex■ .crf■ .d■ .dep■ .lnp■ .lst■ .map■ .build_log.htm■ .htm 文件■ .map 文件 ■ map文件分析■ map 文件的 MDK 设置■ 1. 要生成 map 文件 在 Listing 选项卡里面■ 2. Keil5 中打开.map 文件 ■ map 文…

如何用GO语言实现冒泡排序算法?

本章教程,介绍一下如何用GO语言实现基础排序算法中的冒泡排序。 一、程序代码 package mainimport ("fmt""math/rand""time" )// bubbleSort 函数实现冒泡排序算法 func bubbleSort(arr []int) {n

【面试干货】 Java 中的 HashSet 底层实现

【面试干货】 Java 中的 HashSet 底层实现 1、HashSet 的底层实现2、 HashSet 的特点3、 总结 💖The Begin💖点点关注,收藏不迷路💖 HashSet 是 Java 集合框架中的一个重要成员,它提供了不存储重复元素的集合。但是&am…

诺瓦星云入职认知能力SHL测验Verify职业性格问卷OPQ可搜索带解析求职题库

欢迎您开启诺瓦星云的求职旅程 恭喜您进入测评环节,接下来您需要作答两个测验,分别是职业性格问卷OPQ和认知能力测验Verify,总共用时大约1小时,祝您作答顺利! 【华东同舟求职】由资深各行业从业者建立的一站式人才服务网络平台&a…

蓝桥杯 经典算法题 合并排序数组

题目: 题解: leetcode上也有这道题一模一样。和归并排序的小过程基本一模一样,只不过因为题目要求只能将arr2中元素合并到arr1中,一种可行的方法是按元素从大到小,顺序从每个序列尾部开始操作,第一填的位置…

Introduction to linear optimization 第 2 章课后题答案 11-15

线性规划导论 Introduction to linear optimization (Dimitris Bertsimas and John N. Tsitsiklis, Athena Scientific, 1997), 这本书的课后题答案我整理成了一个 Jupyter book,发布在网址: https://robinchen121.github.io/manual-introdu…

2024年AI+游戏赛道的公司和工具归类总结

随着人工智能技术的飞速发展,AI在游戏开发领域的应用越来越广泛。以下是对2024年AI+游戏赛道的公司和工具的归类总结,涵盖了从角色和场景设计到音频制作,再到动作捕捉和动画生成等多个方面。 2D与3D创作 2D创作工具:专注于角色和场景的平面设计,提供AI辅助的图案生成和风…

【GUI】LVGL无操作系统移植以及移植过程错误处理

目录 介绍 1. 删除源码 2. 导入lvgl到项目screen_mcu中 3. keil添加分组和头文件 4. 移植显示 5. 移植触摸 6. 添加测试案例 6.1. 测试按钮 6.2. 测试音乐界面 7. 提供时钟 错误处理 L6218E错误 出现花屏 屏幕颜色不对 内存分配 介绍 本文 主要介绍GD32移植…

网络编程(TCP协议,UDP协议)

目录 网络编程三要素 IP IPv4 InetAddress类 端口号 协议 UDP协议 UDP协议发送数据 UDP协议接收数据 UDP的三种通信方式(代码实现) TCP协议 TCP通信程序 三次握手和四次挥手 练习 1、客户端:多次发送数据服务器:接收多次接收数据,并打印 2、客户端…