Home Assistant 是当前智能家居最火热的开源DIY 软件,之前的文章  智能家居系统 Home Assistant 系列 --介绍篇  已经详细介绍过了,这里就不详细介绍了,今天介绍 如何在树莓派中安装,并设置树莓派开机启动软件。

我们使用 pip3 命令 来进行安装。在树莓派终端输入命令:sudo pip3 install homeassistant 即可安装,此命令会找到 Home Assistant 所依赖的Python 库,自动进行下载安装,所以下载安装需要一定的时间,请耐心等待。如果安装过程中出现红色错误 请在原安装命令后面加上 upgrade 重新安装。sudo pip3 install homeassistant  --upgrade   出现Successfully 即安装完成。

安装完成 输入 hass 命令 启动Home Assistant ,第一次启动的时候会比较长,Home Assistant在此过程中 为我们创建缺省的配置目录与配置文件 同时也会下载基础组件所依赖的python库,因为安装的库比较多 所以第一次启动的时候 有时候hass 会僵死,这时候我们需要使用ctrl +c 退出 重新输入 hass 启动。注意 hass 是一个始终运行的程序 所以它不会退出,当终端输出  Timer:starting 的时候 表示hass 已经启动完成。

重新打开putty,连接树莓派,使用命令检查Home Assistant的 8123 端口是否开放。netstat -an|grep  8123

这时候我们就可以在浏览器中 使用树莓派的ip+8123 端口访问Home Assistant。第一次访问需要创建一个用户。

然后输入刚刚创建的用户名和密码登录Home Assistant

我们使用Jupyter Notebook 来编辑Home Assistant 的配置文件。启动Jupyter Notebook ,浏览器访问Jupyter Notebook  这时候Home Assistant 的目录是隐藏的,这时在新开的终端 输入 ln -s  .homeassistant/  homeassistant   然后刷新jupyter Notebook 就可以看到  Home Assistant 的目录了。

点击homeassistant目录进入选择 configuration.yaml 文件点开,然后我们加上比特币 行情的配置。在文件中找到 sensor 节点 然后加入一下配置:

- platform: bitcoin

display_options:

- exchangerate

- trade_volume_btc

注意配置缩进,一定要注意。

配置好记得保存,然后ctrl+c 退出,重新启动hass   浏览器访问就可以看到比特币的行情了

到此已经介绍完 Home Assistant 在树莓派上的安装 和示例配置了。但是关掉终端,就会发现Home Assistant 无法访问了。下面我就介绍一下如何把Home Assistant 安装成服务 进行自启动。

首先终端连接树莓派,使用vi编辑器编辑服务的配置文件,终端输入:sudo vi  /etc/systemd/system/home-assistant@pi.service   回车 ,然后拷贝如下指令:

[Unit]

Description=Home Assistant

After=network.target

[Service]

Type=simple

User=%i

ExecStart=/usr/local/bin/hass

[Install]

WantedBy=multi-user.target

保存退出。

然后输入指令  sudo systemctl enable  home-assistant@pi   将配置文件加入系统中

同样也可以用相同的方式把Jupyter Notebook 也安装成服务 自启动:sudo vi  /etc/systemd/system/jupyter-notebook@pi.service  回车 ,然后拷贝如下指令:

[Unit]

Description=Jupyter Notebook

[Service]

Type=simple

ExecStart=/usr/local/bin/jupyter-notebook

User=%i

[Install]

WantedBy=multi-user.target

保存退出。

同样输入指令  sudo systemctl enable  jupyter-notebook@pi

手动启动 刚刚安装的两个服务。

sudo systemctl starthome-assistant@pi

sudo systemctl jupyter-notebook@pi

这样下次就不用在终端输入命令来启动服务了,直接开启树莓派就可以使用。

 

服务相关命令(以home-assistant@pi服务为例)

重载服务配置:          sudo systemctl --system daemon-reload

将服务加入自启动:   sudo systemctl enable home-assistant@pi

将服务移除自启动:   sudo systemctl disable home-assistant@pi

手工启动服务:          sudosystemctl start home-assistant@pi

手工停止服务:          sudosystemctl stop home-assistant@pi

手工重启服务:          sudosystemctl restart home-assistant@pi

查看服务输出:          sudojournalctl -f -u home-assistant@pi

关注一下,更多精彩,不容错过!

