前言
最近在研究在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
四、安装Docker
我们使用脚本来安装Docker,输入下面两行代码
时间有点长,等待一会儿
安装完成后查询docker版本,出现版本信息即安装成功
docker -v
安装成功后修改dock源(vim编辑器对小白不是很友好,有很多指令,也可以使用nano编辑器吗,对小白比较友好,用nano编辑器的话只需要将下面指令中的vim换成nano即可)
vim /etc/docker/daemon.json
输入以下内容后保存离开
五、用docker拉取Home Assistant
输入以下命令拉取,可以看到修改docker源之后速度快
六、进入Home Assistant
七、安装HACS
通过MobaXterm左侧栏可以看到Linux系统中的文件,在这里我们也可以进行文件的互传
八、以米家为例,安装Xiaomi Miot Auto(与米家设备进行联动)
九、尾声
本次的教程到这里也就结束了,过程中你肯定会碰到很多问题,但是我们要有敢于钻研的勇气,我们下次再见!