RuView: una plataforma open source para percepción espacial sin cámaras usando señales WiFi

RuView es una plataforma open source de percepción espacial con WiFi CSI creada por ruvnet. Explora cómo extraer presencia, respiración, ritmo cardíaco, actividad, postura y cambios del entorno a partir de señales WiFi con hardware barato como ESP32-S3. El proyecto sigue en beta y encaja mejor en investigación, prototipos y exploración de sensores en el borde.

RuView es una plataforma open source de percepción espacial con WiFi creada por ruvnet.

Su idea es ambiciosa: no usar cámaras ni wearables, sino señales WiFi corrientes y nodos de bajo coste basados en ESP32-S3 para extraer, desde Channel State Information o CSI, información sobre presencia humana, movimiento, respiración, ritmo cardíaco, patrones de actividad, estado de una habitación y estimación de postura.

Proyecto: https://github.com/ruvnet/RuView

Conclusión rápida

RuView merece atención, pero conviene mirarlo con calma.

No es una aplicación web normal ni un sistema de vigilancia terminado que pueda “ver a través de paredes” nada más arrancar Docker. Es más preciso describirlo como una plataforma open source de investigación alrededor de WiFi CSI, ESP32-S3, inferencia en el borde, percepción espacial y fusión multimodal.

Encaja en estos casos:

  • Aprender WiFi CSI y procesamiento de señales inalámbricas.
  • Crear prototipos con ESP32-S3 para presencia, movimiento y signos vitales.
  • Investigar percepción espacial sin cámaras.
  • Explorar aplicaciones de borde en cuidado de mayores, salud, edificios inteligentes, retail, seguridad y robótica.
  • Probar percepción no visual en espacios sensibles para la privacidad.

No encaja bien, al menos por ahora, si esperas:

  • Sustituir dispositivos médicos comprando una placa.
  • Localización 3D interior de alta precisión con un solo nodo ESP32.
  • Identificación precisa de cada persona en cualquier habitación sin ajuste ni calibración.
  • Obtener CSI completo desde RSSI en un portátil WiFi normal.
  • Desplegar un proyecto beta directamente en producción de alto riesgo.

El README también lo deja claro: RuView sigue siendo software beta; API y firmware pueden cambiar; ESP32-C3 y el ESP32 original no están soportados; una instalación con un solo ESP32 tiene resolución espacial limitada; y la estimación de postura sin cámara tiene límites importantes.

Qué es RuView

RuView trata las señales WiFi como sensores espaciales.

Un router WiFi emite ondas de radio continuamente. El movimiento humano, la respiración, sentarse o levantarse alteran esas señales de forma sutil. El WiFi tradicional se centra en si hay conexión y en la fuerza de la señal. RuView mira una capa más baja: Channel State Information.

CSI puede entenderse como el estado fino del enlace inalámbrico en distintos subportadores y momentos. Frente a RSSI, contiene mucha más información y puede ayudar a analizar:

  • Si hay alguien en una habitación.
  • En qué zona está aproximadamente.
  • Si alguien camina, se sienta o cae.
  • Si la frecuencia respiratoria parece anómala.
  • Si puede estimarse una señal de ritmo cardíaco.
  • Si cambió la huella RF de la habitación.
  • Si varios nodos permiten una localización más fina.

RuView intenta convertir esas señales inalámbricas crudas en datos útiles de inteligencia espacial.

Qué puede percibir

Según el README, RuView se centra en:

  • Presence and occupancy: detectar personas, cambios de ocupación, entradas y salidas.
  • Vital signs: estimar respiración y ritmo cardíaco sin contacto.
  • Activity recognition: caminar, sentarse, gestos, caídas y actividades similares.
  • Environment mapping: huella RF de la habitación, movimiento de muebles y cambios de objetos.
  • Sleep quality: monitorización nocturna, fases de sueño y exploración de apnea.
  • Pose estimation: estimación de puntos clave del cuerpo basada en WiFi CSI.

Lo más fácil de llevar a la práctica es presencia, cambios de actividad y ocupación gruesa. Respiración, ritmo cardíaco y postura exigen más de la colocación del hardware, el entorno, la calidad de señal, los modelos y la calibración.

No conviene tratar todas las capacidades como si tuvieran la misma madurez. Hacer funcionar una tubería de investigación y operar durante meses en una casa, hospital, hotel o almacén real son problemas muy distintos.

Por qué ESP32-S3

RuView recomienda ESP32-S3 como nodo barato para capturar CSI.

El README indica:

  • ESP32-C3 no está soportado.
  • El ESP32 original no está soportado.
  • La razón es que el núcleo único y la potencia de cálculo no bastan para CSI DSP.
  • Una instalación con un solo ESP32 tiene resolución espacial limitada.
  • Para mejores resultados se necesitan dos o más nodos, o Cognitum Seed.

Esto es importante. “WiFi sensing” puede hacer pensar que cualquier portátil, router o ESP32 sirve. En la práctica, el CSI completo depende del hardware, el firmware y el método de captura.

El proyecto describe varias rutas:

  • Datos simulados con Docker: sin hardware, útil para evaluar la tubería.
  • Nodos ESP32-S3: captura barata en tiempo real para prototipos.
  • ESP32 mesh: varios nodos para mejorar la resolución espacial.
  • ESP32-S3 + Cognitum Seed: memoria persistente, kNN, witness chain e integración con AI.
  • Tarjetas de investigación como Intel 5300 / Atheros AR9580 para CSI más completo.
  • Portátiles WiFi normales: normalmente solo RSSI y capacidad muy limitada.

Prueba rápida

Para ver la interfaz y datos simulados, puedes empezar con Docker:

1
2
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest

Luego abre:

1
http://localhost:3000

Para hardware real ESP32-S3, hay que flashear firmware y configurar WiFi:

1
2
3
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

Configura la red y el destino:

1
2
python firmware/esp32-csi-node/provision.py --port COM9 \
  --ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20

También hay scripts de procesamiento en tiempo real:

1
2
3
node scripts/rf-scan.js --port 5006
node scripts/snn-csi-processor.js --port 5006
node scripts/mincut-person-counter.js --port 5006

Son comandos para desarrolladores que pueden validar la tubería paso a paso. Sin experiencia en señales inalámbricas o sistemas embebidos, la entrada no es trivial.

Tubería de procesamiento

La cadena básica de RuView puede entenderse así:

  1. Las señales WiFi atraviesan la habitación.
  2. Cuerpos y objetos alteran las rutas de propagación.
  3. Una malla ESP32-S3 captura CSI.
  4. Se fusionan enlaces de varias bandas, subportadores y nodos.
  5. Se limpian señales y se extraen características.
  6. RuVector / AI Backbone representa, comprime, busca y modela.
  7. Las redes neuronales producen puntos corporales, signos vitales y modelos de habitación.
  8. Las aplicaciones superiores usan los resultados para alertas, estadísticas, visualización o automatización.

Aquí entran amplitud y fase de CSI, propagación multitrayecto, geometría de Fresnel zone, filtrado de respiración y ritmo cardíaco, Hampel filter, SpotFi, BVP, spectrogram, algoritmos de grafos, attention, spiking neural networks, mesh y fusión entre vistas.

Por eso RuView se parece más a una plataforma de investigación que a una pequeña utilidad IoT.

Casos de uso

El README enumera muchos escenarios.

En cuidado de mayores y soporte sanitario: presencia en habitaciones, caídas, actividad nocturna, respiración durante el sueño y monitorización auxiliar de respiración o ritmo cardíaco en camas no críticas. Es atractivo porque evita cámaras y wearables, pero no debe tratarse como dispositivo médico.

En edificios inteligentes y espacios comerciales: ocupación de mesas y salas, HVAC según presencia real, habitaciones de hotel vacías y ahorro energético, colas y rotación de mesas, tráfico de clientes, tiempo de permanencia y mapas de calor. Estos usos están más cerca de estadísticas de ocupación y pueden llegar antes que la postura precisa.

En seguridad e industria: intrusión perimetral, zonas seguras en almacenes, alertas de carretillas, presencia en espacios cerrados y conteo o caídas en obras. Necesitan baja latencia y alertas fiables, además de gestionar falsos positivos, falsos negativos y responsabilidad.

En robótica y entornos complejos: detectar personas cuando las cámaras fallan, percibir detrás de humo, niebla, estanterías u oclusiones, buscar señales de respiración en rescate y trabajar en minas, barcos o lugares donde los sensores ópticos son difíciles.

Ventajas de privacidad y nuevos riesgos

Una ventaja importante de RuView es que no usa cámara.

En residencias, hospitales, escuelas, oficinas, hoteles, restaurantes o baños públicos, las cámaras generan mucha presión de privacidad. WiFi sensing no graba imágenes ni exige wearables, lo que reduce muchos problemas visuales por diseño.

Pero “sin cámara” no significa “sin riesgo de privacidad”.

WiFi sensing aún puede inferir si hay alguien en una habitación, cuándo entra o sale, patrones de sueño, respiración y actividad, caídas o inmovilidad prolongada, y rutinas dentro de un espacio.

También son datos sensibles. Un despliegue necesita aviso claro, control de permisos, política de retención, cifrado, minimización de datos y auditoría de acceso.

Comparación con cámaras, PIR y radar milimétrico

Las cámaras dan información rica, intuitiva y explicable, pero tienen la mayor presión de privacidad y dependen de luz y línea de visión.

PIR es barato y simple, pero detecta cambios térmicos. Puede fallar con personas quietas y tiene resolución espacial limitada.

El radar milimétrico funciona bien para signos vitales y presencia sin contacto, y puede ser más estable, pero requiere hardware adicional y suele costar más que reutilizar WiFi.

WiFi sensing tiene ventajas claras:

  • La infraestructura WiFi ya existe.
  • Puede atravesar algunas paredes y oclusiones.
  • No captura imágenes.
  • Los nodos ESP32-S3 son baratos.
  • Se integra con redes existentes.

Sus límites también son claros: mucha sensibilidad al entorno, dependencia de posición y número de nodos, dificultad con varias personas, postura y signos vitales de alta precisión aún difíciles, y validación de ingeniería más complicada que una solución con cámaras.

Límites actuales

El README lista varios límites:

  • El proyecto sigue en beta.
  • API y firmware pueden cambiar.
  • ESP32-C3 y ESP32 original no están soportados.
  • Un solo ESP32 tiene resolución espacial limitada.
  • Se recomiendan dos o más nodos o Cognitum Seed.
  • La precisión actual de postura sin cámara es limitada.
  • La tubería supervisada con cámaras existe, pero la recogida y evaluación de datos siguen en curso.
  • El ejemplo Docker usa datos simulados y no representa rendimiento real de hardware.

WiFi sensing tiene mucho potencial, pero el resultado depende de hardware, entorno, densidad de despliegue, modelo, calibración y tolerancia de la aplicación.

Para prototipos, empieza por presencia y actividad simple. No empieces exigiendo postura precisa, ritmo cardíaco y seguimiento 3D de varias personas.

Cómo empezar

Una ruta prudente es:

  1. Ejecutar Docker con datos simulados para entender UI y tubería.
  2. Leer README y la arquitectura en docs.
  3. Preparar ESP32-S3, no ESP32-C3 ni ESP32 original.
  4. Empezar con captura CSI de un nodo y confirmar flujo estable.
  5. Subir a 2-4 nodos y observar la resolución espacial.
  6. Validar primero presence, movement y breathing.
  7. Probar después pose estimation, edge modules y fusión multimodal.

Para producto, también hay que considerar ubicación de instalación, seguridad de red, cifrado y retención, tasa de falsas alarmas, aviso y consentimiento, mantenimiento del hardware, comportamiento ante cortes, OTA y rollback de firmware.

Resumen

RuView es un proyecto ambicioso de percepción espacial con WiFi CSI. Reúne ESP32-S3 barato, procesamiento de señal inalámbrica, edge AI, estimación de signos vitales, reconocimiento de postura y monitorización espacial sin cámaras.

Su valor está en convertir la idea de que “WiFi no solo conecta, también puede ser sensor espacial” en ingeniería open source ejecutable. Para investigadores, desarrolladores de hardware, equipos de smart buildings y prototipos sensibles a la privacidad, vale la pena estudiarlo.

Pero sigue en beta. La lista de capacidades del README no debe leerse como capacidad estable de producto. Trátalo como plataforma experimental de WiFi sensing: empieza por datos simulados y detección básica de presencia, y valida paso a paso su utilidad en tu espacio real.

Referencias:

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy