2. 开发环境搭建:树莓派系统烧录、SSH远程连接、配置Python虚拟环境、安装OpenCV与PyTorch
说实话,环境搭建这一步,劝退了很多人。
我见过不少同学,模型训练得挺好,一到树莓派上就卡住——系统起不来、SSH连不上、OpenCV编译半天报错。其实说白了,只要把流程理顺,按部就班来,半小时就能搞定。
这一章,我就带你走一遍我自己的标准流程。每一步都是我在项目里踩过坑之后沉淀下来的。
本章核心目标:让树莓派变成一个能跑YOLO模型的AI推理节点。你需要完成:系统烧录 → 远程连接 → Python环境隔离 → 安装OpenCV和PyTorch。
2.1 树莓派系统烧录
我个人习惯用 Raspberry Pi Imager 来烧录系统。它官方出品,操作简单,还内置了SSH和WiFi配置选项——这个功能太实用了。
你想想看,以前烧完系统还得插显示器、接键盘去配网络。现在Imager直接帮你写好配置文件,插电就能SSH连上。
烧录步骤
- 下载Raspberry Pi Imager(官网就有,Windows/Mac/Linux都支持)
- 选择操作系统:我推荐
Raspberry Pi OS (64-bit) Lite——不带桌面环境,省资源。如果你需要调试画面,可以选带桌面的版本。 - 选择SD卡:建议32GB以上,Class 10速度等级。
- 点击齿轮图标(高级设置):
- 启用SSH(设置用户名和密码)
- 配置WiFi(SSID和密码)
- 设置地区(选中国,时区自动匹配)
- 写入SD卡:等待进度条走完,大概5-10分钟。
我的经验:烧录完成后,把SD卡插回电脑,检查 /boot 分区下有没有 ssh 这个空文件。如果没有,手动创建一个。这是树莓派开启SSH的"开关"。
2.2 SSH远程连接
系统烧好了,SD卡插进树莓派,通电。接下来怎么操作?
你需要找到树莓派的IP地址。最简单的方法:登录路由器管理页面,看DHCP客户端列表。或者用 arp -a 命令扫描局域网。
连接命令
# 默认用户名 pi,密码是你烧录时设置的
ssh pi@192.168.1.100
# 第一次连接会提示确认主机指纹,输入 yes 即可
连上之后,我建议先做两件事:
- 更新系统:
sudo apt update && sudo apt upgrade -y - 修改主机名:
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密码输错了。都是经验啊。