↓ Перейти к основному содержимому
  1. Подборки/

ruview

·2090 слов·10 минут· loading · loading · · ·
Автор
Dominicus In

Источник: ruview — синхронизируется из внешнего репозитория как sparse-субмодуль (только список).

RuView - WiFi DensePose — animated visualization of real-time pose estimation, breathing, and heart-rate sensing through WiFi

RuView: spaces become signals, with an animated conceptual RF field

Start here
Start here
Hardware
Hardware
Models
Models
AI toolkit
AI toolkit
Smart home
Smart home
Cognitum Seed
Cognitum Seed

RuView — WiFi becomes spatial awareness, with Ruflo coordination and a ruOS sensing workspace

See through walls with WiFi
#

Turn ordinary WiFi into a spatial intelligence / sensing system. Detect people, measure breathing and heart rate, track movement, and monitor rooms — through walls, in the dark, with no cameras or wearables. Just physics.

Works natively with the four major smart-home ecosystems: Home Assistant via the HA-DISCO MQTT publisher, Apple Home & HomePod as a discoverable HAP-1.1 bridge, Google Home + Amazon Alexa via the same HA bridge or a Matter endpoint. Siri, Google Assistant, and Alexa can voice presence and vitals by room with zero custom skills.

Works with Home Assistant Works with Matter Works with Apple Home Works with Google Home Works with Alexa

Drop into any Home Assistant install with one --mqtt flag. Or pair into Apple Home / Google Home / Alexa / SmartThings as a Matter Bridge. Ships 21 entities per node (11 raw signals + 10 inferred semantic states: someone-sleeping, possible-distress, room-active, elderly-inactivity-anomaly, meeting-in-progress, bathroom-occupied, fall-risk-elevated, bed-exit, no-movement, multi-room-transition) plus 3 starter HA Blueprints. See docs/integrations/home-assistant.md · ADR-115.

π RuView is a WiFi sensing platform that turns radio signals into spatial intelligence.
#

Every WiFi router already fills your space with radio waves. When people move, breathe, or even sit still, they disturb those waves in measurable ways. RuView captures these disturbances using Channel State Information (CSI) from low-cost ESP32 sensors and turns them into actionable data: who’s there, what they’re doing, and whether they’re okay.

Explore RuView sensing, models and automation

What it senses:

  • Presence and occupancy — detect people through walls, count them, track entries and exits
  • Vital signs — breathing rate and heart rate, contactless, while sleeping or sitting
  • Activity recognition — walking, sitting, gestures, falls — from temporal CSI patterns
  • Environment mapping — RF fingerprinting identifies rooms, detects moved furniture, spots new objects
  • Sleep quality — overnight monitoring with sleep stage classification and apnea screening

Also included:

  • Camera-free pose — estimate 17 body keypoints from WiFi CSI
  • Built-in model workflow — record CSI, train models, load RVF files, and switch LoRA profiles
  • Local automation — HOMECORE provides state, history, automations, signed Wasm plugins, voice hooks, and HomeKit support
  • Unified RF world model — combine WiFi CSI, radar, UWB, and cellular sensing in one privacy-bounded scene model; accuracy is still synthetic until real-data validation
  • Governed evidence — attach privacy policy, uncertainty, provenance, and witness records to sensing events
  • RuView MetaHarness — use an AI operator to onboard, calibrate, train, verify, and check sensing claims
Presence and motion: open documentation and current limitations
Presence and motion
Breathing and vital signals: open documentation and current limitations
Breathing and vital signals
Pose research and limitations: open documentation and current limitations
Pose research and limitations
Edge sensor mesh: open documentation and current limitations
Edge sensor mesh
Local automation: open documentation and current limitations
Local automation
Guided AI operator: open documentation and current limitations
Guided AI operator
RuView MetaHarness — guided operation for humans and AI agents

The RuView-specific metaharness we created is published as @ruvnet/ruview. It provides:

  • source-cited guidance;
  • device access for CSI nodes, radar and LiDAR;
  • firmware flashing with boot evidence;
  • one MCP server, usable over stdio or HTTP for ChatGPT, with a live console widget;
  • a Claude Code mod;
  • guarded Claude Code/Codex agents;
  • deterministic verification;
  • an honesty check for accuracy claims.

Companion packages: homecore (Homecore developer metaharness) and @ruvnet/ruview-kernel (the vitals pipeline as WASM).

# Check the local setup and get source-cited guidance
npx @ruvnet/ruview@0.9.1 doctor
npx @ruvnet/ruview@0.9.1 guidance --topic sensing --query "model loading"

# Hardware: what is plugged in, live CSI from your nodes, a 60 GHz radar kit
npx @ruvnet/ruview@0.9.1 devices
npx @ruvnet/ruview@0.9.1 esp32 --watch                       # ESP32 + Realtek RAC1 nodes, live view
npx @ruvnet/ruview@0.9.1 esp32 --seconds 45 --analyze        # live CSI through the vitals kernel
npx @ruvnet/ruview@0.9.1 mmwave --source esphome --host <kit-ip>

# Agents: MCP over stdio, or over HTTP for ChatGPT (token-protected, read tools only)
npx @ruvnet/ruview@0.9.1 mcp start
RUVIEW_MCP_GRANTS=device-access npx @ruvnet/ruview@0.9.1 mcp start --http

# Claude Code: a live sensing pane (/ruview), shipped in the package
npx @ruvnet/ruview@0.9.1 mod

# Run a read-only RuView agent through Codex
npx @ruvnet/ruview@0.9.1 agent run --host codex --repo . \
  --prompt "Find the nearest tests and cite the source files"

# Check claims, replay the deterministic proof, search the reviewed brain
npx @ruvnet/ruview@0.9.1 claim-check --file REPORT.md
npx @ruvnet/ruview@0.9.1 verify
npx @ruvnet/ruview@0.9.1 brain search --query "calibration"

Safety:

  • Agent runs are read-only by default. Workspace writes require both --allow-write and --confirm.
  • Hardware reads need the device-access grant.
  • Flashing and calibration never run over the HTTP transport.
  • Device-reported vitals are labelled as unvalidated.
  • Retrieved brain content is evidence, not authority.

A single npx ruview package bundling all of this is ready (ADR-376). It is waiting on npm to release the unscoped name.

Full walkthrough: user guide → RuView npm toolkit.

Built on RuVector and Cognitum Seed, RuView runs entirely on edge hardware — an ESP32 mesh (as low as $9 per node) paired with a Cognitum Seed for persistent memory, cryptographic attestation, and AI integration. No cloud, no cameras, no internet required.

The system learns each environment locally using spiking neural networks that adapt in under 30 seconds, with multi-frequency mesh scanning across 6 WiFi channels that uses your neighbors’ routers as free radar illuminators. Every measurement is cryptographically attested via an Ed25519 witness chain.

RuView turns ordinary WiFi into a contactless sensor. A $9 ESP32 board reads the radio reflections off the people in a room, and a small pretrained model — published on Hugging Face at ruvnet/wifi-densepose-pretrained — tells you who’s there, how they’re breathing, and how their heart rate is trending. The model fits in 8 KB (4-bit quantized) and runs in microseconds on a Raspberry Pi. (The v2 encoder reports an honest, label-free held-out temporal-triplet accuracy of 82.3% — up from 66.4% raw; the older “100% presence” figure was measured on a single-class recording and has been retracted in favor of this.) No cameras, no wearables, no app on the user’s phone.

Built for low-power edge applications
#

Edge modules are small programs that run directly on the ESP32 sensor — no internet needed, no cloud fees, instant response.

Rust 1.85+ License: MIT Tests: 1463 Docker: multi-arch Vital Signs ESP32 Ready crates.io Downloads

