【树莓派4B】搭建HomeAssistant服务端

前言

发挥树莓派的剩余价值,看到知乎有大神利用siri语音控制小米生态的智能家居,他就是利用HA实现的,HA打通不同品牌智能硬件的生态壁垒,而且还是开源,而我刚好手里有一块闲置的树莓派(斜眼笑),这不得支棱起来。但是家里没有什么智能家居设备,比较可惜,但我们先尽可能创造需求。这个过程也是加深了对linux系统的理解,提高了文档、formus以及错误信息的阅读能力。

安装HomeAssistant

相关方案

https://www.home-assistant.io/installation/
树莓派4B/Raspberry Pi4B 安装Home Assistant Core以及HACS商店

实践

我基本是参照第一个链接,也就是官方文档操作的,由于树莓派还有别的用途,我选择安装core版本,安装过程基本是安装python软件包,因为HA是用python开发的。遇到两个问题:

  1. 执行pip3 install homeassistant==2023.1.2时,构建cryptography时报错:

ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

版本问题,后来我看blog提到使用2.8版本,pip install cryptography==2.8,亲测可行。

  1. hass启动后,mobile_app模块无法设置,这会导致手机无法连接,提示:

未加载mobile_app组件。请将其添加到您的配置中,然后重新启动 Home Assistant 后重试。
错误代码: Shared.HomeAssistantAPI.APIError 6

阅读报错,是导入numpy的c语言拓展时出错,
【树莓派4B】搭建HomeAssistant服务端_第1张图片
解决方案就在红色框url中,选择Raspberry Pi,仔细看Original error就是缺少一些依赖项,对应上了。

original error was: libcblas.so.3: cannot open shared object file: No such fileor directory

解决办法:安装依赖sudo apt-get install libatlas-base-dev

效果

网页版,局域网内浏览器输入192.168.××.××:8123访问:

【树莓派4B】搭建HomeAssistant服务端_第2张图片

安装HACS

目的

HA本身对各个品牌硬件生态支持是有限的,你不能要求人家用爱发那么多电,开源的目的是构建社区生态,吸引更多人、企业加入进来,HACS,Home Assistant Community Store,就是社区的产物。

相关方案

https://hacs.xyz/docs/setup/download
树莓派4B/Raspberry Pi4B 安装Home Assistant Core以及HACS商店

实践

源在github上,涉及到××,不过我的树莓派还没有相关配置,只能尽可能增加访问成功率,修改/etc/hosts文件,绑定域名和ip,在文件最后添加:

185.199.108.154 github.githubassets.com
140.82.112.21   central.github.com
185.199.108.133 desktop.githubusercontent.com
185.199.108.153 assets-cdn.github.com
185.199.108.133 camo.githubusercontent.com
185.199.108.133 github.map.fastly.net
199.232.69.194  github.global.ssl.fastly.net
140.82.113.4    gist.github.com
185.199.108.153 github.io
140.82.114.3    github.com
140.82.113.6    api.github.com
185.199.108.133 raw.githubusercontent.com
185.199.108.133 user-images.githubusercontent.com
185.199.108.133 favicons.githubusercontent.com
185.199.108.133 avatars5.githubusercontent.com
185.199.108.133 avatars4.githubusercontent.com
185.199.108.133 avatars3.githubusercontent.com
185.199.108.133 avatars2.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com
185.199.108.133 avatars0.githubusercontent.com
185.199.108.133 avatars.githubusercontent.com
140.82.112.10   codeload.github.com
52.217.161.249  github-cloud.s3.amazonaws.com
52.217.229.65   github-com.s3.amazonaws.com
52.217.96.28    github-production-release-asset-2e65be.s3.amazonaws.com
52.217.77.92    github-production-user-asset-6210df.s3.amazonaws.com
52.217.172.9    github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153 githubstatus.com
64.71.144.202   github.community
185.199.108.133 media.githubusercontent.com

注意要先进入到ha工作目录下,否则会提示无法找到ha,执行wget -O - https://get.hacs.xyz | bash -,这是从https://get.hacs.xyz获取一个script到bash执行(管道命令),可能会有点慢,我多试了几次成功了。

INFO:Trying to find the correct dir
ERROR:Could not find the directory for HomeAssistant

这里有个小插曲一开始我执行的是sudo wget -O - https://get.hacs.xyz | sudo bash -,结果它提示我输入密码,当时我很疑惑,命名创建用户时并没有设置密码呀(创建命令sudo useradd -rm homeassistant -G dialout,gpio,i2c,不太了解linux的用户机制)。最后在formus上找到一个方法,将homeassistant用户加入到/etc/sudoers文件中,直接为它赋予sudo权限并取消pw,在文件最后添加homeassistant ALL=(ALL) NOPASSWD:ALL.

你可能感兴趣的:(嵌入式,python,linux,树莓派)