将 ESP32 变成私密、本地的 Wi-Fi 运动传感器。
当有人穿过房间时,会改变 Wi-Fi 信号在其中的传播方式。ESPectre 读取这些变化并实时报告运动。无需摄像头、麦克风、可穿戴设备,也无需专用雷达硬件:只需一块受支持的 ESP32 和房间中已有的 Wi-Fi 网络。
ESPectre 是一个开源平台,汇集了可直接刷写的固件、可嵌入的 C++ SDK、MicroPython 实现、浏览器工具、主机 CLI、开放数据集、开放模型权重,以及用于构建和验证检测器的研究工作流。
从浏览器刷写 · 查看在线工具 · 阅读文档 · 探索 SDK
使用 ESPectre 在有人进入时打开灯光或显示器,在房间有人使用时调节供暖,或在不应有人的地方出现运动时发送警报。它可与 Home Assistant 配合使用(通过 ESPHome 或 MQTT),可作为标准 Matter 占用传感器出现,提供本地 HTTP API,并可通过 C++ SDK 构建到你自己的 ESP32 固件中。
一切都在设备上运行:它测量 Wi-Fi 信道(信道状态信息,即 CSI),并报告运动和运动评分。无需将任何数据发送到云端。一块开发板覆盖一个区域,因此请按每个房间一块开发板来规划。
ESPectre 检测无线电环境的变化。它不会识别人员、统计人数、证明房间为空,也不能替代经过安全认证的安防、医疗或应急系统。
| 路径 | 最适合 | 从这里开始 |
|---|---|---|
| Native | 独立传感器、MQTT 集成(包括 Home Assistant MQTT Discovery)以及自定义应用 | Native 前端 |
| ESPHome | 希望使用原生实体、ESPHome 配置和 Device Builder 更新的 Home Assistant 用户 | ESPHome 前端 |
| Matter | 支持占用传感器的 Matter 控制器;控制器验证仍然有限 | Matter 前端 |
| Micro-ESPectre | 使用 MicroPython 进行轻量级传感,并支持本地只读 Direct HTTP 监控 | Micro-ESPectre README |
最快的方式只需要一个浏览器。请使用桌面版 Chrome 151 或更高版本;Edge 可以刷写,但 Device settings 和 Monitor 可能无法在其中使用。
要在网络上查找你的设备,请使用浏览器工具中的 Find devices 或 ./espectre devices。有关要求和限制,请参阅发现参考。

Matter 状态: Matter 支持仍在与不同的控制器生态系统进行测试。支持占用传感器的控制器可能尚未与 ESPectre 进行过测试。 当前兼容性矩阵请参阅 Matter 控制器兼容性。
要从本仓库构建和刷写,请先阅读设置指南。要查看所有可用命令,请运行:
./espectre --help
| 主题 | 涵盖内容 | 指南 |
|---|---|---|
| 安装与操作 | 设备设置、CLI 工作流和故障排除 | 设置指南、CLI 参考、故障排除指南 |
| 理解与集成 | 运行时架构、CSI 采集、API、发现、算法和 C++ SDK | 架构概览、CSI 指南、API 参考、发现参考、算法参考、SDK 指南 |
| 采集与训练 | CSI 采集、模型训练、特征历史、性能和文献 | 数据采集指南、ML 训练指南、特征台账、性能报告、文献综述 |
| 研究与方向 | 路线图、架构决策和发布历史 | 路线图、ADR 索引、变更日志 |
| 前端参考 | 各固件的指南:ESPHome、Native、Matter 和 Micro-ESPectre | ESPHome、Native、Matter、Micro |
| 贡献 | 贡献、发布流程和项目讨论 | 贡献指南、发布指南、GitHub Discussions |
ESPectre 发布其检测器背后的研究资产和验证证据:
| 资产 | 提供内容 | 从这里开始 |
|---|---|---|
| CSI 数据集 | 空房间、静态存在和运动的真实录音,目录和来源信息见 dataset_info.json | Data/ |
| 模型权重 | 训练好的权重,提供 C++ 和 Python 版本,以及训练、导出和验证工作流 | ML 训练指南 |
| 特征台账 | 经过测试、采纳或拒绝的特征,包括不成功的实验 | 特征台账 |
| 算法与报告 | 检测器行为、生成的性能报告和数据集质量报告 | 算法参考 |
| 文献与方向 | 外部研究、架构决策记录和公开路线图 | 文献综述 |
一个能够揭示人员存在的传感器不应是黑盒。Wi-Fi 传感不记录图像或音频,但运动数据仍可能揭示作息、睡眠情况或何时无人在家。ESPectre 将这一风险视为设计的一部分: