Voy a mostrarte algo que cambiará la forma en que piensas sobre el router WiFi que tienes en tu sala. No es solo una puerta de entrada a internet. Es un sistema de radar que puede verte respirar.
No es ciencia ficción. Es física. Y puedes construir uno tú mismo este fin de semana.
Espera, ¿Qué? ¿Mi Router Puede Verme?
Esto es lo que realmente está pasando: El WiFi moderno (802.11ac/ax) usa algo llamado beamforming (formación de haz). Tu router tiene múltiples antenas, y en lugar de transmitir la señal en todas direcciones por igual, enfoca la señal hacia tus dispositivos. Piensa en ello como un foco en vez de una luz de inundación.
Para hacer esto, tu router y tus dispositivos intercambian constantemente retroalimentación sobre la señal, específicamente, algo llamado BFI (Beamforming Feedback Information). Estos datos describen exactamente cómo las ondas de radio rebotan por tu habitación.
Y aquí viene lo bueno: esta retroalimentación no está cifrada. Cualquiera puede capturarla. Y cuando tú, una gran bolsa de agua que refleja ondas de radio, te mueves por la habitación, los datos BFI cambian. Cruza tu sala caminando, y las matemáticas literalmente muestran tu movimiento.
La Ciencia en Palabras Simples
Tu cuerpo refleja las señales WiFi. Cuando te mueves, los reflejos cambian. Tu router rastrea estos cambios para optimizar la intensidad de la señal. Esos datos de rastreo se transmiten abiertamente. Captúralos, y tienes un sensor de movimiento que funciona a través de las paredes.
Los investigadores han usado esto para detectar patrones de respiración, contar personas en una habitación, reconocer gestos, e incluso identificar individuos específicos por su forma de caminar. Ya existen productos comerciales que convierten tu WiFi existente en un sistema de detección de movimiento para toda la casa.
Las Implicaciones de Privacidad (Sí, Es Preocupante)
Antes de entrar en la parte divertida del proyecto, abordemos el elefante en la habitación: esto es un problema de privacidad.
Tu red WiFi está constantemente transmitiendo información que puede revelar:
- Si hay alguien en casa
- Cuántas personas hay en una habitación
- Patrones generales de movimiento en tu casa
- Potencialmente, actividades específicas (cocinar, dormir, hacer ejercicio)
Alguien con el equipo adecuado estacionado frente a tu casa podría teóricamente capturar estos datos. No necesitan estar en tu red. Solo necesitan recibir los frames BFI que tu router está transmitiendo.
"La misma tecnología que hace tu WiFi más rápido también hace tu hogar transparente para cualquiera que sepa cómo mirar."
Esto no es hipotético. Los papers de investigación lo han demostrado. La única razón por la que no se explota más ampliamente es que la mayoría de la gente no sabe que es posible. Eso... no es muy buena seguridad.
¿Por Qué Construir Esto Tú Mismo?
Entonces, ¿por qué te estoy contando cómo hacer esto? Algunas razones:
1. Entender el modelo de amenaza. No puedes protegerte contra algo que no entiendes. Ver esto funcionar con tus propios ojos lo hace real de una manera que leer sobre ello no logra.
2. Los usos legítimos son realmente geniales. Detección de movimiento para el hogar inteligente sin cámaras. Sensores de presencia para automatización. Detección de caídas para familiares mayores. Ahorro de energía al saber qué habitaciones están ocupadas. Todo sin instalar sensores por todas partes.
3. Es genuinamente fascinante. Estás convirtiendo ondas de radio en una visualización del espacio físico. Eso es cyberpunk total.
Lo que estamos construyendo es experimentación ética, solo en tu propia red. Estás monitoreando tu propio WiFi, en tu propia casa, para entender tecnología que ya estás usando. Eso no solo es legal, es inteligente.
Dos Caminos: Elige Tu Aventura
Voy a darte dos opciones dependiendo de tu nivel de comodidad y qué hardware tengas por ahí.
Camino A: La Experiencia Completa (Linux + Wi-BFI)
- Tiempo: 30-60 minutos
- Dificultad: Media (se requiere línea de comandos)
- Hardware: Máquina Linux + adaptador WiFi con modo monitor
- Resultado: Visualización en vivo de datos BFI, ve tu movimiento en gráficos en tiempo real
Camino B: Plug and Play (ESP32 + ESPectre)
- Tiempo: 15-30 minutos
- Dificultad: Fácil (flasher web, copiar-pegar configuración)
- Hardware: Placa ESP32-S3 o ESP32-C6 (~$10)
- Resultado: Sensor de movimiento funcional en Home Assistant
Camino A: El Análisis Profundo con Wi-BFI
Este es el enfoque de "ver los datos reales". Capturarás frames BFI reales de tu router y los visualizarás cambiando mientras te mueves. Es el mismo método que usan los investigadores en papers académicos.
Lo Que Necesitas
- Máquina Linux — Ubuntu 22.04/24.04, o una Raspberry Pi
- Adaptador WiFi con modo monitor — La mayoría de chips Intel/Broadcom/Realtek integrados funcionan. Si no, un dongle USB de $15 como TP-Link AC600 o Alfa AWUS036ACH servirá.
- Tu router WiFi existente — Cualquier router 802.11ac o 802.11ax (básicamente cualquier router de los últimos 5 años)
Paso 1: Instalar las Herramientas
Abre una terminal y ejecuta:
# Install system dependencies
sudo apt update
sudo apt install tshark wireshark aircrack-ng git -y
# Install Miniconda (skip if you already have conda)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b
~/miniconda3/bin/conda init
# Close and reopen terminal after thisPaso 2: Clonar Wi-BFI
# Get the tool
git clone https://github.com/kfoysalhaque/Wi-BFI.git
cd Wi-BFI
# Create the environment
conda env create -f wi-bfi.yml
conda activate wi-bfiPaso 3: Encontrar la Información de Tu Red
Necesitas saber el canal y ancho de banda de tu router. Ejecuta:
# See your wireless interface name
iw dev
# Or open Wireshark and scan for networksAnota el nombre de tu interfaz (generalmente wlan0 o wlp2s0), canal (como 36 o 149), y ancho de banda (80MHz es común para 5GHz).
Paso 4: Comenzar a Capturar
Abre dos terminales. En la primera, inicia la captura:
cd ~/Wi-BFI/Demo
# Replace values with your actual settings
./angle_collection.sh my_capture wlan0 36 80MHz 1En la segunda terminal, inicia la visualización en vivo:
cd ~/Wi-BFI
# Replace YOUR_PHONE_MAC with your phone's MAC address
# (find it in your router's admin page or phone settings)
python main_live_plot.py AX SU 4x2 80 YOUR_PHONE_MAC my_capture 1Paso 5: Observa la Magia
Ahora camina por la habitación. Observa los gráficos. ¿Ves esos ángulos y amplitudes oscilando? Eso es tu cuerpo reflejando ondas WiFi. Las matemáticas están literalmente rastreando tu movimiento por el espacio.
Quédate quieto, y el gráfico se estabiliza. Pasa caminando junto a tu teléfono, y se dispara. Agita los brazos, y verás los cambios correspondientes. Esos son los mismos datos que pueden usarse para detección de movimiento, reconocimiento de gestos, o... vigilancia.
Camino B: El Modo Fácil con ESP32
¿No quieres lidiar con Linux y el modo monitor? Consigue una placa ESP32 y ten un sensor de movimiento funcional en 15 minutos.
Lo Que Necesitas
- Placa ESP32-S3 o ESP32-C6 — Alrededor de $8-12 en Amazon. El ESP32-C6 es más nuevo y funciona genial.
- Cable USB-C — Para flashear la placa
- Home Assistant — Opcional pero recomendado para la experiencia completa
El Proyecto ESPectre
ESPectre es un proyecto de código abierto diseñado específicamente para convertir tu WiFi en un sensor de movimiento. Es brillante en su simplicidad.
GitHub: github.com/francescopace/espectre
Pasos de Configuración
1. Flashear la placa — Ve al flasher web de ESPectre (enlazado en su repo). Conecta tu ESP32, haz clic en flash, listo.
2. Configurar WiFi — La placa crea un hotspot. Conéctate a él, ingresa las credenciales de tu WiFi de casa.
3. Agregar a Home Assistant — Si estás usando Home Assistant, se autodescubre como una entidad de sensor de movimiento. Entonces puedes activar automatizaciones: luces cuando se detecta movimiento, alertas cuando no estás, etc.
4. Eso es literalmente todo. Ahora tienes un sensor de movimiento que funciona a través de las paredes, no requiere línea de visión, y usa tu infraestructura WiFi existente.
Usos en el Mundo Real
- Presencia en toda la casa: Sabe qué habitaciones están ocupadas sin cámaras
- Seguimiento del sueño: Detecta cuándo alguien está en la cama (sin wearables)
- Seguridad: Alerta si se detecta movimiento cuando todos están fuera
- Automatización: HVAC, iluminación basada en ocupación real de la habitación
- Cuidado de mayores: Detección de caídas, monitoreo de actividad
Home Assistant: Donde Se Pone Realmente Divertido
Aquí es donde convertimos un proyecto científico interesante en automatización del hogar genuinamente útil. Una vez que tu sensor de movimiento WiFi se comunica con Home Assistant, puedes construir automatizaciones que de otra manera requerirían docenas de sensores PIR, cámaras o sistemas comerciales caros.
La belleza del sensado WiFi es que funciona a través de las paredes. Un ESP32 en tu pasillo puede detectar movimiento en múltiples habitaciones. Sin necesidad de línea de visión. Sin zonas muertas. Sin baterías que reemplazar.
Automatizaciones de Ejemplo (YAML para Copiar-Pegar)
1. Luces al entrar en una habitación:
automation:
- alias: "Living Room Motion Lights"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_living_room
to: "on"
condition:
- condition: sun
after: sunset
action:
- service: light.turn_on
target:
entity_id: light.living_room
data:
brightness_pct: 80
transition: 22. Alertas de seguridad en modo ausente:
automation:
- alias: "Motion Alert When Away"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_main_floor
to: "on"
condition:
- condition: state
entity_id: input_boolean.away_mode
state: "on"
action:
- service: notify.mobile_app
data:
title: "Motion Detected!"
message: "Movement in the house while you're away."
data:
priority: high
ttl: 03. HVAC inteligente basado en ocupación de la habitación:
automation:
- alias: "Office HVAC When Occupied"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_office
to: "on"
for:
minutes: 2
action:
- service: climate.set_temperature
target:
entity_id: climate.office
data:
temperature: 72
hvac_mode: heat_cool
- alias: "Office HVAC Standby When Empty"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_office
to: "off"
for:
minutes: 15
action:
- service: climate.set_temperature
target:
entity_id: climate.office
data:
temperature: 65
hvac_mode: auto4. Detección de hora de dormir (sin wearables):
automation:
- alias: "Detect Bedtime"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_bedroom
to: "on"
condition:
- condition: time
after: "22:00:00"
before: "02:00:00"
- condition: state
entity_id: binary_sensor.wifi_motion_living_room
state: "off"
for:
minutes: 10
action:
- service: scene.turn_on
target:
entity_id: scene.goodnight
- service: lock.lock
target:
entity_id: lock.front_door
- service: alarm_control_panel.arm_night
target:
entity_id: alarm_control_panel.home5. Alerta de cuidado de mayores / detección de caídas:
automation:
- alias: "No Motion Alert - Elder Care"
trigger:
- platform: state
entity_id: binary_sensor.wifi_motion_parents_house
to: "off"
for:
hours: 4
condition:
- condition: time
after: "08:00:00"
before: "22:00:00"
action:
- service: notify.mobile_app
data:
title: "Check on Mom"
message: "No motion detected for 4 hours during daytime."
data:
priority: highConsejos Pro para la Integración con Home Assistant
- Múltiples sensores: Despliega 2-3 ESP32 para cobertura de toda la casa. Uno por piso funciona bien.
- Ajustar sensibilidad: Ajusta el umbral de detección en la configuración de ESPectre para evitar falsos positivos por mascotas.
- Combinar con otros sensores: Usa el movimiento WiFi como detector de "trazo grueso", luego refina con sensores de puerta/ventana para detalles.
- Sensores de plantilla: Crea sensores binarios que combinen múltiples habitaciones en zonas (planta alta, planta baja, etc.)
- Seguimiento de historial: Usa el componente Recorder para registrar patrones de movimiento a lo largo del tiempo. Útil para análisis de seguridad.
El Caso de Uso Estrella: Presencia en Toda la Casa
Los sensores de movimiento tradicionales (PIR) solo detectan calor y movimiento. No pueden saber si alguien está sentado quieto. El sensado WiFi sí puede. Detecta los pequeños movimientos de respirar, teclear, o simplemente existir en un espacio.
Esto significa que puedes construir automatizaciones que saben que estás en una habitación incluso cuando estás trabajando tranquilamente en tu escritorio. Las luces no se apagan porque dejaste de moverte. El HVAC no baja porque estás leyendo un libro.
Eso es detección de presencia, no solo detección de movimiento. Y lo construiste por $10.
Yendo Más Allá: Agregar Detección de Movimiento
Una vez que tengas datos BFI en vivo en streaming (del Camino A), puedes agregar detección de movimiento real con unas 10 líneas de Python. El concepto es simple: si la varianza de los ángulos supera un umbral, algo se movió.
import numpy as np
# Assuming you have a stream of angle data
def detect_motion(angle_buffer, threshold=0.5):
"""Returns True if motion detected in recent samples"""
if len(angle_buffer) < 10:
return False
variance = np.var(angle_buffer[-10:])
return variance > threshold
# In your main loop:
if detect_motion(recent_angles):
print("Motion detected!")
# Trigger alert, log event, whatever you wantEsta es una versión básica. Los papers de investigación usan técnicas más sofisticadas: clasificadores de machine learning, múltiples flujos de antena, patrones temporales, para distinguir entre tipos de movimiento, contar personas, o incluso reconocer actividades específicas.
Lo Que Esto Significa para la Privacidad
Ahora que lo has visto funcionar, hablemos de lo que esto significa:
Tu WiFi siempre está transmitiendo. Incluso cuando no lo estás usando activamente, tu router y dispositivos están intercambiando datos BFI. Cualquiera dentro del rango de radio puede capturar estos frames.
La encriptación no ayuda aquí. BFI es parte del handshake de la capa física. Ocurre antes de la encriptación. WPA3, VPNs, nada de eso importa para estos datos específicos.
La única mitigación real es física: Jaulas de Faraday (poco práctico), reducir la potencia de transmisión (rompe tu WiFi), o aceptar que el patrón de ocupación de tu hogar es efectivamente información pública dentro del rango de radio.
Esto no se trata de generar miedo. Se trata de consentimiento informado. Estás usando tecnología que tiene estas propiedades. Ahora lo sabes.
Conclusión
Acabas de aprender que tu router WiFi es básicamente un sistema de radar, construiste tu propio detector de movimiento usando ondas de radio, y esperemos que obtuviste una mejor comprensión de cómo las señales invisibles a nuestro alrededor llevan información sobre nuestro mundo físico.
La tecnología es neutral. Puede usarse para automatización del hogar conveniente o vigilancia preocupante. Lo que importa es entenderla, para que puedas tomar decisiones informadas sobre las compensaciones que estás haciendo.
Y oye, también tienes un proyecto de fin de semana genial para presumir. "Sí, convertí mi WiFi en un sensor de movimiento. No es gran cosa."
Eso es bastante divertido.
Recursos
- Wi-BFI: github.com/kfoysalhaque/Wi-BFI
- ESPectre: github.com/francescopace/espectre
- Paper de investigación sobre sensado WiFi: Busca "WiFi CSI human activity recognition" en Google Scholar para profundizar