树莓派从开机到安装Opencv

本文详细记录了树莓派4B从硬件准备到安装OpenCV的全过程,包括SD卡格式化、烧录系统、SSH配置、远程桌面设置以及Python环境和OpenCV的安装。通过此教程,读者可以学会如何远程控制和配置树莓派,以进行颜色识别和二维码识别等应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文使用的树莓派为树莓派4b,使用树莓派主要是为了用python做颜色识别和二维码识别。到开始做到写这篇文件花了相当久的时间,虽然看了很多文章,但总有一些问题,不只是树莓派系统版本的问题,还有无法正常安装Opencv。本文更多的是记录一些自己的操作。


一、硬件准备

需要准备树莓派、SD卡、读卡器、电源、电脑。
当然SD卡可以先下好树莓派的系统(我用的可能有点老,但比较稳)。
使用系统为2019-09-26-raspbian-buster.img

二、软件准备

SD卡格式化工具、镜像烧录工具、局域网IP扫描器(例如Advanced IP Scanner)、文本编辑器notepad++ npp(或者写字板)、远程ssh工具 putty、远程桌面软件 VNC-Viewer。

1.SD卡格式化工具和镜像烧录工具有多种选择,选择一个好用的就可以了。
SD卡格式化工具:SDFormatter、DiskGenius
在这里插入图片描述
在这里插入图片描述

镜像烧录工具:Win32 磁盘映像工具、balenaEtcher
在这里插入图片描述
在这里插入图片描述

2.局域网IP扫描器:用来查找树莓派IP地址,只要能查到可以不使用这个。树莓派IP不是不变的,当长时间没连接上树莓派时可以注意IP地址的改变。
在这里插入图片描述

3.文本编辑器notepad++ npp(或者写字板)是接下来打开文件使用的,一般电脑都自带的,实在不行可以用记事本打开。

4.远程ssh工具 putty:一般我们采用SSH来连接树莓派,也支持使用Serial串口连接。
在这里插入图片描述
5.远程桌面软件 VNC-Viewer:可以远程控制树莓派,我没有给树莓派接屏幕,直接将自己的笔记本电脑当做树莓派屏幕来控制树莓派,这样比较方便简单。
在这里插入图片描述

三、具体操作

1.格式化和烧录

首先利用格式化工具将要使用的SD卡格式化(新SD卡可以直接用),防止里面残留其他东西,一次不行可以多来几次。
接着用镜像烧录工具将光盘映像烧录到SD卡中。

2.SSH配置和远程桌面配置

在SD卡boot盘中添加两个文件(可以直接新建,要去掉后缀):ssh和wpa_supplicant.conf
①打开BOOT盘(烧写好的SD卡),在根目录新建文件,命名为ssh(无后缀);这样就默认打开了SSH通道;
②同样在BOOT盘根目录,新建文件,命名为 wpa_supplicant.conf
前者是使树莓派开机时允许ssh协议远程通讯,后者是树莓派的WiFi配置文件,记得在后面的文件中输入WiFi名字、密码、以及WiFi优先级。之后就是将树莓派插上电源开机。(下图为WiFi配置文件中的程序):

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
   
   
	ssid="rich"
	psk
### 树莓派 OpenCV 开机自启动配置方法 为了使树莓派上的 OpenCV 程序能够开机自动启动,可以采用多种方式来实现。以下是基于引用中的两种主要方法进行说明。 #### 方法一:通过 `rc.local` 添加启动项 可以在 `/etc/rc.local` 文件中添加启动命令,使得程序在系统初始化完成后执行。具体操作如下: 1. 编辑 `/etc/rc.local` 文件: ```bash sudo nano /etc/rc.local ``` 2. 在文件中添加以下内容(假设 Python 脚本路径为 `/home/pi/my_opencv_program.py`): ```bash python3 /home/pi/my_opencv_program.py & ``` 3. 保存并退出编辑器,重启树莓派验证效果: ```bash sudo reboot ``` 这种方法简单易用,但需要注意的是,在某些较新的 Raspbian 版本中,默认情况下可能未启用 `rc.local` 功能[^1]。如果发现此方法失效,则需手动激活该功能。 --- #### 方法二:创建桌面启动应用 利用 Linux 的 `.desktop` 文件机制,可以通过定义应用程序的方式让脚本随用户登录而启动。这是较为推荐的一种方式,尤其适用于带有 GUI 的 OpenCV 应用场景。 1. 创建一个新的 `.desktop` 文件: ```bash nano ~/.config/autostart/opencv.desktop ``` 2. 填写以下内容: ```ini [Desktop Entry] Name=OpenCV Program Type=Application Exec=python3 /home/pi/my_opencv_program.py Terminal=false X-GNOME-Autostart-enabled=true ``` 3. 确保权限正确: ```bash chmod +x ~/.config/autostart/opencv.desktop ``` 4. 重新启动设备以生效: ```bash sudo reboot ``` 这种方式特别适合于需要图形界面支持的应用程序,并且不会占用终端窗口资源[^2]。 --- #### 方法三:使用 Systemd 服务管理 对于更复杂的项目或者希望完全脱离当前会话运行的情况,建议将程序注册为 systemd 服务。 1. 创建一个新的 service 文件: ```bash sudo nano /etc/systemd/system/opencv.service ``` 2. 输入以下内容: ```ini [Unit] Description=Start OpenCV Application at Boot After=network.target [Service] User=pi Group=pi WorkingDirectory=/home/pi/ ExecStart=/usr/bin/python3 /home/pi/my_opencv_program.py Restart=always [Install] WantedBy=multi-user.target ``` 3. 启用并启动服务: ```bash sudo systemctl enable opencv.service sudo systemctl start opencv.service ``` 4. 查看状态确认正常工作: ```bash sudo systemctl status opencv.service ``` Systemd 是现代 Linux 发行版的标准工具之一,具有强大的日志记录和错误恢复能力,因此非常适合长期稳定运行的任务[^1]。 --- ```python import cv2 def main(): cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if not ret: break cv2.imshow('Camera', frame) key = cv2.waitKey(1) & 0xFF if key == ord('q'): break cap.release() cv2.destroyAllWindows() if __name__ == "__main__": main() ``` 以上是一个简单的 OpenCV 摄像头捕获示例代码片段,可以根据实际需求调整逻辑后部署到树莓派上。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CangYan08

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值