站内搜索
发作品签到
专业版

人体存在检测+小夜灯

工程标签

1.2k
0
0
1

简介

开源智能家居项目,通过毫米波雷达、热释电传感器等多传感器融合实现高精度人体存在检测,具备环境光自适应和双模式照明功能,包含完整的硬件设计、ESPHome固件、3D打印外壳和Node-RED自动化方案。

简介:开源智能家居项目,通过毫米波雷达、热释电传感器等多传感器融合实现高精度人体存在检测,具备环境光自适应和双模式照明功能,包含完整的硬件设计、ESPHome固件、3D打印外壳和Node-RED自动化方案。

开源协议

CC BY-NC-SA 3.0

(未经作者授权,禁止转载)
创建时间:2025-08-11 21:17:30更新时间:2025-08-27 11:43:41

描述

人体存在传感器 + 小夜灯 - 开源项目

项目概述

本项目是一个集成了多种传感器的智能人体存在检测与小夜灯系统,旨在为家庭灯光自动化提供高精度、低误判的人体存在检测方案。通过毫米波雷达、热释电传感器、麦克风和光照传感器的多传感器融合,结合ESPHome固件与Node-RED自动化流程,实现昼夜自适应、多条件触发的智能照明控制。


功能特点

  • 多传感器融合检测:LD2410毫米波雷达 + SR602热释电传感器 + 麦克风声音检测,大幅降低误判率
  • 环境光自适应:LTR303光照传感器实时监测环境亮度,智能判断是否需要补光
  • 双模式照明:支持主照明灯与小夜灯模式,根据时间段自动切换
  • 可调节结构:3D打印外壳支持大角度调节,优化传感器指向性
  • 完整开源:硬件设计、固件代码、自动化流程全部开源

开源地址

项目背景

自2022年接触HomeAssistant和ESPHome后,我通过智能家居DIY交流群了解到海凌科LD2410B雷达传感器,并成功将其应用于家庭灯光自动化场景。在实际使用过程中总结出以下经验:

  • LD2410B蓝牙调试功能便于参数调节,可实现精准人体存在检测
  • 雷达模块指向性强,安装角度对检测效果影响显著
  • 单一雷达传感器在部分场景容易误判(如窗帘飘动)
  • 需要区分日常使用和夜间起夜的不同灯光场景
  • 环境光传感器能显著提升自动化智能化程度

硬件设计

主控制器

  • 型号: ESP32-C3-Super-Mini
  • 选择理由:
    • 成本优势(8-10元)
    • 内置蓝牙功能,支持:
      • BLE追踪器和蓝牙代理功能(将BTHOME设备接入HA)
      • 直连低功耗蓝牙,可实现低功耗蓝牙设备接入HA
      • 通过配置Tasmota固件支持Matter协议(理论上可行,但当前暂无该固件计划)
    • 集成USB Type-C接口,便于烧录和供电

核心传感器模块

雷达传感器(必选)

兼容以下4款海凌科雷达模块:

型号特点接口焊接难度
LD2401带蓝牙版本中最便宜邮票孔或PH2.0排针简单
LD2410C易焊接2.54排针简单
LD2412广角+远距离增强2.54排针简单
LD2410B体积小巧1.2mm排针中等(易连锡)

红外热释电传感器(推荐)

  • 型号: SR-602
  • 作用: 减少误判,与雷达传感器协同工作提高检测精度

麦克风模块(可选)

兼容型号:

  • ICS-43434模块
  • INMP441模块
  • 某宝"INMP441国产兼容芯片"

功能: 环境噪声检测,支持声控灯功能和环境信息补充

照度传感器(可选)

  • 型号: LTR-303ALS
  • 接口: I2C
  • 注意: 芯片焊接难度较大

小夜灯电路

  • 驱动: AO3400A MOS管
  • 灯珠: 6个3V/120mA 26mm LED陶瓷灯珠 (起夜推荐暖色灯)
  • 建议: 仅焊接2、4、6位三个灯珠即可满足起夜需求
  • 警告:
    • 6灯珠全亮时PCB温度可达56°C+
    • 使用不同规格灯珠需重新计算限流电阻值
    • 限流电阻R3-R8为1206封装1/4W 18Ω电阻,只适配3V/120mA灯珠

焊接完成效果图

焊接完成图.png

ESPHome固件配置

主配置文件 (human-presence-night-light.yaml)

主配置文件作为项目核心,实现以下功能:

  1. 设备基础配置:设备名称、WiFi连接、OTA升级、Web服务器
  2. 总线配置
    • I²C总线(LTR303光传感器)
    • UART总线(LD2410毫米波雷达)
    • I²S音频总线(ICS43434麦克风)
  3. 蓝牙支持:启用BLE代理,方便BTHOME设备接入Home Assistant
  4. 包集成:通过packages节点引用和配置功能包,实现按需引用特定的传感器配置
  5. on_boot配置说明
    • 部分传感器无法设置默认开启/关闭状态,只能在主文件中使用on_boot配置主动设置开机后任务实现
    • 麦克风功能已设置开机后主动开启(此功能必须在引用ics43434_mic.yaml包,且ics43434_mic_id配置必须为ics43434_mic时才能编译通过)
    • LD2410蓝牙已设置开机后3S主动关闭(此功能必须在引用ld2410.yaml包,且ld2410_id配置必须为ld2410b时才能编译通过)

