N-Sport

Контролери і турнікет

Контроль доступу в n-sport — власні контролери, а не інтеграція зі стороннім СКД. Через це система знає не тільки «картка приклалась», а й «цей абонемент дозволяє прохід саме тут і саме зараз».

Усе налаштування — Прохідна → Обладнання.

Порядок підключення

  1. Брокер. Адреса MQTT, до якого підключаються плати. Одна на організацію: зали розводяться темами.
  2. Контролер. Додайте плату з її серійним номером.
  3. Креденшели. Кнопка з ключем видає плату пароль до брокера. Пароль показується рівно один раз — у базі лишається тільки хеш. Загубили — перевипустіть; перевипуск миттєво розлогінює стару плату.
  4. Точка проходу. Двері або турнікет: контролер, номер реле, тривалість імпульсу, напрямок (вхід, вихід або обидва) і зона.

Порядок важливий: точка проходу посилається на контролер, а контролер без креденшелів до брокера не підключиться.

Зони — це дерево

Секції залу складаються в дерево, і доступ рахується транзитивно: точку із зоною T відкриває абонемент, що покриває T або будь-яку зону всередині T.

Приклад. Зона «Клуб», всередині — «Тренажерка» і «Басейн»:

  • абонемент на «Басейн» відчиняє вхід у «Клуб» — інакше людина не потрапила б до свого басейну;
  • абонемент на «Тренажерку» не відчиняє «Басейн» — це сусідня гілка.

Видалення зони з підзонами дозволене: підзони стають кореневими, доступ не ламається.

Офлайн-база перепусток

Головна відповідь на питання «а що буде, коли зникне інтернет».

Чинні абонементи дублюються на сам контролер — із розкладами, вікнами часу і зонами. Плата вирішує сама, і картка відчиняє турнікет, коли звʼязку із сервером немає. Проходи, зроблені офлайн, плата зберігає в себе і віддає серверу, коли звʼязок повернеться, — вони зʼявляться в журналі із затримкою, але не загубляться.

База їде на плату сама: коли плата піднімається і коли змінюються права. Кнопка «Надіслати перепустки на плату» — для випадку «людина стоїть перед турнікетом»: чекати наступного циклу нема часу.

Поведінка без звʼязку

Вибір власника, платформного значення за замовчуванням немає:

  • не пускати нікого — без сервера точка зачинена;
  • пускати за офлайн-базою — звичайний режим;
  • тільки офлайн-база — плата не питає сервер узагалі;
  • пускати всіх — вільний прохід.

Як він поживає

Клік по значку стану в списку контролерів відкриває картку плати: на звʼязку чи ні і як давно озивалась, версія прошивки, скільки перепусток зараз в офлайн-базі, проходи за добу з кількістю відмов, привʼязані точки і реле.

Окремим рядком — чи піднятий звʼязок застосунку з брокером. Без нього «немає звʼязку» читається як «плата зламалась», хоча зламатись міг канал, а плата ні при чому.

QR-наліпка на точці

Кожна точка проходу має сталу адресу виду `/app/e/<токен>`, яку можна надрукувати як QR (кнопка друку, формат 58 мм). Клієнт сканує телефоном, сервер перевіряє абонемент і відчиняє.

QR статичний і нічого не «знає»: уся перевірка на сервері. Тому сфотографувати наліпку і надіслати другові безглуздо — пустять того, у кого абонемент, а не того, у кого картинка.

Адреса стала назавжди: наліпки друкуються один раз.

Далі — склад і каса.