树莓派OpenWrt下怎么驱动带USB的摄像头

环境:使用VirtualBox虚拟机下安装的ubuntu22.04 LTS操作系统

安装编译需要的插件:

sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \

bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \

git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \

libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \

libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \

python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \

uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev

9da9fdadb5e248829266fe6889e43697.png

1.先把 openwrt 源码克隆到本地

git clone https://gitee.com/harvey520/openwrt.git

9b552910fe0a4447a477bdf99040159f.png

2.修改 openwrt 源码目录的 feeds.conf.default 文件中的镜像源

将 https://git.openwrt.org/feed/packages.git 改为 https://gitee.com/harvey520/packages.git

将 https://git.openwrt.org/project/luci.git 改为 https://gitee.com/harvey520/luci.git

将 https://git.openwrt.org/feed/routing.git 改为 https://gitee.com/harvey520/routing.git

将 https://git.openwrt.org/feed/telephony.git 改为 https://gitee.com/harvey520/telephony.git

37478d76cb414284b6839f96be457448.png

6bd2dc46da6c4d38a96c8d7b57a9b3ce.png

修改为下图:

b8a4734da7234176929e090b0cb47df8.png

3、提前下载依赖库源码放到 openwrt 源码目录中

git clone https://e.coding.net/yao7778899/openwrt-dependent-dl.git dl

ba1bfd3cbf15423493cdb218302cddc1.png

4、./scripts/feeds update -a

b651d2cae4a249f8b40e16a668062a64.png

等待安装完成

5、./scripts/feeds install -a

3538687395aa424f85335157e85c05ae.png

等待安装完成

6、make menuconfig打开界面

首先选好Target System,Sutarget,Target Profile

aa142b8b816745e2986fc06c7c36cb56.png

7、配置OpenWrt支持usb摄像头

要支持摄像头,就必须配置上摄像头的驱动,因为是免驱的 USB 摄像头,因此我们必

须配置上 UVC 驱动,具体如图所示。

首先,我们选中内核模块进行配置

28596b4f2dfa4db08add41b33bba4731.png

2a6ee063cbf14bc587f8e43534ba9922.png

6a80041d94d84a9a9b5cf2a180b10f89.png

077bdb31b9a74488aa58ec8168676bfb.png

8、然后安装USB驱动,Utilities下面的usbutils选项

163f4193fd244baaa8eca6a91b7e56a1.png

9、配置 OpenWrt 支持 mipg-streamer 软件

mipg-streamer 就是一款用于视频数据采集、视频数据格式转换、视频数据传输的软

件,服务器。因此为了让 openwrt 系统支持该软件,我们需要将它配置进去:

以下选项都要选:

c61211b7bca9429fa5132e6b702dbd69.png

db301a6835b04155a0c4eeba81af29ce.png

fb46311d49a2454b84fb76c65eccf95c.png

选好编译

10、make download 下载编译所需要的依赖包,等待下载完成

5716fc4d727b45dcb02c95c3a1123a8f.png

11、make 等待编译完成

18875656669f433aaaa4799e2200832e.png

注意:

编译过程中可能出现package/feeds/packages/libv4l目录下的libv4l库有问题,已经找到相应的库替换,已附上相应库

c0a62b0154e24257a100f1166ef48f5d.png

库的下载链接:

https://github.com/immortalwrt/packages/blob/openwrt-21.02/libs/libv4l

12、使用win+R打开windows终端,输入ssh root@192.168.1.1,

511021af74f64729a265d9b76aaf71a8.png

13、进入/etc/config,进入mjpg-streamer,修改成以下配置:

75b2af0989e84519a3d72b28d42c4d92.png

14、修改完保存重启

401050d5517541528c5bb4382b12a773.png

15、登录192.168.1.1:8080,即可打开摄像头!

846f8610f7af413e8f259e96d4c02ee4.png

2024年的最后一篇推文了!今年工作还是挺忙的,平时也没太多时间写博客,基本上我每篇都是认真写的,也花了一番精力,希望对学习的朋友能有帮助。在这里感谢大家一年的关注,2025年祝大家新年快乐,身体健康,万事胜意!

 

 

 

 

 

 

 

 

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

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

相关文章

MIT Cheetah 四足机器人的动力学及算法 (I) —— 简化动力学模型

Title: MIT Cheetah 四足机器人的动力学及算法 Dynamics and Algorithm of the MIT Cheetah’’ Quadruped Robot [1] MIT Cheetah 四足机器人的动力学及算法 (I) —— 简化动力学模型 [2] MIT Cheetah 四足机器人的动力学及算法 (II) —— 刚体模型与前向运动学算法 [3] MIT C…

python版本的Selenium的下载及chrome环境搭建和简单使用

针对Python版本的Selenium下载及Chrome环境搭建和使用,以下将详细阐述具体步骤: 一、Python版本的Selenium下载 安装Python环境: 确保系统上已经安装了Python 3.8及以上版本。可以从[Python官方网站]下载并安装最新版本的Python,…

开源简史与概览

Think 1.论述“自由软件”与“开源软件”的区别与联系? 2.GitHub Trending 是一个能够快速找到有趣的新项目的地方;而 OpenLeaderboard 也是一个能够发现有趣而有影响力项目的地方。尝试从这两个网站中找到感兴趣的若干项目,挖掘并分析出上…

