↩️ Назад

Категории

Как превратить ESP32 в датчик движения через Wi-Fi (без PIR и сквозь стены)

13.11.2025 | Статья из категории: IOT умный дом

Датчик движение через стены с помощью нескольких ESP32 через Wi-Fi

Ну сам такое не делал, но вдруг пригодится. Большинство проектов используют PIR-датчики для обнаружения движения. Но что если сказать: можно обойтись без них? Более того — можно видеть движение через стены, не ставя датчик на виду, и не используя инфракрасное излучение?

Это возможно благодаря технологии Wi-Fi sensing — анализу помех в радиосигнале между несколькими Wi-Fi-устройствами. И да, для этого не нужны дорогие радары. Достаточно пары ESP32 и свободного Raspberry Pi или сервера.

Что такое TOMMY?

TOMMY — это open-source (пока в бете) проект, который превращает обычные ESP32 и ESP8266 в сеть датчиков движения, использующих только Wi-Fi.

Принцип простой:

  • В зоне размещается минимум 2 ESP32.
  • Они обмениваются мелкими Wi-Fi-пакетами — формируется "невидимая сеть лучей".
  • Когда человек проходит между ними, он нарушает сигнал.
  • TOMMY улавливает это нарушение и отправляет событие: motion_detected.

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

Требования

  • Минимум 2 ESP32 (поддерживаются: C3, C6, S3, S2, ESP8266 и др.)
  • Сервер или Raspberry Pi с Linux
  • Docker (или Home Assistant)
  • Локальная сеть (все ESP32 должны быть в одной подсети)

Установка через Docker

Запускаем TOMMY на любом Linux-хосте (ARM64 или AMD64):

docker run -d --name tommy \
 --network host \
 -v $HOME/.tommy:/data \
 -e DASHBOARD_PORT=8080 \
 -e FILE_SERVER_HTTP_PORT=8090 \
 -e FILE_SERVER_HTTPS_PORT=8091 \
 -e MQTT_PORT=1884 \
 -e UDP_RELAY_PORT=8547 \
 --restart unless-stopped \
 tommysense/virtual-bridge:latest

После запуска заходим в веб-интерфейс:

http://ваш_сервер:8080

Там можно:

  • Прошить ESP32 (прошивка генерируется автоматически),
  • Создать зону (например, "гостиная+кухня"),
  • Получить виртуальный датчик движения в Home Assistant или через MQTT.

Как это интегрировать в свою систему?

TOMMY поддерживает MQTT. Пример события:

Topic: tommy/zone/living_room/motion
Payload: {"motion": true, "timestamp": "2025-11-14T15:30:00Z"}

Ты можешь легко подключить это к своему PHP-менеджеру Zigbee или к любой IoT-системе, просто подписавшись на MQTT-топик.

Важные нюансы

  • Один ESP32 — не работает. Нужно минимум два на зону.
  • Пока TOMMY не определяет неподвижное присутствие (только движение).
  • Работает локально — интернет не нужен, облака нет.
  • Может ловить движение занавесок, котов, вентиляторов — но есть регулировка чувствительности.

Почему это круто для умного дома?

  • Не нужно сверлить стены под PIR.
  • Зона покрытия — не привязана к комнатам (можно "весь первый этаж").
  • Датчики можно прятать — никаких видимых компонентов.
  • Работает со старыми ESP8266 — можно использовать запасы из ящика.

Заключение

Wi-Fi sensing — это не магия, а физика и статистика. TOMMY делает её доступной даже для тех, кто не хочет писать ML-модели и разбирать CSI-данные. Просто ставишь два ESP32 — и получаешь motion sensor через стену.

Попробовать можно бесплатно (проект в бете). А если вдруг TOMMY тебе не подойдёт — теперь ты знаешь, как самому собрать RSSI-анализатор на ESP32. Но TOMMY сильно упрощает жизнь.

UPD: В Q1 2026 обещают детекцию неподвижного присутствия — будет ещё интереснее.

Обсуждаем в комментариях: кто уже ставил TOMMY? Какие зоны используете?




Категории:

Категории

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге | карта блога

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA