How atharvghavare/wifisense works
π WiFiSense turns radio disturbances into room-level sensing: ESP32 nodes capture WiFi CSI, sensing pipelines infer occupancy, pose, activity and vital signs, and user interfaces present the results. The README also describes model training/loading, privacy-governed evidence, edge execution, and HOMECORE smart-home automation and ecosystem bridges. The graph preserves those documented branches; several runtime connections rely on README descriptions because their implementation was not sampled.
Main entry points: LiveDemoTab.js Live sensing UI · csi_pipeline.rs CSI processing · rvf_pipeline.rs Sensing server · app.js Dashboard entry
Components 24
Sensing and Inference
- CSI processing
v2/crates/wifi-densepose-pointcloud/src/csi_pipeline.rs - Pose physics
v2/crates/wifi-densepose-physics/src/engine.rs - Sensing server
v2/crates/wifi-densepose-sensing-server/src/rvf_pipeline.rs
Edge and Privacy
- ESP32 CSI node
firmware/esp32-csi-node/main/csi_collector.c - Adaptive sensing
firmware/esp32-csi-node/main/adaptive_controller.c - Feature state
firmware/esp32-csi-node/main/rv_feature_state.h - Radio operations
firmware/esp32-csi-node/main/rv_radio_ops.h - Privacy shield
wifi-veil/firmware/core/veil_shield.h - RIS controller
wifi-veil/firmware/esp32/veil_ris_controller/veil_ris_controller.c
Models and Calibration
- RVF container
v2/crates/wifi-densepose-sensing-server/src/rvf_container.rs - Calibration
aether-arena/calibration/calibrate.py
User Interfaces
- Model workflow UI
ui/components/TrainingPanel.js - Live sensing UI
ui/components/LiveDemoTab.js - Pose visualization
ui/components/PoseDetectionCanvas.js - Dashboard entry
ui/app.js - Health monitoring
ui/services/health.service.js - Pose service
ui/services/pose.service.js - Sensing service
ui/services/sensing.service.js - WebSocket service
ui/services/websocket.service.js
Automation and Integrations
- Automation engine
v2/crates/homecore-automation/src/engine.rs - Home Matter bridge
v2/crates/cog-ha-matter/src/runtime.rs - Smart-home ecosystems
Other components
- Room occupant
- Operator
Connections 22
- Room occupant → ESP32 CSI node: disturbs radio
README.md - ESP32 CSI node → CSI processing: streams CSI
- Adaptive sensing → Radio operations: controls radio
firmware/esp32-csi-node/main/adaptive_controller.c - Adaptive sensing → Feature state: reads state
firmware/esp32-csi-node/main/adaptive_controller.c - CSI processing → Pose physics: refines pose
- CSI processing → Sensing server: serves sensing
- Sensing server → RVF container: builds models
v2/crates/wifi-densepose-sensing-server/src/rvf_pipeline.rs - Operator → Dashboard entry: views results
README.md - Dashboard entry → Live sensing UI: initializes
ui/app.js - Dashboard entry → Health monitoring: starts monitoring
ui/app.js - Live sensing UI → Pose service: requests pose
ui/components/LiveDemoTab.js - Live sensing UI → Sensing service: requests sensing
ui/components/LiveDemoTab.js - Live sensing UI → WebSocket service: streams updates
ui/components/LiveDemoTab.js - Live sensing UI → Pose visualization: renders pose
ui/components/LiveDemoTab.js - Operator → Model workflow UI: trains models
README.md - Model workflow UI → RVF container: loads RVF
- Operator → Calibration: calibrates sensing
README.md - CSI processing → Privacy shield: applies privacy
- Privacy shield → RIS controller: configures surface
wifi-veil/firmware/esp32/veil_ris_controller/veil_ris_controller.c - Sensing server → Automation engine: provides room states
- Automation engine → Home Matter bridge: exposes automation
- Home Matter bridge → Smart-home ecosystems: bridges Matter
README.md