多usb摄像头串口设备名固定和永久授权

效果图

在这里插入图片描述
我将0号和2号固定成11和22。

目的:设备每次插入不同usb设备,顺序不一样名称可能都不一样,不稳定,无法通过固定设备名获取信息。并且针对一个usb摄像头含有多个设备名称问题做了解决

1、查看当下摄像头设备名

ll /dev/video*
//如果不是摄像头的USB串口,/dev/video*可以改成/dev/ttyUSB*

运行结果,三个摄像头,六个video设备名

crwxrwxrwx+ 1 root video 81, 0 Dec 31 11:17 /dev/video0
crw-rw----+ 1 root video 81, 1 Dec 31 11:17 /dev/video1
crwxrwxrwx+ 1 root video 81, 2 Dec 31 11:17 /dev/video2
crw-rw----+ 1 root video 81, 3 Dec 31 11:17 /dev/video3
crw-rw-rw-+ 1 root video 81, 4 Dec 31 09:38 /dev/video4
crw-rw-rw-+ 1 root video 81, 5 Dec 31 09:38 /dev/video5

一般设备video0和设备video1是同一台设备,2和3,4和5,但是能读取图片的设备是双数如video0,video2,video4,

2、查看设备id号

lsusb

运行结果:

Bus 004 Device 002: ID 0781:558b SanDisk Corp. 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 04f3:0c4b Elan Microelectronics Corp. 
Bus 003 Device 005: ID 5986:212b Acer, Inc 
Bus 003 Device 022: ID 0a0a:5846  
Bus 003 Device 021: ID 0b95:772b ASIX Electronics Corp. AX88772B
Bus 003 Device 020: ID 062a:4c01 Creative Labs 
Bus 003 Device 019: ID 093a:4202 Pixart Imaging, Inc. 
Bus 003 Device 018: ID 0c46:636a WaveRider Communications, Inc. 
Bus 003 Device 017: ID 14cd:8608 Super Top 
Bus 003 Device 009: ID 8087:0026 Intel Corp. 

里面对应和摄像头id可以通过拔掉和插入usb串口查找出对应的值。如拔掉一个后,少了Bus 003 Device 022: ID 0a0a:5846 ,那拔掉的设备对应参数iidVendor= 0a0a,idProduct=5846

3、根据2步奏拔掉插入usb逐步查找出对应的id号后,建立串口重命名和授权的文本

可以查看当前已有的设备串口文本

cd  /etc/udev/rules.d
ll

新建一个不重复的文本,并打开

cd  /etc/udev/rules.d
sudo touch filename.rules
sudo gedit filename.rules

4、修改文本内容,改成自己设备的id

KERNEL =="video[0,2,4,6,8]*",ATTRS{idVendor}== "0a0a",ATTRS{idProduct}=="5846",GROUP="video",MODE="0777",SYMLINK+= "camera_black"

KERNEL =="video[0,2,4,6,8]*",ATTRS{idVendor}== "14cd",ATTRS{idProduct}=="8608",GROUP="video",MODE="0777",SYMLINK+= "video200"

上面我加了两个固定设备名
如果不是摄像头USB串口,可以直接改成一下

KERNEL =="ttyUSB[0-9]*",ATTRS{idVendor}== "0a0a",ATTRS{idProduct}=="5846",GROUP="video",MODE="0777",SYMLINK+= "yourname"

yourname为你想改成的名字

  • -其中

     KERNEL=="video[0,2,4,6,8]*"是指:dev/video0、dev/video2、dev/video4...设备的名称,
     很好避免了使用/dev/video0相同设备但不可以使用的/dev/video1设备名
     
     ATTRS{idVendor}== "14cd",ATTRS{idProduct}=="8608"  ,GROUP="video",组名
    
     MODE="0777" 是指:全部授权,可读可写
    
     SYMLINK+= "video100"
     是指:将原有设备映射到video100,如将dev/video0映射到dev/video100,
     虽然设备同时有了三个名称,但我们可以使用dev/video100对应的设备的设备名一直不会改变。
    

注:详细全面说明参考https://www.cnblogs.com/fah936861121/p/6496608.html

5、改完后保存,并重新运行该脚本,并拔插串口

sudo udevadm control --reload
service  udev restart 
最后重新热拔插usb串口就可以重新获取信息

版权声明:本文为CSDN博主「不加辣先生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44023934/article/details/122252740

生成海报
点赞 0

不加辣先生

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

多usb摄像头串口设备名固定和永久授权

效果图 我将0号和2号固定成11和22。 目的:设备每次插入不同usb设备,顺序不一样名称可能都不一样,不稳定,无法通过固定设备名获取信息。并且针对一个usb摄像头含有多个设备名称问题做

霍尔开关在智能阀门位移器上的应用

霍尔开关在智能阀门位移器上的应用 目前,智能阀门定位器的位置反馈机构,多采用机械结构,存在磨损大、精度低、寿命短等缺点。基于霍尔传感器技术和新型压电阀控制技术,一款国产新型霍尔式智能阀门定