Home Assistant 是一款基于Python语言的智能家居开源系统,支持很多品牌的智能家居设备,包括国内的小米、天猫精灵、小度语音等,可以实现设备的语音控制、自动化控制等等。
本文讲的是手动安装不是刷Home Assistant的img,技术奇客试了很多次和多个官方的rom,都未能成功。
by itgeeker.net
树莓派系统实践环境
- Raspbian Lite (buster)
- Python 3.7 or later
- Python 3 虚拟环境 Virtual Environment
- pip3工具
安装Home Assistant过程
1. 安装python3及依赖
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev
关于python3.8的编译安装,请参看Ubuntu/Debian/Raspbian源码编译安装Python3.8 及默认版本选择配置
by itgeeker.net
update@2020-1-14 增加依赖包libjpeg-dev的安装,否则在使用百度TTS时,模块baidu-aip==1.6.6需要Pillow,然后需要jpeg这个依赖包。错误内容:
by itgeeker.net
The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.
2. pip国内镜像配置
很多安装Home Assistant未成功的,往往都是因为python依赖模块无法成功安装,而其中由于网络不通也占比不少。
关于pip镜像配置,请参看:python模块管理 pip临时使用及永久镜像配置
3. 添加Home Assistant账号及安装目录
Home Assistant不能使用root运行,建个专用用户吧,然后顺便把GPIO的权限都给它,方便以后连接其它传感器。
sudo useradd -rm homeassistant -G dialout,gpio,i2c
cd /opt && sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
4. python虚拟容器创建及Home Assistant安装
sudo -u homeassistant -H -s
cd /opt/homeassistant
python3 -m venv .
source bin/activate
python3 -m pip install wheel
cd /opt/homeassistant && pip3 install homeassistant
请在homeassistant用户并激活venv情况下安装。如果未配置pip国内镜像源,可以使用一下临时镜像命令
by itgeeker.net
pip3 install homeassistant -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
4. Home Assistant运行
sudo -u homeassistant -H -s
source /opt/homeassistant/bin/activate
hass
首次多给些时间让Home Assistant自动配置一下, 根据你网络的情况大概10-30分钟吧。 然后就可以使用你的浏览器打开树莓派ip地址的8123端口了:
http://192.168.xxx.xxx:8123
by itgeeker.net
5. Home Assistant更新
sudo -u homeassistant -H -s
source /opt/homeassistant/bin/activate
pip3 install --upgrade homeassistant
6. Home Assistant日志log
tail -f -n 55 /home/homeassistant/.homeassistant/home-assistant.log
7. Home Assistant配置文件
/home/homeassistant/.homeassistant/configuration.yaml
关于配置树莓派使用systemd配置Home Assistant自动启动,下篇介绍。
by itgeeker.net
发表回复