Меню
Обо мне Услуги Путь Работайте со мной
WiFi router with glowing signals
Конфиденциальность 27 фев, 2026 • 15 мин. чтения

Ваш WiFi видит вас в движении: проект на выходные, чтобы доказать это

Your router is constantly mapping your movements through walls. Here's how to build your own WiFi motion detector in a weekend and understand what your network actually sees.

Поделиться:
Lee Foropoulos

Lee Foropoulos

15 мин. чтения

Я покажу вам кое-что, что навсегда изменит ваше представление о WiFi-роутере, стоящем в вашей гостиной. Это не просто шлюз в интернет. Это радарная система, которая может видеть, как вы дышите.

Не научная фантастика. Физика. И вы можете собрать такую систему сами на этих выходных.

Подождите, что? Мой роутер может меня видеть?

Вот что на самом деле происходит: Современный WiFi (802.11ac/ax) использует технологию под названием beamforming (формирование луча). У вашего роутера несколько антенн, и вместо того чтобы передавать сигнал одинаково во все стороны, он фокусирует луч на ваши устройства. Представьте себе прожектор вместо лампочки, освещающей всё вокруг.

Для этого роутер и устройства постоянно обмениваются обратной связью о сигнале, а именно так называемой BFI (Beamforming Feedback Information). Эти данные точно описывают, как радиоволны отражаются по вашей комнате.

А вот самое интересное: эта обратная связь не зашифрована. Любой может её перехватить. И когда вы, по сути большой мешок с водой, отражающий радиоволны, двигаетесь по комнате, данные BFI меняются. Пройдите через гостиную, и математика буквально покажет ваше перемещение.

Наука простым языком

Ваше тело отражает WiFi-сигналы. Когда вы двигаетесь, отражения меняются. Роутер отслеживает эти изменения для оптимизации силы сигнала. Эти данные отслеживания передаются открыто. Перехватите их, и у вас есть датчик движения, работающий сквозь стены.

Исследователи уже использовали это для обнаружения паттернов дыхания, подсчёта людей в комнате, распознавания жестов и даже идентификации конкретных людей по их походке. Коммерческие продукты, превращающие ваш существующий WiFi в систему обнаружения движения для всего дома, уже существуют.

Последствия для конфиденциальности (да, это тревожно)

Прежде чем мы перейдём к увлекательной части проекта, давайте обсудим главную проблему: это вопрос приватности.

Ваша WiFi-сеть постоянно передаёт информацию, которая может раскрыть:

  • Есть ли кто-нибудь дома
  • Сколько людей находится в комнате
  • Общие паттерны перемещения по вашему дому
  • Потенциально, конкретные действия (готовка, сон, физические упражнения)

Кто-то с нужным оборудованием, припарковавшийся у вашего дома, теоретически может перехватить эти данные. Ему не нужно подключаться к вашей сети. Достаточно принимать BFI-фреймы, которые транслирует ваш роутер.

"Та же технология, которая делает ваш WiFi быстрее, делает ваш дом прозрачным для любого, кто знает, куда смотреть."

Это не гипотетический сценарий. Исследовательские статьи уже это продемонстрировали. Единственная причина, по которой это не используется массово, в том, что большинство людей не знает о такой возможности. Это... не лучшая защита.

Та же технология, которая делает ваш WiFi быстрее, делает ваш дом прозрачным для любого, кто знает, куда смотреть.

Зачем строить это самому?

Так зачем я вам это рассказываю? Несколько причин:

1. Понимание модели угроз. Невозможно защититься от того, чего не понимаешь. Увидеть это своими глазами делает угрозу реальной так, как чтение об этом не может.

2. Легитимные применения реально крутые. Обнаружение движения для умного дома без камер. Датчики присутствия для автоматизации. Обнаружение падений для пожилых родственников. Экономия энергии за счёт знания, какие комнаты заняты. И всё это без установки датчиков повсюду.

3. Это по-настоящему увлекательно. Вы превращаете радиоволны в визуализацию физического пространства. Это настоящий киберпанк.

То, что мы строим, это этичный эксперимент только в собственной сети. Вы мониторите свой собственный WiFi, в своём собственном доме, чтобы понять технологию, которой уже пользуетесь. Это не просто законно, это разумно.

Два пути: выберите свой маршрут

Я дам вам два варианта в зависимости от вашего уровня подготовки и того, какое оборудование у вас под рукой.

Circuit board and electronics
Выбирайте: полная настройка на Linux или готовое решение на ESP32

Путь A: Полный опыт (Linux + Wi-BFI)

  • Время: 30-60 минут
  • Сложность: Средняя (нужна командная строка)
  • Оборудование: Машина с Linux + WiFi-адаптер с режимом мониторинга
  • Результат: Визуализация данных BFI в реальном времени, наблюдение за движением на графиках

