☰
24G毫米波雷达如何实现智能家居人体存在检测
2026/9/27 20:45:51 网站建设 项目流程

智能家居这套东西玩久了,你会发现家里最难伺候的传感器不是温湿度计,也不是门磁,而是人体存在检测。前几年大家习惯用PIR红外传感器,结果晚上躺在沙发上看手机,只要不动,灯“啪”一下就灭了;去卫生间上厕所蹲久了,灯也灭了。后来有人换了摄像头方案,人是能识别了,可卧室、卫生间这种地方谁愿意放个摄像头盯着自己?我就是在这种来回折腾的过程中,把24G毫米波雷达列进了智能家居人体存在检测的首选方案。

这篇文章不是给你晒产品评测,而是把24G毫米波雷达在智能家居里到底怎么用、为什么能解决PIR解决不了的问题、接入Home Assistant和STM32时有哪些坑,一次性讲透。如果你正在折腾智能家居自动化,或打算自己做一个人体存在传感器,这篇应该能帮你少走不少弯路。

1. 为什么智能家居需要“人体存在检测”,而不是“人体感应”

先搞清楚一个概念:传统的人体感应和人体存在检测,根本不是一回事。

1.1 PIR太“能灭灯”,摄像头太“吓人”

PIR红外传感器的工作原理是探测人体发出的红外热辐射变化,它的本质是“动”,只有人移动时,热释电元件上的红外能量才会产生变化,才能触发信号。人一旦坐定、睡着、蹲坑不动,红外信号就消失了,传感器默认“无人”,于是灯灭、空调关、场景切换。这就是“躺着玩手机被关灯”的根源。

摄像头方案在“准”上确实没问题,能识别有没有人、人在哪个位置,甚至能识别姿态。但问题也很明显:隐私、存储、功耗、算力,每一样都是家庭场景的负担。尤其卧室、卫生间、更衣间,产品再安全,心理这关过不去就是不合适。我不是反对摄像头,而是说它不该是大面积铺在每个房间的选择。

1.2 24G毫米波雷达真正解决的是“静止的人”

24G毫米波雷达不一样。它发射毫米波频段的电磁波,通过检测人体反射波来判断目标是否存在。哪怕是坐在沙发上刷手机、躺在床上睡觉,人体胸腔依然会因为呼吸产生细微起伏,这个起伏足够被雷达捕捉到。也就是说,它能判断“房间里有人且相对静止”,这是PIR做不到的。

这也是“人体存在检测”和“人体感应”的本质区别。前者回答“人在不在”,后者回答“人动没动”。智能家居的自动化逻辑想要做得聪明,前提就是“人在不在”这个信号足够准、足够稳。

2. 24G毫米波雷达的原理与选型逻辑

聊原理不是为了掉书袋,而是因为你只有理解了它怎么工作,后面调试参数时才知道自己在调什么。

2.1 FMCW雷达是怎么“看见”人的

现在市面上做存在检测的24G雷达模块,大多采用FMCW体制,也就是调频连续波。简单说,雷达模块发射频率随时间线性变化的电磁波,遇到人体后反射回来,接收到的回波和当前发射信号之间会有一个频率差,这个差频大小与目标距离直接相关。通过计算差频,雷达就能知道“人离我多远”。

但在存在检测这个场景里,距离知道还不够,还得判断“这个目标是不是活的”。这里靠的是微多普勒效应。人体即便坐着不动,呼吸时胸腔也会产生毫米级位移,这个位移会让回波产生极其微小的相位变化,雷达通过分析相位变化提取出呼吸微动信号,于是得出结论:目标存在,且在微弱运动。

你可以把雷达想象成一个一直在喊“有人吗”的复读机,正常人会回答“有”,而PIR只有等你挥手时才会应一声。这就是24G雷达在原理层面领先PIR的地方。

2.2 运动能量、静止能量和目标状态怎么读

我建议你拿到一个24G存在检测模块后,先把这几个关键数据搞清楚:目标存在状态、运动能量、静止能量、目标距离。

  • 目标存在状态:模块自己综合判断后给出的结果,通常是0或1,表示无人/有人。
  • 运动能量:范围内目标的动态反射强度,人走动的摆动幅度越大,这个值越高。
  • 静止能量:静止目标的微动反射强度,主要来自呼吸带来的胸腔起伏。
  • 目标距离:检测到的目标离模块有多远,单位一般是厘米。

