linux下摄像头设置固定的设备名

目录

2.热插拔udev机制

3.设置udev的规则

1.查看usb ID

 2. 查看usb设备的信息

3.编译规则

4.拓展


1.问题的出现

通过我之前的文章配置完摄像头的开机自启动之后我们会发现有的时候会出现启动不了的情况,通过实验我发现是摄像头的设备名发生了改变,而我们在start.sh脚本哪里配置的又是固定的所以就会出现启动不了的情况。所以我们应该把设备名给固定

2.热插拔udev机制

udev就是一种规则,能将你插入的设备固定为唯一指定的别名。你想把你的usb摄像头命名为came0,无论你/dev下的video号如何变化,系统都会生成唯一的came0。udev能帮你实现,当然不止摄像头,一切外设都能实现。具体的udev的介绍可以自行查阅资料。 

3.设置udev的规则

1.查看usb ID

查看外设的设备号,主设备号:辅助设备号。使用命令:lsusb 

通过拔插我们可以发现我们摄像头的ID是1e45:8022 

 2. 查看usb设备的信息

使用以下命令查看usb设备信息,注意不一定是video2根据自己的进行调整

udevadm info -a -p /sys/class/video4linux/video2

   ATTRS{idProduct}=="8022"
   ATTRS{idVendor}=="1e45"

这里就是我们之前查到的摄像头id

主要看上图中标记的几个地方。这几个地方可以用作我们的摄像头唯一标识

3.编译规则

进入/etc/udev/rules.d/文件夹下,新建video.rules文件,文件内容如下:

KERNEL=="video*" , ATTRS{idVendor}== "1e45", ATTRS{idProduct}=="8022",ATTR{index}=="0",MODE:="0777", SYMLINK+="camera"

注意上述内容和2查到的设备信息内容一一对应。根据自己的实际情况进行修改即可。上述规则生效后会在/dev/下生成/dev/camera文件。配置完成后关机重启

重启之后再次查看dev下设备

camera -> video2说明我们现在摄像头使用的设备名是video2 

 到这里说明我们的固定名称已经配置完成了,我们还需要去修改我们的start.sh脚本的内容,把设备名修改成我们固定的名称

然后重启系统,使用以下命令查看我们摄像头的服务有没有启动

ps -aux | grep mjpg_streamer

通过这些配置,我们摄像头服务就能做到每次开机自动启动,而且也不会因为设备名发生了改变而出现启动失败的情况。 

4.拓展

除了绑定设备以外,你还可以绑定对应的USB口,每个USB口都有一个唯一的定义。输入以下命令可以查看usb口的使用

ls -l /sys/class/video4linux/

通过两次输入的对比可以看出我的摄像头的定义是2-1:1.0,可以在规则中添加绑定: 

KERNELS=="2-1:1.0"

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

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

相关文章

ADSP-21479的开发详解五(AD1939 C Block-Based Talkthru 48 or 96 kHz)音频直通

硬件准备 ADSP-21479EVB开发板: 产品链接:https://item.taobao.com/item.htm?id555500952801&spma1z10.5-c.w4002-5192690539.11.151441a3Z16RLU AD-HP530ICE仿真器: 产品链接:https://item.taobao.com/item.htm?id38007…

leetcode821-Shortest Distance to a Character

题目 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。 返回一个整数数组 answer ,其中 answer.length s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。 两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其…

普通索引和唯一索引如何选择

查询过程 普通索引和唯一索引的性能差别不大。 因为引擎是按页读写的,按条件查询的话它所在的数据页就都在内存里了,即使普通索引还有其他的操作,但是我们计算平均性能差异时,仍可以认为这个操作成本对于现在的CPU来说可以忽略不计…

开源数据集分享——猫脸码客

开源数据集分享,让数据更自由流通——猫脸码客带你走进数据的新世界 在数字化时代的浪潮中,数据已经成为推动社会进步的重要力量。然而,数据的获取与利用往往受到种种限制,使得许多有价值的信息难以被充分挖掘。幸运的是&#xf…

linux下安装mysql和主从搭建_亲测成功

linux下安装mysql和主从搭建_亲测成功 linux下安装mysql yum list installed | grep mysql #查看系统中是否已安装mysql软件yum -y remove mysql-libs.x86_64 #删除mkdir -pv /data/softwarecd /data/software/wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.2…

适配器模式【结构型模式C++】

