ruvnet / RuView
ruvnet/RuView
RuView 是一个基于 WiFi 信号(CSI)的感知平台,利用 ESP32 等硬件实现穿墙人体检测、呼吸与心率监测、姿态估计等功能,无需摄像头或穿戴设备,支持本地部署并集成 Home Assistant 等智能家居生态。
项目概览
项目概述
RuView(π RuView)是一个将普通 WiFi 信号转化为空间智能的感知平台。它利用信道状态信息(CSI)技术,通过低成本的 ESP32 传感器捕捉人体对 WiFi 信号的扰动,实现穿墙人体检测、呼吸与心率监测、活动识别、姿态估计等功能,全程无需摄像头或穿戴设备。项目基于 Rust 开发,支持本地边缘部署,并可与 Home Assistant、Apple Home、Google Home 等智能家居生态集成。
核心功能
- 存在与占用检测:穿墙检测人员,统计人数,追踪进出。
- 生命体征监测:无接触测量呼吸频率和心率。
- 活动识别:识别行走、坐下、手势、跌倒等动作。
- 环境映射:通过 RF 指纹识别房间,检测家具移动或新物体。
- 睡眠质量分析:整夜监测,睡眠阶段分类和呼吸暂停筛查。
- 无摄像头姿态估计:从 WiFi CSI 估计 17 个身体关键点。
- 本地自动化:提供 HOMECORE 状态、历史、自动化、签名 Wasm 插件、语音钩子和 HomeKit 支持。
- 统一 RF 世界模型:融合 WiFi CSI、雷达、UWB 和蜂窝感知。
- 可治理证据:为感知事件附加隐私政策、不确定性、来源和见证记录。
- RuView MetaHarness:AI 操作员辅助上线、校准、训练、验证和检查感知声明。
适用与不适用场景
适用场景:
- 智能家居自动化(存在触发、HVAC 优化)
- 老年人护理与辅助生活(跌倒检测、夜间活动监测)
- 医院病房监测(非关键床位连续呼吸/心率监测)
- 零售客流统计与占用分析
- 办公室空间利用率优化
- 酒店与餐饮业(房间占用、餐桌周转)
- 仓库与物流(安全区域、叉车接近警报)
- 灾难搜救(穿墙生命探测)
- 机器人空间感知(无视线遮挡的人体检测)
不适用场景:
- 需要高精度姿态估计的场合(当前单 ESP32 模型精度有限)
- 需要医疗级生命体征监测的场景(项目声明为研究原型,非医疗设备)
- 需要识别特定个人身份的场景(实验性,数据受限)
- 需要实时视频或图像的应用(项目明确不使用摄像头)
技术架构与依赖
- 语言:Rust(主要)、C(ESP32 固件)、Python(部分工具)、TypeScript(前端)
- 硬件:ESP32-S3、ESP32-C6、Intel 5300、Atheros AR9580 等支持 CSI 的设备
- 核心库:RuVector、Cognitum Seed、Candle(机器学习推理)
- 框架:Axum(HTTP 服务器)、Tokio(异步运行时)、Tauri(桌面应用)
- 模型:基于 Hugging Face 的预训练模型(CSI 编码器、姿态估计模型)
- 协议:MQTT、Matter、HAP(HomeKit)、WebSocket、UDP
- 其他:Docker、ESP-IDF、PyO3、WASM
安装与快速开始
使用 Docker(模拟数据,无需硬件)
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
# 打开 http://localhost:3000
使用 Python 包
pip install ruview
# 或 pip install wifi-densepose
使用 ESP32 硬件(实时感知)
- 烧录固件:
python -m esptool --chip esp32s3 --port COM9 --baud 460800 write_flash 0x0 bootloader.bin 0x8000 partition-table.bin 0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin - 配置 WiFi:
python firmware/esp32-csi-node/provision.py --port COM9 --ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
典型使用方法
运行感知服务器
cargo run -p wifi-densepose-sensing-server -- --source esp32 --udp-port 5005 --http-port 3000
使用预训练模型
huggingface-cli download ruvnet/wifi-densepose-pretrained --local-dir models/wifi-densepose-pretrained
使用 RuView MetaHarness
npx @ruvnet/ruview@0.4.0 doctor
npx @ruvnet/ruview@0.4.0 guidance --topic sensing --query "model loading"
与 Home Assistant 集成
使用 --mqtt 标志启动服务器,即可自动发现并集成到 Home Assistant。
配置与部署要点
- 硬件要求:需要支持 CSI 的硬件(如 ESP32-S3)才能使用高级功能;普通 WiFi 仅支持 RSSI 级别的存在检测。
- 部署模式:支持 Docker、本地编译、ESP32 固件烧录、Python 包等多种方式。
- 网络配置:ESP32 节点通过 UDP 向服务器发送数据,需确保网络连通。
- 模型加载:可通过
--model参数指定模型文件(支持 RVF、safetensors、JSONL 格式)。 - 隐私与安全:支持隐私模式、数据加密、见证链等安全特性。
- 性能调优:可通过 API 调整去重因子等参数。
限制、风险与许可证
- Beta 软件:项目处于积极开发阶段,API 和固件可能变化。
- 硬件限制:ESP32-C3 和原始 ESP32 不支持;单节点空间分辨率有限。
- 模型精度:无摄像头姿态估计精度有限(PCK@20 约 3%),目标为 35%+。
- 医疗免责:生命体征和姿态输出需独立验证,非医疗设备。
- 许可证:MIT License。
官方链接
信息来源和分析时间
- 信息来源:GitHub 仓库 README、文档、ADR 文件。
- 分析时间:2026-09-02。