智能家居项目(六)之摄像头模块

news2024/11/16 14:58:32

目录

一、树莓派mipg-streamer实现监控功能调试

1、实现基本思路

2、安装摄像头模块

2.1、在安装sudo apt-get install libv4l-dev  的命令时报错

3、开启摄像头

以下内容是针对树莓派是stretch版本的修改办法:


一、树莓派mipg-streamer实现监控功能调试

1、实现基本思路

mipg-streamer是一个开源的摄像头媒体流,是通过本地获取摄像头的数据,通过HTTP通讯发出来,然后再通过浏览器去访问树莓派的IP地址和对应的端口号,就能看到视频流

2、安装摄像头模块

树莓派3B + Pi摄像头+mjpg-streamer安装

依次执行下列命令:

sudo apt-get update    #更新软件列表
sudo apt-get upgrade  #更新软件

sudo apt-get install libjpeg8-dev  #JPEG支持库
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev   #4l是小写"L"
sudo apt-get install cmake  #下载编译工具

sudo apt-get install git
git clone https://github.com/jacksonliam/mjpg-streamer.git

cd mjpg-streamer/mjpg-streamer-experimental #进入下载目录
make all  #编译
sudo make install #安装


2.1、在安装sudo apt-get install libv4l-dev  的命令时报错:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libv4l-dev : Depends: libv4l-0 (= 1.12.3-1) but 1.20.0-2 is to be installed
              Depends: libv4lconvert0 (= 1.12.3-1) but 1.20.0-2 is to be installed
              Depends: libv4l2rds0 (= 1.12.3-1) but 1.20.0-2 is to be installed
E: Unable to correct problems, you have held broken packages.

解决上述报错的办法:怀疑是树莓派现有的源和安装mipg-streamer所需要的源不匹配

(1)输入命令:lsb_release -a

(2)进入root模式,输入命令:sudo su

(3)输入命令:vim /etc/apt/sources.list

查看结果树莓派需要的源是bullseye,然而用的源是stretch ,需要更新树莓派的源,把上图中标注错误的源注释掉,把标注对号的源添加上

deb http://mirrors.aliyun.com/raspbian/raspbian/ bullseye  main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib rpi

温馨提示:

        树莓派3B及以上版本,用的源是bullseye

        树莓派3B以下版本,用的源是stretch

(4)然后退出root用户,输入命令:su pi

(5)重新更新软件列表及软件,然后按照第二步安装摄像头模块,重新再执行一遍即可

sudo apt-get update    #更新软件列表
sudo apt-get upgrade  #更新软件

(6)sudo make install #安装完的结果如下

温馨提示:因为是bullseye版的系统,所以没有input_raspicam.so文件

3、开启摄像头

(0)输入命令:

 sudo raspi-config 

(1)选择第三个 

 (2)选择第11个(最上面的)

 (3)选择Yes

 (4)点击OK

 (5)点击Finish

 (6)重启树莓派,输入命令:

sudo  reboot

(7)开启摄像头之后回到mjpg-streamer文件夹下,运行start.sh脚本,脚本运行成功后,可以看到摄像头上的一个小红灯会亮起来

./start.sh

(8)之后在浏览器中输入

http://树莓派IP:8080
例如:http://192.168.43.212:8080

(9)浏览器中查看效果如下:

以下内容是针对树莓派是stretch版本的修改办法:

若树莓派是stretch版本的,需要进入到start.sh脚本中,进入mjpg-streamer启动脚本文件

vi start.sh

修改文件:把原有的./input_uvc.so注释掉,换成./input_raspicam.so,然后再回到第三步开启摄像头

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

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

相关文章

有哪些前端面试题是必须要掌握的

对浏览器的缓存机制的理解 浏览器缓存的全过程: 浏览器第一次加载资源,服务器返回 200,浏览器从服务器下载资源文件,并缓存资源文件与 response header,以供下次加载时对比使用; 下一次加载资源时&#x…

Flow API搭建指南

搭建Flow API,首先需要安装知行之桥EDI系统,注意,Flow API为新增功能,仅在2022版本(8336)及以后支持,如果你发现正在使用的产品没有这个功能,可以在我们官网下载最新版本或者联系我们…

将企业文件共享解决方案与数据丢失防护配对

您的企业文件共享解决方案是否足够?企业文件共享解决方案已经是一种加密移动中敏感数据的好方法,但仅加密是不够的。 您能否确保不会意外传输敏感信息?您是否可以审核谁发送了什么?最后但并非最不重要的一点是,您是否…

【Autoware】2小时安装Autoware1.13(保姆级教程)

前言:ROS的出现使得机器人软件开发更加快速和模块化,在此基础上,Autoware.ai开源项目可以让我们很容易地将一套完整的自动驾驶软件部署到我们的测试车辆上,并见证它跑起来! 文章目录1.Autoware简介2.电脑软硬件配置要求…

