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

news2024/12/24 20:35:20

目录

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.coloradmin.cn/o/1611423.html

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

相关文章

如何打开局域网共享?

局域网共享是一种方便实现文件共享、打印共享和资源访问的技术。通过局域网共享,不同设备之间可以方便地共享文件和资源,提高工作效率和便利性。在网络环境中,使用天联组网工具可以更加快速地实现局域网共享,解决不同地区间的远程…

数据仓库作业五:第8章 关联规则挖掘

目录 第8章 关联规则挖掘作业题 第8章 关联规则挖掘 作业题 1、设4-项集 X { a , b , c , d } X\{a,b,c,d\} X{a,b,c,d},试求出由 X X X 导出的所有关联规则。 解: 首先生成项集的所有非空真子集。这包括: { a } , { b } , { c } , {…

Java测试编程题

题目1 1.创建5个线程对象 线程名设置为(Thread01,Thread02,Thread03,Thread04,Thread05)使用 代码实现5个线程有序的循环打印,效果如下: Thread01正在打印1 Thread02正在打印2 Threa…

【做一名健康的CSDNer】

程序员由于工作性质,常常需要长时间面对电脑,这可能对身心健康带来挑战。以下是一些实用的建议,帮助程序员保持身心健康: 规律生活:建立健康的生活习惯,包括规律的作息时间和固定的饮食时间,保证…

2024 年选择安全运营中心 (SOC) 工具指南

安全运营中心 (SOC) 是对抗网络威胁的前线。他们使用各种安全控制措施来监控、检测和快速响应任何网络威胁。这些控制措施对于确保信息系统全天候安全至关重要。 大型组织中的现代 SOC 与各种安全供应商合作,处理 75 到 100 种不同的工具。让我们探讨一下您可能遇到…

操作教程丨MaxKB+Ollama:快速构建基于大语言模型的本地知识库问答系统

2024年4月12日,1Panel开源项目组正式对外介绍了其官方出品的开源子项目——MaxKB(github.com/1Panel-dev/MaxKB)。MaxKB是一款基于LLM(Large Language Model)大语言模型的知识库问答系统。MaxKB的产品命名内涵为“Max …

二维图像的双线性插值

1. 原理 见下图,假设原图为单通道的灰度图,想求图像中某点Q(x,y)的灰度值。 2. 代码实现 #include <iostream> #include <stdio.h> #include <stdint.h> #include <string> #include<opencv2/opencv.hpp> #include<opencv2/core.hpp>…

C++ 程序的内存分配

C 程序的内存分配 C 程序的内存分配栈堆数据区程序代码区参考 C 程序的内存分配 一个 C 编译的程序占用内存分为以下几个部分&#xff08;从高地址到低地址&#xff09;&#xff1a; 内核空间&#xff1a;由操作系统创建并控制&#xff0c;用户代码不能读写。栈&#xff1a;由…

政安晨:【深度学习神经网络基础】(十二)—— 深度学习概要

目录 概述 深度学习的概况 深度学习的组成部分 部分标记的数据 修正线性单元 卷积神经网络 神经元Dropout GPU训练 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益&#xf…

在Java中使用XxlCrawler时防止被反爬的几种方式

目录 前言 一、常见的反爬措施 1、User-Agent识别 2、Referer识别 3、频率限制 4、IP限制 二、XxlCrawer的应对之道 1、User-Agent应对 2、频率限制 3、IP限制 三、XxlCrawler执行解析 1、XxlCrawler对象 2、启动对象 3、信息爬取线程 总结 前言 众所周知&#x…

Parade Series - CoreAudio Loopback

Scenario 鉴于业务场景需要&#xff0c; 经过技术路径探索&#xff0c; 发现 comtypes 兼容性过于混乱&#xff0c;故而考虑整合一个 CoreAudio 的轮子dll来解决实际问题&#xff01;std::StringStream ⇒ std::ios::binary ⇒ std::ofstream Loopback.dll #ifndef _DLL_C…

第63天:服务攻防-框架安全CVE 复现DjangoFlaskNode.JSJQuery

目录 思维导图 案例一&#xff1a;JavaScript-开发框架安全-Jquery&Node node.js目录穿越 CVE-2021-21315命令执行 Jquery CVE-2018-9207 案例二&#xff1a;Python-开发框架安全-Django&Flask django cve_2019_14234 CVE-2021-35042 flask ssti 思维导图 案…

LeetCode刷题实战4:寻找两个正序数组的中位数

题目内容 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], nums2 [2] 输出&#xff1a;2.0…

Three.js--》探秘虚拟现实VR展厅的视觉盛宴

今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 目录 项目搭建 初始化three代码 camera-controls控制器使用 添加画框 画框处理事件 添加机器人模型 …

一文学会 ts 构建工具 —— tsup

文章目录 能打包什么&#xff1f;安装用法自定义配置文件条件配置在 package.json 中配置多入口打包生成类型声明文件sourcemap生成格式自定义输出文件代码分割产物目标环境支持 es5编译的环境变量对开发命令行工具友好监听模式 watch提供成功构建的钩子 onSuccess压缩产物 min…

LLMs之Llama3:Llama 3的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama3&#xff1a;Llama 3的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年4月18日&#xff0c;Meta 重磅推出了Meta Llama 3&#xff0c;本文章主要介绍了Meta推出的新的开源大语言模型Meta Llama 3。模型架构 Llama 3 是一种自回归语言模型&#x…

gdb 调试常用命令

运行命令 run简写r 运行程序&#xff0c;当遇到断点后&#xff0c;程序会在断点处停止运行continue简写c 运行到下一个断点next简写n 执行下一步语句&#xff0c;不进入函数step简写s 执行下一步语句until运行到循环体结束until 行数运行到某一行call 函数(参数)调用函数finis…

Windows10安装配置nodejs环境

一、下载 下载地址&#xff1a;https://nodejs.cn/download/ ​ 二、安装 1、找到node-v16.17.0-x64.msi安装包, 根据默认提示安装, 过程中间的弹窗不勾选 2、安装完成后, 打开powershell(管理员身份) ​ 3、命令行输入 node -v 和 npm -v 如下图所示则nodejs安装成功 ​ 三…

人大金仓参与编写《通信行业信息技术应用创新发展白皮书(2024年)》正式发布...

近日&#xff0c;由中国信息通信研究院技术与标准研究所主办的通信行业信创发展分论坛在京成功举办&#xff0c;人大金仓受邀分享行业信创实践经验及成果。论坛上正式发布了人大金仓参与编写的《通信行业信息技术应用创新发展白皮书&#xff08;2024年&#xff09;》。 本次论坛…

pycharm创建的项目

pycharm生成django templates删出 settings.py