首页 > 编程知识 正文

树莓派打造智能家居(三):Homeassistant -----实现控制小灯

时间:2023-05-04 01:43:21 阅读:265201 作者:4855

1. Home Assistant介绍

Home Assistant 是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。
官方网址:https://www.home-assistant.io/

Home Assistant能连接哪些东西:

实时汇率行情——获得当前实时的汇率行情
类似的,还有股票行情、电子货币行情、交通拥堵情况、天气预报、空气质量预报……

Android手机摄像头——获得摄像头的视频流
类似的,所有支持标准协议的硬件摄像头都可以接入。

人脸识别——基于视频流,识别出其中的人脸是谁
类似的,可以基于视频流进行车牌识别、文字识别、动作探测、噪音监控……

百度文字转语音服务——通过百度免费的TTS服务,将文字(比如天气预报、股票行情等文字信息)转换成语音(MP3)
类似的,也可以使用voiceRSS、Google等的服务。

KODI媒体播放器——将语音信号通过硬件播放出来
类似的,可以用VLC、Gstreamer等软件,也可以直接连接外部的各种蓝牙音箱。

亚马逊ECHO——与亚马逊ECHO进行联动
类似的,可以与各种外部的智能引擎联动,可以与苹果手机(Siri)进行联动,可以与GoogleAssistant联动,可以与IFTTT联动。

小米温湿度传感器——获得环境的温湿度信息
类似的,小米系列的各种传感器门窗开合、人体感应、小米魔方等都可以接入。

Philips智能灯——控制Philips智能灯的开关、颜色、亮度
类似的,小米智能灯、智能开关、宜家智能灯也可以被控制,还可以通过红外转发

控制传统家电。

发送邮件——可以发送邮件通知
类似的,也可以发送手机短消息。

Arduino——DIY的乐园
类似的,可以自己写一些脚本、做一些串口设备,都可以联动起来。

……

基于HomeAssistant,可以方便地连接各种外部设备(智能设备、摄像头、邮件、短消息、云服务等,成熟的可连接组件有近千种),手动或按照自己的需求自动化地联动这些外部设备,构建随心所欲的智慧空间。

2. Home Assistant的安装方式

这里以树莓派3b+为例。

2.1 方式一:手动安装

大致步骤如下:

安装一些基本依赖库安装samba,使windows可以访问树莓派的文件。或者用安装WinSCP也可以安装jupyternotebook,配置文件比较方便安装HomeAssistant加入开机启动 2.2 方式二:刷写 Hass.io 镜像

Hass.io 是一款 Home Assistant 特别定制的高集成度、图形化操作、易上手的 Home Assistant 系统。系统由 ResinOS 及 Docker 驱动,旨在简化 Home Assistant 的配置操作。

目前 Hass.io 支持树莓派、Intel NUC 及 Linux 系统。

请参考官方安装方法进行安装:https://home-assistant.cc/hassio/installation/

2.3 方式三:刷写 HAChina树莓派镜像

HAChina地址:https://www.hachina.io/docs/321.html

HAChina定制树莓派镜像
1、基于树莓派官方镜像制作,保证镜像的兼容性、稳定性及开放性;

2、搭载homeassistant、jupyter notebook、mosquitto、samba及HAdashboard等常用软件,并设置自启动,预装各个软件所有依赖包,省去繁琐的环境搭建过程,入手即用;

3、集成小米及苹果设备扫描工具,便捷获取同一局域网内小米及苹果设备的ip、token等信息;

4、HomeAssistant中预设tunnel2local工具,可以直接外网访问;

5、搭载最新版本的redpoint,获取Homeassistant可视化内测机会;

6、两周一次版本更新,保持与Homeassistant更新频率同步。

下载最新HAchina树莓派镜像:百度网盘点我下载

3. 实现控制小灯

这次尝试做一个小demo,简单实现homeassistant控制一个发光二极管。采用的是第三种方法,刷写 HAChina树莓派镜像,操作简单粗暴。刷写镜像就不多说了,可以参考另一篇博文:https://mp.csdn.net/mdeditor/102055866#

3.1 准备材料 5v继电器ESP8266小号面包板发光二极管一个电阻(降压用)USB-TTL(用来5v供电,可用其它代替)杜邦线若干
如图:
3.2 配置ESP8266(ESPEasy)

ESPEasy是web控制esp8266的固件,很方便,首先参考这篇博文刷ESPEasy:
树莓派打造智能家居(一):esp8266模块刷ESPEasy

刷完ESPEasy之后,要确保esp8266连接的WiFi和homeassistant(树莓派)是同一个WiFi,接着给模块VIN和G针脚供电,VIN输入5v,如下:

3.2.1 config项

输入IP地址,打开espeasy页面(这里是“192.168.43.8”),配置一下config,给esp8266起个名字“ESP3”,如下图所示:

3.2.2 Contollers项

然后,切换到Contollers项,这个是配置MQTT的,选择“OpenHAB MQTT”,
填一下MQTT服务器地址:“192.168.43.100”,端口号:1883



图中用户名和密码(5和6),可以不填,7勾选,提交8


提交完之后的状态,可以看到,还可以添加两个MQTT服务器控制。

3.2.3 Devices项

给这个小灯起个名字,在图中2处填上“deng”,勾选3,4是选择一个针脚来控制继电器,这里选的GPIO13,5是“Switch”,6,7勾选,8可以改也可默认,9提交。


提交后状态

3.2.4 Tools项

选择“Adanced”,打开后勾选“MQTT Retain Msg”选项,拉到最下面提交一下Submit。

3.3 接线

继电器的信号触发端接刚刚设置的引脚GPIO13(D7)

发光二极管长引脚为正极,短的为负极,接入面包板

3.4 接入homeassistant

浏览器输入:http://192.168.43.100:8123,(树莓派的ip:192.168.43.100)
注册一下,登录HaChina.


找到MQTT服务器配置一下,并保存:

接着搜索MQTT开关,

填写如下内容:

state_topic和command_topic 是上面“3.2.3 Devices项”配置的内容

保存,上传发布,重启homeassistant:“配置”–>“通用”–>“检查配置”–>“重启服务”。
重启之后,homeassistant 界面上出现了小灯的开关。
在灯没亮之前,状态State值是0,继电器没工作

打开开关,继电器工作,灯就亮了


此时的State状态值是1

3.5 HomeKit

进入红点,搜索“homekit”

不用配置,点击保存,上传发布。重启homeassistant后,右上角消息打开会有个8位HomeKit码

打开手机上的HomeKit,手机WiFi和树莓派在同一个局域网下,输入8位数,命名个房间,灯也重可命名。用“Siri”打开灯


至此,小demo完成了。可以加入自己感兴趣的传感器,如温湿度,土壤湿度,视觉摄像头等。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。