ДатчикиГлава 14 / 51

Присутствие без иллюзии всеведения

Как отличить тишину датчика от пустой комнаты?

Движение, присутствие и личность — разные задачи. Первый Koobique решает только первые две.

Человек, который читает за столом, почти не двигается. Для PIR это может выглядеть так же, как отсутствие человека. Радар добавляет свидетельства, но тоже видит мир через свою диаграмму направленности, настройки и помехи.

Поэтому состояние комнаты собирается из нескольких признаков и времени. Полезные ответы — «занята», «вероятно свободна» и «не хватает данных». Состояние «неизвестно» не следует автоматически превращать в команду выключения света.

PIR обнаруживает изменения теплового излучения в своей зоне, поэтому хорошо подходит для входа и движения. Неподвижный человек может перестать давать события. Радар способен обнаруживать другую динамику, но также реагировать на вентилятор, шторы, соседнее помещение или собственные особенности установки. Ни один из этих сигналов не следует превращать в абсолютную истину без проверки. [20][22]

A17Испытательное размещение в кабинете. Отдельный узел присутствия позволяет выбрать полезный обзор, не подчиняя его положению вычислительного куба.

Три варианта узла Presence#

PIR-only — минимальный стенд обнаружения движения: он допускает включение по событию входа, но не вывод «человек ушёл». В первом профиле автоматическое выключение по одному молчанию PIR запрещено. Таймер коридора можно добавить как отдельную явно выбранную политику, а не назвать измерением отсутствия.

PIR + радар — предпочтительный исследовательский комплект. PIR помогает быстрому событию входа, радар поддерживает оценку присутствия во время спокойной работы. Параметры дальности, чувствительности и периода выдачи регулируются на основании журнала ошибок.

Дополнительный контекст — геркон двери, кнопка, состояние рабочего компьютера или явно включённый режим работы. Эти каналы помогают, но не должны скрыто собирать личные данные. Активность телефона и RSSI не считаются доказательством нахождения конкретного человека в комнате.

Выбор готового радара#

SEN0395 — пример модуля с опубликованной документацией и интерфейсом. Его полезность для первого проекта — в доступном протоколе и понятной интеграции, а не в гарантии отсутствия ложных срабатываний. Перед подключением сверяются питание, допустимые уровни UART, назначение выводов и режим данных конкретной ревизии. Не каждый модуль, питающийся от 5 В, выдаёт безопасный для ESP32 логический уровень. [22][23]

Более дешёвые радары допустимы, если есть читаемая документация и воспроизводимая настройка. При отсутствии протокола приходится начинать с изучения модуля, что может стоить больше времени, чем экономия при покупке. Сырой поток радара не обязательно нужен ядру: часто достаточно локально выделенных признаков и диагностического режима по запросу.

Размещение в комнате#

PIR направляется через предполагаемую траекторию движения, а не только вдоль неё. Радар не ориентируется на вращающийся вентилятор или движущуюся штору. Металлические детали корпуса и стены влияют на поле; пластиковая крышка также проверяется. Сенсор присутствия не обязан находиться в одном корпусе со станцией.

Как собирать данные для настройки#

Нужны размеченные периоды: пустая комната, вход, сидение без движения, работа за компьютером, движения за стеной, работа вентилятора, открытое окно, уход. Разметка может выполняться кнопкой в приложении: «сейчас пусто» / «сейчас я здесь». Записываются настройки радара и версия алгоритма.

Основные метрики — пропущенное присутствие, ложное присутствие, время включения после входа и время выключения после ухода. Средняя точность по всем секундам может вводить в заблуждение, если комната большую часть времени пуста. Отдельно считается нежелательное выключение света при человеке.

Модель состояний#

Для первого экземпляра достаточно явного автомата: UNKNOWN, EMPTY, CANDIDATE, OCCUPIED и VACATING. UNKNOWN означает отсутствие пригодной свежей информации. CANDIDATE — краткий период проверки сигнала. VACATING — отсутствие новых свидетельств, но ещё не подтверждённый уход.

A18Два слоя присутствия: оценка состояния и обязательная проверка качества. UNKNOWN не означает EMPTY; PIR-only не разрешает автоматический уход.

До калибровки вероятностной модели используем категорию уверенности и перечень свидетельств: «радар активен; PIR сработал 12 секунд назад; данные свежие». Число вроде «вероятность 0,93» требует размеченных записей и проверки калибровки; без них точная цифра создаёт необоснованное доверие.

Выдержки и дребезг#

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

Для проверенного комплекта PIR + радар можно исследовать быстрое подтверждение входа и задержку ухода. Для PIR-only правило выключения не включается. Порог 120 секунд в примерах ниже относится к гипотезе проверяемого профиля, а не к паспортной возможности PIR. При UNKNOWN автоматизация не делает вид, что комната пуста.

Проверка, важнее любого демо#

Для Presence-qualified сесть неподвижно на 30 минут, затем оставить пустую комнату с вентилятором. Самопроизвольное OFF при человеке или неспособность подтвердить уход означают, что допуск профиля не получен. PIR-only в этом опыте не обязан доказать пустоту; его критерий — не выключать свет по одному отсутствию движений.

Два допуска вместо одного слова presence#

ПрофильРазрешеноНе выводится из данных
PIR-only / E0Событие входа и включение при темноте; ручное OFFОтсутствие человека по тишине PIR
Presence-qualified / E1Автомат ухода после размеченной проверки набора признаковБезошибочность радара либо здоровье канала из boolean
UNKNOWNОстановить новые автоматические выводы; уведомитьEMPTY и разрешение выключать по факту потери связи

Автомат качества действует поверх всех состояний: из EMPTY, CANDIDATE, OCCUPIED и VACATING потеря требуемого наблюдения ведёт в UNKNOWN. После восстановления снова проверяются свидетельства: положительное ведёт к CANDIDATE/OCCUPIED, а EMPTY возможно только при допущенном профиле отсутствия. CANDIDATE возвращается в EMPTY при опровергнутом входе лишь там, где отсутствие наблюдаемо.

В E0 отсутствие данных не гасит свет автоматически. Через 5 минут UNKNOWN выводится уведомление «датчик недоступен; свет под ручным управлением». Это предел безмолвного ожидания, не предел включённого света. Автоматический тайм-аут отключения — отдельная настройка с предупреждением; по умолчанию он выключен. Так неисправный PIR не превращается в ложное доказательство пустой комнаты.

Выбранный PIR в паспорте имеет модель, время прогрева, retrigger, длину импульса и мёртвое время. До окончания прогрева канал не объявляется пригодным. Проверяют неподвижную работу 30 минут, пустое помещение с вентилятором, затенение обзора и радиопередачу рядом. Таймер 120 секунд не исправляет фундаментальную ненаблюдаемость PIR-only.

Качество события и смена размещения#

Событие движения должно быть связано с тем размещением и режимом сенсора, в которых оно возникло. Смена descriptor без перезапуска не делает старое событие новым. До заморозки профиля Event нужно определить передачу descriptor_revision, placement_revision и mode_id либо однозначную границу sample_seq для каждого описания. Динамическое здоровье канала требует отдельного статуса с временем и причиной: WARMING, VALID или INVALID. Живой сетевой Ping сам по себе не доказывает исправность PIR. Это открытое требование контракта, а не утверждение о реализованном сообщении NodeHealth.

Найти в книге

Поиск по всем главам, схемам и техническим разделам.