今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)
本文我只是安装了OpenCv 4.6,但编译源码失败了!有关 OpenCv 部分仅做笔记暂存!
本人所用树莓派4B 装载的系统与版本如下:版本可用命令 (lsb_release -a) 查询:
系统时间自动更新_安装OpenCv_测试CSI摄像头_预装OpenCv的系统镜像分享(持续更新)
**本文测试摄像头方式:**是终端命令测试CSI摄像头
注意: 本文我测试的是CSI摄像头,不是USB摄像头!
**最后啰嗦一嘴:**Linux /Python有关的编程问题分享中 不事先说明 自己 系统镜像 环境变量 具体环境 就发教程的都是流氓!!!
目录
树莓派自动更新系统时间:
这是一个巨大的坑!
不更新系统时间 会导致很多问题报错,所以一定要设置好自动更新系统时间!
检查系统时间: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 updatesudo apt-get upgrade
增大可用内存空间:
pythonsudo raspi-config
然后重启树莓派:
安装Opencv、CMake、图像和视频库:
如果您手上树莓派下载的操作系统版本与我一致(文首有提示),你可以参考这个提示:
将每个命令都逐个复制去执行就好了,其中有俩行命令也许会报警告,不用管它即可!
最后一行有关python安装Opencv的命令,需要先检查自己的Python环境作相应修改:
python --version
pythonsudo 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
pythonsudo apt-get install libcanberra-gtk* sudo apt-get install libxvidcore-dev libx264-dev sudo apt-get install libgtk-3-dev
pythonsudo 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文件交给终端运行:
pythonimport cv2 print(cv2.__version__)
结果如下:
这里说明我是将这个脚本命名为Opencv_V.py了:
然后OpenCv的版本是4.6.0
以下步骤需要在OpenCv验证成功有版本号后进行:
下载OpenCv源码:
你也可以使用电脑加速GitHub 下载后 传给树莓派 对应目录(具体目录看下方命令1~2行)
这个源码版本要与你的OpenCv版本一致,因此上部分会去验证OpenCv安装!
以下命令逐行输入执行就好了!
pythoncd ~/ 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) 查询:
这部分写的时候并未自己实践过,慎看!
备份系统镜像目的:
- 数据安全与恢复 :
- 避免数据丢失:树莓派可能被用于各种项目,包括重要的数据库、网站服务器或自动化任务。备份镜像意味着在硬件故障、误操作或恶意攻击导致数据丢失时,可以快速恢复。
- 快速恢复:相比于重新安装操作系统和所有应用程序,从备份的镜像恢复可以节省大量时间。
- 迁移与复制 :
- 硬件更换:如果计划更换树莓派的硬件(如从较旧的型号升级到新的型号),使用备份的镜像可以确保在新的硬件上快速恢复相同的配置。
- 多设备部署:如果你有多个树莓派,并且希望它们都有相同的配置,使用备份的镜像可以方便地进行批量部署。
- 分享与学习 :
- 教程与示例:备份的镜像可以作为一个教程或示例,展示如何配置树莓派以完成特定任务。这对于学习和教学非常有用。
- 社区贡献:分享你的镜像到树莓派社区可以帮助其他用户更快地设置他们的项目,并可能激发新的想法和协作。
- 定制与优化 :
- 个性化配置:备份的镜像包含了你对树莓派的所有定制和优化,如特定的系统设置、优化的软件包或自定义的脚本。
- 节省时间:如果你经常需要为新的项目设置树莓派,并且每次都进行相同的定制和优化,备份的镜像可以节省大量时间。
- 故障排查与调试 :
- 重现问题:如果你遇到了一个难以解决的问题,并且怀疑是某个特定的配置或软件包引起的,你可以使用备份的镜像在另一个树莓派上重现问题,以便更容易地找到解决方案。
备份系统镜像步骤:
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博客