006-Jetpack Compose for Android之传感器数据

需求分析 想要看看手机的传感器数据,看看滤波一下能玩点什么无聊的。先搞个最简单的,手机本身的姿态。 需求:采集手机姿态数据,显示在界面上。 那么我们需要: 一个文本标签类似的控件,显示手机姿态数据…

单元测试入门和mockup

Java 新手入门:Java单元测试利器,Mock详解_java mock-CSDN博客 这个是典型的before when assert三段式,学一下单测思路 这个没有动态代理,所以是直接class(对比下面) Jmockit使用笔记_增加代码覆盖率_覆盖try catch_使用new Mock…

抢先体验:人大金仓数据库管理系统KingbaseES V9 最新版本 CentOS 7.9 部署体验

一、简介 KingbaseES 是中国人大金仓信息技术股份有限公司自主研发的一款通用关系型数据库管理系统(RDBMS)。 作为国产数据库的杰出代表,它专为中国市场设计,广泛应用于政府、金融、能源、电信等关键行业,以高安全性…

HT-HaiBOX边缘计算盒 智慧工厂方案,智慧医疗方案,智慧加油站方案,智慧安防方案,智慧城市方案;方案定制开发

背景介绍 在当今数字化时代,各个行业对于智能化视频监控设备的需求日益增长。无论是安防监控,还是智慧工厂、智慧城市等领域,都需要高效、智能的设备来保障安全和提高生产效率。然而,传统的视频监控设备存在诸多痛点:…

Unity中实现转盘抽奖效果(一)

实现思路: 旋转转盘的z轴,开始以角加速度加速到角速度最大值,结束的时候,以角加速度减速使角速度减少到0,然后转盘z轴旋转的角度就是加上每秒以角速度数值大小,为了使角度不能一直增大,对360度…

LockSupport的源码实现原理(一)

目录 底层源码分析 线程状态变化 许可证机制 中断处理 底层源码分析 public class LockSupport {// Unsafe实例private static final Unsafe U Unsafe.getUnsafe();// Thread对象中parkBlocker字段的偏移量private static final long PARKBLOCKER U.objectFieldOffset(Thre…

电子应用设计方案80:智能桌椅系统设计

智能桌椅系统设计 一、引言 智能桌椅系统旨在为用户提供更加舒适、便捷和个性化的使用体验,适应不同的工作和学习场景。 二、系统概述 1. 系统目标 - 实现桌椅高度、角度的自动调节,适应不同用户的身体尺寸和使用需求。 - 具备坐姿监测和提醒功能&…

【SpringBoot】深度解析 Spring Boot 拦截器:实现统一功能处理的关键路径

前言 🌟🌟本期讲解关于拦截器的详细介绍~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不多说…

网络渗透测试实验四:CTF实践

1.实验目的和要求 实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具…

计算机毕业设计Python+Spark考研预测系统 考研推荐系统 考研数据分析 考研大数据 大数据毕业设计 大数据毕设

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

2024年度总结:保持正念 延迟满足

总结: 时光荏苒,很快就到了年底,2024年也就悄悄的过去了,回顾这一年,有很多的感触,在此做一个总结,留下自己的脚印 CTF: 要总结的第一件事那当然是CTF,回顾这一年&#…

LeetCode - 初级算法 数组(存在重复元素)

存在重复元素 这篇文章讨论如何判断一个数组中是否存在重复元素。 免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 描述 给定一个整数数组 nums,如果任一值在数组中出现至少两次,返回 true;如果数组中每个元素互不相同,返回 false。 示例: 输入: nums =…

03-spring-理-DefaultListableBeanFactory

DefaultListableBeanFactory 是 beanFactory的实现 重要 有一些类被注解标注了。但是没有加入到容器。 怎么将标注的类加入到容器? 这个时候使用bean的后置处理器 主要是通过bean后置处理器来处理 被注解标注的类 org.springframework.context.annotation.inter…

绘制三元图、颜色空间图:R语言代码

本文介绍基于R语言中的Ternary包,绘制三元图(Ternary Plot)的详细方法;其中,我们就以RGB三色分布图为例来具体介绍。 三元图可以从三个不同的角度反映数据的特征,因此在很多领域都得以广泛应用;…

30天开发操作系统 第 10 天 -- 叠加处理

前言 得益于昨天的努力,我们终于可以进行内存管理了。不过仔细一看会注意到,bootpack.c都已经有254行了。笔者感觉这段程序太长了,决定整理一下,分出一部分到memory.c中去。(整理中)…好了,整理完了。现在bootpack.c变…

2024年RAG:回顾与展望

2024年,RAG(Retrieval-Augmented Generation)技术经历了从狂热到理性的蜕变,成为大模型应用领域不可忽视的关键力量。年初,AI的“无所不能”让市场充满乐观情绪,RAG被视为解决复杂问题的万能钥匙&#xff1…

鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表

鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表 前面完成了云数据库后台的商品批量添加,这里需要把数据放在分类导航页面中显示。 一、云前台显示商品列表 这里需要把商品列表显示在MyNavSliderBar的组件中,MyNavSliderBar组件是通过首页路由实现的,在项…