快捷导航
 
智能家居 篇四:《摸着石头过河》之 树莓派系统安装及HA系统介绍
VIEW CONTENTS

智能家居 篇四:《摸着石头过河》之 树莓派系统安装及HA系统介绍

2019-4-9 00:00| 发布者: 智能硬件专家| 查看: 513| 评论: 0|原作者: 智能硬件专家|来自: 网络

智能家居 篇四:《摸着石头过河》之 树莓派系统安装及HA系统介绍

内容简介:本文将介绍树莓派系统安装、HA系统安装,以及HA系统结构、重要配置文件功能等内容。本文内容既有学习前辈经验、也有自己安装过程中填坑经验。


本文按初次接触树莓派、HA的朋友而作,如果你是个大神,如发现文中不对的地方,请及时提出,帮助我及时纠正,以防误导值友为谢。

一、系统版本

我目前运行的智能家居系统如下所示,一直运行稳定。但HA系统更新很快,如果你使用了最新的系统版本,可能会出现安装出错、代码运行错误等现象,所以请认准系统版本,对号入座。

1、树莓派系统:《2018-11-13-raspbian-stretch-full》,此版本是2018年11月13日发布的,具体介绍及下载地址请点击 链接下载 。此地址仅支持下载最新版本,如需要下载历史版本,请找专业论坛或值友的帮助。

左上方版本包含系统外,还有一些常用软件,右上方版本为基本版本,下方版本为简化版本,初学者推荐使用第二个版本。左上方版本包含系统外,还有一些常用软件,右上方版本为基本版本,下方版本为简化版本,初学者推荐使用第二个版本。

2、HA系统:截止我撰写此文的时候,HA系统已经更新到 0.89.2。官网地址。

这是官方首页显示,点击上方图片可以打开测试页面,查看官方智能家居控制页面并操作、控制智能智能家居。这是官方首页显示,点击上方图片可以打开测试页面,查看官方智能家居控制页面并操作、控制智能智能家居。

这是我目前使用的版本,所有的安装方法和代码均以此版本为准。这是我目前使用的版本,所有的安装方法和代码均以此版本为准。

二、树莓派系统的安装

这一步操作很简单,只要用烧录软件将系统烧录到TF卡内,配置一下网络就OK了!具体步骤不再赘述!提供网络上教程链接给大家参考《从零开始【树莓派stretch】安装【docker】【hassio】【debian9】》。有几点提醒大家一定要做的。

1、配置无线WIFI连接。

新建TXT文件,将文件修改为:wpa_supplicant.conf。重要提示:后缀名为.conf。使用代码编辑器(如:Sublime,Visual Studio Code等,我喜欢用Visual Studio Code)打开文件将以下内容填加到文件中。

  • ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

  • update_config=1

  • country=GB

  • network={

  •   ssid="my WIFI ssid"        # WIFI名称,此行缩两空格

  •   psk="123456789"          # WIFI密码,此行缩两空格

  •   key_mgmt=WPA-PSK       # WIFI加密规则,可在路由器后台查询,此行缩两空格

  • }

说明:上述代码是用PYTHON语言编写的,格式要规范,按层级缩进相应的空格。关于缩进的规则如下:

Python语句的缩进。Pyhton语言与Java、C#等编程语言最大的不同点是,Python代码块使用缩进对齐表示代码逻辑,而不是使用大括号。这对习惯用大括号表示代码块的程序员来说,确实是学习Python的一个障碍。Python每段代码块缩进的空白数量可以任意,但要确保同段代码块语句必须包含相同的缩进空白数量。由于缩进没有对齐而产生的语法错误

上述代码中“#”之后的内容为注释内容、不执行。

2、开通SSH功能。

此功能开通非常简单,且非常有用。此文件的功能是通过命令代码配置系统参数,比如:设置时区、修改系统数据源、数据更新、系统升级等。

具体方法是:在TF 卡的根目录上新建TXT文件,将文件名修改为ssh,不保留后缀名(用于开启SSH功能,不用添加、修改文件内容)。

3、建立Samba服务。

此服务将建立树莓派与局域网中电脑的信息传输,可以直接通过网上邻居打开树莓派的配置文件,进行读取、修改等操作,便于今后设备添加、设备分组、自动化设置等。

