树莓派4B 学习笔记3: 系统自动更新时间_测试CSI摄像头_安装OpenCv_4.6(未成功编译源码)_备份树莓派镜像

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)

本文我只是安装了OpenCv 4.6,但编译源码失败了!有关 OpenCv 部分仅做笔记暂存!

本人所用树莓派4B 装载的系统与版本如下:

 

版本可用命令 (lsb_release -a) 查询:

系统时间自动更新_安装OpenCv_测试CSI摄像头_预装OpenCv的系统镜像分享(持续更新)

本文测试摄像头方式:是终端命令测试CSI摄像头

注意:       本文我测试的是CSI摄像头,不是USB摄像头!

最后啰嗦一嘴:  Linux /Python有关的编程问题分享中 不事先说明 自己 系统镜像 环境变量 具体环境 就发教程的都是流氓!!!

目录

树莓派自动更新系统时间:

终端命令测试CSI摄像头:

安装libcamera及其相关工具:

使用libcamera-hello命令测试摄像头:

安装OpenCv提示:

安装最新固件支持:

增大可用内存空间: 

安装Opencv、CMake、图像和视频库:

安装GStreamer:

验证GStreamer安装:

验证OpenCv的安装:

下载OpenCv源码: 

编译OpenCv源码:

备份树莓派镜像(这部分很水):

 备份系统镜像目的:

备份系统镜像步骤:

网上学习资料网址:


树莓派自动更新系统时间:

这是一个巨大的坑!

不更新系统时间  会导致很多问题报错,所以一定要设置好自动更新系统时间!

 检查系统时间:

sudo date  

 安装网络时间协议客户端,自动与网络时间服务器同步:

sudo apt install ntp   

终端命令测试CSI摄像头:

有许多网络上的教学他人使用:sudo raspi-config 来打开摄像头(如下图):

但2023年的树莓派新系统是基于debian12开发的,并且去除了picamera这个库.

所以并不能通过interface options这里来打开camera.

安装libcamera及其相关工具:

sudo apt install libcamera-apps libcamera-tools

使用libcamera-hello命令测试摄像头:

libcamera-hello

注意:

如果你使用的是SSH远程连接树莓派,可能会遇到无法运行的问题。

可以尝试直接连接显示屏和键盘,或者使用VNC远程登录来运行该命令。 

安装OpenCv提示:

 本文我只是安装了OpenCv 4.6,但编译源码失败了!有关 OpenCv 部分仅做笔记暂存!

安装最新固件支持:

执行下文的命令行进行下载并安装最新的内核,GPU 固件及应用程序。需要连接到互联网

sudo apt-get update
sudo apt-get upgrade

增大可用内存空间: 

sudo raspi-config


然后重启树莓派:

安装Opencv、CMake、图像和视频库:

如果您手上树莓派下载的操作系统版本与我一致(文首有提示),你可以参考这个提示:

将每个命令都逐个复制去执行就好了,其中有俩行命令也许会报警告,不用管它即可!

最后一行有关python安装Opencv的命令,需要先检查自己的Python环境作相应修改:

python --version
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install libcanberra-gtk*
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo python3.7 -m pip install opencv-python

但我最后一行是这俩句命令:

sudo apt update  
sudo apt install python3-opencv

安装GStreamer:

(这是为了以后使用USB摄像头做的准备,CSI摄像头用不到)

sudo apt-get update  
sudo apt-get install gstreamer1.0-tools  
sudo apt-get install libgstreamer1.0-0 libgstreamer1.0-dev  
sudo apt-get install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly  
# 如果需要处理音频,还可以安装音频相关的插件  
sudo apt-get install gstreamer1.0-alsa

验证GStreamer安装:

GStreamer是否安装成功,并且不关心具体的插件列表

which gst-inspect-1.0

GStreamer是否安装成功,并且关心具体的插件列表:

gst-inspect-1.0

验证OpenCv的安装:

Python脚本如下:保存为.py文件交给终端运行:

import cv2  print(cv2.__version__)

结果如下:

这里说明我是将这个脚本命名为Opencv_V.py了:

然后OpenCv的版本是4.6.0

以下步骤需要在OpenCv验证成功有版本号后进行:

下载OpenCv源码: 

你也可以使用电脑加速GitHub 下载后 传给树莓派 对应目录(具体目录看下方命令1~2行)

这个源码版本要与你的OpenCv版本一致,因此上部分会去验证OpenCv安装!

以下命令逐行输入执行就好了!

cd ~/
mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.6.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.6.0.zip

为了稳定军心,还是将我的实际操作贴出截图吧:

编译OpenCv源码:

我是止步于此了...

备份树莓派镜像(这部分很水):

 本人所用树莓派4B 装载的系统与版本如下:

 版本可用命令 (lsb_release -a) 查询:

这部分写的时候并未自己实践过,慎看!

 备份系统镜像目的:

  1. 数据安全与恢复
    • 避免数据丢失:树莓派可能被用于各种项目,包括重要的数据库、网站服务器或自动化任务。备份镜像意味着在硬件故障、误操作或恶意攻击导致数据丢失时,可以快速恢复。
    • 快速恢复:相比于重新安装操作系统和所有应用程序,从备份的镜像恢复可以节省大量时间。
  2. 迁移与复制
    • 硬件更换:如果计划更换树莓派的硬件(如从较旧的型号升级到新的型号),使用备份的镜像可以确保在新的硬件上快速恢复相同的配置。
    • 多设备部署:如果你有多个树莓派,并且希望它们都有相同的配置,使用备份的镜像可以方便地进行批量部署。
  3. 分享与学习
    • 教程与示例:备份的镜像可以作为一个教程或示例,展示如何配置树莓派以完成特定任务。这对于学习和教学非常有用。
    • 社区贡献:分享你的镜像到树莓派社区可以帮助其他用户更快地设置他们的项目,并可能激发新的想法和协作。
  4. 定制与优化
    • 个性化配置:备份的镜像包含了你对树莓派的所有定制和优化,如特定的系统设置、优化的软件包或自定义的脚本。
    • 节省时间:如果你经常需要为新的项目设置树莓派,并且每次都进行相同的定制和优化,备份的镜像可以节省大量时间。
  5. 故障排查与调试
    • 重现问题:如果你遇到了一个难以解决的问题,并且怀疑是某个特定的配置或软件包引起的,你可以使用备份的镜像在另一个树莓派上重现问题,以便更容易地找到解决方案。

备份系统镜像步骤:

git clone https://github.com/nanhantianyi/rpi-backup.git && cd rpi-backup

然后输入第二条指令就能进行备份了:

其中的 pibackup 可以改为其余名称

sudo ./back.sh pibackup.img

感觉这种方法是要保证SD卡容量足够大的.....

另外还看到过使用Win32DiskImager软件全量备份的,但大小到达了接近30G,也就是她将你的未使用的内存也一起进行备份了.....

还见过安装Ubuntu虚拟机备份的,也是十分麻烦......

网上学习资料网址:

树莓派各个系统简单介绍:

如何选择适合自己的树莓派系统_ubuntu_树莓派大佬-华为云开发者联盟

最简单的树莓派安装opencv教程_哔哩哔哩_bilibili

关于树莓派在interface options中找不到camera的情况_树莓派interface没有相机-CSDN博客

 在树莓派部署Yolov5_yolov5树莓派部署-CSDN博客

树莓派4B 安装opencv 及实时人脸检测-raspberry pi OS version : 2021/10/30 , Based on Debian version 11 (bullseye) 

https://zhuanlan.zhihu.com/p/435583767

树莓派系统压缩备份实操_如何备份树莓派系统-CSDN博客

制作树苺派/香橙派(orangepi) SD卡备份镜像_树苺派系统备份与还原_orange pi 香橙派emmc系统备份方法-CSDN博客

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

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

