RepoDaily · 2026-07-08 · Security tool

RuView:用 WiFi 信号穿墙感知人员存在、呼吸和跌倒——无需摄像头

#5 Security tool Rust +1,122 ruvnet/RuView 打开仓库

每个低至 9 美元的 ESP32 节点从环境 WiFi 中提取信道状态信息,跨 6 个信道检测存在、心率和活动状态,每个节点向 Home Assistant、Apple Home 和 Matter 暴露 21 个实体。

项目类型Security tool
最适合智能家居搭建者、养老原型开发者、以及需要在无摄像头环境下穿墙检测人员存在和生命体征的射频安全研究者
风险等级高——Beta 阶段包,40+ Python 依赖,且穿墙 WiFi 感知存在双用途隐私争议
评估时间1–2 天,用单个 ESP32 节点和 Home Assistant 完成单房间原型验证

核心问题: 9 美元的 ESP32 节点提取的 WiFi CSI,能否在你的实际房间中提供足够可靠的存在和生命体征数据来替代摄像头和可穿戴设备?

88/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 88/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 高
100证据质量

包含 5 个来源、覆盖 5 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 5 个工作流步骤、5 个下一步动作,以及 4 个命令/安装信号。

60维护可信度

趋势热度为 +1,122 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

80生产准备度

采纳风险标记为 high,并包含 6 条安全说明与 4 条跳过条件。

100差异化

3 个机会视角、4 个替代方案,以及 4 个类型化模块支撑差异化判断。

82许可证清晰度

文章中包含许可证来源或许可证表述。

84Agent / AI 适配度

文章正文和元数据中检测到 6 个 AI/Agent 相关信号。

项目概览

RuView 将普通 WiFi 无线电波转化为空间智能层。当人在房间内移动、呼吸或静坐时,会以可测量的方式扰动周围的 WiFi 信号。RuView 通过低成本 ESP32 传感器节点(低至 9 美元/个)捕获这些扰动,将其作为信道状态信息(CSI)输入脉冲神经网络,该网络在 30 秒内即可适配每个房间。输出不是视频流,而是一组结构化的占用、生命体征和活动状态,可供智能家居平台直接使用。

平台每个节点暴露 21 个实体:11 个原始信号通道和 10 个推断语义状态——包括 someone-sleeping、possible-distress、room-active、elderly-inactivity-anomaly、meeting-in-progress、bathroom-occupied、fall-risk-elevated、bed-exit、no-movement 和 multi-room-transition。系统附带 3 个 Home Assistant Blueprint 启动模板。RuView 通过 HA-DISCO MQTT 发布器(--mqtt 标志一键启用)集成 Home Assistant,通过可发现的 HAP-1.1 桥接集成 Apple Home 和 HomePod,并通过相同的 HA 桥接或 ADR-122 中记录的 Matter 端点集成 Google Home 和 Amazon Alexa。

从安全角度看,穿墙 WiFi 感知的双用途性质是核心考量。让 RuView 检测到跌倒老人的同一套物理原理,也意味着任何拥有 ESP32 硬件和此固件的人都能在无摄像头、无知情同意的情况下穿墙检测人员存在。仓库 topics 包含 wifi-hacking 和 wifi-security,表明作者将项目定位在防御性监控与射频感知的交叉点。每次测量都通过 Cognitum Seed 模块进行加密证明,且系统完全在边缘硬件上运行,无需云或互联网连接。

底层实现方面,Python 包声明为 wifi-densepose 版本 1.2.0,采用 MIT 许可证,要求 Python 3.9 或更高版本。依赖链引入 PyTorch 2.1+、SciPy 1.11+、scapy 2.5+、OpenCV、FastAPI 和 scikit-learn 等 40 余个运行时依赖。CHANGELOG 显示并行的 Node.js 接口:@ruvnet/ruview@0.2.0 和 @ruvnet/rvagent@0.2.0 提供兼容 MCP 的 CLI 工具(ruview_claim_check、verify、calibrate),代理的 stdio 首次响应时间最近从 242 毫秒优化至 189 毫秒。