三、HA系统的安装

这部分内容并非我所善长,在此向朋友们推荐几篇大神的安装教程。大家可以自行选择一种方式安装自己的HA系统,我推荐的教程均使用HASSIO。如有其他系统需求,请自行百度搜索。

1、《HASSIO 安装一键脚本》。  2、《从零开始【树莓派stretch】安装【docker】【hassio】【debian9】》3、《HA中文网站》

四、HA系统配置文件介绍

这部分内容是我准备重点讲的内容,因为很多刚入门的朋友对系统结构并不了解,看到系统文件并不知道如何下手。今天就和大家简要介绍一下文件及功能。

如果已经安装并成功运行HASSIO系统的朋友应该是见过的。下面就按照标的顺序逐一介绍(未标的文件或文件夹我还没有弄明白他们的用途,暂时搁置一边)。

《摸着石头过河》之 树莓派系统安装及HA系统介绍

1、路径

  • 简介:这个路径是树莓派在网上邻居中的地址。每个人的电脑不同,路径显示可能会不同。但“Home Assistanthomeassistant”这个目录应该没有区别。

  • 使用频率:

    ★ ★ ★ ★ ★

  • 功能:存放配置文件,通过修改相关文件,完善智能家居系统,搭建属于自己的智能家居。

2、.storage文件夹

  • 简介:这个文件夹在安装和日常使用过程中并不涉及,也没有任何影响。如果遇到设备重名或同一设备重复出现时,只需在该文件夹中的“core.entity_registry”文件中找到重复设备并删除即可(不用担心误删了其他设备,会自动添加新发现设备的)。此事谨记!正因为平时用的少,易忘,才反复强调。

  • 使用频率:★ ★

  • 功能:存在智能设备在系统中的注册信息,保障智能设备在系统中的唯一性。

3、custom_components文件夹

  • 简介:HASSIO系统中自带了许多的组件,比如小米、博联等等,当我们无法在系统中找到我们所需要的的组件时,只能通过自己编写或寻找网络大神们编写的组件。这一类非系统自带组件均放置于此。

  • 使用频率:★ ★ ★ ★ 

  • 功能:存放各类自定义组件

4、插件

  • 简介:这两个文件夹是安装插件后留下的,HASSIO系统可以自主安装许多插件,扩展更多的功能,我目前正在学习node-red就属于这一类。打个比方,我们在WIN10系统中安装OFFICE办公软件,就会在系统中创建OFFICE文件夹。

  • 使用频率:

  • 功能:支持插件运行使用。

5、packages文件夹

  • 简介:这是一个为主配置文件(configuration.yaml)减负而生的文件夹,该文件夹中的文件均属于主配置文件的一部分,该文件夹中的文件如果存在语法错误,将导致系统无法正常加载主配置文件。

  • 使用频率:★ ★ ★ ★

  • 功能:添加智能设备的代码全部在主配置文件(configuration.yaml)中,为了精简主配置文件代码量,可以将设备代码单独写入一个文件,均放在该文件夹。比如:可以将所有switch类的智能设备代码全部编辑在“switch.yaml”中,让主配置文件调用“switch.yaml”文件,加载switch类设备。启用该文件夹需要在主配置文件进行相应配置,代码为:“

    packages: !include_dir_named packages“。

6、TTS文件夹

  • 简介:当你启用百度语音转换功能后,这个文件夹就诞生了。这个文件夹的使用频率可以很少,也可能需要经常使用。如果在调用语音时自动清空历史语音,这个文件夹就经常是空的。如果有使用清空语音记录的代码,该文件夹里经过一段时间的运行,将存放大量的语音文件。

  • 使用频率:★

  • 功能:存放所有文字转换语音合成的声音文件。

7、.homekit.state

  • 简介:我原本想把使用频率设为零的,因为我平时根本不会修改该文件。但又觉得它是个应该让大家知道的文件。大家可以不使用,但一定要了解的功能。

  • 使用频率:

  • 功能:此文件的存在,就是证明HA可以与苹果手机的“家庭”APP相连,可能通过“家庭”APP控制智能设备。

