树莓派5开发板-安装Raspberry Pi系统-学习记录1

news2024/11/9 2:37:31

树莓派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位版本带桌面环境)。以下是详细步骤:

  1. 下载Raspberry Pi Imager:点击这里下载Raspberry Pi Imager 并根据你的操作系统(Windows、macOS、Linux)进行安装。

  2. 准备SD卡:将SD卡插入你的电脑(建议至少32GB)。

  3. 选择操作系统

    • 打开Raspberry Pi Imager,点击“Choose OS”,选择Raspberry Pi OS (64-bit) with desktop
    • 在这里插入图片描述
  4. 选择SD卡

    • 点击“Choose Storage”,选择插入的SD卡。
  5. 写入操作系统

    • 点击“Write”按钮开始写入操作系统。这个过程可能需要几分钟。
  6. 插入SD卡并启动树莓派5

    • 将写入完成的SD卡插入树莓派5的SD卡槽。
    • 连接键盘、鼠标、显示器和电源适配器,树莓派将自动启动并进入Raspberry Pi OS的设置界面。
3. 首次设置树莓派
  1. 树莓派启动后,系统会引导你完成初始设置,包括语言、时区、Wi-Fi网络等。

  2. 更新系统至最新版本。打开终端,运行以下命令:

    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目录中保存检测后的图像文件。你可以查看输出的图像以验证检测效果。

代码详解:

解释

  1. 加载模型和图像:和之前一样,加载YOLOv10模型和测试图像。

  2. 模型预测

    • 使用 model.predict(source=img) 来进行检测。
    • 这里没有使用 show=True,因为我们将手动处理图像显示。
  3. 显示结果图像

    • 使用 result.plot() 函数获取带有检测框的图像,这样图像会自动包含检测框和标签。
    • 使用 cv2.imshow('YOLOv10 Detection', annotated_img) 来显示带注释的图像。
    • 使用 cv2.waitKey(0) 等待用户按任意键关闭图像窗口,然后使用 cv2.destroyAllWindows() 销毁所有窗口。
  4. 保存结果:继续使用 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加速。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何基于gpt模型抢先打造成功的产品

来自:Python大数据分析 费弗里 ChatGPT、gpt3.5以及gpt4,已然成为当下现代社会中几乎人尽皆知的话题,而当此种现象级产品引爆全网,极大程度上吸引大众注意力的同时,有一些嗅觉灵敏的人及时抓住了机会,通过快…

【FreeRL】我的深度学习库构建思想

文章目录 前言参考python环境效果已复现结果 综述DQN.py(主要)算法实现参数修改细节实现显示训练,保存训练 Buffer.pyevaluate.pylearning_curves 前言 代码实现在:https://github.com/wild-firefox/FreeRL 欢迎star 参考 动手学强化学习e…

Coggle数据科学 | 小白学 RAG:Milvus 介绍与使用教程

本文来源公众号“Coggle数据科学”,仅用于学术分享,侵权删,干货满满。 原文链接:小白学 RAG:Milvus 介绍与使用教程 什么是Milvus? Milvus 是一款高性能、高扩展性的开源向量数据库,专为处理…

【阿一网络安全】如何让你的密码更安全?(三) - 散列函数

散列函数 散列函数(Hash Function,又称散列算法、哈希函数),是一种从任何一种数据中创建小的数字指纹的方法。 散列值 散列函数,把任意长的消息明文,压缩成摘要,使得数据量变小,将…

[数据集][目标检测]脊椎检测数据集VOC+YOLO格式1137张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1137 标注数量(xml文件个数):1137 标注数量(txt文件个数):1137 标注…

SpringBoot2:web开发常用功能实现及原理解析-上传与下载

文章目录 一、上传文件1、前端上传文件给Java接口2、Java接口上传文件给Java接口 二、下载文件1、前端从Java接口下载文件2、Java接口调用Java接口下载文件 一、上传文件 1、前端上传文件给Java接口 Controller接口 此接口支持上传单个文件和多个文件,并保存在本地…

基于小程序的教学辅助微信小程序设计+ssm(lw+演示+源码+运行)

