ubuntu下固定USB相机设备名称

文章目录

ubuntu下固定USB相机设备名称

目的

防止多个USB相机存在时,在不断的热插拔情况下不仅相机序号会改变,同时相机名称也会发生改变,导致无法定位打开特定相机的问题

解决方法

更改udev规则文件,固定相机名称,每个USB设备在linux系统中均存在唯一的idVendor(相机供应商ID)和唯一的idProduct(相机产品ID)

复制代码
// 连接USB相机到Ubuntu系统
lsusb                   //找到与相机相关的行,记录下供应商ID(Vendor ID)和产品ID(Product ID),类似Bus 001 Device 002: ID 0c45:ae11 Microdia LRCP  imx291 ,其中0c45为Vendor ID, ae11为Product ID
    
cd /etc/udev/rules.d    //定位到规则文件目录下
touch usb_camera.rules  //创建udev规则文件

//在usb_camera.rules中写入如下内容,只要更改idVendor和idProduct就行了,SYMLINK为自定义名称
KERNEL=="video*",ATTRS{idVendor}=="0c45",ATTRS{idProduct}=="ae11",MODE:="0777",SYMLINK+="rgb503A1_camera" 
KERNEL=="video*",ATTRS{idVendor}=="10bb",ATTRS{idProduct}=="2b08",MODE:="0777",SYMLINK+="visual503A1_camera"
    
//重载udev规则    
sudo udevadm control --reload-rules
sudo udevadm trigger

//断开相机,重新插入
ls -l /dev/rgb503A1_camera      //如果规则生效则打印/dev/rgb503A1_camera,后续opencv打开相机就可以通过该名称去打开了    

ls -l /dev/video*                 //查看当前设备的挂载情况
sudo chmod 777 /dev/video0        //添加任何用户情况下,可读可写可执行的权限
cheese -d /dev/rgb503A1_camera    //使用cheese打开该设备
相关推荐
福尔摩斯张15 分钟前
C++核心特性精讲:从C语言痛点出发,掌握现代C++编程精髓(超详细)
java·linux·c语言·数据结构·c++·驱动开发·算法
hgz071031 分钟前
Linux服务器环境部署与JMeter压测准备
linux·服务器·jmeter
ShirleyWang01237 分钟前
VMware如何导入vmdk文件
linux·数据库
Lueeee.1 小时前
内核menuconfig配置实验
linux
遇见火星1 小时前
常见Systemctl语句
linux·服务器·网络·systemctl
月明长歌1 小时前
【码道初阶】【LeetCode 110】平衡二叉树:如何用一个“Magic Number”将复杂度从O(N²)降为 O(N)?
linux·算法·leetcode
齐鲁大虾2 小时前
国产 Linux 系统核心优缺点与适用场景
linux·运维·服务器
skywalk81632 小时前
webvm 用浏览器启动的虚拟环境
linux·wasm
Awkwardx2 小时前
Linux网络编程—数据链路层
linux·运维·网络
kevin_水滴石穿3 小时前
在镜像生成时从内网获取字体安装包并配置
linux·docker·容器