RuView 是一个开源项目,利用商用 WiFi 设备的 CSI(信道状态信息)实现无摄像头、无穿戴设备的实时人体姿态估计、呼吸心率监测和存在检测。基于 Rust 构建,支持 ESP32 硬件采集,原生接入 Home Assistant、Apple Home、Google Home 等主流智能家居生态,提供预训练模型与 AI 工具链,将物理空间转化为可感知的数字孪生。
适用人群:智能家居开发者与集成商,希望在不部署摄像头的前提下实现房间级存在检测、跌倒报警与生命体征监护的工程师;嵌入式与边缘计算研发人员,关注如何在低成本 ESP32 等 MCU 上跑通 CSI 采集与推理全流程的开发者;隐私敏感场景的产品经理与架构师,需在医院、养老院、酒店等禁止摄像头区域落地非接触式监测方案的决策者。
适用场景:居家养老监护:在老人卧室部署 RuView 节点,实时上报呼吸率、心率与姿态变化,跌倒或异常立即推送至 Home Assistant 触发告警,无需老人佩戴任何设备;婴儿房无感监护:利用 WiFi 穿透性在婴儿床上方监测呼吸微动与体动,结合 Siri 或 Alexa 语音播报,避免红外摄像头隐私担忧与辐射顾虑;会议室与办公区智能占用:通过存在检测自动控制灯光空调,统计工位使用率,配合 Matter 协议接入企业级楼宇管理系统,实现真正的零接触空间智能。
推荐理由:RuView 以极低硬件成本(ESP32 + 普通路由器)打通了从 CSI 采集、信号处理、深度学习推理到智能家居集成的完整链路,Rust 核心保证高性能与内存安全,预训练模型开箱即用,文档完善且原生支持四大生态。它重新定义了“空间感知”的边界——无摄像头、无穿戴、穿墙工作,是隐私优先时代空间智能的最佳开源实践。
项目定位与背景
RuView 由 ruvnet 团队发起,定位为“将普通 WiFi 信号转化为实时空间智能”的开源框架。传统的人体感知依赖摄像头(隐私风险)、毫米波雷达(成本高、部署复杂)或穿戴设备(依从性差)。WiFi CSI 技术利用现有 802.11n/ac/ax 设备在通信过程中产生的信道状态信息,其中的振幅与相位变化蕴含了环境中物体运动、人体微动(呼吸、心跳)的调制特征。RuView 的核心贡献在于将这一物理层现象工程化:从 ESP32 固件采集原始 CSI,到 Rust 编写的高性能信号处理管线(去噪、相位校准、多天线波束形成),再到基于 DensePose 架构的轻量化神经网络实时推理姿态关键点、呼吸波形与心率,最后通过 MQTT、HAP、Matter 等标准协议无缝接入主流智能家居平台。项目在 GitHub 获得 10 万+ Star,印证了开发者对“零硬件增量、强隐私保护、全栈开源”这一技术路线的高度认可。
核心功能与技术架构
RuView 的技术栈呈现典型的边云协同分层架构。底层硬件层提供 `firmware/esp32-csi-node`,基于 ESP32-S3 或 ESP32-C6 运行 FreeRTOS,利用 ESP-IDF 的 WiFi 驱动 Hook 导出 HT/VHT/HE 长训练字段 CSI,支持 2x2 或 4x4 MIMO,采样率可达 200 Hz,通过 UART/TCP 实时流出。中间件层 `ruview-core` 由 Rust 编写,包含 CSI 解析、子载波选择、相位修正(Sanitization)、时频域滤波、多天线相干合成等 DSP 模块,输出标准化张量送入推理引擎。推理层集成 `wifi-densepose` 模型家族:`DensePose-Light`(~1.2M 参数)用于 30 FPS 姿态 17 关键点回归,`VitalNet` 双分支网络分别从相位差序列解调呼吸(0.1-0.5 Hz)与心率(0.8-2 Hz)信号,支持 ONNX Runtime 与 TensorRT 部署。上层 `harness/ruview` 提供 Python/TypeScript SDK、Home Assistant MQTT 发现实体、Apple HomeKit HAP 网桥、Matter 端点实现,配套 React 可视化工作台 `ruOS` 实时渲染 3D 骨架、呼吸波形与房间热力图。预训练权重托管于 Hugging Face,涵盖实验室、会议室、卧室等多场景数据,支持少样本微调适配新环境。
创新点与亮点
首先是“全栈自研、零闭源依赖”:从物理层驱动修改到上层 Matter 桥接,所有代码开源,避免了商业 WiFi 感知方案(如 Origin Wireless、Aerial Technologies)的黑盒锁定。其次是“极致性价比硬件适配”:单个 ESP32-S3 节点成本低于 15 美元,配合现有路由器即可组网,覆盖 50-80 平方米,边际成本远低于毫米波雷达阵列。第三是“隐私原生设计”:全链路不产生任何图像像素,CSI 原始数据本地推理,仅上报结构化语义(存在/不存在、姿态类别、生命体征数值),符合 GDPR 与 HIPAA 最小化原则。第四是“生态互操作性一流”:同一固件通过配置即可以 MQTT 实体、HomeKit 传感器、Matter 设备三种身份同时出现,Siri 可直接询问“卧室呼吸频率”,无需编写任何自定义技能。第五是“自学习与持续校准”:`ruOS` 内置在线自监督模块,利用长期无人时段估计环境静态 CSI 基线,自动补偿温度漂移、家具移动导致的多径变化,保持长期部署精度稳定。
与同类项目对比
对比 `ESP32-CSI-Tool`、`nexmon_csi` 等学术工具链,RuView 补全了从原始数据到落地应用的“最后一公里”:提供量产级固件、预训练模型、HA/Matter 集成与可视化工作台,降低了工程化门槛。对比商业方案 `WiFi Motion`(Cognitive Systems)或 `Aerial`,RuView 开放模型权重与训练代码,支持私有化部署与二次开发,无订阅费与数据出厂风险。对比毫米波雷达开源项目 `mmWave-Human-Detection`(基于 TI IWR6843),RuView 硬件成本降低 80%,穿墙能力更强(2.4/5 GHz 衍射绕射优于 60 GHz),但微动分辨率略逊于 4D 雷达,且对多目标分离(两人贴身重叠)仍有提升空间。对比摄像头方案 `YOLO-Pose` + `MediaPipe`,RuView 在全黑、遮挡、隐私敏感场景具备不可替代优势,但缺乏身份识别与精细手势语义。
上手指南与快速开始
最小化部署仅需三步:1) 硬件准备:购买 ESP32-S3-DevKitC-1(或 ESP32-C6-DevKitC)一块,任意支持 802.11n/ac 的双频路由器一台(建议开启 40 MHz 带宽)。2) 固件烧录:克隆仓库进入 `firmware/esp32-csi-node`,运行 `idf.py set-target esp32s3 && idf.py flash monitor`,串口配置 WiFi SSID/密码与目标路由器 MAC,节点启动后自动以 TCP 5555 端口推流 CSI。3) 推理服务启动:在同一局域网 Linux/x86_64 机器(或树莓派 5)执行 `docker run --rm -it --network host ghcr.io/ruvnet/ruview-core:latest --csi-source tcp://<ESP32_IP>:5555 --model densepose-light --mqtt-host homeassistant.local`。容器启动后自动向 Home Assistant 发现 `binary_sensor.ruview_presence`、`sensor.ruview_breathing_rate`、`sensor.ruview_heart_rate` 等实体。进阶玩法可下载 `harness/ruview` 运行 `pnpm dev` 打开 `ruOS` 网页端,拖拽生成 3D 房间地图、配置区域告警、导出 Matter 设备码接入 Apple Home。文档提供 `docs/user-guide.md` 完整参数说明与故障排查,`docs/integrations/home-assistant.md` 涵盖自动化蓝图示例(如:呼吸率 < 8 次/分持续 30 秒触发紧急广播)。
总结与展望
RuView 证明了商用 WiFi 硬件在软件定义感知范式下可以成为泛在的“空间神经元”。其 Rust 核心与全栈开源模式为边缘 AI 感知树立了工程标杆。短期看,多频段融合(2.4G+5G+6G CSI 联合估计)、基础模型蒸馏至 MCU 端侧推理(ESP-DL 加速)、多模态对齐(WiFi+音频+惯性融合跌倒检测)是社区活跃方向。长期看,随着 802.11bf (WiFi 7 Sensing) 标准落地,专用测量帧将替代通信帧旁路采集,带来更高 SNR 与标准化互操作;RuView 已在 ADR-122 中预留 Matter Sensing Cluster 扩展,有望成为首个原生支持 WiFi 7 感知的开源参考实现。对于开发者而言,现在切入 RuView 生态,不仅能以极低成本构建隐私优先的智能空间应用,更能参与定义下一代无线感知的开放标准。
项目信息
| 项目名称 | ruvnet/RuView |
| 编程语言 | Rust |
| Star 数 | 102466 |
| Fork 数 | 13301 |
| 主题标签 | awesome, claude, densepose, esp32, firmware, home-assistant, home-automation, iot, monitoring, networking, npm, pose-estimation, react, rf, self-learning, skills, spatial-intelligence, typescript, wifi, wifi-security |