Home Assistant OS在树莓派上安装的教程

写在前面
因为做毕业设计设计到智能家居,想用Home Assistant去做一个只能家居的整合,同时也可以把家里的智能家居的整合一下,方便家里人使用。

如果时间允许会写关于Home Assistant不同的安装办法。
本教程主要是Home Assistant官方系统——Home Assistant OS在树莓派上安装的教程


一、安装系统
1、Home Assistant OS在树莓派上安装的教程(本篇)
2、在Docker中安装Home Assistant系统(以群晖系统为例)
3、在树莓派Raspbian官方系统的Python中安装Home Assistant教程(本篇)(已更新,待整理)

二、Home Assistant入门
1、注册并初始化Home Assistant OS系统(由于不断在搞不同项目,可能会在其他专栏加入相关文章,就不在这个目录下更新了,具体可以搜索我的其他文章,已具体更新为准)


在安装之前你需要了解的问题:
Home Assistant官方系统是由一个叫Supervisor的功能的,如果你是初学者,先不要管Supervisor是什么,就是类似于安装插件的东西。,只有在官方推荐的安装包和安装方式上才有Supervisor功能,其他安装方式需要另外安装Supervisor功能,比较麻烦。所以建议通过官方的方法安装Home Assistant。

本安装方式有该功能



介绍
Home Assistant 是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备。想要入门的话主要是要看两个网站:
Home Assistant官网:https://www.home-assistant.io/
Home Assistant中文文档:https://home-assistant.cc/

官网是Home Assistant官方构建的网站,都是跟原生态Home Assistant相关的资料。官网主要提供可以直接烧写到内存卡的Home Assistant系统,能够使用的设备以树莓派为主,同时也支持Tinkerboard、Odroid、Intel NUC等设备。

另一个网站Home Assistant中文文档是国内一些很牛逼开发者基于官方的系统和文档进行总结分享。主要提供安装在Python内部的Home Assistant系统安装教程,一般来说支持python的设备都可以安装Home Assistant系统,当然,按照网站推荐的设备安装肯定会有更好的体验。


准备
硬件:
1、树莓派以及电源,支持设备如下:
在这里插入图片描述
2、Micro SD Card,内存卡。官方建议是支持 Application Class 2 的内存卡,官方推荐大小为 32G 以上。

Application Class 2 是SD卡协会的其中一个协议,属于比较高级的卡,内存卡上面会印刷有 A2 标志来进行识别。我们平时用的卡大多都是 A1 卡。这个协议跟class标识、U标识等完全独立,可同时存在,也可只支持部分。如果有A2卡自然是最好,但是没有的话,用Class10或者U1以上的卡一般也不会有什么大问题。内存大小也一样,只是推荐32G,小一点也没关系,要看实际使用情况决定。

3、读卡器,能顺利读卡就行,无强制要求。

4、网线(可选),真心建议配备,不过没有也行,下面也会有连接WiFi的教程。(下载的时候可能会怀疑人生,毕竟官方服务器在国外,会提供解决办法)

5、U盘或者另一个内存卡+读卡器(非必要,官方提供的开机连接WiFi教程或者修改一些开机参数的时候需要使用到,但根据别人的经验其实可以直接在装系统内存卡里面直接添加,能找到的话推荐使用官方的方法)

软件:
1、balenaEtcher:把系统烧录到SD卡要用到,这个是官方建议的软件,自己有好的软件替换也都问题不大。
balenaEtcher官网:https://www.balena.io/etcher/

2、Notepad++(文本编辑器,这个比较通用,兼容性好,其他文本编辑器亦可)
Notepad++官网:https://notepad-plus-plus.org/


首先打开官网:
Home Assistant官网:https://www.home-assistant.io/
在这里插入图片描述

顶部导航,点击Getting started,打开官网教程。如下图:
在这里插入图片描述上图中在第二段,有蓝色标记的 device that is supported by this guide ,点进去,打开就可以看到支持的硬件设备以及安装包img下载。
在这里插入图片描述
从硬件到虚拟机都有包。树莓派的话下载相对应的包就好了(在你足够了解Home Assistant之前建议都有用32位的系统,除了树莓派4B 8GB版本要下载64位,其余都是32位。)

下载好之后的到一个 .xz 尾缀的压缩包,解压得到2GB左右的img镜像文件。

打开balenaEtcher,插入内存卡。第一个选择刚刚下载的img包,第二个选择插入的SD卡(会格式化,注意备份!),然后点击 Flash! 。
在这里插入图片描述


烧录完成后,如果是网线连接的可以直接插网线。接下来是连接WiFi和更改时区的步骤,稍微有点复杂,我将会分成方法一和方法二进行说明。(有网线的话可以不需要WiFi,也推荐使用网线连接。更改时区的操作因为官方系统默认更新的是谷歌提供的时间服务,要看地区的基础网络,有些连的上有些连不上。时区更新失败很有可能会导致下载失败。不想麻烦的话可以直接跳过方法一和二尝试一下直接插到树莓派上通电)



方法一:官方提供的方法(需要额外准备一个USB的储存设备,可以是U盘,可以是内存卡+读卡器)

备份好U盘的数据,格式化为默认的 FAT32 格式并将U盘名字修改成CONFIG。
在这里插入图片描述
进入到U盘里,创建一个文本文件并修改名称为timesyncd.conf(注意后缀)
在这里插入图片描述
用Notepad++打开timesyncd.conf文件,并输入如下内容

[Time]
NTP=cn.ntp.org.cn cn.pool.ntp.org 0.cn.pool.ntp.org 1.cn.pool.ntp.org
FallbackNTP=2.cn.pool.ntp.org 3.cn.pool.ntp.org tw.ntp.org.cn pool.ntp.org

保存并退出。

不需要连接WiFi的话可以跳过方法一剩下的步骤了。如果需要连接WiFi继续在该目录下新建一个文件夹,重命名为network
在这里插入图片描述
打开network文件夹,在里面新建一个文本文件并重命名为my-network(没有后缀)
在这里插入图片描述

用Notepad++打开my-network文件,并输入如下内容(文字部分需替换成相对应的内容)

[connection]
id=my-network
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=你的WiFi名字
# Uncomment below if your SSID is not broadcasted
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=你的WiFi密码

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

如果希望固定IP地址,则把

[ipv4]
method=auto

修改成(其中address的内容修改成 “IP地址/子网掩码;路由器IP地址”)

[ipv4]
method=manual
address=192.168.0.10/24;192.168.0.1
dns=8.8.8.8;8.8.4.4;

保存并退出。

然后把U盘插入到树莓派USB口上,并把系统SD卡插入到树莓派里,最后通电开机。



方法二:根据其他开发者的经验总结得来。

如果没有找到另一个U盘,则可以尝试该方法。直接新建一个文件夹并重命名为CONFIG
在这里插入图片描述
打开该文件夹,创建一个文本文件并修改名称为timesyncd.conf(注意后缀)
在这里插入图片描述
用Notepad++打开timesyncd.conf文件,并输入如下内容

[Time]
NTP=cn.ntp.org.cn cn.pool.ntp.org 0.cn.pool.ntp.org 1.cn.pool.ntp.org
FallbackNTP=2.cn.pool.ntp.org 3.cn.pool.ntp.org tw.ntp.org.cn pool.ntp.org

保存并退出。

不需要连接WiFi的话可以跳过方法二剩下的步骤了。如果需要连接WiFi继续在该目录下新建一个文件夹,重命名为network
在这里插入图片描述
打开network文件夹,在里面新建一个文本文件并重命名为my-network(没有后缀)
在这里插入图片描述

用Notepad++打开my-network文件,并输入如下内容(文字部分需替换成相对应的内容)

[connection]
id=my-network
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=你的WiFi名字
# Uncomment below if your SSID is not broadcasted
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=你的WiFi密码

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

如果希望固定IP地址,则把

[ipv4]
method=auto

修改成如下(其中address后面修改成 “IP地址/子网掩码;路由器IP地址”)

[ipv4]
method=manual
address=192.168.0.10/24;192.168.0.1
dns=8.8.8.8;8.8.4.4;

保存并退出。

重新把系统SD卡插拔一下,然后插到电脑上
把整个CONFIG文件夹复制进系统盘hassos-boot的根目录中
在这里插入图片描述
在这里插入图片描述
拔出SD卡,并把系统SD卡插入到树莓派里,最后通电开机。

补充:如果是网线连接并希望固定IP,则把my-network文件修改成如下(其中address的内容修改成 “IP地址/子网掩码;路由器IP地址”)

[connection]
id=my-network
uuid=f62bf7c2-e565-49ff-bbfc-a4cf791e6add
type=802-3-ethernet

[ipv4]
method=manual
address=192.168.0.10/24;192.168.0.1
dns=8.8.8.8;8.8.4.4;

[ipv6]
addr-gen-mode=stable-privacy
method=auto




通电开机
通电开机后等待几分钟稳定后,找台电脑连入和树莓派同一个局域网中,打开浏览器,输入以下网址:
http://homeassistant.local:8123
如果用的是旧一点的电脑,或者上面那个网址连接不成功的话,可以尝试:
http://homeassistant:8123
或者
http://X.X.X.X:8123(X.X.X.X为树莓派在局域网中的IP地址,如果不是固定IP地址的话可以通过登录路由器后台或者用Advanced IP Scanner等软件找到树莓派的IP地址)

如果出现如下界面就代表成功一大半了。
在这里插入图片描述
当然,最崩溃的也是出现在这里,因为进入到这个界面之后它就会下载一些文件并更新然后安装。它说这可能需要20分钟(实际远远不止!)。由于服务器在国外,如果不是科学上网的环境的话需要比较久。它在下载系统之前会更新系统时间,如果没有按方法一或者方法二去更改系统时间的获取源的话,会一直卡住。点击小蓝点会出现代码执行详情(如果看到Warning或者Error别害怕,一般都是网络连接不上,会不断重连,只要不是卡在Error不运行就没什么大问题,就时间长短罢了)。


PS:第一次弄,重装了三次后,等待了几个小时,终于成功了,成功后就是如下界面
在这里插入图片描述
祝各位好运。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