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

  • A+
所属分类:Web技巧
  • 前言
  • 一、硬件篇
    • 1. 硬件清单
    • 2.雨露传感器
  • 二、工具篇
  • 三、组装篇
    • 1.固件烧写
    • 2. 硬件连接
    • 3. OTA升级
  • 四、自动化篇
    • 1. 在HA中添加设备
    • 2. 配置自动化脚本
  • 总结

 

前言

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

首先看一下演示视频

HomeAssistant下雨检测演示视频

 

接下来,咱们进入正题。

一、硬件篇

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

1. 硬件清单

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

2.雨露传感器

Water Sensor是一个利用湿度方式检测有没有水分的传感器,可用于天气状况的监测,可以检测有没有下雨。将传感器放置在室外,当有雨水滴到检测面上时,湿度将增大,随之电压升高,并转成数字信号DO和模拟信号AO输出。除了检测雨水外,雾水和水蒸气也都能检测。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

二、工具篇

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

三、组装篇

1.固件烧写

为ESP-01S烧录ESP-Home固件,硬件安装好后,可以通过OTA的方式升级固件,而无需取下。
固件的编辑、编译、下载流程参考 软件篇
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
配置文件如下:

 

2. 硬件连接

硬件接线图如下所示:
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
连接方式与人体感应器基本相同,需要注意的是人体感应开关需要5V供电,而雨滴传感器只需要3.3V即可。
硬件全家福如下图所示:
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

  • 连接TypeC 转接板到电源模块输入端[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
  • 连接电池
  • 连接电源输出到5V -3.3V降压模块的输入端
  • 5V-3.3V降压模块输入端引出两路杜邦线[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
  • 使用杜邦线连接ESP-01S 和雨滴传感器
  • 使用杜邦线连接雨滴传感器DO脚到ESP-01 IO0
  • 检查焊接无误后,连接电池[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
    最后一步,安装外壳,我是用了一个75mm75mm25mm的塑料盒子、安装电源模块的时候,我没有把按键接出来,而是在壳子上开了一个洞。[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

3. OTA升级

打开web调试页面,IP地址可以到路由器管理页面查找,可以在web界面做简单的调试、OTA升级等功能。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
在OTA Update处选择固件文件,然后点击update
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
升级完成后,页面显示如下,点击F5刷新页面即可。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

代码如下(示例):

四、自动化篇

1. 在HA中添加设备

[/crayon]

  • 1

2. 配置自动化脚本

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

下雨提醒脚本设置如下:
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

触发条件设置为 雨滴传感器检测到湿度 并持续2s ,延时是防止传感器抖动误报,
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

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

[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
动作中,添加调用服务,通过语音播报下雨提醒, 服务选择 tts, 实体选择音频输出设备,消息填写语音播报的信息。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

由于雨滴传感器检测下雨后,并不会保持下雨的状态,而是会连续的触发,为了防止重复触发提醒,添加一个动作,下雨提醒后关闭自身。再添加一个动作,开启雨停提醒脚本。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

雨停提醒脚本设置如下:
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
触发条件为检测到雨滴传感器变干,并持续一段时间,这里为了方便测试,设置为10s,实际可以设置的长一些。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒
添加动作,设置雨停的语音提醒。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

添加一个动作,检测到雨停时,停用自身,并且启用下雨提醒的自动化脚本,继续检测下雨的状态。
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

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

总结

看到这里,我们的下雨感应器就做好了,接下来计算一下成本
[智能家居]DIY雨水传感器 接入HomeAssistant实现下雨语音提醒

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

    • avatar 海风 0

      如何确保小盒子不进水呢?传感器与小盒子之间可以接长一点的导线吗?

        • avatar zxar520 Admin

          @海风 可以的,或者在盒子或导线之间做一块隔板