Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
espectre — ESPectre — система обнаружения движения на основе анализа Wi-Fi спектра (CSI) с интеграцией с Home Assistant. | Kitploit
Инструменты/GitHubGitHub/francescopace/espectre
Безопасность IoTБезопасность беспроводных сетейКонфиденциальностьБезопасность оборудования и IoTМашинное ОбучениеОбучение и ОбразованиеОбнаружение Аномалий
GitHubfrancescopace/espectre

espectre

ESPectre — система обнаружения движения на основе анализа Wi-Fi спектра (CSI) с интеграцией с Home Assistant.

Репозиторий
9.0k67113 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

License ESPHome Platform Release CI codecov

🛜 ESPectre 👻

Система обнаружения движения на основе анализа Wi-Fi спектра (CSI), с нативной интеграцией Home Assistant через ESPHome.

[!TIP] Новый ML-детектор: Обнаружение движения на основе нейронной сети. Не требует калибровки, работает на устройстве. Это экспериментальная функция, и мы приветствуем обратную связь в специальном обсуждении ML-детектора. Также доступна снапшот-сборка с последними изменениями (используйте ресурсы -ml для детектора на основе машинного обучения) или следуйте руководству по настройке для пользовательской конфигурации.


Содержание

  • В трёх пунктах
  • Что вам нужно
  • Быстрый старт
  • Как это работает
  • Что с этим можно делать
  • Руководство по размещению датчика
  • Архитектура системы
  • Часто задаваемые вопросы
  • Безопасность и конфиденциальность
  • Техническое погружение
  • Стратегия двух платформ
  • Будущее развитие
  • Документация
  • Медиа
  • Связанные проекты
  • Благодарности
  • Лицензия
  • Автор

В трёх пунктах

  1. Что оно делает: Обнаруживает движение с помощью Wi-Fi (без камер, без микрофонов)
  2. Что вам нужно: Устройство ESP32 за ~€10 (рекомендуются S3 и C6, поддерживаются другие варианты)
  3. Время настройки: 10-15 минут

Что вам нужно

Оборудование

  • Wi-Fi роутер 2.4 ГГц - тот, что у вас уже есть дома, отлично подходит
  • ESP32 с поддержкой CSI - ESP32-C6, ESP32-S3, ESP32-C3, ESP32 (оригинальный) или другие варианты. См. SETUP.md для полной таблицы сравнения платформ.

3 x ESP32-S3 DevKit bundle with external antennas ESP32-S3 DevKit с внешними антеннами

Программное обеспечение (всё бесплатно)

  • Home Assistant (на Raspberry Pi, ПК, NAS или в облаке)
  • ESPHome (интегрирован в Home Assistant или отдельно)

Необходимые навыки

  • Базовые знания YAML для конфигурации
  • Знакомство с Home Assistant (необязательно, но рекомендуется)
  • НЕ требуется программирование
  • НЕ требуется настройка роутера

Быстрый старт

Время настройки: ~10-15 минут
Сложность: Легко (только конфигурация YAML)

  1. Настройка и установка: Следуйте полному руководству в SETUP.md
  2. Настройка: Оптимизируйте для вашего окружения с помощью TUNING.md

ESPectre Home Assistant Dashboard Панель Home Assistant с обнаружением движения в реальном времени, управлением порогом и отладочными датчиками


Как это работает

Когда кто-то движется в комнате, он «возмущает» волны Wi-Fi, распространяющиеся между роутером и датчиком. Это похоже на то, как вы двигаете рукой перед фонариком и видите, как меняется тень.

Устройство ESP32 «слушает» эти изменения и определяет, есть ли движение.

Преимущества

  • Нет камер (полная конфиденциальность)
  • Не нужны носимые устройства (никаких браслетов или датчиков)
  • Работает сквозь стены (Wi-Fi проходит через стены)
  • Очень дёшево (~€10 всего)

Хотите понять технические детали? Смотрите ALGORITHMS.md для объяснения CSI и документации по обработке сигналов.


Что с этим можно делать

Практические примеры

  • Домашняя безопасность: Получать оповещение, если кто-то входит, когда вас нет
  • Уход за пожилыми: Отслеживать активность для обнаружения падений или длительного бездействия
  • Умная автоматизация: Включать свет/отопление только тогда, когда кто-то присутствует
  • Энергосбережение: Автоматически выключать устройства в пустых комнатах
  • Мониторинг детей: Оповещение, если ребёнок покидает комнату ночью
  • Климат-контроль: Обогрев/охлаждение только занятых зон

Где разместить датчик

Оптимальное размещение датчика имеет решающее значение для надёжного обнаружения движения.

Рекомендуемое расстояние от роутера

Оптимальный диапазон: 3-8 метров

Советы по размещению

Делайте:

  • Расположите датчик в контролируемой зоне (не обязательно на прямой линии с роутером)
  • Высота: 1-1.5 метра от земли (высота стола)
  • Внешняя антенна: используйте разъём IPEX для лучшего приёма

Не делайте:

  • Избегайте металлических препятствий между роутером и датчиком (холодильники, металлические шкафы)
  • Избегайте углов или замкнутых пространств (уменьшает многолучевое разнообразие)

Архитектура системы

Конвейер обработки```

┌─────────────┐ │ CSI Data │ Raw Wi-Fi Channel State Information └──────┬──────┘ │ ▼ ┌─────────────┐ │ Gain Lock │ AGC/FFT stabilization (~3 seconds) │ │ Locks hardware gain for stable measurements └──────┬──────┘ │ ▼ ┌─────────────┐ │ Auto │ Automatic subcarrier selection (once at boot) │ Calibration │ Selects optimal 12 subcarriers (NBVI) └──────┬──────┘ │ ▼ ┌─────────────┐ │ Adaptive │ auto: P95 × 1.1 | min: P100 │ Threshold │ or fixed manual value └──────┬──────┘ │ ▼ ┌─────────────┐ │ Hampel │ Turbulence outlier removal │ Filter │ (enabled by default) └──────┬──────┘ │ ▼ ┌─────────────┐ │ Low-pass │ Noise reduction (smoothing) │ Filter │ (optional, disabled by default) └──────┬──────┘ │ ▼ ┌─────────────┐ │ Detection │ MVS or ML score │ Evaluation │ every evaluation_interval packets └──────┬──────┘ │ ▼ ┌─────────────┐ │ Hit Filter │ motion_on_hits / motion_off_hits │ │ edge-driven IDLE ↔ MOTION └──────┬──────┘ │ ▼ ┌─────────────┐ │ Home │ Edge-driven motion binary + │ Assistant │ periodic Movement Score / Threshold └─────────────┘

root@kitploit:~
### Один или несколько датчиков```
┌─────────┐  ┌─────────┐  ┌─────────┐
│ ESP32   │  │ ESP32   │  │ ESP32   │
│ Room 1  │  │ Room 2  │  │ Room 3  │
└────┬────┘  └────┬────┘  └────┬────┘
     │            │            │
     └────────────┴────────────┘
                  │
                  │ ESPHome Native API
                  ▼
         ┌────────────────────┐
         │   Home Assistant   │
         │   (Auto-discovery) │
         └────────────────────┘

Каждый датчик автоматически обнаруживается Home Assistant с помощью:

  • Бинарного датчика для обнаружения движения, сообщается немедленно по изменению состояния
  • Датчика оценки движения, сообщается с периодическим интервалом
  • Регулируемого порога (числовой объект)

Автоматический выбор поднесущих

ESPectre реализует NBVI (Normalized Band Variance Index) для автоматического выбора поднесущих, достигая почти оптимальной производительности (F1>96%) без ручной настройки. Алгоритм выбирает 12 непоследовательных поднесущих на основе показателей стабильности и спектрального разнообразия.

