家庭助理(Home Assistant)是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、跟踪和控制家里的所有设备, 并自动化控制,能完美的运行在树莓派。在2017年,HomeAssistant因其出色,获得了开源界的Thomas-Krenn奖。正在有越来越多的用户在使用Home Assistant。

1、下载Raspberry Pi的系统镜像并烧写。

Raspbian预装了大量用于教育,编程和一般用途的软件。它有Python,Scratch,Sonic Pi,Java,Mathematica等等。烧写工具我们下载使用Etcher

2、在SD卡上新建一个ssh空白文件,准备通过putty登录Raspberry Pi。如果打算使用WIFI连接网络,要在SD卡根目录下建立并编辑配置文件

wpa_supplicant.conf

#priority 是多个网络连接的优先级,值越大优先级越高,不能为负数
network={
ssid = "你的 WIRI ID"
psk = "你的 WIFI 密码"
priority =
} network={
ssid = "你的 WIRI ID"
psk = "你的 WIFI 密码"
priority =
}

启动后,此文件将写入系统配置并由系统自动删除。

上面的配置对于jessie版来说,没有任何问题,如是新的stretch版本,还要用网线连接做如下的操作:

确认wpa_supplicant.conf文件的位置

sudo nano /etc/network/interfaces

在后面插入以下内容

allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

保存退出后,作如下操作

sudo systemctl enable wpa_supplicant.service

然后重新启动系统,你的无线网卡应该能正常连接了。

3、更改登录密码,然后设置时区。

pi@raspberrypi:~ $ passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully pi@raspberrypi:~ $ sudo raspi-config
Current default time zone: 'Asia/Shanghai'
Local time is now: Fri May :: CST .
Universal Time is now: Fri May :: UTC .

4、更换国内的更新源。

sudo nano /etc/apt/sources.list

#将原内容注释掉并添加如下两行配置,注意raspbian的版本

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi

如果在以后更新或安装软件的时候出现类似如下的错误:

W: Some index files failed to download. They have been ignored, or old ones used instead.

还要修改 注释掉/etc/apt/sources.list.d/ 下的raspi.list里面的相关条目。

更改pip的国内的源

默认路径下并不存在配置文件,需要新建,在linux默认的路径是 $HOME/.pip/pip.conf

sudo mkdir .pip
sudo nano .pip/pip.conf

然后在配置文件中写入

[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple/ [install]
trusted-host = pypi.mirrors.ustc.edu.cn

index-url即源地址,trusted-host为源地址的域名,由于国内的源镜像都未使用https协议,所以如果不添加信任域就会报警。

5、以上步骤顺利完成后,进入home-assistant的安装与配置阶段。

5.1 安装依赖关系

sudo apt-get install python3 python3-venv python3-pip

5.2 添加一个名为Home Assistant的帐户homeassistant。由于此帐户仅用于运行Home Assistant,因此添加额外参数-rm,以创建系统帐户并创建主目录。参数-G dialout将用户添加到dialout组中。这是使用Z-Wave和Zigbee控制器所必需的。

sudo useradd -rm homeassistant -G dialout

5.3 接下来,我们将创建一个安装Home Assistant的目录,并将所有者更改为该homeassistant帐户。

cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant

5.4 接下来是创建并更改为Home Assistant的虚拟环境。这将作为homeassistant账户完成。

sudo su -s /bin/bash homeassistant
cd /srv/homeassistant
python3 -m venv .
source bin/activate

5.5 一旦你激活了虚拟环境(注意提示符改变为(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $),你将需要运行以下命令来安装一个必需的python软件包。

python3 -m pip install wheel

5.6 一旦你安装了所需的Python包,现在就可以安装Home Assistant的了!

pip3 install homeassistant

通过以上的步骤,就完成了home-assistant的安装过程。直接输入命令,就会首次运行并自动下载安装和缓存必要的库/依赖项。

hass

您现在可以通过 http:// ipaddress:8123 上的Web界面在Raspberry Pi上访问您安装的home-assistant了。

第一次运行home-assistant时,程序将在.homeassistant目录中创建配置/home/homeassistant目录并将下载安装和缓存必要的库/依赖项。此过程可视网络情况而定可能需要5到30分钟。在此期间,访问Web界面时可能会出现“网站无法访问”错误,这时要多一点耐心。这只会在第一次发生,随后的重新启动将会更快。

因众所周知的原因,如果不能正常启动,可能是默认配置的模块要访问google 服务,编辑/home/homeassistant/.homeassistant/configuration.yaml文件,注释掉与google相关的服务能解决很多错误提示或提高网页访问速度。

5.7 更新

要更新到最新版本的Home Assistant,请按照以下简单步骤操作:

sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant

一旦最后一个命令执行后,将重新启动home-assistant服务以应用最新的更新。还是要注意,某些更新可能需要较长时间才能启动。在此期间,访问Web界面时可能会出现“网站无法访问”错误。如果无法正常启动,请从发行说明检查重大更改。

以上内容是本人一步步实践后纪录,因个人的使用环境不同,会有些差异,如碰到问题,请查询官方网站或留言互动。

原创文章,转载请注明出处。

Raspberry Pi 安装配置 Home Assistant的更多相关文章

  1. RASPBERRY PI wifi配置

    Raspberry Pi 手把手教你在树莓派上安装USB无线网卡支持WIFI 树莓派虽然已经有了有线网卡,但是并未配置无线网卡,移动性不够强,好在机器配备了2个USB口,当然要分一个出来给WIFI无线 ...

  2. 最简单的RASPBERRY PI wifi配置

    Setting up Wifi with the Command Line  SIMON MONK   This tutorial works best if your router is broad ...

  3. 树莓派Raspberry pi安装系统/烧录系统

    一:下载系统文件 1.树莓派官网系统下载链接:https://www.raspberrypi.org/downloads/raspbian/ (也可在百度云盘下载:https://pan.baidu. ...

  4. Raspberry Pi 安装FTP(Pure-FTP)

    Raspbian版本: 安装: 因为使用的是默认的pi用户,所以下面的命令都带着sudo. 安装Pure-FTP sudo apt-get install pure-ftpd 2. 创建用户组ftpg ...

  5. Raspberry Pi 3b+ 配置摄像头

    1.开启摄像头硬件接口 raspi-config > Interfacing Options > Camera 2.测试 raspistill -v -o test.jpg

  6. Raspberry Pi 中安装Mono

    摘自:http://www.phodal.com/blog/user-csharp-develop-raspberry-pi-application/ Raspberry Pi C# Mono Lin ...

  7. raspberry pi恢复jessie镜像之后

    1.更新源 nano /etc/apt/source.list deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib ...

  8. 用 Raspberry Pi 架设加密 DNS 客户端

    Cloudflare 宣布使用 1.1.1.1 作为 DNS,并且强调隐私保护.由于 Cloudflare DNS 支持 DNS-over-TLS 和 DNS-over-HTTPS,这使得加密 DNS ...

  9. 人脸辨识,用树莓派Raspberry Pi实现舵机云台追踪脸孔

    影像辨识作为近年最热门的专业技术之一,广泛用于智慧监视器.车电监控.智慧工厂.生物医疗电子等等:其中,人脸辨识是一个很重要的部分,网络上已经有相当多的资源可供下载使用:于是我们使用舵机云台作为镜头旋转 ...

随机推荐

  1. node-sass模块的安装

    使用淘宝源 npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ npm config set phant ...

  2. PAT 1144 The Missing Number

    1144 The Missing Number (20 分)   Given N integers, you are supposed to find the smallest positive in ...

  3. mysql锁分析相关的几个系统视图

    1.infomation_schema.innodb_lock_waits+-------------------+-------------+------+-----+---------+----- ...

  4. FastCGI 进程意外退出造成500错误

    在一台新服务器上,安装新网站,之前只放至了一个网站.是服务器商配置好的,非集成环境. 添加了一个新站,路径都制定好了,但是在访问时出现了500错误.提示貌似是php的问题,但是之前的网站,运行的是di ...

  5. js的closures(闭包)

    JS中的闭包(closure) 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.下面就是我的学习笔记,对于Javascript初学者应该是很有用 ...

  6. 网络相关配置,SSH服务,bash, 元字符

    作业一:临时配置网络(ip,网关,dns)+永久配置  设置IP和掩码ifconfig eth0 192.168.2.2 netmask 255.255.255.0设置网关route add defa ...

  7. Struts中向显示界面传输数据

    方法一:action类成员做对象成员,加getter,setter.例如: public class RegAction extends ActionSupport { private Login l ...

  8. ImportError libcublas.so.9.0

    What to do when you've installed cuda and tensorflow, but you get this error right after you import ...

  9. 网络拓扑_华三H3C的路由器+交换机

    最近在弄公司网络,目前的拓扑图长这样:点击查看网络拓扑图 华三的路由器和交换机都可以通过Console口进行配置,如下: 用SecureCRT.或者putty.或者windows的超级终端,打开ser ...

  10. 代码规范mark一下

    转自于:https://github.com/zh-google-styleguide/zh-google-styleguide/blob/master/google-python-styleguid ...