Home Assistant系列 -- 基于树莓派安装并设置自启动的更多相关文章

  1. Home Assistant系列--之树莓派安装Samba 和 Jupyter Notebook

    1.什么是Samba? Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上 ...

  2. Home Assistant系列 -- 自动语音播报天气

    在树莓派上要让 Home Assistant  发声朗读 ,从硬件上我们需要 3.5mm插口音箱(耳机)或usb口音箱(耳机).软件方面 我们需要一个媒体播放器以及 tts ( 将文字转化为语音的服务 ...

  3. 基于树莓派3的CAN总线编程

    基于树莓派3的CAN总线编程 原创 2016年09月08日 10:16:13 标签: 树莓派3 / MCP2515 / CAN总线 / python / 命令行 5254 简介 树莓派3使用Pytho ...

  4. 树莓派项目——基于树莓派的WIFI网络互传系统设计

    一 实验原理 所需硬件:树莓派3B,TP-LINK WiFi模块,笔记本电脑,网线 所需软件:Putty.远程桌面链接.python.cmd界面 树莓派3B是只有信用卡大小的微型电脑,其系统基于Lin ...

  5. 树莓派安装OSMC打造家庭影院,还可以看优酷和CCTV

    1.OSMC是什么? OSMC是树莓派官方推荐的影音系统,是一款开源的操作系统,是Openelec的升级版,同样是基于Kodi的开源项目.OSMC,使用它可以将树莓派打造成一款全功能的家庭影院系统,它 ...

  6. 树莓派安装ubuntu_meta并配置开发环境

    1.烧录系统 首先准备好我们要烧录的ubuntu_meta系统,可以在树莓派官网中下载https://www.raspberrypi.org/downloads/ 这里我们选择 Raspberry P ...

  7. 树莓派安装raspbian并配置开发环境

    1.烧录系统 首先准备好我们要烧录的raspbian系统,可以在树莓派官网中下载https://www.raspberrypi.org/downloads/ 这里我们选择 2018-11-13-ras ...

  8. ABP(现代ASP.NET样板开发框架)系列之9、ABP设置管理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之9.ABP设置管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  9. 基于VirtualBox安装Ubuntu图文教程

    基于VirtualBox虚拟机安装Ubuntu图文教程 一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 5.1.8 for Windows hosts ...

随机推荐

  1. Python学习---Model拾遗[2]180318

    Model的字段及字段参数: Model字段: 数字        字符串(带正则的字段)        时间        文件       特殊字段:(一对一,一对多,多对多) Models.py ...

  2. Exchange2016 & Skype for business集成之二 OWA集成IM

    Microsoft Outlook Web App 和IM集成部署或升级Exchange server 2016与Skype for business 2015后使用原来2013版本方法集成OWA网页 ...

  3. [EffectiveC++]item02:尽量以const,enum,inline代替#define

  4. Radix Sorts

    基数排序 Strings In Java Char Data Type C 语言中的字符数据类型占一个字节(8 比特),最多只能表示 256 个字符.支持 7 位的标准 ASCII(American ...

  5. 深入了解Node模块原理

    深入了解Node模块原理 当我们编写JavaScript代码时,我们可以申明全局变量: var s = 'global'; 在浏览器中,大量使用全局变量可不好.如果你在a.js中使用了全局变量s,那么 ...

  6. java多态抽象类实例

    编写一个Soldier类,描述具有普遍行为和属性的一个士兵对象. 编写陆军士兵.海军士兵.军官类来扩展Soldier类. 设计Soldier类的相关属性和方法. 建模几个陆军士兵.海军士兵.军官类来继 ...

  7. java抽象继承-模板方法

    //模板方法:步骤提前设计好,用的时候只需要改步骤内容 public class TemplateDemo { public static void main(String[] args) { // ...

  8. Echarts 嵌套饼图实现,内环点击控制外环显示

    Echarts有交互事件,但是如果用其进行图形变更,恐怕就只有重新修改配置了. 如图,我想要实现,内圈的数据控制外圈的图形,当点击内环的某一块时,就可以实现,更改外环的目的. 起初我想能不能直接修改o ...

  9. ECharts 图表设置标记的大小 symbolSize 和获取标记的值

    ECharts 是百度出品,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...

  10. PHP一个表单多个提交按钮解决方法

    1.html页面<注:多个按钮的name值必须相同> <form action="{:U('Index/index')}" method="post&q ...