⚠️ ВАЖНО (режим MVS): Оставьте комнату тихой и неподвижной в течение 10 секунд после запуска устройства. Автоматическая калибровка выполняется в это время, и движение повлияет на точность обнаружения. Режим ML пропускает калибровку.

Подробности алгоритма см. в ALGORITHMS.md.


Часто задаваемые вопросы

Нажмите, чтобы развернуть FAQ

В: Нужны ли знания программирования для использования?
О: Нет! ESPectre использует файлы конфигурации YAML. Просто скачайте пример, прошейте его и настройте Wi-Fi через приложение ESPHome или веб-интерфейс.

В: Работает ли с моим роутером?
О: Да, если ваш роутер поддерживает Wi-Fi 2,4 ГГц (практически все современные роутеры это имеют).

В: Сколько это стоит в общей сложности?
О: Оборудование: ~€10 за устройство ESP32 (рекомендуется S3/C6, другие варианты тоже работают). Программное обеспечение: всё бесплатно и с открытым исходным кодом. Также вам понадобится работающий Home Assistant (Raspberry Pi ~€35-50 или любой существующий ПК/NAS).

В: Нужно ли что-то менять в роутере?
О: Нет! Роутер работает нормально. Датчик «слушает» сигналы Wi-Fi, ничего не изменяя.

В: Работает ли сквозь стены?
О: Да, сигнал Wi-Fi 2,4 ГГц проникает через гипсокартон. Стены из армированного бетона снижают чувствительность, но обнаружение остается возможным на уменьшенных расстояниях.

В: Сколько датчиков нужно для дома?
О: Зависит от размера. Один датчик может контролировать ~50 м². Для больших домов используйте несколько датчиков (1 датчик на каждые 50-70 м² для оптимального покрытия).

В: Может ли система различать людей и домашних животных?
О: Система использует двухсостоятельную модель сегментации (IDLE/MOTION), которая определяет общее движение, не различая людей, животных или другие движущиеся объекты. Для более сложной классификации (люди против животных, распознавание активности, обнаружение жестов) потребуются обученные модели ИИ/МО (см. раздел Будущее развитие).

В: Работает ли с mesh-сетями Wi-Fi?
О: Да, работает нормально. Убедитесь, что ESP32 подключается к диапазону 2,4 ГГц.

В: Насколько точное обнаружение?
О: Точность обнаружения сильно зависит от окружения и требует правильной настройки. Факторы, влияющие на производительность: планировка комнаты, материалы стен, расположение мебели, расстояние до роутера (оптимально: 3-8 м) и уровень помех. В оптимальных условиях с правильной настройкой система обеспечивает надежное обнаружение движения. Настройте параметр segmentation_threshold для регулировки чувствительности под ваше конкретное окружение.

В: Какое энергопотребление?
О: ~500 мВт в типичном режиме непрерывной работы. Прошивка включает поддержку оптимизации энергопотребления, а режимы глубокого сна могут быть реализованы для развертывания на батарейках, хотя для этого потребуются индивидуальные модификации кода.


Безопасность и конфиденциальность

Конфиденциальность, безопасность и этические соображения (нажмите, чтобы развернуть)

Характер собираемых данных

Система собирает анонимные данные, связанные с физическими характеристиками радиоканала Wi-Fi:

  • Амплитуды и фазы поднесущих OFDM
  • Статистические дисперсии сигнала
  • НЕ собираются: личные данные, содержимое коммуникаций, изображения, аудио

Данные CSI представляют собой только свойства среды передачи и не содержат прямой идентифицирующей информации.

Преимущества для конфиденциальности

  • Нет камер: уважение к визуальной конфиденциальности
  • Нет микрофонов: без аудиозаписи
  • Носимых устройств не требуется: не требует носимых устройств
  • Агрегированные данные: только статистические показатели, а не необработанные идентифицирующие данные

⚠️ Отказ от ответственности и этические соображения

ПРЕДУПРЕЖДЕНИЕ: Несмотря на внутреннюю анонимность данных CSI, эта система может использоваться для:

  • Несогласованного мониторинга: обнаружение присутствия/движения людей без их явного согласия
  • Профилирования поведения: с помощью продвинутых моделей ИИ, выведение шаблонов повседневной жизни
  • Нарушения домашней конфиденциальности: отслеживание активности внутри частных домов

Ответственность за использование

Пользователь несет единоличную ответственность за использование этой системы и должен:


Техническое углубление

Подробности алгоритмов (MVS, калибровка NBVI, фильтр Хампеля) см. в ALGORITHMS.md.

Показатели производительности (матрица ошибок, F1-мера, бенчмарки) см. в PERFORMANCE.md.


Стратегия двух платформ

Этот проект использует двухплатформенный подход для баланса между скоростью инноваций и стабильностью производства:

ESPectre (Этот репозиторий) - Платформа для производства

Цель: Конечные пользователи, энтузиасты умного дома, пользователи Home Assistant

  • Компонент ESPHome с нативной интеграцией в Home Assistant
  • Конфигурация YAML - не требуется программирования
  • Автообнаружение - устройства появляются автоматически в Home Assistant
  • Готовность к эксплуатации - стабильно, протестировано, легко развертывается
  • Демонстрационное - представляет результаты исследований в удобном для пользователя пакете

Micro-ESPectre - Платформа для исследований и разработок

Цель: Исследователи, разработчики, академические/промышленные приложения

  • Реализация на Python/MicroPython для быстрого прототипирования
  • На основе MQTT - гибкая интеграция (не ограничивается Home Assistant)
  • Быстрая итерация - тестирование новых алгоритмов за секунды, а не минуты
  • Инструменты анализа - полный набор для анализа данных CSI
  • Сценарии использования: Академические исследования, промышленное зондирование, разработка алгоритмов

Micro-ESPectre предоставляет основы для:

  • Подсчета людей
  • Распознавания активности (ходьба, падение, сидение, сон)
  • Локализации и отслеживания
  • Распознавания жестов

