Linux嵌入式学习-USB端口号绑定
由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插,
在网上找到一种方法:udev的规则
udev的规则说明,可以参考博客说明:http://blog.csdn.net/cokewei/article/details/8281239
将端口重映射到新的固定的名字,并且设置其权限为可读。使用对应的id端口映射到固定的名字上。
|
1
|
lsusb |
查看对应的usb端口信息
|
1
2
3
4
5
6
7
|
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB lightBus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapterBus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. HubBus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. HubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
udev的规则
$kernel, %k:设备的内核设备名称,例如:sda、cdrom。
ID 10c4:ea60 表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)
10c4 usb_device_descriptor.idVendor
ea60 usb_device_descriptor.idProduct
依据上面信息写udev文件:我用的是rplidar的激光雷达usb串口
我的串口设备信息
|
1
|
Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light |
|
1
|
sudo vi /etc/udev/rules.d/rplidar.rules |
|
1
|
KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar" |
创建生效后重新插拔USB
|
1
|
ls -l /dev |grep ttyUSB |
显示
|
1
2
3
|
lrwxrwxrwx 1 root root 7 Nov 29 14:03 rplidar -> ttyUSB1crw-rw-rw- 1 root dialout 188, 0 Nov 29 14:03 ttyUSB0crwxrwxrwx 1 root dialout 188, 1 Nov 29 14:03 ttyUSB1 |
多个不同型号设备可使用这种方法来区分
打开设备时,用(/dev/rplidar)即可。
http://www.cnblogs.com/CZM-/p/6113475.html
Linux嵌入式学习-USB端口号绑定的更多相关文章
- usb端口号绑定
由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...
- linux下进程、端口号相互查看方法
linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...
- linux mysql 查看默认端口号和修改端口号
如何查看mysql 默认端口号和修改端口号 2015-03-19 17:42:18 1. 登录mysql [root@test /]# mysql -u root -p Enter password: ...
- Ubuntu usb设备端口号绑定
1.将串口设备插入USB口,通过lsusb查看端口信息.例如: ID 1a86:7523 表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备) 1a86 usb_device_desc ...
- Linux内核学习之2号进程kthreadd
Author : Toney Email : vip_13031075266@163.com Date : 2020.12.04 Copyright : ...
- Linux嵌入式学习-烟雾传感器驱动-字符设备驱动-按键驱动
MQ-2烟雾气敏传感器模块在X210v3开发板上的驱动. 现在需要一个MQ-2烟雾气敏传感器模块的驱动.其检测烟雾超过一定的标准后,会返回一个不同的电平,和按键驱动差不多. 但是在编写驱动的时候,需要 ...
- Linux嵌入式学习-ds18b20驱动
ds18b20的时序图如下: 复位时序: 读写时序: 以下是程序代码: #include <linux/module.h> #include <linux/init.h> #i ...
- Linux嵌入式学习-mount命令+nfs挂载失败原因【转】
NFS 挂载失败原因[待搜集] 1.挂载时若出现mount.nfs: Input/output error 解决:在客户端也需启动portmap服务 service portmap status[查看 ...
- linux C学习笔记05--信号量与共享内存(进程同步)
花了半天时间把信号量与共享内存整合到了一起,先来看信号量代码,semaphore.c 当中sem_P()和sem_V()函数分别为信号量等待和信号量释放. 两个进程同时访问共享内存,为了避免发生同时读 ...
随机推荐
- JDK8HashMap的一些思考
JDK8HashMap 文中提及HashMap7的参见博客https://www.cnblogs.com/danzZ/p/14075147.html 红黑树.TreeMap分析详见https://ww ...
- 基于gin的golang web开发:Gin技术拾遗
本文是对前几篇文章的一些补充,主要包含两部分:单元测试和实际项目中使用路由的小问题. 拾遗1:单元测试 Golang单元测试要求代码文件以_test结尾,单元测试方法以Test开头,参数为*testi ...
- WPF 学习笔记(一)
一.概述 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,随着.NET Framework 3.0发布第一个版本.它提供了统一的 ...
- moviepy AudioClip的max_volume方法报错ValueError: operands could not be broadcast together with shapes(2,)
☞ ░ 前往老猿Python博文目录 ░ 在<moviepy音视频剪辑:AudioClip的max_volume方法报TypeError: bad operand type for abs(): ...
- 第二十章、QTableView与QStandardItemModel开发实战:展示Excel文件内容
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面<第十九章.Model/View开发:QTableView的功能及属性> ...
- PyQt学习随笔:Qt中Model/View中的Model Index
Qt中Model/View中的Model Index是一个类,该类用于定位Model/View中数据模型中的数据. Model Index是从QAbstractItemModel派生的子类,用于在项视 ...
- python中的Restful
哇,昨天组里进行总结的时候,小哥哥和小姐姐真是把我给秀到了,跟他们一比,我总结的太垃圾了,嘤嘤嘤.因为我平常不怎么总结,总结的话,有word还有纸质的,现在偏向于纸质,因为可以练练字.个人观点是,掌握 ...
- Markdown 公式指导手册
本文为 Markdown 环境下的常用语法指引.Typora 编辑阅读器支持 \(\LaTeX\) 编辑显示支持,例如:\(\sum_{i=1}^n a_i=0\),访问 MathJax 以参考更多使 ...
- 【题解】CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178]
[题解]CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178] 传送门: \(\text{CIRU - The area ...
- AcWing 324. 贿赂FIPA
题目链接 大型补档计划 \(f[i][j]\) 表示第 \(i\) 个国家,获得 \(j\) 个国家支持,用的最少花费 \(f[i][0] = 0\) \(f[i][sz[i]] = w[i]\) 对 ...