WhatHowSpeed / scale
🫁 Breathing rateBandpass 0.1–0.5 Hz on wrapped phase, circular variance, zero-crossing BPM (#593)6–30 BPM, real-time
💓 Heart rateBandpass 0.8–2.0 Hz, zero-crossing BPM40–120 BPM, real-time
👤 Presence detectionTrained head on Hugging Face (ruvnet/wifi-densepose-pretrained; v2 encoder = 82.3% held-out temporal-triplet acc, honestly re-benchmarked) + a phase-variance fallback that needs no model< 1 ms, ~30 s ambient calibration
🧬 CSI embeddings128-dim contrastive encoder shipped on Hugging Face, 4-bit quantised variant fits in 8 KB164,183 emb/s on M4 Pro
🦴 17-keypoint pose estimationcog-pose-estimation Cog v0.0.1 — signed aarch64 + x86_64 binaries on GCS, loads pose_v1.safetensors via Candle (the committed pose_v1 is a first-cut on-device model: PCK@20 = 3.0%, below the ADR-079 ≥35% target, and its runtime path is still a confidence=0 stub — see Model weights: what’s real, what’s not; the 82.69% figure below is the separate published MM-Fi benchmark, not this live cog). Train your own from paired data in 2.1 s on an RTX 5080 (ADR-101, benchmarks). SOTA on MM-Fi: ruvnet/wifi-densepose-mmfi-pose hits 82.69% torso-PCK@20 (ensemble 83.59%), beating MultiFormer (72.25%) and CSI2Pose (68.41%) on the matched MM-Fi random_split protocol — self-corrected and auditable on AetherArena8.4 ms cold-start on a Pi 5
🚶 Motion / activityMotion-band power + phase accelerationReal-time
🤸 Fall detectionPhase-acceleration threshold + 3-frame debounce + 5 s cooldown (#263)< 200 ms
🧮 Multi-person countAdaptive P95 normalisation + runtime-tunable dedup factor (/api/v1/config/dedup-factor, #491). Six specialised learned counters available as Cogs: occupancy-zones, elevator-count, queue-length, customer-flow, clean-room, person-matchingReal-time, self-calibrating
🌍 World model predictionOccWorld TransVQVAE — 15-frame future occupancy prediction, 209 ms inference, 3.4 GB VRAM on RTX 5080; fine-tune on your space with occworld_retrain.py (ADR-147)15 frames × 200×200×16 vox
🧱 Through-wall sensingFresnel-zone geometry + multipath modelingUp to ~5 m, signal-dependent
🧠 Edge intelligence105-cog catalog (ADR-102) live from app-registry.json — health, security, building, retail, industrial, research, AI, swarm, signal, network, and developer modules. Optional Cognitum Seed adds persistent vector store + kNN + witness chain$140 total BOM
🎯 Camera-free pre-trainingSelf-supervised contrastive encoder, 12.2M training steps on 60K frames, shipped on Hugging Face84 s/epoch retrain on M4 Pro
📷 Camera-supervised fine-tuneMediaPipe + ESP32 CSI paired training, end-to-end Candle pipeline on RTX 5080 (ADR-079)2.1 s for 400 epochs (~5 ms/epoch)
📡 Multi-frequency meshChannel hopping across 6 bands, TDM slot scheduling (ADR-029)3× sensing bandwidth
🌐 3D point cloud fusionCamera depth (MiDaS) + WiFi CSI + mmWave radar → unified spatial model22 ms pipeline · 19K+ points/frame

Browse the full 105-module catalog (with practical descriptions, sizes, and difficulty) below in 🧩 Edge Module Catalog, or visit seed.cognitum.one/store.

🤗 Pretrained weights: download from ruvnet/wifi-densepose-pretrained — see Loading the pretrained model below for one-command setup.

Quick start options — Docker, ESP32-S3/C6, Cognitum Seed, and Python
# Option 1: Docker (simulated data, no hardware needed)
docker pull ruvnet/wifi-densepose:latest
export RUVIEW_API_TOKEN=$(openssl rand -hex 32)   # required; the container exits 64 without it
docker run -p 127.0.0.1:3000:3000 -e RUVIEW_API_TOKEN ruvnet/wifi-densepose:latest
# Open http://localhost:3000
# ESP32 nodes in Docker also need a UDP source guard (RUVIEW_UDP_ALLOW);
# see docs/user-guide.md "Receiving ESP32 frames in Docker".

# Option 2a: Live sensing with ESP32-S3 hardware ($9)
# Flash firmware, provision WiFi, and start sensing:
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
python firmware/esp32-csi-node/provision.py --port COM9 \
  --ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20

# Option 2b: WiFi 6 + 802.15.4 research sensing with ESP32-C6 ($6-10, ADR-110)
# Same csi-node firmware compiled for the C6 target — picks up the C6
# overlay (sdkconfig.defaults.esp32c6) automatically.
cd firmware/esp32-csi-node
idf.py set-target esp32c6 && idf.py build
idf.py -p COM6 flash
# C6 boot extras (vs S3): HE-LTF subcarrier tagging in ADR-018 bytes 18-19,
#   802.15.4 mesh time-sync on channel 15, TWT setup when the AP supports it,
#   opt-in LP-core wake-on-motion for ~5 µA battery seed nodes.
# v0.6.7 adds: real LP-core RISC-V motion-gate program (debounce + motion
#   counter) and a Wi-Fi 6 soft-AP with TWT Responder so two C6 boards can
#   benchmark real iTWT without buying an 11ax router. Both default off,
#   flip CONFIG_C6_{LP_CORE,SOFTAP_HE}_ENABLE to turn them on.

# Option 3: Full system with Cognitum Seed ($140)
# ESP32 streams CSI → bridge forwards to Seed for persistent storage + kNN + witness chain
node scripts/rf-scan.js --port 5006           # Live RF room scan
node scripts/snn-csi-processor.js --port 5006  # SNN real-time learning
node scripts/mincut-person-counter.js --port 5006  # Correct person counting

# Option 4: Python — live on PyPI (ADR-117)
pip install ruview                        # or: pip install wifi-densepose
# Both ship the same compiled PyO3 wheel (~250 KB, abi3-py310, Linux/macOS/Windows).
# Add [client] for the asyncio WebSocket + paho-mqtt clients:
pip install "ruview[client]"              # or: pip install "wifi-densepose[client]"

# from ruview import BreathingExtractor, HeartRateExtractor   # equivalent to:
# from wifi_densepose import BreathingExtractor, HeartRateExtractor
# from ruview.client import SensingClient, RuViewMqttClient

PyPI ruview PyPI wifi-densepose

Note

CSI-capable hardware recommended. Presence, vital signs, through-wall sensing, and all advanced capabilities require Channel State Information (CSI) from an ESP32-S3 ($9) or research NIC. The Docker image runs with simulated data for evaluation. Consumer WiFi laptops provide RSSI-only presence detection.

Hardware options for live CSI capture:

OptionHardwareCostFull CSICapabilities
ESP32 + Cognitum Seed (recommended)ESP32-S3 + Cognitum Seed~$140YesPresence, motion, breathing, heart rate, fall detection, multi-person counting, 17-keypoint pose (signed Cog binary — first-cut on-device model, see Model weights: what’s real, what’s not), 105-cog catalog, persistent vector store, kNN search, witness chain, MCP proxy
ESP32 Mesh3-6× ESP32-S3 + WiFi router~$54YesSame capabilities as above without the persistent-memory features
ESP32-C6 research node (ADR-110, witness, reviewer guide, firmware v0.7.0)ESP32-C6-DevKit ($6–10)~$10Yes (Wi-Fi 6 capable)Dual-target CSI with 99.56% measured ESP-NOW sync match and measured HE-LTF capture on IDF 5.5.2. TWT and ~5 µA operation still need hardware validation.
Research NICIntel 5300 / Atheros AR9580~$50-100YesFull CSI with 3x3 MIMO
Qualcomm CSI beta (ADR-268)QCA9300 now; QCN9074/QCN9274 experimental~$30-200Simulator now; hardware adapter gatedRust QCS1 codec, deterministic replay, UDP/API integration; modern ath11k/ath12k profiles do not claim public CSI export
Vendor provider beta (ADR-270)Origin, Plume, Mist, NETGEAR, Electric Imp, RF Solutions, Luma, Nest, Linksys, WifigardenVariesCapability-dependentBounded Rust adapters and deterministic fixtures; telemetry/network-only/unsupported states cannot masquerade as CSI
Any WiFiWindows, macOS, or Linux laptop$0NoRSSI-only: coarse presence and motion (see tutorial #36)

No hardware? Verify the signal processing pipeline with the deterministic reference signal: python archive/v1/data/proof/verify.py


WiFi DensePose — Live pose detection with setup guide
Real-time pose skeleton from WiFi CSI signals — no cameras, no wearables (demo visualization; the live CSI-only single-ESP32 17-keypoint model is still first-cut — see Model weights: what's real, what's not)

▶ Live Observatory Demo  |  ▶ Dual-Modal Pose Fusion Demo  | 

…превью ограничено; полный список — в репозитории.