2. 开发环境搭建:硬件准备与系统配置

好,咱们正式开始动手了。这一章我带你把开发环境搭起来。说实话,边缘AI项目里,环境搭建往往是最磨人的环节——硬件不兼容、系统烧录失败、SSH连不上……我当年踩过的坑,今天帮你一个个填平。

2.1 硬件准备:选对工具,少走弯路

先说说硬件。树莓派4B和5我都用过,个人更推荐新手直接上树莓派5。为什么?性能提升明显,而且散热设计更合理。我在项目中遇到过4B跑轻量模型时CPU飙到85度,降频后推理速度直接腰斩。5代就好多了,至少不会让你频繁担心过热。

你需要准备这些东西:

  • 树莓派主板:4B(2GB/4GB/8GB)或5(4GB/8GB)。我建议至少4GB内存,跑模型推理时你会感谢这个选择的。
  • MicroSD卡:32GB起步,Class 10或U1以上。别图便宜买杂牌,我曾经用一张劣质卡,系统烧录了三次才成功,后来换了三星EVO Plus,一次过。
  • 电源适配器:官方推荐5V/3A(4B)或5V/5A(5)。别用手机充电头凑合,供电不足会导致USB设备随机断开,排查起来很头疼。
  • 摄像头模块:官方Camera Module 3或兼容的USB摄像头。我习惯用官方模块,驱动支持最好,省心。
  • 散热片+风扇:尤其是跑模型推理时,散热是刚需。嗯,这里要注意,树莓派5的散热片尺寸和4B不一样,买的时候别搞错。
我的小建议:如果你预算允许,直接买树莓派5的桌面套装(含官方电源、散热、外壳)。省去一个个配件的麻烦,而且兼容性最好。

2.2 系统烧录:Raspberry Pi OS 的安装

系统我选Raspberry Pi OS(64位),基于Debian,稳定且社区支持好。你可能会问:为什么不装Ubuntu?其实都可以,但Raspberry Pi OS对树莓派的硬件优化更到位,摄像头、GPIO这些外设开箱即用。

烧录步骤很简单,但有几个坑我帮你标出来:

  1. 下载Raspberry Pi Imager:去官网下载桌面版工具。别用老式的Win32DiskImager了,官方工具现在支持在线选择系统、预配置SSH和WiFi,方便很多。
  2. 选择系统镜像:打开Imager,选“Raspberry Pi Device” -> 你的型号 -> “Raspberry Pi OS (64-bit)”。注意选带“Desktop”的版本,我们后面要用桌面环境调试摄像头。
  3. 预配置(关键一步):点击右下角的齿轮图标,提前设置好:
    • 主机名:比如 edgeai-pi
    • 启用SSH:选“使用密码登录”,设好用户名和密码
    • 配置WiFi:输入你的WiFi名称和密码(注意2.4G频段更稳定)
    • 区域设置:选“Asia/Shanghai”,键盘布局选“us”
  4. 写入SD卡:插入读卡器,选择目标SD卡,点击“写入”。等待5-10分钟,完成后会提示拔出。
避坑指南:我曾经在预配置时忘了设SSH密码,结果插电后死活连不上。后来只能拔卡重烧。所以这一步千万别跳过,尤其是你打算无头模式(不接显示器)使用树莓派。

烧录完成后,把SD卡插入树莓派,接上电源。第一次启动会有点慢,大概1-2分钟。你可以通过路由器后台查看树莓派的IP地址,或者用 ping edgeai-pi.local 试试(前提是你的网络支持mDNS)。

2.3 Python环境配置:Miniconda 的妙用

树莓派自带的Python 3.11够用,但我不建议直接用它。为什么?因为项目依赖会越装越乱,今天装TensorFlow,明天装PyTorch,后天可能就冲突了。我习惯用Miniconda管理环境,干净、隔离、可复现。

安装步骤:

# 下载Miniconda安装脚本(ARM64架构)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh

# 运行安装脚本
bash Miniconda3-latest-Linux-aarch64.sh

# 按提示操作:同意协议、选择安装路径(默认即可)
# 安装完成后,重启终端或 source ~/.bashrc

# 验证安装
conda --version

安装完成后,我建议你创建一个专门用于边缘AI的环境:

# 创建环境,指定Python 3.10(兼容性最好)
conda create -n edgeai python=3.10

# 激活环境
conda activate edgeai

# 安装常用库(后面章节会逐步补充)
pip install numpy opencv-python pillow

为什么选Python 3.10? 因为TensorFlow Lite和ONNX Runtime在ARM64上对3.10的支持最稳定。我试过3.11,有些包的预编译轮子找不到,得自己编译,那叫一个慢。你想想看,编译一次OpenCV要半小时,何必呢?

2.4 远程开发:SSH + VSCode 的黄金组合

树莓派接显示器用桌面环境当然可以,但长期开发我推荐远程连接。你想想看,在笔记本上写代码,一键同步到树莓派运行,多舒服。

SSH连接很简单:

# 从你的电脑连接树莓派
ssh pi@192.168.1.100   # 替换成你的树莓派IP

# 或者用主机名(如果网络支持)
ssh pi@edgeai-pi.local

第一次连接会提示确认指纹,输入 yes 然后输入密码即可。

接下来是VSCode的远程开发配置:

  1. 安装Remote - SSH插件:在VSCode扩展市场搜索“Remote - SSH”,安装。
  2. 添加SSH目标:按F1,输入“Remote-SSH: Connect to Host”,然后输入 pi@你的IP
  3. 选择平台:连接成功后,VSCode会提示选择远程平台,选“Linux”。
  4. 打开工作目录:比如 /home/pi/projects/edge-ai,没有就自己建一个。

提升效率的小技巧:在VSCode的设置里开启“Remote.SSH: Show Login Terminal”,这样每次连接时能看到SSH的登录过程,方便排查网络问题。另外,我习惯在树莓派上装 tmux,这样即使SSH断开,训练任务也不会中断。

最后,验证一下摄像头是否正常工作:

# 测试摄像头(官方模块)
libcamera-still -o test.jpg

# 如果用的是USB摄像头
fswebcam test.jpg

看到一张清晰的图片?恭喜你,环境搭建完成了。嗯,到这里为止,你的开发环境已经就绪。下一章我们开始准备数据集,真正进入模型训练的环节。

本章小结:硬件选型别贪便宜,系统烧录记得预配置SSH,Python环境用Miniconda隔离,远程开发靠VSCode+SSH。这套组合拳打下来,后续开发会顺畅很多。我当年要是有人这么带我,至少能省下两天折腾时间。