树莓派CM0(Compute Module Zero)是一款基于Raspberry Pi Zero 2 W核心的系统级模块,以其紧凑的尺寸和出色的性价比,成为嵌入式开发的理想选择。本文将指导您在这块仅有512MB内存的开发板上,完成Home Assistant Core的完整部署,实现家庭智能化控制。
在树莓派CM0开发板上,部署完整的Home Assistant会有些挑战,但经实测,在DietPi系统上部署Home Assistant Core可以稳定运行。
尽管官方不再推荐手动安装Core版本,但这正是深入了解其机制的好机会。Home Assistant Core软件本身仍在积极维护,是整套系统的核心。
一、环境准备
1.1 设置启动模式
为给Home Assistant预留足够资源,建议将DietPi设置为默认以终端模式启动,避免图形界面服务的额外开销。
执行以下命令进行设置:
dietpi-autostart
选择 “Manual login (default)”,然后 “Exit” 退出。
或使用快捷命令:
dietpi-autostart 0
设置完成后,重启树莓派CM0:
sudo reboot
1.2 开启zram支持
为优化有限内存的使用效率,建议开启zram交换空间:
/boot/dietpi/func/dietpi-set_swapfile 1 zram swapon
执行后,输出信息中若出现 /dev/zram0,即表示开启成功。
1.3 安装系统工具支持包
安装必要的系统工具包:
sudo apt install curl libffi-dev libssl-dev ffmpeg build-essential libturbojpeg0
其中 ffmpeg 用于媒体支持, libturbojpeg0 用于JPEG图像支持。
1.4 安装Python包
Home Assistant Core需要Python环境支持:
sudo apt install python-is-python3
sudo apt install pip3
sudo apt install python3.13-venv
1.5 设置pip源
设置pip使用国内源以加速下载:
sudo nano ~/.pip/pip.conf
在打开的文件中添加以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 10
trusted-host = pypi.tuna.tsinghua.edu.cn
1.6 安装蓝牙支持包
sudo apt install bluez libbluetooth-dev libcap2-bin
sudo apt install libpcap0.8t64
1.7 安装其他工具
安装git和unzip工具:
sudo apt install git
sudo apt install unzip
1.8 设置命令行代理(可选)
安装过程可能需要访问GitHub等外网服务,可设置代理以确保网络通畅:
export http_proxy=http://192.168.1.15:7890
export https_proxy=http://192.168.1.15:7890
请将示例IP和端口替换为您自己的代理服务器地址。
二、SD卡准备(扩展存储,建议执行)
虽然树莓派CM0的eMMC空间可能足够,但使用SD卡能提供更充裕的存储空间。
2.1 连接并初始化SD卡
通过USB读卡器连接SD卡后,执行 lsusb 确认设备。假设设备为 /dev/sda,进行初始化(警告:此操作将永久擦除该设备所有数据):
sudo mkfs.ext4 /dev/sda
2.2 挂载SD卡
# 设置挂载目录
sudo mkdir /mnt/data
sudo mount /dev/sda /mnt/data
# 查看挂载情况
mount | grep sda
df -h
2.3 设置工作目录
sudo mkdir /mnt/data/HomeAssistant-All
sudo chown dietpi:dietpi /mnt/data/HomeAssistant-All
ln -s /mnt/data/HomeAssistant-All ~/
三、获取Home Assistant Core源码
3.1 首次安装
获取特定版本(以2025.11.3为例)的源码:
cd ~/HomeAssistant-All
git clone https://github.com/home-assistant/core.git home-assistant-core
cd home-assistant-core
git checkout -b 2025.11.3 2025.11.3
git branch
3.2 更新安装(可选)
访问 GitHub Tags页面 查看最新版本。例如切换到测试版:
# 更新索引库
git fetch origin --force
# 切换到指定版本
git checkout -b 2025.12.0b2 2025.12.0b2
若更新版本,可能需要同步更新Python依赖:
git diff 2025.11.3 2025.12.0b2 requirements_all.txt 2>&1 | awk -F'+' 'BEGIN{i=0;}{ if(/^\+[a-zA-Z]/) {i++;printf "echo %d:%s;pip install %s\n",i,$NF,$NF}}' | sh
四、安装Home Assistant Core
以下安装过程可能耗时较长,请耐心操作。
4.1 创建Python虚拟环境并安装依赖
cd ~/HomeAssistant-All
cd home-assistant-core
python -m venv ~/.venv
source ~/.venv/bin/activate
安装所有依赖包(可能因内存不足中断):
pip install -r requirements_all.txt
若安装失败,可尝试分批安装:
awk 'BEGIN{i=0;}{ if(/^[a-z]/) {i++;printf "echo %d:%s;pip install %s\n",i,$NF,$NF}}' requirements_all.txt | bash 2>&1 | tee -a install.log
安装后检查日志:
grep -Ei '^[0-9]+|Success|fail|error' ~/HomeAssistant-All/home-assistant-core/install.log
4.2 设置设备权限
为普通用户 dietpi 运行的程序赋予必要的网络权限:
readlink -f "$(which python3)"
sudo setcap 'cap_net_admin,cap_net_raw+eip' $(readlink -f "$(which python3)")
4.3 首次运行Hass
运行前可再次设置代理环境变量。首先生成翻译文件:
python -m script.translations develop --all
确保命令执行无报错后,启动Home Assistant:
./.venv/bin/hass
首次运行会创建配置文件目录 /home/dietpi/.homeassistant。确保运行无错误后,即可进行下一步。
4.4 在线初始化
在浏览器中访问 http://[树莓派IP地址]:8123,按照网页向导完成初始用户创建、家庭位置设置等步骤。此过程可能需要一些时间,若网页卡顿,可尝试重启Hass服务(在终端按 Ctrl+C 停止,再重新运行 ./.venv/bin/hass)。
4.5 设置开机自启
创建系统服务文件以实现开机自动运行:
sudo bash -c ‘cat << EOF > /etc/systemd/system/home-assistant.service
[Unit]
Description=Home Assistant
After=network-online.target
Requires=network-online.target
[Service]
Type=simple
User=dietpi
WorkingDirectory=/home/dietpi/HomeAssistant-All/home-assistant-core
ExecStart=/home/dietpi/HomeAssistant-All/home-assistant-core/.venv/bin/hass
Environment=“HOME=/home/dietpi”
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF’
配置并启动服务:
sudo chmod 644 /etc/systemd/system/home-assistant.service
sudo systemctl daemon-reload
sudo systemctl enable home-assistant.service
sudo systemctl start home-assistant.service
检查服务状态:
systemctl status home-assistant.service
查看实时日志:
sudo journalctl -u home-assistant.service -f
五、安装HACS(Home Assistant社区商店)
HACS提供了便捷的非官方插件安装方式。
5.1 安装HACS
停止正在运行的Hass服务,执行一键安装脚本:
wget -O - https://get.hacs.xyz | bash -
等待安装完成后,再次启动Hass服务(systemctl start home-assistant.service 或直接运行 ./.venv/bin/hass)。
5.2 集成HACS
在Home Assistant网页界面中,进入“设置”->“设备与服务”->“添加集成”,搜索并添加“HACS”。按照向导完成GitHub设备授权流程,即可在侧边栏看到HACS入口。
5.3 通过HACS安装插件(以SSH插件为例)
在HACS中搜索“SSH”,找到“Terminal & SSH”插件,点击下载。下载完成后,根据提示重启Home Assistant。重启后,再次进入“添加集成”,搜索并配置“SSH”集成,填入树莓派的连接信息即可。
六、连接小米智能设备
6.1 安装Xiaomi Miot Auto插件
在HACS中搜索“Xiaomi Miot Auto”并安装。安装后重启Home Assistant。
6.2 添加集成并认证
在“添加集成”中搜索“Xiaomi Miot Auto”。同意风险提示后,在配置向导中,确保用于访问Home Assistant的电脑能够通过 http://homeassistant.local:8123 地址正常登录(若不能,需在电脑的hosts文件中绑定树莓派的IP地址)。
按照页面提示,点击打开小米账号认证页面,登录并授权。
6.3 添加与控制设备
授权成功后,在集成配置中选择需要添加的设备区域和类型。系统将自动发现并添加账号下的小米设备。添加完成后,即可在Home Assistant概览页面查看和控制这些设备。
七、总结
通过以上步骤,我们成功在内存仅512MB的树莓派CM0上部署并运行了Home Assistant Core。通过DietPi系统的精细调优(如使用终端模式、开启zram)和手动部署方式,有效控制了资源占用。实践表明,树莓派CM0完全有能力作为一个稳定、可控的家庭智能中枢,展现了开源硬件与软件生态的灵活性与强大潜力。