[智能家居] 手把手教你自制HomeAssistant人体感应器


前言

  本文教大家用25元的成本打造一个可充电的、支持HomeAssistant的人体感应器,通过搭配不同的自动化脚本实现​各种好玩的功能。整个制作过程中需要一丢丢的动手能力和软硬件基础,最终成品图如下:
在这里插入图片描述


一、硬件篇

项目用到的硬件主要包括以下几个部分:

1.ESP-01S 串口WIFI模块

ESP-01s模块它是由一颗ESP8266作为主控再由一颗flash作为存储芯片组成的,带有板载芯片供电采用3.3V电压,使用串口进行烧写固件程序或者AT指令集调试的。支持连接2.5GHzWIFI,板载两个GPIO口。

在这里插入图片描述

2. HC-SR501 人体感应传感器

人体红外感应模块 是基于红外线技术的自动控制产品。灵敏度高、可靠性强、超低功耗,超低电压工作模式。广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。

  • 两种触发方式:(可跳线选择)
     1. 不可重复触发方式:即感应输出高电平后,延时时间段结束,输出将自动从高电平变成低电平;
     2. 可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围
    活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平.。
  • 光敏控制(可选):模块预留有位置,可设置光敏控制,白天或光线强时不感应。光敏控制为可选功能,出厂时未安装光敏电阻。如果需要,请另行购买光敏电阻自己安装。
    在这里插入图片描述

3. 5V2A充放电一体模块

  • 模块支持3.7/4.2V锂电池
  • 允许边充边放
  • 输出为5V 2A
    在这里插入图片描述

4. 1.8V-5V转3.3V升降压模块

由于ESP-01S使用3.3V电源,而外部输入为5V电源,因此需要转换模块。
在这里插入图片描述

5. type-C 转接板

使用此转接板后,充电时可使用通用的Type-C充电线,注意只是适配接口,并不支持快速充电。
在这里插入图片描述

6. 按键及键帽

充放电一体模块有一个开关,单点打开输出,双击关闭输出,为了操作方便,需要将其引出接到外壳上。
在这里插入图片描述

7. 锂电池

普通的3.7V锂电池
在这里插入图片描述

8.细导线

导线我选择的时1007电子线,导线不宜太粗,否则不好焊接。
在这里插入图片描述

二、工具篇

1. 烙铁

可调温度的焊台使用方便,需要额外购买焊锡丝和助焊剂,此处不再赘述。
在这里插入图片描述

2. 胶枪

热熔胶枪,很便宜,需要购买胶条。
在这里插入图片描述

3. 固件烧录器

ESP-01S的下载器有两种,一种时如下图所示的串口转接板,是用来发送AT指令集的,不能直接用来烧录固件,但是把GPIO0接到GND就可以了,用一个短线接起来,如下图所示。
在这里插入图片描述
还有一种是烧录器,应该是可以直接使用的,我没有用过,如下图所示
在这里插入图片描述

三、组装篇

1. 硬件连接

硬件接线图如下所示,没装绘图软件,用自带的绘图工具画的,比较简陋,以后会更新:

在这里插入图片描述
注意传感器HC-SR501的电源供电为5V,之前的图有误,已经做了修改。

简单来讲分为以下几个步骤:

  1. 连接Type-C转接板到充放电板的电源输入
  2. 连接锂电池到充放电板的电池端
  3. 连接输出端到 5-3.3降压模块的VI和 HC-SR501的VCC
  4. 连接降压模块的VO到ESP-01S的3.3V输入端
  5. 连接HC-SR501的输出端到ESP-01S的GPIO0
  6. 就近连接各模块的GND引脚

焊接好的实物图如下所示,注意检查引脚焊接有无正负极接反和短路的情况后再上电,以免发生危险:
在这里插入图片描述

2. 安装外壳

为了看起来更加美观和方便使用,我找来了一个塑料盒子,经过开孔等操作,成功的将硬件部分塞进了壳子里,并且将电源按钮引出接到了外壳上。
在这里插入图片描述
在这里插入图片描述

四、软件篇

软件开发平台使用的是ESPHome,好处是操作逻辑使用配置的形式编写,较为简单,同时接入HomeAssistant比较方便。
关于开发环境的搭建,我会单独写一篇文字介绍,此处就不详细介绍了。

1. 创建设备

首先连接到HomeAssistant的前端页面,打开ESPHome的UI界面,如下图所示:
在这里插入图片描述
点击右下角的+号,开始 创建设备
在这里插入图片描述
根据提示设置名称、设备类型、WIFI,
其中设备名称只能包含a-z,0-9,-和_几种字符,我命名为 esp01s_body
设备类型选择
在这里插入图片描述
输入WIFI信息,esp01-s上电后会连接到此页面,OTA升级密码可以设置也可以空着。
在这里插入图片描述
点击Finish完成创建。
在这里插入图片描述

2. 编写配置文件

点击Edit,开始编辑文件,文件中已经包含了部分内容

esphome:
  name: esp01s_body
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "XXXXX"
  password: "XXXXX"


  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "XXXXXX"
    password: "XXXXXX"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

在配置文件中添加如下信息以添加web_server支持,支持在web界面中调试程序。

web_server: ##web控制,添加了这2行,就可以在网页端打开设备ip
  port: 80

添加传感器相关配置信息

binary_sensor: #定义传感器
  - platform: gpio
    pin: GPIO0
    name: "body sensor"
    device_class: motion
    id: motion_01
    #触发时关闭GPIO2输出,点亮了板载LED
    on_press:
      - switch.turn_off: motion_01_light
    #恢复时打开GPIO2输出,熄灭了板载 LED
    on_release:
       - switch.turn_on: motion_01_light   
  
switch:
  - platform: gpio
    pin: GPIO2
    name: "body  light"
    id: motion_01_light

点击保存后,点击VALIDATE按钮检查有无错误,正确无误的输出如下图所示:
在这里插入图片描述

3. 编译文件

点击设备文件右上角的编译按钮,开始编译文件。
在这里插入图片描述
编译过程如下图所示,提示SUCCESS即为编译完成:
在这里插入图片描述
编译完成后,点击下载DOWNLOAD BINARY ,下载固件到本地,保存为文件。

4. 烧录固件

首次烧录固件需要使用烧录器,点击此处下载烧录器 烧录工具
将ESP-01S插入烧录器,然后连接电脑,开启软件,加载固件,点击Flash ESP ,然后等待烧录完成即可,以后更新程序可以直接通过OTA升级完成。
在这里插入图片描述

5. 在web界面中调试

首先需要在路由器的配置页面找到ESPhome设备的IP地址,然后在浏览器端输入XXX.XXX.XXX.XXX:80打开web调试页面,该页面可以读取输入,触发输出,查看调试日志和OTA固件升级。
在这里插入图片描述
点击Toggle按钮,可以发现当body light状态为OFF时,板载LED亮起,当状态为ON时,板载LED熄灭。

五、自动化篇

1. 在HA中添加设备

进入HomeAssistant页面中,正常情况下,如果HA和人体感应器接入到同一个局域网中,HA已经自动发现了人体感应器,如果没有,试着重启一下HomeAssistant。
在这里插入图片描述
点击check it out,会进入集成配置页面,并且自动加入了ESPHOME集成。
在这里插入图片描述
点击配置按钮,然后点击提交,输入区域信息后,点击提交按钮,设备添加完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 配置自动化

点击配置中的自动化,开始配置自动化规则
在这里插入图片描述
点击 添加自动化,然后输入自动化名称,或者从空的自动化开始都可以。
在这里插入图片描述
添加一些简单的描述信息
在这里插入图片描述
触发 条件配置为
在这里插入图片描述
环境条件暂时不设置,动作设置为打开灯。
在这里插入图片描述
点击保存后,自动化规则就默认生效了。

以上只是一个简单的演示,并不是很完善。只要人体感应的数据能被HA接收,就可以编写各种各样的自动化规则实现我们想要的功能了。

总结

看到这里,我们的人体感应器就做好了,接下来计算一下成本
在这里插入图片描述
相关的资料和文件在此处下载,同时也会上传到我的个人公众号中,回复“人体感应器”即可免费领取。

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

  • 14
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值