爆肝更新 Python 100道基础入门练习题(附答案)

前言 大家早好、午好、晚好吖 ❤ ~ 更多精彩内容、资源皆可点击文章下方名片获取此处跳转 实例001:数字组合 题目: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分…

合宙入门教程之luat开发教程

合宙入门教程准备工作连接电脑建工程与烧录测试demo之main.lua实验现象准备工作 1.开发板(1块) 2.Luatools_v2.exe (烧录固件软件) 3.USB驱动 跳转合宙官网链接 连接电脑 1.首先安装合宙开发工具,其次安装USB驱动。…

【JAVA】一个项目如何预先加载数据?

这里写目录标题需求实现AutowiredPostConstruct实例CommandLineRunner实例ApplicationListener实例参考需求 一般我们可能会有一些在应用启动时加载资源的需求,局部或者全局使用,让我们来看看都有哪些方式实现。 实现 Autowired 如果是某个类里需求某…

山东大学机器学习期末2022

接力:山东大学机器学习期末2021 本来是不想写的,因为不想回忆起考试时啥也不会的伤痛,没想到最后给分老师海底捞,心情好了一些,还是一块写完 备考建议:多看ppt,多看ppt,多看ppt 山东…

关于 Android 线程优化这些知识你都该了解

前言在实际项目开发中会频繁的用到线程,线程使用起来是很简单,但是滥用线程会带来性能问题, 比如启动一个线程至少 占用16kb的内存、线程过多会导致cpu的频繁切换而cpu切换成本是很高的、消耗大量用户电量等问题, 所以应该让app的…

Set集合、HashSet集合、LinkedHashSet集合

1、Set集合的特点 无序,不重复、无索引 Set集合的方法上基本和Collection的API一致 2、Set集合的实现类特点 HashSet:无序、不重复、无索引 LinkedHashList:有序、不重复、无索引 TreeSet:可排序、不重复、无索引 public s…

taobao.fulfillment.order.assemble( 拆合单结果回传接口 )

¥免费必须用户授权 拆合单结果回传接口 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 响应参数 点击获取key和secret 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey, secr…

centos7合并home分区到root分区

最近在尝试通过物理机安装 CentOS,官方镜像默认安装时,如果没有手动分区,默认设置是会将 home 单独分区,系统分区默认为 50 GB,这里提供方法将 home 分区合并到 root 分区。 1.查看当前系统分区情况 输入命令&#x…

华为OD机试用Python实现 -【删除重复数字后的最大数字】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲删除重复数字后的最大数字题目输入输出示例一输入输出示例二输入输出Python 代码展示编码思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.ne…

RedisTemplate和StringRedisTemplate的区别

RedisTemplate和StringRedisTemplate的区别: 两者的关系是StringRedisTemplate继承RedisTemplate。两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。…

图解鼠标事件的 ScreenX ,LayerX,clientX,PageX,offsetX,X

前言: 完在上一篇文章 🎁如何实现原生 JS 的拖拽效果我中使用到了 MouseEvent 事件对象身上的 clienX 的属性,但同时我也注意到了事件对象身上关于 X 的相关属性还有很多,并且在移动端开发中,这些属性需要频繁的用到&a…

golang 实现链表爽不爽?

犹记得刚学 C 语言的时候,学到指针这一章,就会有让我们写链表的需求,头插法,尾插法,翻转链表,合并链表,约瑟夫环等等 学的不亦乐乎,但是 对于指针刚学的时候,真是摸不着…

DolphinDB实现动量交易策略详解

动量策略是最流行的量化策略之一。商品期货的CTA策略,绝大多数都是基于动量策略。在股票市场,动量策略也是常用的量化因子之一。通俗地讲,动量策略就是“追涨杀跌”。下面我们将介绍如何在DolphinDB中测试动量交易策略,并计算动量…

第三阶段04-同步请求和异步请求,get/post,Josn,pojo,Session/Cookie,过滤器Filter

文章目录同步请求和异步请求客户端如何发出异步请求自定义模板代码Get和Post请求异步版本的注册和登录商品管理系统(异步版本)商品列表步骤:前后端分离为什么需要前后端分离?为什么以后不再使用同步请求?JSONPOJO会话对象Session如何记住登录状态后端的MVC会话管理Cookie通过…

交叉编译 iceoryx

交叉编译 iceoryx 概述 iceoryx 是用于各种操作系统的进程间通信(IPC)中间件(目前支持 Linux、macOS、QNX、FreeBSD 和 Windows 10)。它起源于汽车行业,当涉及到驾驶员辅助或自动驾驶系统时,需要在不同的过…

一起来学 next.js - getStaticProps、getStaticPaths 篇

之前讲过 next.js 中的 getServerSideProps,今天来讲一讲另一个很类似的 API:getStaticProps,以及和 getStaticProps 紧密相关的 getStaticPaths。 getStaticProps 主要用于构建时落地一些静态数据,但不同于 getServerSideProps&…