Контролери і турнікет
Контроль доступу в n-sport — власні контролери, а не інтеграція зі стороннім СКД. Через це система знає не тільки «картка приклалась», а й «цей абонемент дозволяє прохід саме тут і саме зараз».
Усе налаштування — Прохідна → Обладнання.
Порядок підключення
- Брокер. Адреса MQTT, до якого підключаються плати. Одна на організацію: зали розводяться темами.
- Контролер. Додайте плату з її серійним номером.
- Креденшели. Кнопка з ключем видає плату пароль до брокера. Пароль показується рівно один раз — у базі лишається тільки хеш. Загубили — перевипустіть; перевипуск миттєво розлогінює стару плату.
- Точка проходу. Двері або турнікет: контролер, номер реле, тривалість імпульсу, напрямок (вхід, вихід або обидва) і зона.
Порядок важливий: точка проходу посилається на контролер, а контролер без креденшелів до брокера не підключиться.
Зони — це дерево
Секції залу складаються в дерево, і доступ рахується транзитивно: точку із зоною T відкриває абонемент, що покриває T або будь-яку зону всередині T.
Приклад. Зона «Клуб», всередині — «Тренажерка» і «Басейн»:
- абонемент на «Басейн» відчиняє вхід у «Клуб» — інакше людина не потрапила б до свого басейну;
- абонемент на «Тренажерку» не відчиняє «Басейн» — це сусідня гілка.
Видалення зони з підзонами дозволене: підзони стають кореневими, доступ не ламається.
Офлайн-база перепусток
Головна відповідь на питання «а що буде, коли зникне інтернет».
Чинні абонементи дублюються на сам контролер — із розкладами, вікнами часу і зонами. Плата вирішує сама, і картка відчиняє турнікет, коли звʼязку із сервером немає. Проходи, зроблені офлайн, плата зберігає в себе і віддає серверу, коли звʼязок повернеться, — вони зʼявляться в журналі із затримкою, але не загубляться.
База їде на плату сама: коли плата піднімається і коли змінюються права. Кнопка «Надіслати перепустки на плату» — для випадку «людина стоїть перед турнікетом»: чекати наступного циклу нема часу.
Поведінка без звʼязку
Вибір власника, платформного значення за замовчуванням немає:
- не пускати нікого — без сервера точка зачинена;
- пускати за офлайн-базою — звичайний режим;
- тільки офлайн-база — плата не питає сервер узагалі;
- пускати всіх — вільний прохід.
Як він поживає
Клік по значку стану в списку контролерів відкриває картку плати: на звʼязку чи ні і як давно озивалась, версія прошивки, скільки перепусток зараз в офлайн-базі, проходи за добу з кількістю відмов, привʼязані точки і реле.
Окремим рядком — чи піднятий звʼязок застосунку з брокером. Без нього «немає звʼязку» читається як «плата зламалась», хоча зламатись міг канал, а плата ні при чому.
QR-наліпка на точці
Кожна точка проходу має сталу адресу виду `/app/e/<токен>`, яку можна надрукувати як QR (кнопка друку, формат 58 мм). Клієнт сканує телефоном, сервер перевіряє абонемент і відчиняє.
QR статичний і нічого не «знає»: уся перевірка на сервері. Тому сфотографувати наліпку і надіслати другові безглуздо — пустять того, у кого абонемент, а не того, у кого картинка.
Адреса стала назавжди: наліпки друкуються один раз.
Далі — склад і каса.