ESP32 как датчик движения без модулей: обзор проекта ESPectre
Как превратить свободные платы ESP32 в локальные датчики движения без дополнительных модулей с помощью проекта ESPectre и Wi-Fi сигнала.

Обычные самодельные устройства для умного дома на базе микроконтроллеров ESP32 требуют использования внешних аппаратных модулей, таких как PIR-датчики или радары миллиметрового диапазона. Однако новый проект с открытым исходным кодом под названием ESPectre предлагает кардинально иной подход. Он позволяет использовать встроенный Wi-Fi модуль самой платы в качестве полноценного датчика движения, анализируя изменения беспроводного сигнала без единого покупного сенсора.
- ESPectre превращает Wi-Fi радиомодуль ESP32 в локальный датчик движения.
- Технология анализирует Channel State Information (CSI) для определения перемещений.
- Проект поддерживает прошивку ESPHome для прямой интеграции в Home Assistant.
- Решение отлично подходит для коридоров и кладовых, но не заменяет mmWave-сенсоры для рабочего стола.
Принцип работы технологии ESPectre и CSI
В основе метода лежит анализ информации о состоянии канала или Channel State Information (CSI), которая присутствует в каждом пакете Wi-Fi. Когда человек перемещается по комнате, сигнал между роутером и платой искажается, что приводит к изменению CSI. Плата ESPectre улавливает эти сдвиги локально, вычисляя коэффициент движения. При этом не используются камеры или микрофоны, а все данные обрабатываются на устройстве без отправки в облако.
Проект поддерживает широкий спектр чипов, включая семейства ESP32, ESP32-S2, S3, C3, C5 и C6, работающих в сетях Wi-Fi 4 на частоте 2,4 ГГц. Для работы плата должна принимать пакеты со скоростью около 100 пакетов в секунду. По умолчанию ESPectre регулярно пингует шлюз Wi-Fi, но можно настроить UDP/TCP DNS-запросы или экспериментальный режим сырых фреймов для генерации необходимого трафика.
Читайте также5 проектов на ESP32 с автономностью до года от одной батареиВарианты прошивки и интеграция с Home Assistant
Пользователям доступны четыре варианта прошивки: Native, ESPHome, Matter и MicroPython. Вариант с ESPHome является наиболее удобным для интеграции, так как содержит специальный компонент ESPectre, выводящий все сущности прямо в Home Assistant через конфигурацию YAML или веб-прошивальщик. Для конфигурации достаточно определить бинарный сенсор с платформой espectre и настроить отображение графика движения.
На выбор предлагается два режима детектирования: Lightweight (легковесный) и High Accuracy (высокая точность). Первый использует меньше ресурсов процессора и калибруется по тишине в комнате около 10 секунд. Второй задействует локальную нейросеть прямо на устройстве и не требует режима тихаго помещения, обеспечивая при этом более точное обнаружение перемещений в пространстве.
Ограничения и особенности размещения устройств
Несмотря на удобство, у такого подхода есть свои технологические нюансы. Отключение энергосбережения Wi-Fi и агрегации фреймов (AMPDU) может замедлить работу других функций на той же плате, например, веб-сервера или OTA-обновлений. По этой причине рекомендуется питать устройство от USB, а не от аккумулятора. Кроме того, плата должна располагаться в зоне уверенного приема сигнала роутера в пределах от -40 dBm до -70 dBm, так как сканирование роуминга временно прерывает мониторинг CSI.
Что это значит для пользователей и автоматизации дома
Для энтузиастов умного дома ESPectre открывает возможность повторно использовать залежавшиеся платы ESP32 без дополнительных затрат на датчики. Решение идеально подходит для автоматизации включения света в коридорах, кладовых и проходных зонах. Тем не менее, технология не способна фиксировать человека, который сидит или лежит неподвижно, поэтому для рабочих зон и диванов лучше использовать комбинированные датчики присутствия.
Источник: XDA