判断逻辑很多人搞反了。有人只看存在状态,发现误报后一头雾水。正确做法是看运动能量和静止能量的数值变化,结合距离去判断目标是否真实、是否在设定范围内。比如半夜没有人,但静止能量一直在40以上跳,可能是窗帘被风吹动,也可能是空调出风口扰流,而不是真的有人。

2.3 24G和60G怎么选

很多人在选型时纠结到底是24G还是60G。我的看法是:智能家居常规存在检测,24G足够,性价比也更高。

24G波段的波长约12.5mm,穿透性更好,对木墙、石膏板、塑料外壳都有不错的穿透能力,安装时可以藏在家具或装饰面板后面。60G波段的波长只有5mm,对微小动作的感知更细腻,适合做呼吸波形、心跳检测等更精细的医疗级应用,但探测距离相对受限,对遮挡更敏感,模块成本和设计难度也更高。

一句话总结:家庭自动化追求的是稳定、经济、易部署,24G是正解。60G强在精度,但也贵在精度,除非你有特殊需求,否则没必要上。

3. 核心优势:它比传统方案强在哪

把24G雷达的各项优势和传统方案放在一起看,差距非常直观。

对比维度PIR红外摄像头视觉24G毫米波雷达
能否检测静止人体不能能能,通过呼吸微动检测
隐私风险低高,采集图像低,不采集图像
光线影响无弱光环境表现差无,完全不受光线影响
温度/水汽影响受环境影响较大一般影响很小,卫生间可用
穿墙/遮挡基本不穿墙无法穿墙对非金属薄墙有穿透性
设备体积与功耗小大小,适合隐藏安装
成本低高目前已经到可接受区间

这张表基本回答了“为什么智能家居会转向24G毫米波雷达”。三个关键词:静止检测、隐私、环境适应性。这些正是家庭自动化场景最看重的。

PIR在成本上确实还有优势,但它解决不了“人不动灯灭”的痛点。摄像头在性能上强悍,但隐私和部署成本劝退大部分家庭用户。24G雷达正好夹在中间,定位精准:做一个能感知人存在但又不“看见”人的传感器。

另外一个容易被忽视的优势是部署位置。PIR必须对着人活动的方向安装,摄像头更是对角度有硬性要求,而24G雷达可以藏进吊顶、藏在柜体里,甚至嵌在桌面上。这对追求室内美观的人来说是刚需。

4. 典型应用场景与自动化联动设计

雷达本身只是感知层,真正体现价值的是它和智能家居系统的联动。

4.1 灯光与空调:有人才开,无人即关

最常见的场景就是灯光和空调节能控制。传统PIR容易在“人静止阅读”时误关灯,24G雷达则稳定得多。我在书房做了一个自动化:雷达检测到有人,开桌灯和顶灯;人离开后,延时3分钟关灯。播放音乐时还会自动进入“离席暂停”逻辑,人走就暂停,回来继续播放,体验相当自然。

空调和地暖同理。晚上睡觉时人躺在床上基本不动,普通传感器根本撑不住,24G雷达则能持续判断“床上有人”。我在卧室的自动化逻辑是:晚上10点后检测到人上床,空调自动进入睡眠模式;彻底无人后,新风和除湿机自动关闭。

4.2 卫生间和书房:高隐私场景的“无人值守”

卫生间是摄像头的禁区,却是雷达的主场。洗澡时高湿度、高温环境会让摄像头起雾、PIR误报,24G雷达不受水汽影响,隔着磨砂玻璃门也能正常判定。

我家的浴霸换气和卫生间的灯是联动的:雷达无人后延时3分钟关换气扇,5分钟关灯。以前用PIR,洗澡不动的时候灯一会儿亮一会儿灭,换气扇还经常忘记关,现在全自动,实测几个月没有一次误触发。

书房场景更典型。以前我在书桌前写东西,只要脚不动,PIR就判定无人,灯灭了整个人在黑暗里凌乱。换雷达后,这个问题彻底消失了。因为人坐定后胸腔的呼吸起伏会被雷达识别为“有人”,整个时段灯光稳定如一。

4.3 老人看护中的边界和想象

很多人对雷达看护有期待,觉得能检测摔倒、能识别姿态。这里要泼一盆冷水:24G存在检测只能告诉你“房间有人没人”,不适合做跌倒检测和姿态识别。跌倒检测需要更高频段的雷达,配合多普勒特征分析和算法模型,已经超出存在检测的范畴。