解决什么问题

  • 摄像头监控在黑暗中失效,在卧室和浴室引发隐私顾虑,且无法穿墙或穿透关闭的门
  • 可穿戴健康设备依赖用户配合——必须佩戴、充电和同步,这对老年用户和夜间监控场景来说很难持续
  • PIR 运动传感器只能检测粗粒度移动,无法区分睡眠者和空房间、测量呼吸频率或分类跌倒事件
  • mmWave 雷达存在传感器提供部分能力,但成本远高于 9 美元的 ESP32 节点,且缺乏 RuView 开箱即用的四生态智能家居集成

工作原理

  1. 部署 ESP32 节点:将低成本 ESP32 传感器节点(9 美元/个起)放置在待监测房间中。每个节点从环境射频中捕获 WiFi 信道状态信息,包括来自你自己的路由器和邻居路由器的信号。
  2. Mesh 扫描:节点跨 6 个 WiFi 信道执行多频段扫描,将附近路由器视为被动雷达照射源。当人移动、呼吸或静坐时,身体会以特征性模式扰动 CSI。
  3. 神经推理:CSI 数据流馈入运行在 Cognitum Seed 模块上的脉冲神经网络,该网络在 30 秒内适配每个房间的射频指纹,将时序 CSI 模式分类为占用人数、生命体征和活动类别。
  4. 实体暴露:每个节点向连接的智能家居平台发布 21 个实体(11 个原始信号 + 10 个推断语义状态),通过 MQTT、HAP-1.1 或 Matter 暴露。3 个 Home Assistant Blueprint 提供跌倒检测、睡眠监控和房间级存在的启动自动化。
  5. 加密证明:每次测量都通过 Cognitum Seed 进行加密证明,为推断状态提供防篡改保障,无需云端往返。

产品演示与界面预览

WiFi DensePose — Live pose detection with setup guide
WiFi DensePose — 实时姿态检测界面 — README 截图展示了 RuView 如何呈现基于 WiFi CSI(而非摄像头画面)推导的实时姿态检测结果。 README.md image

架构解析:从射频到语义状态

  • 物理层:9 美元 ESP32 节点跨 6 个信道从环境 WiFi 捕获 CSI,利用邻居路由器作为照射源——无需专用发射器
  • 推理层:Cognitum Seed 上的脉冲神经网络在 30 秒内适配每个房间,将时序 CSI 模式分类为 10 个语义状态,包括 fall-risk-elevated 和 possible-distress
  • 集成层:每个节点通过 MQTT(--mqtt 标志,Home Assistant HA-DISCO)、HAP-1.1 桥接(Apple Home/HomePod)或 Matter 端点(ADR-122)暴露 21 个实体
  • 持久化层:Cognitum Seed 处理持久内存、加密证明和 AI 集成——无需云或互联网连接
  • Python 包:wifi-densepose v1.2.0(MIT),要求 Python ≥3.9,pyproject.toml 中声明依赖 torch≥2.1.0、scipy≥1.11.0、scapy≥2.5.0、fastapi≥0.104.0 及其他 35+ 个包
  • Node.js 接口:@ruvnet/ruview@0.2.0 和 @ruvnet/rvagent@0.2.0 提供 MCP CLI 工具(ruview_claim_check、verify、calibrate);rvagent stdio 首次响应时间优化后实测 189 毫秒

集成面:智能家居平台映射

Home Assistant 通过 HA-DISCO MQTT 发布器连接,--mqtt 标志一键启用,接收每节点 21 个实体和 3 个启动 Blueprint。集成文档见 docs/integrations/home-assistant.md,规范化于 ADR-115。

Apple Home 和 HomePod 通过可发现的 HAP-1.1 桥接配对——Siri 可零自定义技能地语音查询各房间的存在和生命体征,文档见 docs/user-guide-apple-homepod.md。

Google Home 和 Amazon Alexa 通过相同的 HA 桥接或 Matter 端点(ADR-122)连接。两个助手均可查询房间级存在和生命体征,无需开发任何自定义技能,使四生态覆盖从单次部署即可实现。

试用路径

  • 获取 1–2 块兼容 RuView 固件的 ESP32 开发板(约 9 美元/块),放置在目标房间中
  • Python 包在 pyproject.toml 中声明为 wifi-densepose v1.2.0,要求 Python ≥3.9;40+ 依赖列表包括 torch、scipy、scapy 和 fastapi
  • MCP 代理使用可通过 @ruvnet/ruview@0.2.0 和 @ruvnet/rvagent@0.2.0——冷启动 npx 现在精确安装 1 个包(从 4 个包 / 620 kB / 71 个文件降低,见 CHANGELOG)
  • 通过 --mqtt 标志启动 RuView 连接到 Home Assistant,验证 21 个实体是否全部出现,且 someone-sleeping 状态正确转换

维护风险

  • pyproject.toml 声明 Development Status :: 4 - Beta,表明包尚未达到生产稳定
  • 依赖面庞大:40+ 个 Python 运行时依赖包括 PyTorch、OpenCV、scapy、Celery 和 asyncpg,使可复现构建和容器化复杂化
  • CHANGELOG 在未发布部分描述了重大重构(ADR-263/264/265),指出 npm 接口在已发布的 0.1.0 tarball 中是损坏的——rvagent 的 dist/index.cjs require 目标经验证已坏
  • 项目横跨 Python(wifi-densepose)、Rust(仓库语言)和 Node.js(@ruvnet/ruview、@ruvnet/rvagent),贡献者需导航三种工具链
  • pyproject.toml 中的 URL 指向 github.com/ruvnet/wifi-densepose 而非实际仓库 github.com/ruvnet/RuView——元数据不一致,可能误导新贡献者

谁适合关注

适合关注

  • 希望在 Home Assistant、Apple Home、Google Home 或 Alexa 中通过 Matter 获得无摄像头存在和生命体征监控的智能家居搭建者
  • 需要跌倒检测、睡眠监控和活动异常检测但不要求用户佩戴或充电设备的养老和辅助生活原型开发者
  • 研究 WiFi CSI 作为双用途感知模态及其对射频隐私和防御性感知影响的安全研究者
  • 具备 ESP32 经验、希望使用脉冲神经网络为现有传感器 Mesh 添加空间智能的 IoT 开发者

可以先跳过

  • 需要医疗级生命体征精度的生产部署——pyproject.toml 中标记为 Beta(Development Status :: 4)
  • 无法承受 40+ 依赖 Python 技术栈或跨 Python、Rust、Node.js 三语言工具链的团队
  • 穿墙人员感知在未经主体同意的情况下存在法律或伦理顾虑的环境
  • 需要摄像头等效视觉细节的用户——RuView 产生语义状态(someone-sleeping、room-active),而非图像

风险与注意事项

Beta 阶段项目,依赖面庞大、多语言工具链、npm 发布历史存在损坏,且穿墙 WiFi 感知固有的双用途隐私争议尚未解决。

  • pyproject.toml 声明 Development Status :: 4 - Beta——明确非生产稳定
  • 40+ 个 Python 运行时依赖包括 PyTorch 和 OpenCV,造成庞大的部署和可复现性负担
  • npm 接口在已发布的 0.1.0 tarball 中损坏(dist/index.cjs require 目标经验证已坏),仅在未发布的 0.2.0 中修复(见 CHANGELOG)
  • 无摄像头的穿墙人员感知引发因司法管辖区和使用场景而异的知情同意和法律问题
  • pyproject.toml 仓库 URL 指向 github.com/ruvnet/wifi-densepose 而非规范的 github.com/ruvnet/RuView
  • 仓库 topics 包含 wifi-hacking 和 wifi-security,表明对穿墙 WiFi 感知双用途性质的认知
  • 每次测量通过 Cognitum Seed 模块进行加密证明,无需云端往返即可提供防篡改保障
  • rvagent Streamable HTTP 传输强制 1 MiB 请求体上限(返回 HTTP 413),并实施端口感知的 localhost 来源网关(ADR-264)
  • claim-check 工具在空输入时失败关闭(CLI 退出码 2 + empty_text 工具错误),防止未验证声明的静默通过
  • 无需云或互联网连接——所有推理在边缘硬件上运行,减少网络攻击面
  • 多频段 Mesh 扫描将邻居路由器的 RF 信号作为照射源处理,意味着 RuView 处理来自其不拥有或不受控设备的信号

替代方案比较

方案适用场景代价
IP 安防摄像头(如 Reolink、Amcrest)
你需要视觉识别、录制和取证证据$30–200/台,另加 NVR/存储
mmWave 人体存在传感器(如 HLK-LD2410)
你需要在单房间内快速、局部地检测存在,不涉及 WiFi CSI 复杂度$5–15/模块
Home Assistant 原生存在检测
你只需要基于现有蓝牙、PIR 或设备追踪传感器的基本占用信息免费
可穿戴健康监测器(如 Apple Watch、Fitbit)
你需要医疗级心率追踪,且用户能可靠佩戴和充电$100–400/台

这个趋势说明了什么

无摄像头、无可穿戴设备的养老跌倒检测

RuView 的 10 个推断语义状态包括 fall-risk-elevated、elderly-inactivity-anomaly 和 possible-distress——正是养老机构需要但无法在私密房间用摄像头捕获的信号。9 美元/节点的硬件成本和纯边缘处理使机构级部署在经济上可行,Home Assistant Blueprint 启动模板降低了自动化门槛。

在单个房间部署两个 ESP32 节点,通过 --mqtt 标志连接 Home Assistant,在 7 天内对 fall-risk-elevated 实体与编排的基准事件进行对比测试。

作为防御服务的射频隐私审计

驱动 RuView 存在检测的 CSI 提取同样可用于展示建筑 WiFi 环境对外部感知的暴露程度。wifi-hacking 和 wifi-security topics 表明作者已有此双用途框架的意图,9 美元的节点成本使大范围射频隐私调查变得可行。

使用 RuView 的 ESP32 节点从目标建筑外部检测存在,记录检测范围和误报率,与机构对射频隐私的预期进行比较。

隐私敏感房间的无摄像头智能家居自动化

RuView 的 Matter 端点和 HAP-1.1 桥接在四大生态中触发自动化,无需任何摄像头画面。拒绝在卧室或浴室安装摄像头的用户仍可从 9 美元节点获得房间级存在、睡眠分期分类和呼吸暂停筛查。

在卧室部署一个 ESP32 节点,通过 Matter 配对到 Apple Home,在 48 小时窗口内验证 someone-sleeping 和 no-movement 实体是否触发预期自动化。

下一步建议

在 Home Assistant 中原型验证单房间存在检测

最快的验证路径使用一个 ESP32 节点、一个 Home Assistant 实例和 --mqtt 标志,确认 RuView 在真实房间中产生可用的语义实体——然后再扩展到多节点 Mesh。

  1. 获取 1–2 块兼容 RuView 固件的 ESP32 开发板(约 9 美元/块)
  2. 刷入 RuView 固件,将节点放置在具有已知占用模式的目标房间中
  3. 在运行推理流水线的机器上配置 wifi-densepose v1.2.0 Python 环境(Python ≥3.9)
  4. 通过 --mqtt 标志启动 RuView 连接 Home Assistant,验证 21 个实体是否全部出现
  5. 在 24–48 小时内记录 someone-sleeping 和 room-active 实体转换与已知占用的对照

RepoDaily 判断

RuView 提供了真正新颖的能力——通过 9 美元 ESP32 节点实现无摄像头穿墙存在和生命体征感知——但它仍是一个 Beta 阶段项目,拥有 40+ 依赖技术栈、三语言工具链和未解决的双用途隐私问题。智能家居搭建者和养老原型开发者应将其视为高潜力研究平台,而非即插即用的生产系统。

信息来源