Путь B: Готовое решение (ESP32 + ESPectre)

  • Время: 15-30 минут
  • Сложность: Легко (веб-прошивальщик, копирование конфига)
  • Оборудование: Плата ESP32-S3 или ESP32-C6 (~$10)
  • Результат: Работающий датчик движения в Home Assistant

Путь A: Глубокое погружение в Wi-BFI

Это подход "посмотрите на реальные данные". Вы будете захватывать настоящие BFI-фреймы от роутера и наблюдать, как они меняются при вашем перемещении. Тот же метод, который используют исследователи в научных статьях.

Что вам понадобится

  • Машина с Linux — Ubuntu 22.04/24.04 или Raspberry Pi
  • WiFi-адаптер с режимом мониторинга — Большинство встроенных чипов Intel/Broadcom/Realtek подойдут. Если нет, USB-донгл за $15, такой как TP-Link AC600 или Alfa AWUS036ACH, решит вопрос.
  • Ваш существующий WiFi-роутер — Любой роутер 802.11ac или 802.11ax (по сути любой роутер за последние 5 лет)

Шаг 1: Установка инструментов

Откройте терминал и выполните:

# 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 this

Шаг 2: Клонирование 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-bfi

Шаг 3: Определение параметров сети

Вам нужно знать канал и ширину полосы вашего роутера. Выполните:

# See your wireless interface name
iw dev

# Or open Wireshark and scan for networks

Запишите имя интерфейса (обычно wlan0 или wlp2s0), канал (например, 36 или 149) и ширину полосы (80MHz типична для 5 ГГц).

Шаг 4: Начало захвата

Откройте два терминала. В первом запустите захват:

cd ~/Wi-BFI/Demo

# Replace values with your actual settings
./angle_collection.sh my_capture wlan0 36 80MHz 1

Во втором терминале запустите визуализацию в реальном времени:

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 1

Шаг 5: Наблюдайте за магией

Теперь пройдитесь по комнате. Смотрите на графики. Видите, как колеблются углы и амплитуды? Это ваше тело отражает WiFi-волны. Математика буквально отслеживает ваше перемещение в пространстве.

Встаньте неподвижно, и график стабилизируется. Пройдите мимо телефона, и он резко подскочит. Помашите руками, и вы увидите соответствующие изменения. Это те же самые данные, которые могут использоваться для обнаружения движения, распознавания жестов или... слежки.

Путь B: Простой режим с ESP32

Не хотите возиться с Linux и режимом мониторинга? Возьмите плату ESP32 и получите работающий датчик движения за 15 минут.

Что вам понадобится

  • Плата ESP32-S3 или ESP32-C6 — Около $8-12 на Amazon. ESP32-C6 новее и отлично работает.
  • Кабель USB-C — Для прошивки платы
  • Home Assistant — Необязательно, но рекомендуется для полного опыта

Проект ESPectre

ESPectre это проект с открытым исходным кодом, специально разработанный для превращения вашего WiFi в датчик движения. Он блестящ в своей простоте.

GitHub: github.com/francescopace/espectre

Шаги настройки

1. Прошивка платы — Зайдите на веб-прошивальщик ESPectre (ссылка в репозитории). Подключите ESP32, нажмите flash, готово.

2. Настройка WiFi — Плата создаёт точку доступа. Подключитесь к ней, введите данные вашей домашней WiFi-сети.

3. Добавление в Home Assistant — Если у вас запущен Home Assistant, устройство автоматически обнаруживается как сущность датчика движения. Затем можно настроить автоматизации: включение света при обнаружении движения, оповещения, когда вы отсутствуете, и т.д.

4. Это буквально всё. Теперь у вас есть датчик движения, который работает сквозь стены, не требует прямой видимости и использует существующую WiFi-инфраструктуру.

Применение в реальной жизни

  • Присутствие во всём доме: Знайте, какие комнаты заняты, без камер
  • Отслеживание сна: Определяйте, когда кто-то в кровати (без носимых устройств)
  • Безопасность: Оповещение при обнаружении движения, когда все ушли
  • Автоматизация: HVAC, освещение на основе реальной занятости комнат
  • Уход за пожилыми: Обнаружение падений, мониторинг активности

Home Assistant: здесь начинается настоящее веселье

Именно здесь мы превращаем крутой научный проект в по-настоящему полезную домашнюю автоматизацию. Как только ваш WiFi-датчик движения подключён к Home Assistant, вы можете создавать автоматизации, для которых обычно потребовались бы десятки PIR-датчиков, камер или дорогих коммерческих систем.