8、automations.yaml

  • 简介:看文件名,很多朋友都知道这个文件的功能了吧。这是整个系统的重要组成部分,也是智能家居的灵魂文件之一。

  • 使用频率:★ ★ ★ ★ ★

  • 功能:这是个专门用于存放自动化代码的文件,可以在文件中编写无数个自动化,让你家中的智能化设备根据你自己的生活习惯自动运行、关闭等。比如,回家自动开灯,离家自动关灯等操作。

9、configuration.yaml

  • 简介:这是一个极其且非常重要的配置文件。这就是传说中的主配置文件,整个系统能否正常运行,设备能否操作、自动化能否执行,均依赖此文件。今后有机会,将专门介绍一下这个文件结构。大家只要记住:这是今后搭建智能家居过程中,经常需要修改的文件,修改此文件后,必须重启树莓派才能生效。如果树莓派不能正常启动,就说明此文件配置异常。

  • 使用频率:★ ★ ★ ★ ★

  • 功能:智能家居系统能否正常运行全依赖此文件的正确配置。

10、customize.yaml

  • 简介:HA系统中很多时候并不支持中文字符,所以智能化设备只能用字母和数字命名,对于象我这样英文不好、拼音不准的朋友就是一个考验。过几天,自己都不记得设备名是什么含义了。这个文件就是专门解决设备重命名的问题的。

  • 使用频率:★ ★ ★ ★

  • 功能:文件可以将智能设备名称从英文、拼音转换成中文,在终端界面直接显示中文名称,提高家居设备的辨识度。

11、groups.yaml

  • 简介:如果家中有几十个智能设备时,使用界面就会很乱,各种各样的设备随意出现。想关灯要找很久,如果这样,估计你早已放弃了智能家居。

  • 使用频率:★ ★ ★ ★ ★

  • 功能:将相同的设备编成同一组,或是将同一房间内的设备编辑在一组,都会很方便地找到设备并操作。这个文件除了可以将设备分别编组管理,还可以管理主页显示的标签页。标签页可以按种类、房间等方面进行分类管理。

12、known_devices

  • 简介:当我们启用设备跟踪功能后,这个文件才会出现在系统文件夹中。所以如果你的系统中没有此文件,完全不影响系统的运行和使用。

  • 使用频率:★ ★

  • 功能:记录跟踪设备的基础信息。可以记录指定设备,也可以是无目的扫描出来的设备信息,这完全取决于你采用的跟踪方法。

13、scripts.yaml

  • 简介:这个文件我还没有使用过,因为我不会用。这是一个脚本文件,需要一定的编程基础。

  • 使用频率:★ ★

  • 功能:此文件的功能类似于”

    automations.yaml”,都是通过编写代码程序,实现自己的目的。

14、secrets.yaml

  • 简介:搭建家居系统,会使用到很用户名、密码信息,比如mqtt。如果密码不集中保管,最后自己都不记得密码了。如果把密码直接写入配置文件,与别人分享配置方法时,可能不小心就泄露了自己的密码。

  • 使用频率:★ ★ ★

  • 功能:将系统中各类配置文件中所需要的用户名和密码集中保存到此文件,便于管理。比如配置mqtt的用户名和密码,主配置文件configuration.yaml中的代码如下:

  • mqtt:

  • broker: 192.168.1.14

  • port: 1883

  • username: !secret mqtt_username

  • password: !secret mqtt_password

  • discovery: false

  • 对应secrets.yaml文件中的代码为:

  • mqtt_username: mqtt

  • mqtt_password: mqtt123456

这就代表mqtt的用户名为mqtt,密码为:mqtt123456。

 五、总结一下

拖了快一周了,终于把这篇完成了。因为我对树莓派和HA系统学习的也不够深入,所以介绍的也只是常见的功能。但如果你是刚入门的小白,我相信这些信息对你还有用的。

下集预告:与大家分享搭建智能家居的基础性工程,智能家居必需的设备清单及安装建议。比如:家中无线网络布局,需要哪些设备,设备选型及安装位置等内容。




Tab标签:

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

推荐快讯更多

乐居居-让生活更智能!

  • 反馈建议:153890879@qq.com
  • 客服电话:
  • 工作时间:周一到周五

云服务支持

精彩文章,快速检索

关注我们

Copyright乐居居  Powered by©  备案号:湘ICP备15009499号-1