相关文章

【记录】打印|用浏览器生成证件照打印PDF,打印在任意尺寸的纸上(简单无损!)

以前我打印证件照的时候,我总是在网上找在线证件照转换或者别的什么。但是我今天突然就琢磨了一下,用 PDF 打印应该也可以直接打印出来,然后就琢磨出来了,这么一条路大家可以参考一下。我觉得比在线转换成一张 a4 纸要方便的多&am…

基于PHP+MySQL组合开发的720VR全景小程序源码系统 一键生成三维实景 前后端分离带网站的安装代码包以及搭建教程

系统概述 这款源码系统是专门为实现 720VR 全景展示而设计的。它结合了先进的技术和创新的理念,能够将真实场景以全景的形式呈现给用户,让用户仿佛身临其境。该系统采用 PHP 进行后端开发,MySQL 作为数据库管理系统,确保了系统的…

SAP PP学习笔记14 - MTS(Make-to-Stock) 按库存生产(策略10),以及生产计划的概要

上面讲了SAP里面的基础知识,BOM,作业手顺(工艺路线),作业区(工作中心),MRP,MPS等概念,现在该到用的时候了。 SAP PP学习笔记07 - 简单BOM,派生BO…

17、Spring系列-SpringMVC-请求源码流程

前言 Spring官网的MVC模块介绍: Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块的名称(spring-webmvc),但它通常被称为“ Spring MVC…

【C++奇妙冒险】日期类Date的实现

文章目录 前言日期类Date的接口设计构造函数和打印函数获取日期并判断日期是否合法日期类的大小比较关系<运算符重载 判断小于运算符重载 判断相等<运算符重载 判断小于等于>运算符重载 判断大于> 运算符重载 判断大于等于! 运算符重载 不等于 日期类计算日期天数日…

C++ 的 Tag Dispatching(标签派发) 惯用法

目录 1.概述 2.标准库中的例子 3.使用自己的 Tag Dispatching 3.1.使用 type traits 技术 3.2.使用 Type_2_Type 技术 4.Tag Dispatching的使用场景 5.总结 1.概述 一般重载函数的设计是根据不同的参数决定具体做什么事情&#xff0c;编译器会根据参数匹配的原则确定正确…

数据库之函数、存储过程

函数、存储过程 1.函数 函数&#xff0c;常用于对一个或多个输入参数进行操作&#xff0c;主要目的是返回一个结果值&#xff0c;就是一种方法&#xff0c;在postgre里存放的位置叫function&#xff0c;比如创建一个计算长方面积的函数。 举例&#xff1a;建立一个计算长方形…

基于GTX 8B10B编码的自定义PHY接收模块(高速收发器十三)

点击进入高速收发器系列文章导航界面 前文完成了发送模块的设计&#xff0c;本文接着完成接收模块的设计&#xff0c;接收模块相对发送模块会更加麻烦。 1、设计思路 前文在讲解官方示例工程时&#xff0c;提到GTX IP的接收部分没有做字对齐&#xff0c;需要用户自己编写字对齐…

---初始Linux---

一、认识计算机 计算机 硬件 软件 硬件&#xff1a;就是计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称&#xff08;CPU\GPU\...&#xff09; 软件&#xff1a;是用户和计算机硬件之间及进行交流的工具 然而一个简单的计算机或者说基本的计算机就是有两大…

Android开机动画,framework修改Bootanimation绘制文字。

文章目录 Android开机动画&#xff0c;framework修改Bootanimation动画绘制文字。 Android开机动画&#xff0c;framework修改Bootanimation动画绘制文字。 frameworks/base/cmds/bootanimation/bootanimation.cpp 绘制时间的一个方法 // We render 12 or 24 hour time. void…

Linux 僵尸进程和孤儿进程

