2. 开发环境搭建:树莓派系统烧录、SSH远程连接、配置Python虚拟环境、安装OpenCV与PyTorch

说实话,环境搭建这一步,劝退了很多人。

我见过不少同学,模型训练得挺好,一到树莓派上就卡住——系统起不来、SSH连不上、OpenCV编译半天报错。其实说白了,只要把流程理顺,按部就班来,半小时就能搞定。

这一章,我就带你走一遍我自己的标准流程。每一步都是我在项目里踩过坑之后沉淀下来的。

本章核心目标:让树莓派变成一个能跑YOLO模型的AI推理节点。你需要完成:系统烧录 → 远程连接 → Python环境隔离 → 安装OpenCV和PyTorch。

开发环境搭建流程 系统烧录 Raspberry Pi OS SSH远程连接 无线/有线 Python虚拟环境 venv / conda OpenCV + PyTorch 推理环境就绪 💡 为什么是这个顺序? 系统烧录是基础,没有操作系统什么都干不了。 SSH连接让你摆脱显示器和键鼠,远程操作更高效。 虚拟环境隔离项目依赖,避免Python包冲突。 最后安装OpenCV和PyTorch,推理环境就绪。

2.1 树莓派系统烧录

我个人习惯用 Raspberry Pi Imager 来烧录系统。它官方出品,操作简单,还内置了SSH和WiFi配置选项——这个功能太实用了。

你想想看,以前烧完系统还得插显示器、接键盘去配网络。现在Imager直接帮你写好配置文件,插电就能SSH连上。

烧录步骤

  1. 下载Raspberry Pi Imager(官网就有,Windows/Mac/Linux都支持)
  2. 选择操作系统:我推荐 Raspberry Pi OS (64-bit) Lite——不带桌面环境,省资源。如果你需要调试画面,可以选带桌面的版本。
  3. 选择SD卡:建议32GB以上,Class 10速度等级。
  4. 点击齿轮图标(高级设置):
    • 启用SSH(设置用户名和密码)
    • 配置WiFi(SSID和密码)
    • 设置地区(选中国,时区自动匹配)
  5. 写入SD卡:等待进度条走完,大概5-10分钟。

我的经验:烧录完成后,把SD卡插回电脑,检查 /boot 分区下有没有 ssh 这个空文件。如果没有,手动创建一个。这是树莓派开启SSH的"开关"。

2.2 SSH远程连接

系统烧好了,SD卡插进树莓派,通电。接下来怎么操作?

你需要找到树莓派的IP地址。最简单的方法:登录路由器管理页面,看DHCP客户端列表。或者用 arp -a 命令扫描局域网。

连接命令

# 默认用户名 pi,密码是你烧录时设置的
ssh pi@192.168.1.100

# 第一次连接会提示确认主机指纹,输入 yes 即可

连上之后,我建议先做两件事:

  1. 更新系统:sudo apt update && sudo apt upgrade -y
  2. 修改主机名:sudo raspi-config → System Options → Hostname → 改成 yolo-pi(方便区分多台设备)

我曾经踩过的坑:树莓派默认的SSH密码强度很弱。如果你把设备暴露在公网(比如用端口转发),一定要改密码、禁用密码登录、改用密钥认证。不然你的树莓派分分钟变成别人的挖矿机。

2.3 配置Python虚拟环境

为什么要用虚拟环境?

说白了,就是怕Python包打架。你想想看,一个项目要PyTorch 1.13,另一个要2.0,装在一起肯定出问题。虚拟环境就是给每个项目一个独立的"小房间"。

创建虚拟环境

# 安装 venv(树莓派OS通常自带)
sudo apt install python3-venv -y

# 创建项目专用环境
python3 -m venv ~/yolo-env

# 激活环境
source ~/yolo-env/bin/activate

# 检查Python版本
python --version
# 应该输出 Python 3.9.x 或更高

激活后,终端前面会出现 (yolo-env) 前缀,说明你已经在虚拟环境里了。

我的习惯:每次SSH连上树莓派,第一件事就是 source ~/yolo-env/bin/activate。我把这行命令加到了 ~/.bashrc 里,自动激活。但注意,如果你同时管理多个项目,不建议这么做。

2.4 安装OpenCV与PyTorch

这是整个环境搭建里最"刺激"的部分。为什么?因为树莓派是ARM架构,很多预编译包不兼容。

安装OpenCV

我推荐用 pip 安装预编译版,别自己编译——自己编译要2-3个小时,还不一定成功。

# 先安装系统依赖
sudo apt install libatlas-base-dev libhdf5-dev libhdf5-serial-dev -y

# 安装OpenCV
pip install opencv-python==4.8.1.78

# 验证安装
python -c "import cv2; print(cv2.__version__)"

如果输出 4.8.1 之类的版本号,说明安装成功。

注意:树莓派上OpenCV的 imshow 功能需要桌面环境支持。如果你用的是Lite版系统,图像显示功能不可用。但别担心,YOLO推理只需要 cv2.imread 和 cv2.dnn,完全够用。

安装PyTorch

PyTorch官方对树莓派的支持比较"暧昧"。我建议用 torch==2.0.0 版本,兼容性最好。

# 安装PyTorch(CPU版本,树莓派没有NVIDIA GPU)
pip install torch==2.0.0 torchvision==0.15.1

# 验证安装
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

输出应该是 2.0.0 和 False——别看到 False 就慌,树莓派本来就没有CUDA。

安装验证清单

组件 验证命令 预期输出
Python python --version 3.9.x 或更高
OpenCV python -c "import cv2; print(cv2.__version__)" 4.8.x
PyTorch python -c "import torch; print(torch.__version__)" 2.0.0
虚拟环境 which python 路径包含 yolo-env

到这里,你的树莓派已经具备了运行YOLO模型的基本条件。 系统就绪、远程可控、Python环境隔离、OpenCV和PyTorch到位。下一章,我们就要开始真正的模型部署了。

嗯,环境搭建这部分,说难不难,说简单也不简单。关键是别急,一步一步来。我当年第一次搞树莓派,光烧系统就折腾了三次——第一次SD卡没插好,第二次忘了开SSH,第三次WiFi密码输错了。都是经验啊。