1.概述 适配器模式是一种结构型设计模式, 又称为变压器模式、包装模式(Wrapper) 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 2.结构 Target:适配…

Leetcode算法训练日记 | day31

专题九 贪心算法 一、分发饼干 1.题目 Leetcode:第 455 题 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的…

MongoDB的使用场景

MongoDB的使用场景 MongoDB 是一个流行的文档型 NoSQL 数据库,适用于处理结构灵活、快速变化的数据以及需要高性能、高可用性和水平扩展能力的应用场景。以下是 MongoDB 的主要使用场景: Web & Mobile Applications: 实时数据处理:Mongo…

【算法一则】矩阵置零 【矩阵】【空间复用】

题目 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2: …

冰达ROS机器人快速使用指南

欢迎来到《冰达ROS机器人极简使用指南》 Q:这份教程适合谁? A:适合完全0基础新手,需要快速跑起来机器人的基本功能。也适合技术大佬需要快速的了解冰达ROS机器人的使用方法。 Q:这份教程内容很少,是不是…

c# 反射的应用

简述: 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。 您可以使用使用反射获取类型,根据类型来动态创建对象&#…

机器学习基本流程

Jupyter Notebook 代码连接: machine_learning_demo machine_learning_ensembles Step 1: Imports and Configuration import pandas as pd import numpy as np import copy import json import pickle import joblib import lightgbm as lgb import optuna impor…

【24届数字IC秋招总结】正式批面试经验汇总8——豪威、大普微

文章目录 一、豪威-数字电路设计工程师1.1 面试问题二、大普微-数字验证工程师2.1 一面面试问题2.2 二面面试问题2.3 hr面试问题一、豪威-数字电路设计工程师 面试时间:9.6 1.1 面试问题 1、 logic能不能随机产生x和z,如何产生 2、 断言怎么写的,a为高b为高 3、 讲下项目…

数据结构——7.17.2 查找的基本概念、顺序查找和折半查找

7.1&7.2 查找的基本概念、顺序查找和折半查找 1. 基本概念 1. 关键字:数据元素中标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。2. 查找表的常见操作1. 查找符合条件的数据元素:查得快即可2. …

国产数据库实践:亚信安慧AntDB在DTC 2024展示创新实力

4月12至13日,我国数据库行业最具影响力的活动之一——第十三届『数据技术嘉年华』(DTC 2024) 在京成功举办,业内众多专家学者、技术领袖、各行业客户和实力厂商均到场参会。亚信安慧AntDB数据库总架构师洪建辉受邀参与“数据库一体化”专题论坛&#xff…

Stylus精讲:网页设计新境界【写作AI一键生成】

首先,这篇文章是基于笔尖AI写作进行文章创作的,喜欢的宝子,也可以去体验下,解放双手,上班直接摸鱼~ 按照惯例,先介绍下这款笔尖AI写作,宝子也可以直接下滑跳过看正文~ 笔尖Ai写作:…

《HCIP-openEuler实验指导手册》1.1Apache安装与测试

一、安装httpd 查看软件仓库中apache版本列表 dnf provides http 安装apache dnf install -y httpd 二、启动http并测试 查看apache版本号 httpd -v 检查配置文件是否正确 httpd -t 启动并设置为开机启动 systemctl enable httpd --now 或 systemctl enable httpd syst…

Android--ConnectivityManager使用

一、前言 Android10之后官方废弃了通过WifiManager连接WIFI的方式,现在要使用ConnectivityManager连接WIFI 二、连接WIFI public class MainActivity extends AppCompatActivity {private static final String TAG"lkx";Overrideprotected void onCrea…

yolov8实战第七天——pyqt5-yolov8实现车牌识别系统(参考论文(约7000字)+环境配置+完整部署代码+代码使用说明+训练好的模型)

基于 pyqt5-yolov8实现车牌识别系统,包括图片车牌识别,视频车牌识别,视频流车牌识别。 效果展示(图片检测,检测到的内容添加到历史记录): 效果展示(视频检测,视频车辆只会添加一条记录,下文更多实际应用中的优化策略): 基于YOLOv8和PyQt5的车牌识别系统设计与…

day60 接雨水 柱状图中的最大矩形

题目1:42 接雨水 题目链接:42 接雨水 题意 n个宽度为1高度不一致的柱子排列,可以接多少雨水 找寻当前柱子的左面第一个比该柱子高的(栈顶的下一个元素),右面第一个比该柱子高的(当前遍历的元素),作差 得到宽度&…