
在智能家居与物联网应用领域,“存在检测”与“运动监测”是许多自动化场景至关重要的核心功能,包括家庭安防、老年人护理、智能自动化、节能 、儿童监护等领域。
传统的红外传感器只能检测运动,一旦检测物体禁止不动,灯可能就会自动熄灭;毫米波雷达虽然精准,但成本相对较高。摄像头、麦克风方案涉及隐私问题。
市场上提供 Wi-Fi 信号来实现“存在检测”与“运动监测”功能的解决方案挺多,有像乐鑫这样的公司的商业硬件解决方案,也有一些开源项目。
对于商业公司的此类产品,隐私性是最大挑战。而对于开源项目,大多只是停留在概念验证(Proof of concept)阶段,不具有实用性。
ESPectre 是一个 开源基于 Wi-Fi 频谱分析的运动检测系统,通过 Wi-Fi 信道状态信息(CSI,Channel State Information)来检测运动,无需摄像头、无需麦克风,甚至可以“穿墙”检测。
项目地址:https://github.com/francescopace/espectre
ESPectre 的工作原理
当人或物体在 Wi-Fi 信号的传播路径或多径反射环境中移动时,会改变信号的相位、幅度、频率响应等。ESPectre 能够捕捉这些微小的信号变化,从而判断房间里是否有人,甚至能检测到微小的动作(如呼吸)。
ESPectre 的核心亮点
- 轻量化,对终端设备要求低: 与许多需要训练复杂 AI 模型的 CSI 项目不同,ESPectre 未使用机器学习算法,极其轻量,可以在廉价的 ESP32 芯片上实时运行,无需云端处理
- 无设备感知: 用户不需要携带手机或手环,只要在 WiFi 覆盖范围内,系统就能感知到你的存在
- 隐私安全: 只分析信号特征,不涉及任何图像或音频录制,完全不用担心隐私泄露。
- Home Assistant 原生集成: 可以无缝接入 Home Assistant,让你能够基于“是否有人”来创建各种自动化场景(如自动开关灯、安防报警等)
- 低成本: 只需要一个几十块钱的 ESP32 开发板
ESPectre 的应用场景
家庭自动化:当检测到房间内有人移动时自动开启灯、空调、音响等。
安防场景:当家中无人时检测到移动触发警报或通知。
长者或儿童看护:监测卧室或老人房间有无活动,若超时无动作则触发提醒。
节能应用:检测房间是否处于空闲状态,从而关闭灯、空调或其他设备。
室内环境监测但需避免摄像头:例如图书室、会议室、休息区等。
ESPectre 把原本高大上的“Wi-Fi 感知(Wi-Fi Sensing)”技术真正带到了普通DIY玩家手里,强烈推荐给喜欢折腾的DIY玩家。
与 ESPectre 类似的开源项目
OpenCSI
https://github.com/opencsi/OpenCSI
基于 Intel 5300/AX200 网卡的 CSI 开源方案,适合用笔记本/台式机做实验。
WiFi-CSI-Sensing-Benchmark
https://github.com/xyanchen/WiFi-CSI-Sensing-Benchmark
学术向的 CSI 人体感知数据集和基准代码,包含跌倒检测、呼吸监测等高级应用。
esp32-csi-tool
https://github.com/nebula-plugins/esp32-csi-tool
最早的 ESP32 CSI 采集框架,ESPectre 也是在此基础上深度开发的。
ESP-CSI
https://github.com/espressif/esp-csi
乐鑫官方推出的 CSI 开发框架。它包含了一些示例,如人体检测和手势识别
ESPresense
https://github.com/ESPresense/ESPresense
不是基于 WiFi CSI 技术,基于蓝牙 (BLE)。通过在房间内部署 ESP32 节点,检测你随身携带的蓝牙设备(如手机、手环、手表)的信号强度来定位你在哪个房间