Карту можно передать. Лицо — нет
Это не турникет с картой. Это система, которая знает, кто именно прошёл через каждую точку, восстанавливает маршрут человека по территории, закрывает ему все двери одним переключателем и в конце месяца отдаёт готовый табель — с опозданиями и нарушениями очерёдности.
Три системы, которые обычно покупают по отдельности
Классический СКУД отвечает на один вопрос: пускать или не пускать. Здесь то же самое железо — контроллеры, считыватели, камеры — даёт ещё два ответа, ради которых и затевается вся история с проходными.
Профиль доступа связывает сотрудника со списком проходных, а карта — с банком ключей контроллера. Решение принимает либо сам контроллер по своей памяти, либо сервер по запросу — в зависимости от выбранного режима.
Каждое событие — это не строка «проход разрешён», а кадр с камеры в момент прохода, фото сотрудника из картотеки, направление, проходная, контроллер и причина принятого решения. По этой цепочке восстанавливается маршрут по территории, а не только факт входа.
Расписание сотрудника с перерывом, автоматическая отметка опозданий с точностью до минут и флаг нарушения очерёдности, когда цепочка ВХОД → ВЫХОД рвётся. Табельщику остаётся смотреть на исключения, а не сводить журнал вручную.
Пять проверок, пока человек делает шаг к двери
Контроллер спрашивает сервер, и тот отвечает одним числом — можно или нельзя. За этим числом стоит последовательность, где каждая ступень может закончить разговор.
Чужой картой не пройти
Самая частая дыра любого пропускного режима — переданная карта. Здесь она закрывается по построению: карта опознаёт, кого система ожидает увидеть, камера показывает, кто пришёл на самом деле, и решение принимается по обоим.
Второй фактор включается по направлению
Выход с территории часто не требует биометрии, а вход — требует. Это настройка конкретного контроллера, а не всей системы: строгость расставляется там, где она нужна.
Причина решения сохраняется вместе с событием
«Биометрия не пройдена», «ключ не найден в банке ключей», «доступ не разрешён», «без проверки биометрии» — по журналу видно не только что произошло, но и почему система решила именно так.
Кадр в момент события
Рядом с фото из картотеки лежит снимок с камеры проходной, сделанный в секунду прохода. Разбор инцидента — это два фото рядом, а не запрос в архив видеонаблюдения.
Один переключатель закрывает человеку всю территорию
Увольнение, утерянный пропуск, служебное разбирательство — ситуация, когда доступ нужно снять немедленно и везде. Обходить проходные и чистить банки ключей руками в этот момент никто не будет.
Дверь не откроется, даже если сервер потом отключат
Команда снимает карту из памяти самого контроллера, а не просто запрещает решение на сервере. Поэтому перехват переживает обрыв связи — контроллеру просто нечего искать в своём банке ключей.
Смена профиля доступа не пересобирает всё заново
Система сравнивает старый и новый список проходных и отправляет команды только туда, где доступ реально появился или пропал. Контроллеры, которых изменение не касается, не трогаются вовсе.
Снятие перехвата возвращает карты той же механикой
Тот же путь в обратную сторону: добавление ключей в банки нужных контроллеров. Восстановление доступа — это снятая галочка, а не повторный обход проходных.
Удаление сотрудника снимает доступ автоматически
Карты изымаются из контроллеров в момент удаления записи. Забытый пропуск бывшего сотрудника перестаёт быть классом инцидентов.
Что делает дверь, когда с сервером что-то не так
Вопрос, который решает судьбу внедрения: пропускной режим не имеет права останавливаться из-за сети. Поэтому у каждого контроллера есть собственная логика и явно заданный режим.
Решение принимает сервер
Контроллер спрашивает по каждому прикладыванию карты — тогда работают биометрия, профили доступа и все настройки целиком.
Решение принимает контроллер
Он открывает замок по собственному банку ключей. Связь с сервером не нужна, а события копятся и отдаются, когда связь появится.
Дверь закрыта для всех
Режим игнорирует любую логику. Нужен на время инцидента или в нерабочие часы, когда проход не предусмотрен ни для кого.
Дверь открыта для всех
Эвакуация, приёмка большой партии, день открытых дверей. Замок держится открытым, но события всё равно пишутся в журнал.
Новый контроллер появляется в системе сам
При включении он сообщает серийный номер, тип и адрес — и заводится в системе автоматически, получая в ответ стартовые настройки. Пока к нему не привязана проходная, его события намеренно игнорируются, чтобы стенд и монтаж не засоряли журнал.
События появляются на экране без перезагрузки
Монитор охраны подписан на поток событий по вебсокету и собирается из нужных проходных: одному посту — центральный вход, другому — склад и ворота.
Табель собирается из тех же событий, что и охрана
Отдельная система учёта времени не нужна: проходы уже зафиксированы, и остаётся наложить на них график сотрудника. Причём график с перерывом — обед не превращается в прогул и не считается вторым рабочим днём.
Считается до минуты и объясняется словами
Первый вход дня сравнивается с началом смены по расписанию этого дня недели. В событие пишется не флаг, а формулировка вроде «опоздание на 0:17:00», понятная без расшифровки.
Возврат с обеда — тоже контрольная точка
Расписание знает начало и конец перерыва, поэтому поздний вход после обеда фиксируется отдельно и не путается с началом дня.
Нарушение очерёдности видно сразу
Ожидается цепочка ВХОД → ВЫХОД → ВХОД. Два входа подряд или выход без входа помечаются флагом: обычно за этим стоит либо проход «паровозиком», либо неучтённая точка.
Сколько ещё работать — прямо в событии
При выходе в середине дня система подписывает, сколько времени остаётся до конца рабочего дня по графику. Ранний уход становится заметен в момент, а не в конце месяца.
Свои камеры или чужая система видеонаблюдения — на выбор
Второй фактор нужен всем, но приходить с ним в объект можно двумя разными способами. Система поддерживает оба и переключается настройкой, не меняя остальную логику.
Распознавание внутри системы
Каждая камера обслуживается отдельным процессом: поток разбирается покадрово, лицо находится и кодируется, результат кладётся в общий кэш. Падение одной камеры не задевает остальные и не роняет сервер.
Кадр уже лежит, когда приходит запрос
Контроллеру нельзя ждать: пока он спрашивает, человек стоит у двери. Поэтому кадр и распознанное лицо берутся из кэша, а не запрашиваются у камеры в момент решения.
Работа поверх существующей VMS
Если на объекте уже развёрнута система видеонаблюдения с распознаванием лиц, картотека выгружается в неё: департаменты становятся группами лиц, сотрудники — карточками с фотографиями, а система забирает готовые результаты.
Картотека ведётся в одном месте
Сотрудник заводится в СКУД, его фото и принадлежность к подразделению уезжают во внешнюю систему автоматически. Двойного ввода людей в две системы нет.
Журнал событий с фильтрами по всему, что важно охране
Рабочее место оператора — не отдельный фронтенд, а доведённая админка: фильтры по департаменту, контроллеру, проходной, направлению, решению по доступу и типу этого решения, плюс диапазон дат.
Django с каналами, компьютерное зрение и протокол контроллеров
Обмен с контроллерами — собственный слой поверх их протокола: разбор пакетов, таблица типов событий, очередь команд на каждый серийный номер и типизированный ответ, который контроллер понимает.
Железо на объекте уже стоит. Вопрос в том, что оно умеет
Контроллеры, считыватели и камеры продаются вместе с чужим софтом, который делает ровно то, что задумал производитель. Своя система поверх того же железа даёт то, чего в коробке нет: перехват, двухфакторный проход, табель и журнал, из которого видно причину каждого решения.
Похожие задачи в других отраслях
Dialog Analyzer
Разбор телефонных разговоров: диаризация, оценка по методике, сверка каждой цитаты.
смотреть кейс → E-commerce · SaaSВитрина в Telegram
Магазин подключается тремя токенами и получает витрину прямо в мессенджере.
смотреть кейс → B2B · e-commerceКаталог измерительной техники
Фасетный поиск с умным сужением, коммерческие предложения с печатью в PDF.
смотреть кейс →