跳转至

树莓派 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:接硬件、首次启动

1. 拔下 SD 卡,插回 Pi 5
2. 装散热片(金属盒盖上盖,风扇朝上)
3. 接网线(首次初始化必须用网线,WiFi 不稳定)
4. 接 5V 5A 电源
5. 通电,等 3-5 分钟

你应该看到什么: - Pi 5 上的绿色 ACT 灯持续闪烁 → SD 卡读写 - 红色 PWR 灯常亮 → 供电正常 - 如果 PWR 灯闪烁 → 供电不足,换官方电源

3-5 分钟后,浏览器访问:

http://homeassistant.local:8123

如果访问不到: - 换 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,写入性能提升更明显:

# 编辑 /etc/fstab 加入
/dev/nvme0n1p1  /mnt/nvme  ext4  defaults,noatime  0  2

然后编辑 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 末尾加入:

dtparam=usb_dr_d+,usb_dr_b+,usb_dr_a+,usb_dr_d-

(不同 pinout 版本参数略有差异,以官方文档为准)

决策: - 只接蓝牙/Zigbee dongle(都插 USB 2 白色口)→ 不用改,默认就是对的 - 要接摄像头/LTE 网卡(必须 USB 3)→ 改 config.txt 释放 PCIe 通道给 SD 卡 - 已经把系统放 NVMe 了 → USB 3 和 SD 卡不冲突,随便插

步骤 5:首次初始化

HA 启动后浏览器会跳到设置向导:

  1. 语言:中文
  2. 地区:中国大陆 → 时区自动 Asia/Shanghai
  3. 用户名/密码:随便起,但别用 hass/hass 默认
  4. 设备名称:给 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 的用户:

设备与服务 → 添加集成 → Zigbee Home Automation(ZHA)
→ 选择你的 dongle(如 CC2652 / SLZB-06)

详见本站 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 是家庭实验室的最佳起点,但天花板也很清楚:

  1. 4GB 内存是硬伤:跑不了太多容器
  2. ARM 64 位生态:部分软件只有 x86 版本
  3. 单网口千兆:多设备场景不够用(比如 8 台 Zigbee 设备 + 4 台摄像头)
  4. 单 PCIe 通道:NVMe 和 USB 3 抢带宽

如果你已经遇到以上任何一个瓶颈,说明该换 J4125 了——不是 Pi 5 慢,是它不是干这个活的。Pi 5 的定位是"家庭实验室起点"和"单台 HA 中枢",不是"多容器 Home Server"。

这一步我也不完全确定:Pi 5 的散热盒盖在不同批次上有细微差异(金属材质、导热垫厚度)。有用户反馈官方散热盒盖在 4GB 版本上压不住 CPU,需要额外垫一层 3mm 硅胶导热垫。这个问题在官方社区还有讨论,我的建议是买第三方主动散热风扇(¥60)更省心。