前言

最近在研究在Linux开发板上部署Home Assistant来实现将不同品牌的智能家居统一进行控制,折腾了两天发现网上的教程要么过于老旧要么就是各种专业术语,对小白入坑及其不友好,遂写下此篇教程,希望你们在部署Home Assistant的道路上少踩一些坑,不至于被劝退。

一.简介

Home Assistant 是一个开源的自动化家庭控制平台,它可以通过连接到各种智能设备和服务,实现家庭自动化的集成控制。 Home Assistant 提供了一个基于 Python 的服务器,可以运行在 Windows、Linux、macOS 等平台上,并且支持 Raspberry Pi 和 Docker 等嵌入式系统。

Home Assistant官方网站:Home Assistant (home-assistant.io)

本次我们教程采用的硬件为悟空派H3,这是一款可以运行Linux操作系统的开发板,目前的官方售价为99元,还是比较便宜的。

访问官方网站可以看到官方提供的安装方式一共有四种:OS、Container、Core、Supervised,其中OS是对树莓派进行适配的,对硬件要求比较高,Core、Supervised方式比较麻烦,且Core功能缺失比较多,对于小白来说Container方式是最为简单的,并且基本功能也可以得到满足。Container的意思就是容器,我们通过容器来运行Home Assistant,需要安装Docker,这个我们后面会详细的展开讲。

二、系统刷入

首先我们需要一块Linux开发板,我的是悟空派H3,一张64G的内存卡,这个是给linux装系统用的,相当于PC电脑的固态硬盘,一张读卡器。

第一步我们肯定是找系统镜像(不同的开发板镜像不同,这个需要自己找一下,如果你用的也是悟空派H3,可以跟我的教程走),悟空派官方只提供了armbian系统,用这个系统我在部署Docker的时候遇到了一些问题,重启的时候会提示找不到SD卡从而无法开机,至今每找到原因,于是我们放弃用官方的armbian。那么我们只有自己去移植系统了吗,不,我发现悟空派的硬件跟香橙派Zero2LTS的硬件简直一模一样,我猜想这两者的系统镜像也是通用的,经过我的测试也确实如此,我们本次使用香橙派Zero2LTS的Ubuntu系统。

香橙派镜像下载链接:Orange Pi - Orangepi

我们选择下图第二个系统镜像

下载完成后进行解压,用balenaEtcher软件进行刷入

到这里,系统刷入完毕,此时就可以插入开发板进行开机了(注意,第一次开机需要用USB转串口模块将开发板连接到电脑)

我们去MobaXterm官网下载MobaXterm软件:MobaXterm free Xserver and tabbed SSH client for Windows (mobatek.net),该软件是免费的。

打开MobaXterm,选择Session

在弹出的界面继续选择Serial=>选择串口=>设置波特率

设置完成后点击OK,这个时候就可以给开发板连接电源了,默认密码为orangepi

开机后输入下列指令连接WIFI

orangepi-config

选择到Network选项跟随指示将WIFI连接上,随后输入下列指令查看IP地址

ifconfig

上图中红色部分就是IP地址,接下来我们通过SSH连接开发板

同样点击Session

这次我们选择SSH,设置Remote host、用户名后点击OK

然后会让我们输入密码,我们输入orangepi(注意,这里输入是不显示字符的,输入就行了)

到这里我们就完成了SSH连接,也会就是说我们可以拔掉串口线了,我们可以通过SSH进行无线控制(同一局域网下)

三、换国内源

如果你时其他的系统,需要执行换源操作,具体怎么换自行百度,我们刷入的香橙派系统已经换过源了,不需要换源,我们直接执行更新源操作,输入下面的代码更新源

 

sudo apt-get update

 

执行完后继续输入
sudo apt-get upgrade -y

四、安装Docker

我们使用脚本来安装Docker,输入下面两行代码

 

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

时间有点长,等待一会儿
安装完成后查询docker版本,出现版本信息即安装成功

 

docker -v

 

安装成功后修改dock源(vim编辑器对小白不是很友好,有很多指令,也可以使用nano编辑器吗,对小白比较友好,用nano编辑器的话只需要将下面指令中的vim换成nano即可)

 

vim /etc/docker/daemon.json

 

输入以下内容后保存离开

{
 "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]   
}

五、用docker拉取Home Assistant

输入以下命令拉取,可以看到修改docker源之后速度快

 

docker pull homeassistant/armv7-homeassistant 

启动Home Assistant容器并设置自启动docker
docker run -d --name="hass" --net="host" -v /home/hass/config:/config -p 8123:8123 --restart=always homeassistant/armv7-homeassistant
启动成功后可通过以下命令查看容器是否启动,下图中hass就是我们为Home Assistant创建的容器
docker ps

六、进入Home Assistant

以上操作皆没有问题后在浏览器打开192.168.1.112:8123即可进入Home Assistant后台管理界面。(注:IP地址应该改成你的开发板的,我这里是192.168.2.112,此处应该修改为你自己的IP地址)
这时你应该能够看到Home Assistant的管理界面

七、安装HACS

通过MobaXterm左侧栏可以看到Linux系统中的文件,在这里我们也可以进行文件的互传

执行下列代码,进入路径/home/hass/config,新建两个文件夹
cd /home/hass/config
mkdir custom_components
mkdir www
访问HACS的GitHub仓库并获取最新版本,下载完解压,网址如下
将解压后的文件直接拖到MobaXterm软件左侧的文件栏,路径为/home/hass/config/custom_components
传输完成后重启Home Assistant
Home Assistant重启完成后先后点击配置=>设备与服务=>添加集成
搜索HACS,点击添加
全部选择后点击提交
(注:这里需要连接到Github,因网络原因,弹出失败提醒可多试几次)
复制下面的代码后点开GitHub网址
(注:Github,懂得都懂,没有网络环境同样多试几次或者换时间段去试)
登录自己的账号后将复制的代码粘贴进去,点击Continue
点击Authorize hacs
到这里HACS就添加成功了,返回Home Assistant后台管理界面如下图所示

HACS就像是一个插件商店,你可以在里面下载很多插件

八、以米家为例,安装Xiaomi Miot Auto(与米家设备进行联动)

同样解压通过文件传输到路径/home/hass/config/custom_components
与上面操作方式一样,重启Home Assistant后先后点击配置=>设备与服务=>添加集成
搜索Xiaomi Miot Auto添加进来
用自己的方式添加设备,我这里用自己账号去同步,这样账号里的设备就会自动被同步
最后将他们添加卡片到主页
Enjoy!!

九、尾声

本次的教程到这里也就结束了,过程中你肯定会碰到很多问题,但是我们要有敢于钻研的勇气,我们下次再见!

发表回复

后才能评论