分类
Home Assistant 树莓派Raspberry

树莓派Raspbian如何安装Home Assistant 非img刷卡安装

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
分类
OpenWRT 树莓派Raspberry

刷了OpenWRT的路由器+旁路由配置方法(树莓派3B/3B+使用OpenWRT系统做旁路由)

技术奇客ITGeeker配置了两套主路由+旁路由方案,分别是:

主路由旁路由
Linksys WRT1200AC, Raspberry 3B
Netgear WNDR4300 Raspberry 3B+

OpenWRT img采用的是 https://mlapp.cn/369.html 的第八版,作者在该页面的介绍非常详细,编译的OpenWRT可同时适用Raspberry 3B及3B+,甚至尝试性支持了Raspberry 4B。最新的版本是 20191007 日常跟进更新(第八版) ,请大家多多支持该作者。

如果去官方下载最新版OpenWRT18.06.4,Raspberry 3B可以正常运行,但是Raspberry 3B+不管用snapshots还是其它版本,官方的还没有成功过。

具体刷机和配置,请查看该作者的详细介绍,这里不重复了。

该链接介绍的是Raspberry做软路由的方法,ITGeeker技术奇客这次介绍的是旁路由设置,所以在“网口设置”部分不要配置和添加wan口啦!

旁路由和软路由配置的区别

技术奇客ITGeeker的Netgear WNDR4300和Linksys WRT1200AC都刷了OpenWRT官方的18.06.4,如果是官方的rom其实也没关系,尽管Linksys官方rom设置非常简单,甚至无法设置自己的网关(据说挺多官方路由器都不让设置网关),也不影响旁路由设置。一开始ITGeeker也是看到网上说的要主旁要互设网关,实践结果其实不需要的。

主路由设置

  1. 假设ip地址为192.168.1.1
  2. 进入网络-接口-LAN,关闭DHCP(不关可能也可以,旁路由设置强制也行),英文 Ignore interface
  3. 在IPv6设置里禁止IPv6的前三个选项
  4. 不需要设置网关Gateway和自定义DNS

旁路由设置

  1. 同样进入 进入网络-接口-LAN,选择固定网址,ip地址配置为何主路由同一地址段例如:192.168.1.2(如果不是同一地址段,自行配置子网掩码)
  2. 网关Gateway为主路由ip地址:192.168.1.1
  3. 自定义dns服务器:114.114.114.114 换行添加:202.96.209.133或者使用你当地最快的公共DNS
  4. 开启DHCP,高级设置里面开启强制选项。即使检测到另一台服务器,也要强制使用此网络上的DHCP
  5. 同样,禁止IPv6, 在IPv6设置里禁止IPv6的前三个选项

建议重启主和旁路由,重启电脑,然后查看网络连接,看看自动获取的网关和DNS是否都为旁路由ip地址: 192.168.1.2

技术奇客提醒

如果有酸酸乳服务器,在旁路由配置并启用后,在服务-酸酸乳-状态里可以测试是否可以连接谷歌和百度,然后直接打开网站看看是否设置成功了。

问题

ITGeeker有发现网络时而有断续的问题,发生在Raspberry 3B+做旁路由的时候,不知道是否OpenWRT对Raspberry 3B+支持不好的问题。

后来ITGeeker把Raspberry 3B+的LAN口桥接关闭并把无线关闭后似乎好多了。

好处

  • 可以突破主路由的CPU和RAM的限制,油管可以看更高清的视频,速度也更快,酸酸乳的本质就是加密算法。
  • Raspberry Pi 3作为软路由的话,自带的WIFI太弱,加个无线网卡又要破费,作为旁路由仍然可以使用主路由的无线功能。