Ну сам такое не делал, но вдруг пригодится. Большинство проектов используют 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? Какие зоны используете?
Комментарии
Пока нет комментариев. Будьте первым!