ESP32-S3 能做 CSI 吗?能——以及什么时候你需要 5GHz 的芯片

2026-10-11 · ESP32-S3, Wi-Fi CSI, esp-csi, 2.4GHz, ESP32-C5 · 约 3 分钟

当原来的 ESP32 不够用时,大多数人会看向 ESP32-S3:内存更大、算力更强、带 USB,而且比树莓派便宜。 问题永远是同一个——它能不能做 CSI,够不够用?

直接给结论

1. 官方文档实际怎么写的

ESP-IDF 的 ESP32-S3 指南把 CSI 描述为 "the channel frequency responses of sub-carriers … estimated when packets are received from the transmitter"。每个子载波存成两个有符号字节——先虚部,再实部—— 最多可能有三段训练字段:LLTF、HT-LTF、STBC-HT-LTF [2]。

最后这点比看起来重要:每包的载荷大小并不固定,取决于包类型、信道宽度与是否用 STBC。 S3 的表格从 128 字节(20MHz non-HT,64 个复数值) 一直到更大的 HT-LTF 情况。 请记录实际上报的长度,而不是硬编码子载波数——这条规则和路由器 CSI 完全一样。

ESP32-S3 还有一个官方记录的硬件特性:当 first_word_invalid 为真时,CSI 缓冲区的前四个字节无效, 必须丢掉 [2]。忘了这一步,你会在每次测量开头看到一个固定的凹口。

2. 让 S3 吐出 CSI(四步调用)

ESP-IDF 的流程很短 [2]:

  1. 在 menuconfig 里打开 Wi-Fi CSI(Components config → Wi-Fi → Wi-Fi CSI);
  2. 用 esp_wifi_set_csi_rx_cb() 注册接收回调;
  3. 用 esp_wifi_set_csi_config() 配置;
  4. 用 esp_wifi_set_csi() 打开。

同一页里还有两条实践提醒:

应用侧,espressif/esp-csi 自带收发示例和 csi_data_read_parse.py 解析器; ESP32-CSI-Tool 是面向数据集的 CSV 路线;ESPectre 把整套东西封装成 ESPHome 存在传感器 [1] [4] [5]。

3. 5GHz 的问题

这是包装盒上不会写的取舍:

芯片 频段 CSI 说明
ESP32(经典)/ ESP32-S3 2.4GHz 有 最便宜的入口,20/40MHz
ESP32-C6 2.4GHz 有 Wi-Fi 6(仅 2.4GHz)
ESP32-C5 2.4 + 5GHz 有 双频 Wi-Fi 6,WIFI_BAND_MODE_AUTO [3]
路由器(MT7986 + mt76 CSI) 5GHz 有 80MHz / 256 子载波 / 8 条链

Espressif 的双频支持是真实的——C5 的 API 暴露了同时工作在 2.4GHz 与 5GHz 的 band mode [3]——但要记住:目前没有任何 Espressif 芯片给你 80MHz 的 CSI 视野。 需要那一档分辨率(呼吸、精细动作)时,路由器路线才是现实选择,也正是本站实测并公开的那条路线。

所以诚实的决策规则是:

4. 这对你意味着什么

ESP32-S3 是一个有第一方文档背书的正经 CSI 平台——「S3 做不了 CSI」是错的, 「S3 能做到 80MHz」同样是错的。先把频段和信道宽度定死,再选硬件。

相关:ESP32 CSI 入门 · ESP32 人体检测 · 路由器 CSI 复现 · 2.4GHz vs 5GHz

参考与数据来源

本文的每条外部结论都标注来源与证据等级(分级标准);标注 E 级的是本项目可复现的实测数据。

  1. C 级 · 官方资料 espressif/esp-csi — Applications based on Wi-Fi CSI
    Espressif Systems
    github.com/espressif/esp-csi · 核实: GitHub API 2026-10-11 (stars 1,679) · 官方 README 原文:“All ESP32 series support CSI, including ESP32 / ESP32-S2 / ESP32-C3 / ESP32-S3 / ESP32-C5 / ESP32-C6 / ESP32-C61.”
  2. C 级 · 官方资料 ESP-IDF — Wi-Fi Channel State Information (ESP32-S3)
    Espressif Systems
    docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/wifi-driver/wifi-vendor-features.html#wi-fi-channel-state-information · 核实: official docs fetched 2026-10-11 (ESP32-S3 CSI section: subcarrier/byte-count table and the first_word_invalid note)
  3. C 级 · 官方资料 ESP-IDF — esp_wifi API (ESP32-C5): band mode 2.4G + 5G
    Espressif Systems
    docs.espressif.com/projects/esp-idf/en/stable/esp32c5/api-reference/network/esp_wifi.html · 核实: official docs fetched 2026-10-11 (text includes "band mode 2.4G + 5G (WIFI_BAND_MODE_AUTO)" and 802.11anacax)
  4. C 级 · 官方资料 StevenMHernandez/ESP32-CSI-Tool — active/passive CSI extraction for ESP32
    S. M. Hernandez
    github.com/StevenMHernandez/ESP32-CSI-Tool · 核实: GitHub API 2026-10-11 (stars 571, MIT, last push 2024-07-16)
  5. C 级 · 官方资料 francescopace/espectre — Wi-Fi CSI motion sensing for ESP32 (ESPHome)
    F. Pace
    github.com/francescopace/espectre · 核实: GitHub API 2026-10-11 (stars 9,505)

本页含联盟链接(rel="sponsored"),你通过链接购买不会增加成本,本站可获得少量佣金。