一套直接能用、零代码 / 低代码 的 CSI 可视化方案,包含:实时波形 + Movement Score 曲线 + 运动热力图 + 设置面板你用 ESPectre(ESP32)输出的数据就能直接跑。
ESPectre仓库地址: https://github.com/francescopace/espectre
用 ESPectre + HA,不用写代码,10 分钟搭完WiFi-CSI养老看护仪表盘。
一、ESP32下载ESPectre步骤

1.ESP32S3 Dev硬件连接
ESP32S3 Dev Module开发板通过TypeC数据线连接电脑
(设备驱动安装正常后可在设备管理器中看到对应的串口设备,如下图中的com22)

2.下载bin文件
https://github.com/francescopace/espectre/releases/tag/2.7.0
最新版本是2.7.0,找到开发板对应芯片型号的版本,例如esp32s3对应的有4个版本,参考选型建议下载一个版本。

选型建议
|-----------------------------|--------------------------------------------------|
| 需求 | 推荐版本 |
| 首次测试、临时用、空间紧张 | espectre-2.7.0-esp32s3.bin (标准基础版) |
| 正式部署、需要远程升级、不需要 AI | espectre-2.7.0-esp32s3-ota.bin (标准 OTA 版) |
| 高精准检测(老人 / 睡眠)、宠物家庭、不需要远程升级 | espectre-2.7.0-esp32s3-ml.bin (ML 增强版) |
| 正式部署、高精准检测 + 远程升级、空间充足 | espectre-2.7.0-esp32s3-ml-ota.bin (ML+OTA 全能版) |
- 首次烧录必须用 USB:所有 OTA 版都需要先通过 USB 烧录到设备,激活 OTA 分区后,才能用无线升级,不能直接用 OTA 文件做首次无线升级。
- Flash 空间要求:ESP32-S3 默认 4MB Flash 时,OTA 版会分成两个 2MB 分区,ML+OTA 版可能会空间不足,建议用 8MB Flash 的模块(比如 ESP32-S3-WROOM-1-N8)。
- AI 模型的作用:ML 版不是替代阈值,而是辅助优化,依然需要校准和阈值配置,只是能大幅降低误触发。
- 版本一致性:OTA 升级时,必须用同类型的固件(比如 ml-ota 版只能升级到 ml-ota 版,不能跨到普通 ota 版),否则会烧录失败。
3.烧录到 ESP32
(可使用web.esphome.io在线下载)

安装 Home Assistant
4.接入 Wi‑Fi
( ESP32 进入配网热点模式 )
- 给 ESP32 通电
- 它会自动发射一个 WiFi 热点: ESPectre Fallback
- 用手机 / 电脑连接这个热点 ,在自动打开的网页里配置你的家庭 WiFi ( 手动方式,浏览器访问:http://192.168.4.1)
5.Home Assistant添加设备
如果没有安装 Home Assistant,需要安装Home Assistant。(推荐在Linux环境中通过1Panel安装Home Assistant)

打开Home Assistant ,会自动搜索到ESPectre 设备,添加这个设备到系统中**。**

2、Home Assistant面板示例
1.仪表盘yaml文件
views:
- title: 🛜 ESPectre 👻
type: sections
sections:
- type: grid
cards:
# Static gauge (default)
- type: gauge
entity: sensor.espectre_movement_score
name: Movement Level
min: 0
max: 10
needle: true
segments:
- from: 0
color: green
- from: 0.5
color: yellow
- from: 1
color: orange
- from: 2
color: red
- type: tile
grid_options:
columns: 12
rows: 1
entity: binary_sensor.espectre_motion_detected
name: Motion
show_entity_picture: false
hide_state: false
state_content:
- state
- last_changed
vertical: false
features_position: bottom
- type: entities
entities:
- entity: number.espectre_threshold
icon: mdi:tune-vertical
name: Threshold
show_header_toggle: false
state_color: false
- type: entities
entities:
- entity: switch.espectre_calibrate
icon: mdi:refresh
name: Recalibrate
show_header_toggle: false
state_color: false
- type: grid
cards:
- type: history-graph
title: Motion History
hours_to_show: 24
entities:
- entity: sensor.espectre_movement_score
name: Movement
- entity: number.espectre_threshold
name: Threshold
grid_options:
columns: 12
rows: 5
使用方法:
- 设置 → 面板 → 添加面板
- 打开新的仪表板并点击编辑(铅笔图标)
- 点击三点菜单 → 原始配置编辑器
- 将文件中的 YAML 替换所有内容(先删除默认内容)
- 点击保存



2.显示内容
- 实时 Movement Score(0~100 运动强度)
- 运动状态:有人 / 无人
- 历史趋势曲线(小时 / 天 / 周)
- 运动触发阈值 : 判定「有没有人体移动 / 微动」的 CSI 相位 / 振幅波动门槛
- CSI 静态基线 : 校准 = 让设备记录「房间没人、无晃动、静止」时的原始相位 / 振幅基准值
3.界面效果
