树莓派5开发板介绍
树莓派5(Raspberry Pi 5)是树莓派系列最新的开发板,相较于前几代产品,它在性能、连接性和功能方面都有了显著提升。以下是树莓派5的一些主要特点:
- 处理器:树莓派5搭载了Broadcom BCM2712 四核 Cortex-A76 处理器,时钟频率高达2.4GHz,比树莓派4提升了30%到40%的性能。
- 内存:可选4GB或8GB LPDDR4X-4266 SDRAM,提供更快的数据访问速度和更大的内存空间,适合多任务处理和更重的工作负载。
- 图形处理:集成了增强的VideoCore VII GPU,支持4K显示输出和更高的图形处理能力。
- 存储:树莓派5支持microSD卡作为主要存储方式,并增加了PCIe接口,支持更高速的SSD扩展。
- 连接性:
- 提供两个全尺寸HDMI 2.1接口,支持双4K显示输出。
- 千兆以太网接口,支持更快速和稳定的网络连接。
- USB接口:两个USB 3.0接口和两个USB 2.0接口。
- GPIO引脚:与前代保持一致的40针GPIO接口,方便进行各种电子项目开发。
- 电源管理:改进的电源管理芯片支持更高效的能耗控制和更精细的电源监控,采用USB-C接口供电(需要5V/3A)。
- 其他特色:集成了改进的冷却系统,减少了发热,同时提供更稳定的性能。
###一、 树莓派5的基本使用指南
以下是如何设置和使用树莓派5开发板的详细步骤:
1. 硬件准备
- 树莓派5开发板
- SD卡:建议至少32GB的容量和Class 10或更高的速度。
- 电源适配器:需要5V/3A的USB-C电源适配器。
- HDMI显示器和线缆:连接到显示器查看输出(树莓派5支持双4K显示,使用两个HDMI接口)。
- 键盘和鼠标:通过USB接口连接。
- 网络连接:通过以太网或Wi-Fi连接到互联网。
2. 安装Raspberry Pi OS (64-bit) with desktop
你需要在SD卡上安装树莓派的操作系统(Raspberry Pi OS 64位版本带桌面环境)。以下是详细步骤:
-
下载Raspberry Pi Imager:点击这里下载Raspberry Pi Imager 并根据你的操作系统(Windows、macOS、Linux)进行安装。
-
准备SD卡:将SD卡插入你的电脑(建议至少32GB)。
-
选择操作系统:
- 打开Raspberry Pi Imager,点击“Choose OS”,选择
Raspberry Pi OS (64-bit) with desktop
。
- 打开Raspberry Pi Imager,点击“Choose OS”,选择
-
选择SD卡:
- 点击“Choose Storage”,选择插入的SD卡。
-
写入操作系统:
- 点击“Write”按钮开始写入操作系统。这个过程可能需要几分钟。
-
插入SD卡并启动树莓派5:
- 将写入完成的SD卡插入树莓派5的SD卡槽。
- 连接键盘、鼠标、显示器和电源适配器,树莓派将自动启动并进入Raspberry Pi OS的设置界面。
3. 首次设置树莓派
-
树莓派启动后,系统会引导你完成初始设置,包括语言、时区、Wi-Fi网络等。
-
更新系统至最新版本。打开终端,运行以下命令:
sudo apt update sudo apt full-upgrade
这样可以确保你的系统和软件包都是最新的版本。
4. 安装常用软件和工具
树莓派支持多种开发环境和工具,你可以根据自己的需求安装所需的软件包。例如:
-
安装Python和pip:
sudo apt install python3 python3-pip
效果如下:
-
安装Node.js和npm:
sudo apt install nodejs npm
-
安装Git版本控制工具:
sudo apt install git
5. 开始你的项目
树莓派5适合多种开发和学习项目,你可以尝试以下方向:
- Python编程和自动化脚本:适合编写自动化脚本、数据处理或学习编程。
- 物联网和电子项目:利用树莓派的GPIO引脚连接传感器、LED、马达等硬件,开发各种创意项目。
- 搭建Web服务器:使用Flask、Django、Node.js等技术搭建本地或云端服务器。
- 机器学习和人工智能:在树莓派上运行轻量级的机器学习模型,进行图像识别或自然语言处理。
- 智能家居控制:使用Home Assistant等软件构建和管理智能家居设备。
6. 备份与恢复
建议定期备份你的SD卡数据以防丢失。你可以使用Raspberry Pi Imager的“Read”功能创建SD卡的镜像备份。
7. 获取更多资源和支持
- 官方文档:树莓派官方文档
- 社区论坛:Raspberry Pi Forums
- 在线教程和项目:网络上有丰富的教程、视频和项目资源可以帮助你更好地利用树莓派5。
二、实例-树莓派5上部署YOLOv10的步骤
以下是根据你指定的文件路径/home/pi/yolo
整理的在树莓派5上部署YOLOv10模型并进行图像检测测试的详细步骤。
我们将逐步创建YOLO项目文件夹,设置Python虚拟环境,安装所需库,下载YOLOv10模型文件,并编写Python脚本进行图像检测测试。
1. 创建YOLO文件夹并设置Python虚拟环境
首先,我们在/home/pi
目录下创建一个名为yolo
的文件夹,并在其中创建一个Python虚拟环境yolo_venv
来管理依赖。
打开终端并运行以下命令:
# 创建yolo项目文件夹
mkdir /home/pi/yolo
cd /home/pi/yolo
# 创建Python虚拟环境
python3 -m venv yolo_venv
# 激活虚拟环境
source yolo_venv/bin/activate
激活虚拟环境后,终端的提示符前将显示(yolo_venv)
,表示虚拟环境已激活。
如下图所示:
2. 安装所需的库
在虚拟环境中,我们需要安装YOLOv10所需的Python库。YOLOv10通常使用PyTorch进行深度学习计算,同时需要其他一些库进行图像处理和显示。
执行以下命令来安装所需的库:
# 更新pip
pip install --upgrade pip
# 安装PyTorch和TorchVision(请根据Raspberry Pi 5的ARM架构选择适合的版本)
pip install torch torchvision ultralytics
# 安装OpenCV用于图像处理
pip install opencv-python
# 安装其他常用库
pip install numpy matplotlib
若是网速慢,换成国内镜像源下载:
Python的国内安装源(也称为镜像源)
清华大学 TUNA 镜像源:
https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云镜像源:
https://mirrors.aliyun.com/pypi/simple/
华为云镜像源:
https://developer.huaweicloud.com/mirror/#/pypi_simple
豆瓣(DOUBAN)镜像源:
https://pypi.douban.com/simple/
中国科技大学镜像源:
https://pypi.mirrors.ustc.edu.cn/simple/
北京外国语大学镜像源:
https://pypi.mirrors.bfu.edu.cn/simple/
安装方式如下:
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
3. 下载YOLOv10m模型文件
我们需要从GitHub上下载YOLOv10m的权重文件yolov10m.pt
。这里使用wget
命令来下载模型文件。
运行以下命令:
# 下载YOLOv10m模型文件到yolo文件夹中
wget https://github.com/THU-MIG/yolov10/releases/download/v1.0/yolov10m.pt -P /home/pi/yolo
请确保该链接是有效的,并且可以访问以下载模型文件。
4. 编写Python脚本进行图像测试
在/home/pi/yolo
文件夹中,编写一个Python脚本来加载YOLOv10模型并对一张测试图片进行物体检测。我们将使用OpenCV来读取和显示图像。
在/home/pi/yolo
文件夹中创建一个名为yolo_test.py
的Python文件,并添加以下代码:
from ultralytics import YOLO
import cv2
# 加载YOLOv10m模型
model = YOLO("/home/pi/yolo/yolov10m.pt")
# 读取测试图像
image_path = '/home/pi/yolo/test.jpg' # 替换为你的测试图像路径
img = cv2.imread(image_path)
# 检查图像是否加载成功
if img is None:
print(f"Error: Unable to load image at {image_path}")
exit()
# 模型检测
results = model.predict(source=img) # 不使用show=True,因为我们将手动处理显示
# 提取检测结果并显示
for result in results:
# result.plot() 会返回带有绘制检测框的图像
annotated_img = result.plot()
# 使用OpenCV的imshow显示图像
cv2.imshow('YOLOv10 Detection', annotated_img)
# 按任意键继续
cv2.waitKey(0)
# 销毁所有窗口
cv2.destroyAllWindows()
# 保存检测结果图像
result.save(save_dir="/home/pi/yolo/results")
5. 准备测试图片
将你要测试的图片放在/home/pi/yolo
文件夹中,并确保文件名与脚本中的image_path
匹配(例如,使用test.jpg
作为文件名)。
6. 运行测试脚本
确保你仍然在虚拟环境中,并且当前路径是/home/pi/yolo
。然后运行以下命令来执行检测脚本:
python yolo_test.py
脚本会加载模型、处理图像,并输出检测结果。如果一切正常,你应该能看到控制台输出的检测信息以及检测框和标签的图像。
7. 检查输出结果
脚本会自动显示检测结果图像,并在/home/pi/yolo
目录中保存检测后的图像文件。你可以查看输出的图像以验证检测效果。
代码详解:
解释
-
加载模型和图像:和之前一样,加载YOLOv10模型和测试图像。
-
模型预测:
- 使用
model.predict(source=img)
来进行检测。 - 这里没有使用
show=True
,因为我们将手动处理图像显示。
- 使用
-
显示结果图像:
- 使用
result.plot()
函数获取带有检测框的图像,这样图像会自动包含检测框和标签。 - 使用
cv2.imshow('YOLOv10 Detection', annotated_img)
来显示带注释的图像。 - 使用
cv2.waitKey(0)
等待用户按任意键关闭图像窗口,然后使用cv2.destroyAllWindows()
销毁所有窗口。
- 使用
-
保存结果:继续使用
result.save(save_dir="/home/pi/yolo/results")
保存检测后的图像文件。
运行脚本
确保你的图片(如test.jpg
)位于/home/pi/yolo
文件夹中,然后运行以下命令:
python yolo_test.py
注意事项
- 在树莓派上使用
cv2.imshow()
时,确保你连接了显示器或者在具有桌面环境的情况下运行。如果在无头模式下(没有连接显示器)运行,则可能会导致错误。 cv2.imshow()
窗口在执行过程中会冻结脚本,直到检测到按键输入(cv2.waitKey(0)
)),这点在自动化批处理时需要注意。
通过这些更新,你可以使用 OpenCV 的 imshow()
来实时显示 YOLOv10 的检测结果。
下面是我使用MobaXterm软件-进行ssh远程连接测试,效果如下:
总结
通过上述步骤,你已经成功在树莓派5的Raspberry Pi OS上设置了YOLOv10环境,并使用它进行了简单的物体检测测试。如果需要更高效的推理性能,可以考虑优化模型或者利用GPU加速。