Прелесть WiFi-сенсинга в том, что он работает сквозь стены. Один ESP32 в коридоре может обнаруживать движение в нескольких комнатах. Не нужна прямая видимость. Нет мёртвых зон. Нет батареек, которые нужно менять.

Примеры автоматизаций (YAML для копирования)

1. Свет включается, когда вы входите в комнату:

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: 2

2. Оповещения безопасности в режиме отсутствия:

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: 0

3. Умный HVAC на основе занятости комнат:

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: auto

4. Определение времени отхода ко сну (без носимых устройств):

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.home

5. Уход за пожилыми / оповещение об отсутствии движения:

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: high

Полезные советы для интеграции с Home Assistant

  • Несколько датчиков: Разместите 2-3 ESP32 для покрытия всего дома. Один на этаж работает хорошо.
  • Настройте чувствительность: Отрегулируйте порог обнаружения в конфигурации ESPectre, чтобы избежать ложных срабатываний от домашних животных.
  • Комбинируйте с другими датчиками: Используйте WiFi-движение как детектор "широкого охвата", а затем уточняйте с помощью датчиков дверей/окон для деталей.
  • Шаблонные сенсоры: Создайте бинарные сенсоры, объединяющие несколько комнат в зоны (верхний этаж, нижний этаж и т.д.)
  • Отслеживание истории: Используйте компонент Recorder для логирования паттернов движения. Полезно для анализа безопасности.

Убийственный сценарий: присутствие во всём доме

Традиционные датчики движения (PIR) обнаруживают только тепло и перемещение. Они не могут определить, сидит ли кто-то неподвижно. WiFi-сенсинг может. Он улавливает мельчайшие движения дыхания, набора текста или просто существования в пространстве.

Это значит, что вы можете создать автоматизации, которые знают, что вы в комнате, даже когда вы тихо работаете за столом. Свет не выключится, потому что вы перестали двигаться. HVAC не снизит температуру, потому что вы читаете книгу.

Это обнаружение присутствия, а не просто обнаружение движения. И вы собрали это за $10.

$10
Total cost of an ESP32 board that turns your existing WiFi into a through-wall motion and presence detector.

Идём дальше: добавляем обнаружение движения

Когда у вас есть потоковые данные BFI в реальном времени (из Пути A), вы можете добавить настоящее обнаружение движения примерно в 10 строках Python. Концепция проста: если дисперсия углов превышает порог, что-то двигалось.

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 want

Это базовая версия. В научных статьях используются более сложные техники: классификаторы машинного обучения, множественные потоки антенн, временные паттерны, чтобы различать типы движения, считать людей или даже распознавать конкретные действия.

Server room with networking equipment and cables
Каждая точка доступа WiFi это потенциальный узел сенсинга, транслирующий данные о пространстве вокруг себя

Что это значит для конфиденциальности

Теперь, когда вы видели, как это работает, давайте поговорим о последствиях:

Ваш WiFi всегда передаёт данные. Даже когда вы не используете его активно, роутер и устройства обмениваются BFI-данными. Любой в радиусе действия может перехватить эти фреймы.

Шифрование здесь не помогает. BFI является частью рукопожатия на физическом уровне. Это происходит до шифрования. WPA3, VPN, ничто из этого не имеет значения для этих конкретных данных.

Единственная реальная защита физическая: Клетки Фарадея (непрактично), снижение мощности передатчика (ломает WiFi) или принятие того факта, что паттерн присутствия в вашем доме фактически является публичной информацией в радиусе действия радиосигнала.

Это не про запугивание. Это про информированное согласие. Вы используете технологию с такими свойствами. Теперь вы знаете.

Подведём итоги

Вы только что узнали, что ваш WiFi-роутер, по сути, радарная система, собрали собственный детектор движения на радиоволнах и, надеюсь, получили лучшее понимание того, как невидимые сигналы вокруг нас несут информацию о нашем физическом мире.

Технология нейтральна. Она может использоваться для удобной домашней автоматизации или тревожной слежки. Важно понимать её, чтобы принимать осознанные решения о компромиссах, на которые вы идёте.

И кстати, у вас ещё и крутой проект на выходные, которым можно похвастаться. "Да, я превратил свой WiFi в датчик движения. Ничего особенного."

Проект на выходные: WiFi-сенсинг 0/6

Довольно круто, правда?

Ресурсы

How was this article?

Поделиться

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

Ne propustite ni odnoi publikacii

Poluchajte uvedomleniya o novyh statyah. Email ne trebuetsya.

Vy uvidite banner na sajte kogda poyavitsya novaya statya, plyus uvedomlenie brauzera esli razreshite.

Tolko uvedomleniya brauzera. Bez spama.