# 用 WiFi 看穿墙的另一侧 — 在 ESP32 上试用无摄像头人体检测 OSS 『RuView』 > 『RuView』是一款用 Rust 编写的 OSS,靠 WiFi 反射(CSI)在不用摄像头的情况下推定人的存在、呼吸与姿势。本文梳理如何用 9 美元的 ESP32-S3 搭建、如何用 Docker 试用,以及它与 esp-csi 的区别。 Date: 2026-07-21 Tags: WiFi, ESP32, CSI, Rust, OSS, 传感 --- ![RuView 用 WiFi 信号反射隔墙检测人体姿势的示意图](https://img.wiredxeco.com/wiredxeco/ruview-wifi-esp32/hero.webp) 完全不使用摄像头,仅凭在房间里飞来飞去的 WiFi 电波,就能推定人的存在、呼吸次数、心率,甚至身体的姿势。这听起来像科幻,但如今已经发展到能用**9 美元的单片机与 OSS**来重现的地步了。 处于其核心的是 [`ruvnet/RuView`](https://github.com/ruvnet/RuView) —— 一个汇集了超过 6 万颗星的 Rust WiFi 传感平台。它把 ESP32-S3 作为传感器节点,解析 WiFi 电波的「反射模式」,在完全不持有影像的情况下读取空间的状态。 本文梳理 RuView 的原理与架构、实际的试用方法,以及它与同类 OSS(espressif/esp-csi、WirelessEye)的区别。目的是为你判断「是否该在自己的项目中采用」提供依据。 ## 为什么没有摄像头也能「看见」人 关键在于 **CSI(Channel State Information / 信道状态信息)**。 WiFi 电波并非从发射机一直线地到达接收机。它会撞到墙壁、家具,以及人体后反射,经由多条路径抵达接收机。把「哪个频率的电波、衰减了多少、相位偏移了多少后抵达」细致记录下来的,就是 CSI。 - **人在移动** → 反射路径改变 → CSI 的波形发生变化 - **人在呼吸** → 胸廓以毫米为单位上下起伏 → CSI 上叠加周期性的微小变动 - **人摆出特定姿势** → 反射模式中出现固有的「指纹」 也就是说,WiFi 路由器仅仅是在发出电波,就**已经在「照亮」房间**了。RuView 的定位就是读取那束反射光(电波)的接收传感器。由于不像摄像头那样持有影像,在隐私层面的抵触感压倒性地更小,这正是它最大的优点。 ## RuView 的架构 RuView 大致分为三层。 ### 1. 传感器节点(ESP32-S3) **9 美元的 ESP32-S3** 承担吐出 CSI 原始数据的角色。ESP32 系列在芯片层面就具备 CSI 获取 API,因此无需购买专用的 SDR(软件定义无线电)设备,用市售的廉价单片机就能站在 WiFi 传感的入口。这一点一举推进了该领域的民主化。 ### 2. 处理引擎(Rust) 原始 CSI 满是噪声。RuView 的本体是用 Rust 编写的信号处理与推理引擎,在这里进行以下工作。 - 去噪、相位校正等预处理 - 提取呼吸、心跳这类周期成分 - 用于姿势与存在检测的特征量计算与模型推理 选择 Rust,想必是为了兼顾实时性与内存安全。对于在边缘常态运行的信号处理来说,这是合乎道理的选择。 ### 3. 可视化与 API 层 这是把推定结果经由仪表盘或 API 输出到外部的层。由于可以用 Docker 整套启动,先在手边把握整体样貌是捷径。 ## 用 Docker 试用 在深入打磨之前,先看到**能跑起来的状态**是理解的捷径。RuView 是可以用 Docker Compose 一整套启动的构成。 ```bash git clone https://github.com/ruvnet/RuView.git cd RuView docker compose up ``` 这样处理引擎与可视化层就会启动,可以从浏览器访问仪表盘。这一构成设计成即便手边没有实机 ESP32-S3,也**可以灌入样本 CSI 数据来确认其行为**,所以若想体感「究竟能从 CSI 中读出什么」,从这里开始是最短路径。 要实际进行传感,则需进一步:把固件写入 ESP32-S3,并把 CSI 流朝引擎发送。到了这一阶段,「墙那头的呼吸」才终于以数字的形式呈现出来。 ## 与 esp-csi / WirelessEye 的区别 WiFi 传感类 OSS 并非只有 RuView。为了便于采用判断,这里梳理有代表性的三款。 ### espressif/esp-csi 这是 Espressif 官方的仓库,以**在 ESP32 上获取 CSI**的固件与样本为中心。其定位是「CSI 的获取与基础样本」,上层的推理、可视化、运维则以自行搭建为前提。 - **优势**:官方、轻量、最贴近芯片,能可靠地取到 CSI - **弱点**:不涵盖存在检测或姿势推定。它是地基,而非成品 把 RuView 理解为在这种 esp-csi 式「获取 CSI」层的**之上,叠加了推理、可视化与运维**,两者的关系就一目了然了。 ### WirelessEye 这是一款以实时可视化 CSI 为主旨的工具。在「电波里映出了什么」想先用眼睛看看的研究与学习阶段很强。不过它并非那种能原样嵌入产品的处理基础设施。 ### RuView 的定位 | OSS | 主旨 | 完成度的性质 | |---|---|---| | esp-csi | CSI 的获取 | 地基(上层需自制) | | WirelessEye | CSI 的可视化 | 观察、学习向 | | RuView | 获取〜推理〜可视化 | 一体化平台 | **若「想先理解原理」,用 esp-csi 或 WirelessEye 窥看电波会更快。若「想把存在、呼吸、姿势一气贯通地试一遍」,那就选 RuView**,这就是它们的分工。 ## 考虑采用时的现实注意点 这是一项富有梦想的技术,但若要用于业务,就需要冷静地划清界限。 - **精度依赖环境**:家具的摆放、墙壁的材质、其他 WiFi 设备的干扰,都会让 CSI 大幅变化。并非「在任何房间都能立刻出精度」,逐环境的校准是前提。 - **不是摄像头的替代,而是另一回事**:个人识别与细致的动作识别是摄像头的领域。CSI 擅长的不是「是谁」,而是「有人/动了/在呼吸」这类**顾及隐私的粗略状态把握**。 - **要挑用途**:老年人守护、通过在室检测进行的空调与照明控制、睡眠中的生命体征监测等,正是在**不想放摄像头的地方**才显出真正的价值。 反过来说,在这种存在「无法放/不想放摄像头」约束的现场,能用 9 美元 ESP32 起步的 RuView 是非常有吸引力的选项。 ## 总结 WiFi 传感已从需要专用昂贵设备的时代,进入了**用廉价单片机与 OSS 谁都能试**的阶段。RuView 把「从获取到推理与可视化」汇于一体,是当下最容易上手的入口之一。 先用 Docker 跑起来体感 CSI 里映出了什么,若有手感就买一块 ESP32-S3 进入实测 —— 按这个顺序,几千日元与几个小时就能触及「用 WiFi 看穿墙的另一侧」的世界。 如果你正在考虑传感数据的处理基础设施,或涉及此类边缘设备的产品开发,欢迎随时向 [株式会社 Wired & Eco](https://www.wiredxeco.com/) 咨询。