一.Z(zombie)-僵尸进程 1.僵死状态&#xff08;Zombies&#xff09;是一个比较特殊的状态。当进程退出并且父进程&#xff08;使用wait()系统调用后&#xff09;没有读取到子进程退出的返回代码时就会产生僵死(尸)进程 2.僵死进程会以终止状态保持在进程表中&#xff0c;并且会…

Spring 中如何控制 Bean 的加载顺序?

如果你脱口而出说添加 Order 注解或者是实现 Ordered 接口&#xff0c;那么恭喜&#xff0c;你掉坑了。 一 Order 注解和 Ordered 接口 在 Spring 框架中&#xff0c;Order 是一个非常实用的元注解&#xff0c;它位于 spring-core 包下&#xff0c;主要用于控制某些特定上下文…

SQL实验 带函数查询和综合查询

一、实验目的 1&#xff0e;掌握Management Studio的使用。 2&#xff0e;掌握带函数查询和综合查询的使用。 二、实验内容及要求 1&#xff0e;统计年龄大于30岁的学生的人数。 --统计年龄大于30岁的学生的人数。SELECT COUNT(*) AS 人数FROM StudentWHERE (datepart(yea…

小公司的软件开发IT工具箱

目录 工具链困境 难题的解决 达到的效果 资源要求低 工具箱一览 1、代码管理工具 2、自动化发版&#xff08;测试&#xff09;工具 3、依赖库&#xff08;制品包&#xff09;管理 4、镜像管理 5、授权管理&#xff08;可选&#xff09; 待讨论&#xff1a;为什么不是…

基于全志T507-H的Linux-RT实时性测试案例分享

本文将为各位工程师演示全志T507-H工业评估板&#xff08;TLT507-EVM&#xff09;基于IgH EtherCAT控制伺服电机方法&#xff0c;生动说明Linux-RT Igh EtherCAT的强大之处&#xff01; Linux-RT系统的优势 内核开源、免费、功能完善。 RT PREEMPT补丁&#xff0c;使Linux内…

【Qt】对话框

文章目录 1 :peach:对话框介绍:peach:2 :peach:对话框的分类:peach:2.1 :apple:模态对话框:apple:2.2 :apple:非模态对话框:apple:2.3 :apple:混合属性对话框:apple: 3 :peach:Qt 内置对话框:peach:3.1 :apple:消息对话框 QMessageBox:apple: 1 &#x1f351;对话框介绍&#x…

AK F.*ing leetcode 流浪计划之费马小定理与组合数取模

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 费马小定理与证明 参考 https://zhuanlan.zhihu.com/p/594859227 费马小定理&#xff1a;如果p是一个质数&#xff0c;而正整数a不是p的倍数&#xff0c;那么a(p-1)≡…

LabVIEW齿轮调制故障检测系统

LabVIEW齿轮调制故障检测系统 概述 开发了一种基于LabVIEW平台的齿轮调制故障检测系统&#xff0c;实现齿轮在恶劣工作条件下的故障振动信号的实时在线检测。系统利用LabVIEW的强大图形编程能力&#xff0c;结合Hilbert包络解调技术&#xff0c;对齿轮的振动信号进行精确分析…

opensips 3.5的DB部署

opensips 3.X的DB部署方式较之前版本有很大的不同。本文以opensips 3.5 为例&#xff0c;说明部署的过程。 当OpenSIPS安装完成后&#xff0c;需要进一步做什么&#xff1f;最大的可能就是部署配套的DB。因为很多功能离不开它&#xff0c;比如用户鉴权、注册信息持久化、dialog…

MySQL学习——影响选项文件处理的命令行选项和程序选项修改器

大多数支持选项文件的MySQL程序都处理以下选项。因为这些选项会影响选项文件的处理&#xff0c;所以必须在命令行上给出&#xff0c;而不是在选项文件中给出。为了正常工作&#xff0c;这些选项中的每一个都必须先于其他选项给出&#xff0c;但以下情况除外&#xff1a; -prin…