Порядок разработки```

┌─────────────────────┐ Validated ┌──────────────────────┐ │ Micro-ESPectre │ ─────────────────► │ ESPectre │ │ (R&D Platform) │ algorithms │ (Production Platform)│ │ │ │ │ │ • Fast prototyping │ │ • ESPHome component │ │ • Algorithm testing │ │ • Home Assistant │ │ • Data analysis │ │ • End-user ready │ │ • MQTT flexibility │ │ • Native API │ └─────────────────────┘ └──────────────────────┘

root@kitploit:~
**Цикл инноваций**: Новые функции и алгоритмы сначала разрабатываются и валидируются в Micro-ESPectre (Python), затем портируются в ESPectre (C++) после доказательства эффективности.

---

## Будущее развитие

В то время как ESPectre v2.x сосредоточен на **обнаружении движения** (MVS + автоматический выбор поднесущей), проект исследует возможности машинного обучения для продвинутых приложений:

| Возможность | Статус | Описание |
|------------|--------|-------------|
| **ML Detector** | Экспериментальный | Нейронная сеть (MLP 9→32→16→1)|
| **Распознавание жестов** | Запланировано | Обнаружение жестов рук (свайп, толчок, круг) для управления умным домом |
| **Распознавание активности человека** | Запланировано | Определение действий (сидение, ходьба, падение) |
| **Подсчёт людей** | Запланировано | Оценка количества людей в комнате |
| **3D-локализация** | Исследование | Внутреннее позиционирование (точность 30-50 см) с помощью когерентной по фазе антенной решётки |

ML Detector уже доступен с параметром `detection_algorithm: ml` в вашей YAML-конфигурации. Подробности об алгоритме см. в [ALGORITHMS.md](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/ALGORITHMS.md#ml-neural-network-detector), а текущие метрики — в `PERFORMANCE.md`.  
Инфраструктура сбора данных и обучения ML описана в [ML_DATA_COLLECTION.md](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/ML_DATA_COLLECTION.md).

Подробные планы, сроки и информацию о том, как внести вклад, см. в [ROADMAP.md](https://github.com/francescopace/espectre/blob/HEAD/ROADMAP.md).

---

## Документация

### ESPectre (Продукт)

| Документ | Описание |
|----------|-------------|
| [Введение](https://github.com/francescopace/espectre/blob/HEAD/README.md) | (Этот файл) Обзор проекта, быстрый старт, FAQ |
| [Руководство по настройке](https://github.com/francescopace/espectre/blob/HEAD/SETUP.md) | Установка и настройка с ESPHome |
| [Руководство по настройке параметров](https://github.com/francescopace/espectre/blob/HEAD/TUNING.md) | Настройка параметров для оптимального обнаружения |
| [Производительность](https://github.com/francescopace/espectre/blob/HEAD/PERFORMANCE.md) | Бенчмарки, матрица ошибок, F1-мера |
| [Игра](https://github.com/francescopace/espectre/blob/HEAD/docs/game/README.md) | Браузерная игра, USB-потоковый API, интерактивная настройка порога |
| [Набор тестов](https://github.com/francescopace/espectre/blob/HEAD/test/README.md) | Документация тестов PlatformIO Unity |

### Micro-ESPectre (R&D)

| Документ | Описание |
|----------|-------------|
| [Введение](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/README.md) | Обзор R&D-платформы, CLI, MQTT, веб-монитор |
| [Алгоритмы](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/ALGORITHMS.md) | Научная документация MVS, калибровки NBVI, фильтра Хэмпеля |
| [Инструменты анализа](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/tools/README.md) | Скрипты анализа и оптимизации CSI |
| [Сбор данных ML](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/ML_DATA_COLLECTION.md) | Создание размеченных наборов данных для машинного обучения |
| [Ссылки](https://github.com/francescopace/espectre/blob/HEAD/micro-espectre/README.md#references) | Академические статьи и исследовательские ресурсы |

### Проект

| Документ | Описание |
|----------|-------------|
| [Дорожная карта](https://github.com/francescopace/espectre/blob/HEAD/ROADMAP.md) | Видение проекта и планы по ML |
| [Участие](https://github.com/francescopace/espectre/blob/HEAD/CONTRIBUTING.md) | Как внести вклад (код, данные, документация) |
| [История изменений](https://github.com/francescopace/espectre/blob/HEAD/CHANGELOG.md) | История версий и примечания к релизам |
| [Безопасность](https://github.com/francescopace/espectre/blob/HEAD/SECURITY.md) | Политика безопасности и сообщение об уязвимостях |
| [Кодекс поведения](https://github.com/francescopace/espectre/blob/HEAD/CODE_OF_CONDUCT.md) | Правила сообщества |

---

## Медиа

| Статьи | Название |
|-------------|-------|
| Medium | [How I Turned My Wi-Fi Into a Motion Sensor - Part 1](https://medium.com/@francesco.pace/how-i-turned-my-wi-fi-into-a-motion-sensor-61a631a9b4ec?sk=c7f79130d78b0545fce4a228a6a79af3&utm_source=github&utm_medium=readme&utm_campaign=espectre) |
| Medium | [How I Turned My Wi-Fi Into a Motion Sensor - Part 2](https://medium.com/@francesco.pace/how-i-turned-my-wi-fi-into-a-motion-sensor-part-2-62038130e530?sk=7c8b6f11cf3fcb8d279648016ebff72a&utm_source=github&utm_medium=readme&utm_campaign=espectre) |
| IoT For All | [How I Turned My Wi-Fi Into a Motion Sensor](https://www.iotforall.com/wifi-motion-sensor-iot) |
| Hackaday | [Make Your Own ESP32-Based Person Sensor, No Special Hardware Needed](https://hackaday.com/2026/01/28/make-your-own-esp32-based-person-sensor-no-special-hardware-needed/) |
| Adafruit Learn | [ESPectre Human Detector for Feather](https://learn.adafruit.com/espectre-human-detector-for-feather) |
| Seeed Studio Wiki | [Deploying Espectre on Seeed Studio XIAO ESP32 Series with ESPHome](https://wiki.seeedstudio.com/xiao-esp32--series-espresense/) |

| Блог | Обсуждение |
|----------|------------|
| Home Assistant | [ESPectre - Wi-Fi Motion Detection for Home Assistant](https://community.home-assistant.io/t/espectre-wi-fi-motion-detection-for-home-assistant/961251) |

| Видео | Видео |
|---------|-------|
| @GithubAwesome | [ESPectre](https://www.youtube.com/shorts/iQ_DPHLn8ms) |

| Подкасты | Выпуск |
|-------------|---------|
| Hackaday | [Podcast Episode 355: Person Detectors, Walkie Talkies, Open Smartphones...](https://hackaday.com/2026/01/30/hackaday-podcast-episode-355-person-detectors-walkie-talkies-open-smartphones-and-a-wifi-traffic-light/) |

---

## Связанные проекты

- [radio-presence-scanner](https://github.com/francescopace/radio-presence-scanner): дополняющий проект для определения присутствия, ориентированный на наблюдения BLE-радио с хост-устройств (Python), с опциональной HTTP-панелью управления.
- [micropython-esp32-csi](https://github.com/francescopace/micropython-esp32-csi): кастомный форк MicroPython, открывающий доступ к API CSI ESP32, используемый как прошивочная основа для быстрого прототипирования CSI в рабочем процессе Micro-ESPectre.

---

## Благодарности

ESPectre использует нативные возможности CSI Wi-Fi чипов ESP32. Спасибо [Espressif](https://www.espressif.com/) за то, что сделали CSI доступным в фреймворке ESP-IDF и признали ESPectre [проектом сообщества](https://github.com/espressif/esp-csi#6-related-resources) в своём репозитории [esp-csi](https://github.com/espressif/esp-csi).

---

## Лицензия

Этот проект выпущен под лицензией **GNU General Public License v3.0 (GPLv3)**.

GPLv3 гарантирует, что:
- Программное обеспечение остаётся свободным и с открытым исходным кодом
- Каждый может использовать, изучать, модифицировать и распространять его
- Модификации должны распространяться под той же лицензией
- Защищаются права конечных пользователей и свобода ПО

Полный текст лицензии см. в [LICENSE](https://github.com/francescopace/espectre/blob/HEAD/LICENSE).

Вклады принимаются на условиях GPLv3 и должны содержать DCO-метку
`Signed-off-by` в каждом коммите (`git commit -s`).

## Автор

**Франческо Паче**  
Email: [[email protected]](mailto:[email protected])  
LinkedIn: [linkedin.com/in/francescopace](https://www.linkedin.com/in/francescopace/)

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

<a href="https://www.buymeacoffee.com/espectre" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/9574/a7e8174c892355a24fbaec083cbef385d097a0b488fd4823dbbb0061643bb5e2.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
Скачать инструмент
РасстояниеСигналМноголучёвостьЧувствительностьШумРекомендация
< 2мСлишком сильныйМинимальнаяНизкаяНизкий❌ Слишком близко
3-8мСильныйХорошаяВысокаяНизкий✅ Оптимально
> 10-15мСлабыйПеременнаяНизкаяВысокий❌ Слишком далеко

В: Если не работает, могу ли я получить помощь?
О: Да, откройте Issue на GitHub или свяжитесь со мной по электронной почте.

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