不过它依然能在看护场景里做一些事。比如老人如果长时间在卫生间没有离开,可以设置一个“超时提醒”自动化,超过30分钟就推送到家人手机,既不打扰隐私,又给了家属一个安心感。你也可以配合其他传感器做交叉逻辑,比如雷达显示有人在,但门窗传感器和光照度传感器长时间没有变化,就判断可能异常。

这类应用不是雷达本身有多“聪明”,而是智能家居系统的联动逻辑赋予了它更多可能性。关键还是底层感知信号要足够准,否则后端自动化全是空中楼阁。

5. 把24G雷达接入Home Assistant的实操参考

说到智能家居开源系统,必然绕不开Home Assistant,简称HA。这里给出我实测可用的接入思路和配置示例。

5.1 模块选型建议

目前DIY社区最常用的是LD2410系列24G毫米波雷达模块,型号不同细节有差异。选型时注意三点:第一,选择支持串口输出的版本,方便接入MCU;第二,确认模块是真正的存在检测方案,而不是只支持高速移动检测的廉价微波多普勒模块;第三,尽量选择有上位机配置工具的型号,方便调门限和延时。

我个人不太建议用RCWL-0516这类微波多普勒模块去做存在检测,它本质上还是“动则触发,静则关闭”,和PIR的体验是一样的,白白浪费了毫米波雷达的名头。

5.2 使用ESPHome配置雷达传感器

把LD2410这类模块接入HA,最省事的方案是用ESP32开发板跑ESPHome,模块的TX、RX接到ESP32的串口,然后在YAML里声明。

esp32: board: esp32dev framework: type: arduino uart: rx_pin: GPIO16 tx_pin: GPIO17 baud_rate: 115200 sensor: - platform: ld2410 moving_distance: name: "Moving Distance" still_distance: name: "Still Distance" moving_energy: name: "Moving Energy" still_energy: name: "Still Energy" binary_sensor: - platform: ld2410 has_target: name: "Presence"

烧录后,HA里会自动出现一个人体存在实体,这个实体就是自动化联动的核心。配置里我特别关注了moving_energy和still_energy两个值,它们是调试门限时最重要的依据。

5.3 自动化YAML:有人开灯、无人延时关灯

接入HA后,最基础的自动化是人在开灯、人走关灯。有一点要注意,关灯之前一定要有延时,并且要再确认一次无人状态,否则雷达信号短暂抖动就会造成误关灯。

automation: - alias: "书房无人延时关灯" trigger: platform: state entity_id: binary_sensor.presence to: "off" action: - delay: "00:02:00" - condition: state entity_id: binary_sensor.presence state: "off" - service: light.turn_off target: entity_id: light.study

这个自动化的逻辑是先等2分钟,再确认雷达依然处于无人状态,最后才关灯。这样可以避免“人只是走出去拿杯水就又回来”时灯光频繁切。

HA里还能做更复杂的场景联动,比如结合时间条件、光照度条件、门窗状态做多条件自动化。核心思路是:雷达作为感知信号,HA作为决策大脑,不要让单一信号直接决定所有动作。

6. 基于STM32的雷达模块接入与数据解析

如果你不想用ESP32和HA,而是想基于STM32做一个独立的智能家居控制器,接入24G雷达也不难,核心就是处理串口数据。

6.1 硬件接线与电平问题

雷达模块和STM32之间通常走UART串口通信,接线很简单:模块的TX接STM32的RX,模块的RX接STM32的TX,GND共地,VCC供电。

这里有一个新手非常容易踩的坑:电平不匹配。有些雷达模块是5V供电,TX输出是5V电平,而STM32的GPIO耐压是3.3V,直连可能烧引脚。稳妥的做法是加电平转换电路,或者用支持5V容忍的引脚,再或者直接选3.3V供电的模块版本。我建议优先选3.3V模块,省掉额外的电平转换,电路更干净。

另外,雷达模块的电源要求一般比单片机的其他外设高,上电瞬间可能拉低电压,导致系统重启。实测下来,给雷达单独加一个100uF以上的电解电容并靠近模块放置,能显著减少供电波动。

6.2 UART数据帧解析思路

雷达模块输出的数据帧格式通常由帧头、长度、数据段和校验位组成,不同模块细节不一样,但解析思路是通用的。

以LD2410系列为例,数据帧以固定字节为帧头,后面跟着目标状态、运动距离、运动能量、静止距离、静止能量等字段,最后是校验字节。解析时不要一次性读完就解析,建议用状态机方式处理:

// 伪代码:简单帧头状态机 if (data == FRAME_HEAD_1) { state = WAIT_HEAD_2; } else if (state == WAIT_HEAD_2 && data == FRAME_HEAD_2) { state = WAIT_LENGTH; } else if (state == WAIT_LENGTH) { frame_len = data; state = WAIT_DATA; }

用状态机的好处是即使串口数据流中间断了、多了、乱了,也能靠帧头重新同步,不会因为一次丢帧导致整条数据解析错误。工程上强烈不建议用阻塞式延时去等完整的帧,一旦数据量变大或者系统被中断打断,丢帧率会非常高。

6.3 工程化处理要点

如果只是做验证,串口中断里把数据丢进环形缓冲区,主循环里解析就够用了。如果要做成稳定产品,建议用DMA加空闲中断接收,接收效率高且不占用CPU。

雷达存在状态读取的周期不用太快。存在检测的物理过程本身就比较慢,100ms到200ms读一次一足够,没必要把系统时间耗费在串口读取上。读回来后可以做一次简单的滤波,连续几次都判定有人,才真正确认有人;连续几次都判定无人,才彻底认为离开。这个滞回逻辑可以减少很多边缘误判。

7. 调试实录:常见问题与排查技巧

这部分是我实际踩坑后的心得,比任何理论都值钱。

7.1 安装位置带来的误报

24G雷达有一定穿透性,安装位置直接影响误报率。我最初把雷达装在客厅角落,结果阳台有人走动、走廊有人经过时,客厅灯时不时亮一下。后来把检测距离缩短到3米以内,才压住了隔壁空间的人体信号。

雷达安装有几个基本原则:尽量不要正对门口、窗户和走廊;不要直接贴地安装,建议离地2米左右,安装在房间中央区域的高处;不要紧贴金属物体,金属会产生强反射干扰。安装后一定要实测各个角落,特别是门边和窗边。

7.2 灵敏度与门限调整节奏

很多人拿到模块,默认参数上去就用,结果要么人坐着灯灭,要么人走了灯还亮。核心问题是没调静止能量门限。

我的调试流程是:先让房间空置5分钟,记录无人状态下的运动能量和静止能量基线;再让人进入房间静止坐定,记录有人状态的静止能量。门限取两者中间偏上一点的数值。这样既能滤掉环境噪声,又能保留呼吸微动信号。

如果人走了灯还亮,多半是“无人确认延时”太短,或者静止门限太低,导致残留回波被当成目标。我的经验是宁可把延时调长到3分钟,也不要让灯在空房间里耗一晚上。

7.3 三个容易忽略的坑:金属、风机、窗帘

第一个是金属。雷达旁边放一个铁艺置物架或者金属垃圾桶,反射信号会异常,容易产生固定目标,造成“鬼影”。

第二个是风机和空调内机。空调的导风板在转动时会产生微动反射,静止能量可能会持续偏高。我遇到过半夜空调开着,雷达判定卧室一直有人的情况,排查了很久才发现是空调内机叶片抖动造成的。

第三个是窗帘。薄窗帘被风吹动时,反射面积很大,极容易被判断为目标。解决方式是限制检测距离,或者调整雷达朝向,避开窗户。

故障现象可能原因处理建议
人静止时灯光熄灭静止门限过高或模块不支持存在检测降低门限,更换真存在检测模块
无人房间偶尔点亮窗边窗帘飘动、空调气流干扰调整朝向,缩短检测距离
隔壁经过触发本房间雷达穿墙或安装位置太靠门口挪位置,缩小检测范围
金属物件导致的鬼影雷达附近有金属反光体移开金属物,或调整安装位置
上电后持续有人供电不足或自动校准未完成加电容,等待模块稳定后重新观察

最后说一个我自己的建议:如果你正在折腾智能家居人体存在检测,不必一上来就买很贵的设备。先买一个20块左右、支持串口输出的24G雷达模块,配合一块ESP32开发板,跑通HA接入,把书房落地灯自动化做起来,体验一圈之后你自然就知道家里哪些场景真正需要存在检测,哪些地方用门磁加PIR就足够了。

这套东西上手难度不算高,但玩明白之后,家里的自动化会从“能联动”变得“有感知”。很多你以前觉得智障的关灯逻辑、空调整夜运行、风扇忘关这些问题,都会开始自己消失。24G毫米波雷达,就是那个让智能家居从“会执行命令”进化到“知道你在不在”的关键拼图。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询