教学辅助微信小程序 摘 要 随着移动应用技术的发展,越来越多的学生借助于移动手机、电脑完成生活中的事务,许多的传统行业也更加重视与互联网的结合,由于学生学习的压力越来越大,教学辅助是一个非常不错的教育平台,对…

人工智能(AI)领域各方向顶会和顶刊

在人工智能(AI)这个快速发展的领域,研究人员和从业者需要紧跟最新的研究动态和技术进展。顶级的会议和期刊是获取最新科研成果和交流思想的重要平台。以下是人工智能领域内不同方向的顶级会议和期刊概览。 顶级会议 人工智能基础与综合 A…

客厅无主灯设计:灯位布局与灯光灯具的和谐搭配

在现代家居设计中,客厅作为家庭活动的中心区域,其照明设计的重要性不言而喻。无主灯设计以其灵活多变、氛围营造独特的优势,逐渐成为客厅照明的热门选择。然而,如何合理规划灯位布局,并科学搭配灯光与灯具,…

20240913 每日AI必读资讯

AMD死战CUDA:我是一家软件公司 - AMD重大改变:重心将从硬件开发转向强调软件开发、API 和 AI 体验。 - 软件工程团队规模扩大了三倍,并且全力以赴投入软件开发 - AMD将自家已有5年历史的图形架构RDNA、计算架构CDNA重新整合在一起&#xf…

计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

2024年9月13日 十二生肖 今日运势

小运播报:2024年9月13日,星期五,农历八月十一 (甲辰年癸酉月庚辰日),法定工作日。 红榜生肖:猴、鼠、鸡 需要注意:牛、兔、狗 喜神方位:西北方 财神方位:…

windows10通过coursier安装scala

第一步:安装Java 参考菜鸟教程安装Java: https://www.runoob.com/java/java-environment-setup.html#win-install 第二步:安装coursier 进入https://www.scala-lang.org/download/ 如下图所示: 第三步、确定jdk对应的scala版本…

小琳AI课堂:MASS模型——革新自然语言处理的预训练技术

大家好,这里是小琳AI课堂。今天我们来聊聊一个在自然语言处理(NLP)领域非常热门的话题——MASS模型,全称是Masked Sequence to Sequence Pre-training for Language Generation。这是华为诺亚方舟实验室在2019年提出的一种创新模型…

cpp-httplib的下载和使用

cpp-httplib的下载和使用 1.httplib 简介2. httplib 使用2.1 协议接口2.2 双端接口2.3 实际使用 3. 对Server中的Handler回调函数进行分析4. 最后 1.httplib 简介 cpp-httplib(也称为 httplib)是一个基于 C 的轻量级 HTTP 框架,它提供了简单…

统一建模语言UML之类图(Class Diagram)(表示|关系|举例)

文章目录 1.UML2.Class Diagram2.1 类图的表示2.2 类间的关系2.2.1 关联2.2.2 聚合2.2.3 组合2.2.4 泛化(继承)2.2.5 实现(接口实现)2.2.6 依赖 2.3 类图的作用 参考:Class Diagram | Unified Modeling Language (UML)…

2024/9/12 数学“回头看”之R(a)与R(a※)、分布函数、概率密度的特点

注意!这是充分必要条件。 分布函数性质 概率密度性质:

如何使用Jmeter关联influxDB?

一、添加"添加后端监听器" 二、后端监听器实现选择,"org. apache. jmeter. visualizers. backend. influxdb.InfluxdbBackendlistenerClient" 三、修改"influxdbUrl:自己的主机、application:取一个项目名" 四、influxDB&…

SAP B1 学习笔记 - 易混淆字段名(持续更新中)

背景 在 SAP B1 的单据中,由于同一单据时常对应着多个后台表单,且后台表单内包含的字段信息往往远大于单据显示出来的,在配置时经常出现多个字段混淆、无系统信息提示字段名模糊的情况,这里总结常见的易混淆难查找的后台字段名。…

【MySQL】MySQL表的增删改查(进阶篇)——之查询操作(超级详解)

前言: 🌟🌟本期讲解关于MySQL表增删查改进阶篇,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/8SiWF 🌈感兴趣的小伙伴看一看小编主页:http://t.csdnimg.cn/8SiWF ​…