包引用方式优点

  • 模块化设计:各功能独立封装,便于维护和复用,可根据硬件配置选择需要的功能包
  • 配置灵活:通过vars参数传递硬件配置
  • 命名统一prefix_name统一实体名称前缀
  • 多语言支持:通过substitutions切换中英文实体名

功能包说明

功能包设计特点

  1. 各包文件头部提供标准引用方法(!include指令)
  2. prefix_name作为实体名称前缀(Home Assistant显示)
  3. xx_id作为组件内部ID前缀(确保ID唯一性)
  4. 默认开启中文实体名格式,可通过修改包内substitutions切换英文

1. 毫米波雷达 (ld2410.yaml)

  • 兼容硬件:LD2410B, LD2410C, LD2401, LD2412
  • 注意事项:LD2412需通过蓝牙APP配置波特率为256000
  • 安全提示:使用时建议关闭蓝牙(若未更改默认密码,有隐私泄露的风险)
  • 功能包括:
    • 运动/静止目标检测
    • 目标距离/能量值测量
    • 工程模式开关
    • 蓝牙控制

2. 热释电传感器 (sr602.yaml)

  • SR-602红外人体运动检测
  • 支持消抖延迟配置(delay_on/delay_off
  • 组件类型:GPIO二进制传感器

3. PWM调光LED (pwmLED.yaml)

  • PWM控制的单色LED灯
  • 支持渐变效果(default_transition_length
  • 上电恢复默认关闭状态

4. 麦克风模块 (ics43434_mic.yaml)

  • 兼容硬件:ICS43434麦克风、INMP441麦克风、某宝购买的"INMP441国产兼容芯片"
  • 高级音频处理功能:
    • 实时环境噪声监测
    • 声音突增检测(ΔdB)
    • 声控触发阈值设置
    • 麦克风校准补偿
  • 声控触发核心
    • 提供声音强度二进制传感器
    • 当ΔdB超过阈值时触发
    • 内置防抖滤波(20ms开启延迟/200ms关闭延迟)

5. 光传感器

  • 注意:两个光传感器包无法同时引用,只能选择其中一个
  • 基础版 (ltr_sensor.yaml):
    • LTR303环境光传感器
    • 环境光照度检测(lux)
    • 自动增益模式
    • 主动测量按钮
  • 增强版 (ltr_led_filter.yaml):
    • 解决板载LED对光传感器的干扰
    • 动态过滤LED开启时的光照值
    • 必须同时引用pwmLED.yaml包(用于干扰过滤)
    • 提供滤波后的真实环境光数据

6. 状态指示灯 (statusLED.yaml)

  • 配置板载状态LED
  • 支持信号反转(inverted: true
  • 组件类型:status_led

7. 安全控制 (safe_controls.yaml)

  • 提供设备安全操作按钮:
    • 安全模式重启
    • 恢复出厂设置
    • 设备关机
    • 设备重启

8. WiFi信号监测 (wifi_signal.yaml)

  • WiFi信号强度传感器(dBm)
  • 默认禁用,需手动启用
  • 60秒间隔更新

esphome和homeassistant网页前端效果图

esphome和ha预览.png


PCB外壳模型

项目简介

为了让传感器模块安装部署时可随意调节指向,以覆盖主要人员运动区域,设计了此外壳模型。

模型特性

  • 安装方式可选:提供"可调节外壳"和"不可调节外壳"两个主要版本
  • 供电接口可选:支持三种供电方式
  • 功能模块可选:根据PCB焊接情况提供三种版本

最终效果展示

可调节外壳版本

可调节外壳版本.png

不可调节外壳版本

不可调节外壳版本.png

更多详细装配示意图和效果图请移步thingiversemakerworld开源地址查看


Node-RED灯光自动化控制

概述

本Node-RED流实现了一个智能家居灯光自动控制系统,通过多种传感器(环境光传感器、毫米波雷达、声音传感器)和时间条件,智能判断环境状态并自动控制灯光开关,提供昼夜自适应照明解决方案。

功能特性

  • 环境光检测:通过LTR303传感器监测环境亮度变化
  • 多传感器融合:结合LD2410毫米波雷达、SR602运动传感器和声音传感器进行人体检测
  • 昼夜模式切换:基于时间和环境光条件自动切换白天/黑夜模式
  • 智能灯光控制:根据时间段自动选择开启大灯或小夜灯
  • 手动/自动模式切换:通过Home Assistant辅助元素控制自动模式开关

node-red流一览.png

硬件要求

传感器设备

  • 环境光传感器:LTR303(实体:sensor.human_presence_night_light_ltr303_filtered_ambient_light
  • 毫米波雷达:LD2410(实体:binary_sensor.human_presence_night_light_ld2410_presence
  • 运动传感器:SR602(实体:binary_sensor.human_presence_night_light_sr_602
  • 声音传感器:麦克风声音触发(实体:binary_sensor.human_presence_night_light_mic_sound_controlled_light_trigger

执行设备

  • 主照明灯:Sonoff开关(实体:switch.sonoff_1001655d3a_1
  • 小夜灯:LED灯(实体:light.human_presence_night_light_led

核心逻辑说明

1. 环境光检测模块

  • 监控 LTR303 环境光传感器数值
  • 当光照度 ≤ 5 lux 持续 2 分钟时触发
  • 将光照度二值化为"环境光变亮"或"环境光变暗"状态

2. 时间触发模块

  • 06:00: 触发"黑夜-白天临界时间"
  • 08:30: 触发"白天时间"
  • 16:00: 触发"白天-黑夜临界时间"
  • 19:00: 触发"黑夜时间"

3. 状态机模块

实现了一个四状态状态机:

  • 白天
  • 白天-黑夜临界
  • 黑夜
  • 黑夜-白天临界

状态转换规则:

  • 时间事件可直接切换到对应状态
  • 环境光变暗 + 白天-黑夜临界状态 → 黑夜状态
  • 环境光变亮 + 黑夜-白天临界状态 → 白天状态

4. 传感器融合模块

使用位运算算法融合三个传感器状态,采用主从式触发逻辑

  • 位1 (最高优先级): LD2410 毫米波雷达 (主传感器)
  • 位2: SR602 运动传感器 (辅助传感器)
  • 位3: 声音传感器 (辅助传感器)

传感器融合逻辑

  • 开灯条件: 当主传感器(LD2410)检测到有人(位1 = 1),并且至少有一个辅助传感器(位2或位3)也检测到活动时触发开灯
    • 对应二进制状态: 0b011 (毫米波雷达+运动传感器) 、 0b101 (毫米波雷达+声音传感器)或 0b111 (三个传感器都触发)
  • 关灯条件: 当主传感器(LD2410)未检测到有人(位1 = 0)时,无论辅助传感器状态如何,都触发关灯
    • 对应二进制状态: 0b000, 0b010, 0b100, 0b110

真值表

LD2410(位1)SR602(位2)声音(位3)二进制动作
0000b000关灯
0010b100关灯
0100b010关灯
0110b110关灯
1010b101开灯
1100b011开灯
1110b111开灯

这样的设计确保了:

  1. LD2410毫米波雷达作为主传感器,具有最高决策权
  2. 避免了因单一辅助传感器的误报导致错误触发
  3. 提高了系统的可靠性和抗干扰能力

5. 灯光控制模块

  • 23:30-08:30: 触发时开启小夜灯
  • 其他时间: 触发时开启主照明灯
  • 只在"黑夜"模式下启用自动控制
  • 通过 input_boolean.deng_guang_zi_dong_kong_zhi_kai_guan 实体控制自动模式开关

安装与配置

前置要求

  1. 已安装Home Assistant和Node-RED
  2. 已安装Node-RED的Home Assistant节点
  3. 所有传感器和设备已在Home Assistant中正确配置

必要配置

在 Home Assistant 中创建辅助元素:
方法一,ha的设置->设备与服务->辅助元素->添加->创建开关:

辅助元素创建.png

方法二,编辑homeassistant 配置文件:

input_boolean:
  deng_guang_zi_dong_kong_zhi_kai_guan:
    name: "灯光自动控制开关"
    icon: mdi:lightbulb-auto

导入流程

  1. 将提供的JSON内容复制到剪贴板
  2. 在Node-RED界面中点击菜单→导入→剪贴板
  3. 粘贴JSON内容并确认导入
  4. 部署流程

自定义配置

时间调整

根据需要修改以下节点的时间设置:

  • 黑夜-白天临界时间:当前设置为06:00
  • 白天时间:当前设置为08:30
  • 白天-黑夜临界时间:当前设置为16:00
  • 黑夜时间:当前设置为19:00
  • 大灯和小夜灯切换时间:当前设置为23:30-08:30

设备实体ID

修改以下服务调用节点中的实体ID以匹配您的设备:

  • 开启房间灯/关闭房间灯:修改为您的照明开关实体
  • 开启小夜灯/关闭小夜灯:修改为您的小夜灯实体

光照阈值

环境光亮度节点中调整ifState值来修改触发光照阈值(当前为5lux)
环境光照度二值化节点中调整比较值来区分环境光的亮暗(当前为1lux,需比环境光亮度节点中的ifState小)

故障排除

  1. 传感器无响应:检查Home Assistant中传感器实体状态是否正常
  2. 灯光不自动开关:确认灯光自动控制开关辅助元素处于开启状态
  3. 时间触发不准:检查Node-RED服务器时区设置

如遇到问题,请检查:

  • Home Assistant与Node-RED连接状态
  • 所有传感器实体ID是否正确配置
  • 时间相关节点的时区设置

此流程为智能家居自动化提供了一个完整的灯光控制解决方案,可根据实际需求进行进一步定制和扩展。


设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
esphome.rar
18
2
node-red流配置文件.rar
12
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航