树莓派 5 跑 Home Assistant:五步路径 + 硬件三大件 + NVMe 加速
家里想搞个 24 小时在线的智能家居中枢,Pi 5 是这两年最主流的选择——比 J4125 便宜一半,比 Pi 4 快一倍,功耗也压得住。但装完 HA 之后能不能稳定跑,硬件选型和镜像配置的细节比想象中重要。
写这篇的时候我把 Pi 5 拆开重装了两遍,踩了散热、电源、NVMe 三个真实坑。下面每一段都是实操经验,不是官方文档搬运。
部署前 60 秒决策:Pi 5 vs J4125
家里想搞 HA,先想清楚买哪台硬件:
| 维度 | Pi 5 | J4125(准系统 x86) |
|---|---|---|
| 架构 | ARM 64 位 | x86 64 位 |
| CPU 性能 | 4 核 2.4GHz | 4 核 2.0-2.6GHz(约 Pi 5 的 3-4 倍) |
| 功耗 | 5-7W | 15-25W |
| 价格 | ¥400-500 | ¥800-1200 |
| 特色 | GPIO、PCIe、Zigbee dongle 好接 | 装 Linux、Docker、多虚拟机都行 |
| 静音 | 被动散热片接近静音 | 需要小风扇 |
决策原则: - 家里只跑 HA + 少量 Zigbee → Pi 5 - 想跑 K8s / Home Lab / 多虚拟机 → J4125 - 预算敏感 → Pi 5 - 长期 24 小时在线怕发热 → Pi 5(功耗低)
本文按 Pi 5 讲。J4125 见本站 HA OS + J4125 固件。
硬件三大件:散热片 + 官方电源 + NVMe HAT
Pi 5 硬件选型最大的坑是"够用就好"心态。三个配件缺任何一个都会翻车。
1. 散热:被动散热片(必须)
Pi 5 的 SoC 是 5nm 工艺,功耗上来了发热也上来了。不装散热片,CPU 到 80℃ 自动降频,从 2.4GHz 掉到 1.8GHz 甚至更低。HA 日常使用会明显卡顿。
推荐: - 被动散热片(金属盒盖式):¥30,接近静音,适合 24 小时在线 - 主动风扇:¥60,散热更好但能听到轻微噪音
不推荐: - ❌ 什么都不装 - ❌ 二手淘宝 "树莓派散热板"(很多是塑料片,几乎无用)
2. 电源:官方 27W USB-C PD(必须)
Pi 5 最低需要 5V 5A(25W)供电。用 3A 或 4.5A 充电器都会遇到:
- 启动时黑屏:HA OS 初始化要读写大量数据
- 使用中重启:数据库写入峰值供电不足
- USB 设备掉线:接一个 Zigbee dongle + 一个摄像头就供电不足
推荐: - 官方 27W USB-C PD 电源(¥180):稳,兼容所有场景 - 第三方 30W+ USB-C PD(¥60-100):需要看是否带 5V/5A 模式,不是所有 30W 电源都能提供 5A
坑:很多 30W 手机充电器只提供 9V/3A 或 15V/2A 模式,Pi 5 需要的是 5V 5A——这个模式不是所有 PD 充电器都支持。买之前务必查规格。
3. NVMe HAT + SSD(可选,但强烈推荐)
Pi 5 有 PCIe 通道,可以接 NVMe SSD。这是 Pi 5 相比 Pi 4 最大的升级点。
推荐: - 树莓派 NVMe HAT(官方):¥80 - 三星 980 256GB 或 WD SN570 256GB:¥180-250 - 或者二手 970 EVO Plus 256GB:¥120
别买:随便一个"PCIe M.2 转接卡"。Pi 5 的 PCIe 通道有特定的 pinout,普通转接卡可能不兼容。
效果:HA 启动从 3 分钟降到 30 秒,数据库读写快 5-10 倍。日常使用中差别不算大,但备份、升级、数据库导入这些操作差别明显。
步骤 1:Raspberry Pi Imager 刷写
准备一台电脑(Windows/macOS/Linux 都行),下载 Raspberry Pi Imager。
打开 Imager
→ Operating System → Other specific-purpose OS
→ Home automation → Home Assistant
→ 选择 "Raspberry Pi 5 (64-bit)" ← 关键!别选错 32-bit
→ 选择你的 SD 卡(≥32GB,推荐 A2 级)
→ Write
你应该看到什么: - 写入进度条 100% - 提示"Successfully wrote"
关键:必须选 64-bit 镜像。32-bit 镜像性能低,HA 现在官方推荐 64 位。32 位系统会浪费 Pi 5 的 4GB 内存(ARMv8 32 位模式只能识别 3.5GB)。
步骤 2:接硬件、首次启动
你应该看到什么: - Pi 5 上的绿色 ACT 灯持续闪烁 → SD 卡读写 - 红色 PWR 灯常亮 → 供电正常 - 如果 PWR 灯闪烁 → 供电不足,换官方电源
3-5 分钟后,浏览器访问:
如果访问不到:
- 换 http://homeassistant:8123
- 或者到路由器里看 Pi 5 分配的 IP,用 http://192.168.x.x:8123
- 别慌着重刷:Pi 5 冷启动比 Pi 4 慢 30 秒很正常,等 5 分钟以上
步骤 3:NVMe SSD 挂载加速
装了 NVMe HAT 之后,还需要在 HA 的 OS 里挂载。
方法 1:图形化(推荐新手)
HA 左侧栏 → 主机 → 挂载存储 → 找到 NVMe 设备 → 挂载 → 选择挂载点 /mnt/nvme0n1
方法 2:命令行(熟练用户)
HA 左侧栏 → 主机 → 终端:
# 看 NVMe 是否被识别
lsblk
# 分区
sudo fdisk /dev/nvme0n1
# n(新建)→ p(主分区)→ 1 → 默认起始 → 默认结束 → t(类型)→ 83(Linux)→ w(写入)
# 格式化
sudo mkfs.ext4 /dev/nvme0n1p1
# 挂载
sudo mkdir -p /mnt/nvme
sudo mount /dev/nvme0n1p1 /mnt/nvme
sudo chmod 777 /mnt/nvme
你应该看到什么:
- lsblk 里能看到 nvme0n1 和分区
- 挂载后 df -h 显示新分区可用空间
可选进阶:把 HA 数据库也搬到 NVMe,写入性能提升更明显:
然后编辑 HA 的 Supervisor 配置,把 core 服务的数据目录重定向到 /mnt/nvme/ha(这个操作有恢复风险,建议先看 HA 官方迁移文档再做)。
步骤 4:USB 端口分配(Zigbee/Thread 用户必看)
Pi 5 有两个 USB 2.0 口(黑色)和两个 USB 3.0 口(蓝色)。USB 3.0 和 SD 卡共用 PCIe 通道,把 Zigbee/Thread dongle 插到 USB 3.0 会导致间歇性断连。
# 看当前 USB 分配
cat /proc/device-tree/soc/pcie@7d500000/ranges
# 编辑 config.txt,把 USB 3 全部关闭(SD 卡走 PCIe 通道)
sudo nano /boot/config.txt
在 config.txt 末尾加入:
(不同 pinout 版本参数略有差异,以官方文档为准)
决策:
- 只接蓝牙/Zigbee dongle(都插 USB 2 白色口)→ 不用改,默认就是对的
- 要接摄像头/LTE 网卡(必须 USB 3)→ 改 config.txt 释放 PCIe 通道给 SD 卡
- 已经把系统放 NVMe 了 → USB 3 和 SD 卡不冲突,随便插
步骤 5:首次初始化
HA 启动后浏览器会跳到设置向导:
- 语言:中文
- 地区:中国大陆 → 时区自动 Asia/Shanghai
- 用户名/密码:随便起,但别用 hass/hass 默认
- 设备名称:给 Pi 5 起个名字(比如 "Home Hub")
初始化完成后进入 HA 主界面。
首次上线必做 5 件事
别急着点"开始使用",先做这 5 件事:
1. 创建初始备份
这一步是后悔药。HA 数据库坏了、误删自动化了、系统升级挂了,全靠这个备份。
2. 设置静态 IP
到路由器里给 Pi 5 的 MAC 地址分配固定 IP。或者 HA 里装 host_network 附加组件,通过 DHCP 保留。
3. 装必备附加组件
HA OS 优势就是图形化装 Add-ons:
必装: - Mosquitto broker:MQTT 消息总线(Zigbee2MQTT/ESPHome 必备) - Node-RED:可视化自动化编辑器 - VS Code:直接编辑配置文件
4. 装 Zigbee 网关(如需)
有 Zigbee dongle 的用户:
详见本站 Zigbee2MQTT 网关选型。
5. 关闭 HA Cloud(如果你不用 Nabu Casa)
HA Cloud 是 Nabu Casa 的付费服务,数据存在境外。如果国内用户不需要远程访问(自建 Nginx 反代即可),关掉更安全。
5 个真实踩坑
踩坑 1:装了 Pi 5 但用 30W 手机充电器,频繁重启
症状:HA 运行几小时后随机重启,journalctl -k 里没有 OOM 报错,只有 undervoltage detected。
根因:手机充电器提供的是 9V/3A(27W)不是 5V/5A。Pi 5 需要 5V/5A 峰值供电,短时过载触发降压重启。
修复:换官方 27W 或明确支持 5V/5A 的第三方 PD 电源。
踩坑 2:装了散热片但方向反了
症状:装了散热盒盖,但温度还是 80℃ 降频。
根因:Pi 5 的散热盒盖有正反方向,风扇朝上。盒盖上印有箭头或 "UP" 字样,反了风扇被堵住散热效率降到 30%。
修复:翻转散热盒盖。看盒盖上的箭头,箭头朝上才对。
踩坑 3:Pi 5 冷启动 5 分钟以上
症状:通电后绿灯闪了半天,浏览器访问不到 homeassistant.local。
根因:HA OS 首次启动要做初始化 + 系统自检,Pi 5 冷启动比 Pi 4 慢 30-60 秒是正常的。但超过 5 分钟还是没响应,可能是: - SD 卡质量问题(非 A2 级) - 供电不足 - 镜像刷写不完整
修复: 1. 拔电源,重新刷写镜像(用 A2 级 SD 卡) 2. 确认是官方 27W 电源 3. 换一根 HDMI 线接显示器看控制台输出
踩坑 4:NVMe HAT 装完看不到设备
症状:装了 NVMe HAT 和 SSD,lsblk 里看不到 nvme0n1。
根因:可能是 PCIe 通道被 USB 3 占用。见步骤 4。
修复:编辑 /boot/config.txt 释放 PCIe 通道,重启。或者先把所有 USB 3 设备拔掉试试。
踩坑 5:Zigbee dongle 反复断连
症状:SLZB-06 / CC2652 每天凌晨 3 点断连,重启 HA 恢复。
根因:Zigbee dongle 插在 USB 3 端口,与 SD 卡争 PCIe 通道带宽。凌晨是系统备份时段,PCIe 通道拥堵触发 dongle 断连。
修复:把 Zigbee dongle 换到 USB 2(白色)端口。或者按步骤 4 释放 PCIe 通道。
FAQ 补充
Q:Pi 5 能跑几个容器/附加组件?
看内存。4GB 版建议: - HA Core + Mosquitto + Node-RED + ZHA/Z2M + 2-3 个自定义容器 = 舒适 - 再加 PostgreSQL + MongoDB + Grafana = 紧张(内存占用 3.5G+) - 想跑 K8s / Docker Desktop / 4 个虚拟机 = 上 J4125
Q:Pi 5 能跑 K8s 吗?
技术上可以,但生产环境不推荐。Pi 5 的 ARM 64 架构在 K8s 集群里兼容性不如 x86(部分镜像没有 ARM64 版本)。想跑 K8s 选 J4125 或 N100。
Q:SD 卡能用多久?
A2 级 SD 卡(比如 Samsung EVO Select 32GB)跑 HA 每天写入 2-5GB,理论寿命 3-5 年。上 NVMe SSD 后可以完全不用考虑寿命问题。
Q:HA Cloud 关掉就真不能远程访问了吗?
可以。自建 Nginx 反代 + Tailscale/WireGuard 二选一。详见本站 HA Docker 部署 里的反代章节。
收尾:Pi 5 的天花板在哪
Pi 5 是家庭实验室的最佳起点,但天花板也很清楚:
- 4GB 内存是硬伤:跑不了太多容器
- ARM 64 位生态:部分软件只有 x86 版本
- 单网口千兆:多设备场景不够用(比如 8 台 Zigbee 设备 + 4 台摄像头)
- 单 PCIe 通道:NVMe 和 USB 3 抢带宽
如果你已经遇到以上任何一个瓶颈,说明该换 J4125 了——不是 Pi 5 慢,是它不是干这个活的。Pi 5 的定位是"家庭实验室起点"和"单台 HA 中枢",不是"多容器 Home Server"。
这一步我也不完全确定:Pi 5 的散热盒盖在不同批次上有细微差异(金属材质、导热垫厚度)。有用户反馈官方散热盒盖在 4GB 版本上压不住 CPU,需要额外垫一层 3mm 硅胶导热垫。这个问题在官方社区还有讨论,我的建议是买第三方主动散热风扇(¥60)更省心。