当前位置:   article > 正文

[智能家居]DIY下雨感应器 接入HomeAssistant实现下雨语音提醒_homeassist接入语音

homeassist接入语音

前言

本项目的起因是周末在家洗衣服,晾在窗外的晾衣架上,本来是个艳阳高照的天气,突然下起了雨,而在屋内写代码的我对此一无所知,等发现的时候,快晾干的衣服已经在滴水了,因此萌生了DIY一个能够检测下雨,并且语音提醒的东东。

首先看一下演示视频

HomeAssistant下雨检测演示视频

接下来,咱们进入正题。

一、硬件篇

  本项目使用到的硬件和自制人体感应器部分基本相同,此处只是罗列出来,不再过多介绍了。传送门

1. 硬件清单

  • ESP-01S 串口WIFI模块
  • 5V2A充放电一体模块
  • 1.8V-5V转3.3V升降压模块
  • type-C 转接板
  • 按键及键帽
  • 锂电池
  • 细导线
  • 杜邦线
  • 雨露传感器

2.雨露传感器

Water Sensor是一个利用湿度方式检测有没有水分的传感器,可用于天气状况的监测,可以检测有没有下雨。将传感器放置在室外,当有雨水滴到检测面上时,湿度将增大,随之电压升高,并转成数字信号DO和模拟信号AO输出。除了检测雨水外,雾水和水蒸气也都能检测。
在这里插入图片描述
在这里插入图片描述

二、工具篇

  • 电烙铁
  • 热熔胶枪
  • 固件烧录器

三、组装篇

1.固件烧写

为ESP-01S烧录ESP-Home固件,硬件安装好后,可以通过OTA的方式升级固件,而无需取下。
固件的编辑、编译、下载流程参考 软件篇
在这里插入图片描述
配置文件如下:

esphome:
  name: esp01s_rain
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "TP-LINK_C770"
  password: "tzacwbc418"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp01S Rain Fallback Hotspot"
    password: "HgQQT5PNt4Z5"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:


web_server: ##web控制,添加了这2行,就可以在网页端打开设备ip
  port: 80
  
binary_sensor: #定义传感器
  - platform: gpio
    pin:
      number: 0
      inverted: yes
    name: "rain sensor"
    device_class: moisture
    
    id: motion_01
    on_press:
      - switch.turn_off: motion_01_light
    on_release:
       - switch.turn_on: motion_01_light   
  
switch:
  - platform: gpio
    pin: GPIO2
    name: "rain  light"
    id: motion_01_light
    restore_mode: ALWAYS_ON
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

2. 硬件连接

硬件接线图如下所示:
在这里插入图片描述
连接方式与人体感应器基本相同,需要注意的是人体感应开关需要5V供电,而雨滴传感器只需要3.3V即可。
硬件全家福如下图所示:
在这里插入图片描述

  • 连接TypeC 转接板到电源模块输入端在这里插入图片描述
  • 连接电池
  • 连接电源输出到5V -3.3V降压模块的输入端
  • 5V-3.3V降压模块输入端引出两路杜邦线在这里插入图片描述
  • 使用杜邦线连接ESP-01S 和雨滴传感器
  • 使用杜邦线连接雨滴传感器DO脚到ESP-01 IO0
  • 检查焊接无误后,连接电池在这里插入图片描述
    最后一步,安装外壳,我是用了一个75mm75mm25mm的塑料盒子、安装电源模块的时候,我没有把按键接出来,而是在壳子上开了一个洞。在这里插入图片描述

3. OTA升级

打开web调试页面,IP地址可以到路由器管理页面查找,可以在web界面做简单的调试、OTA升级等功能。
在这里插入图片描述
在OTA Update处选择固件文件,然后点击update
在这里插入图片描述
升级完成后,页面显示如下,点击F5刷新页面即可。
在这里插入图片描述

代码如下(示例):

四、自动化篇

1. 在HA中添加设备

添加设备的方法与人体感应器的添加方法相同,此处不再赘述。
  • 1

2. 配置自动化脚本

创建两个自动化脚本,分别命名为下雨提醒和雨停提醒,创建好后再开始编辑。

下雨提醒脚本设置如下:
在这里插入图片描述

触发条件设置为 雨滴传感器检测到湿度 并持续2s ,延时是防止传感器抖动误报,
在这里插入图片描述

环境条件中 增加时间,设为7:00-20:00,睡眠期间免打扰。

在这里插入图片描述
动作中,添加调用服务,通过语音播报下雨提醒, 服务选择 tts, 实体选择音频输出设备,消息填写语音播报的信息。
在这里插入图片描述

由于雨滴传感器检测下雨后,并不会保持下雨的状态,而是会连续的触发,为了防止重复触发提醒,添加一个动作,下雨提醒后关闭自身。再添加一个动作,开启雨停提醒脚本。
在这里插入图片描述

雨停提醒脚本设置如下:
在这里插入图片描述
触发条件为检测到雨滴传感器变干,并持续一段时间,这里为了方便测试,设置为10s,实际可以设置的长一些。
在这里插入图片描述
在这里插入图片描述
添加动作,设置雨停的语音提醒。
在这里插入图片描述

添加一个动作,检测到雨停时,停用自身,并且启用下雨提醒的自动化脚本,继续检测下雨的状态。
在这里插入图片描述

通过上述两条自动化脚本,可以实现检测到下雨后触发语音提醒,并且每次下雨只提醒一次。
以上脚本只是一个示例,可以通过定义自动化脚本,实现更多好玩的功能。

总结

看到这里,我们的下雨感应器就做好了,接下来计算一下成本
在这里插入图片描述

相关的资料和文件在此处下载,同时也会上传到我的个人公众号中,回复“下雨感应器”即可免费领取。

如果你对HomeAssistant和智能家居的内容感兴趣,欢迎关注我的个人微信公众号,获取更多精彩内容。
https://img-blog.csdnimg.cn/20210314130047688.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/419184
推荐阅读
相关标签
  

闽ICP备14008679号