Один локер.
Любой бизнес
без переустановки железа.
UNILOCK — программный мозг для локеров, вендинговых и постаматных сетей. Сегодня аппарат выдаёт заказы химчистки, завтра — по тому же железу — пропуска на завод или инструмент по QR-коду. Меняется профиль в облаке, а не прошивка на объекте. Ядро работает на любом Linux SBC с параметрами не ниже Raspberry Pi 5 / 4 ГБ — без привязки к одному поставщику плат.
Выдача заказа химчистки
Клиент вводит код на экране, локер сверяет его с локальным кэшем и открывает нужную ячейку — работает даже при кратковременном обрыве интернета.
Локеры под нишу — тупик.
Разработка отдельной прошивки под каждого клиента — вендинг,завод,химчистку, ПВЗ — умножает стоимость поддержки на число ниш. UNILOCK разделяет неизменное ядро и сменную бизнес-логику, поэтому новый клиент — это конфигурация в облаке, а не новый релиз.
Монолит под одну нишу
- Своя прошивка под каждый бизнес — свой цикл релизов
- Смена сценария на объекте требует выезда инженера
- Интерфейс и логика зашиты в одном коде
- Каждый новый терминал/сканер — правки в ядре
UNILOCK: ядро + профили
- Бизнес-логика грузится из облака JSON-конфигом
- Профиль локера меняется удалённо, за минуты
- UI-«плеер» отрисовывает интерфейс по данным из облака
- Периферия — Docker-модуль, подключается без пересборки ядра
- Ядро не привязано к одному вендору платы — работает на любом Linux SBC с параметрами не ниже Raspberry Pi 5 / 4 ГБ
Четыре слоя — от реле до экрана
Модульная архитектура на самом одноплатном компьютере: каждый слой — независимый Docker-контейнер со своим внутренним API. Порядок снизу вверх — от физики до интерфейса. Ядро не привязано к одному вендору платы: под капотом HAL-слоя — драйвер под конкретное семейство SBC.
Core · Hardware Abstraction
Управляет платами реле и датчиками дверец, следит за связью, буферизирует данные при обрыве сети. Не знает, зачем человек подошёл к локеру — только открывает и закрывает ячейки.
Hardware Plugins
Драйверы для USB-устройств: сканер штрих/QR-кода, RFID/NFC-считыватель, банковский терминал, чековый принтер — подключаются по мере необходимости, без переписывания ядра.
Workflow Engine
Настраиваемая машина состояний вместо зашитого кода. Сценарий — «выдача инструмента», «вендинг», «постамат» — загружается из облака как конфигурация, а не как прошивка.
UI-конструктор · Kiosk App
Клиентское приложение — «плеер», который отрисовывает тему из облака: плитку товаров с ценами для вендинга или голый экран сканирования для пропускной системы.
Платёжная ссылка вместо эквайринга и принтера чеков
Одноплатный компьютер в локере — это витрина, а не касса. Вся логика оплаты и чек формируются в облаке и у платёжного агрегатора, а не в самом ящике.
Инициация
Клиент выбирает выдачу заказа или товар на экране локера.
Генерация ссылки
Сервер запрашивает у агрегатора выставление счёта на сумму заказа.
QR на экране
Kiosk App превращает ссылку в QR-код и показывает его на дисплее.
Оплата в браузере
Клиент сканирует код телефоном и платит через мобильный банкинг.
Webhook
Платёжная система мгновенно уведомляет облачный сервер об оплате.
Открытие ячейки
Команда по MQTT уходит на плату локера — ячейка открыта.
Вся сеть локеров — в одной таблице
Список всех устройств сети с базовым статусом, а по клику на локер — подробный отчёт: занятость ячеек, факты и время выдачи, состояние связи.
| Локер | Профиль | Статус | Занято ячеек | Связь |
|---|---|---|---|---|
| RPI-0042 | Химчистка · ТЦ «Речной» | онлайн | 14/20 | 98% |
| RPI-0043 | Вендинг · Завод №2 | оплата зависла | 7/20 | 76% |
| RPI-0044 | Пропуска · Проходная | онлайн | 4/20 | 100% |
| RPI-0045 | Постамат · Офис-центр | офлайн | 18/20 | 0% |
Одно железо, четыре готовых профиля
Ниже — сценарии, уже описанные в движке бизнес-процессов. Свой профиль собирается из тех же кирпичей.
Выдача из химчистки
Клиент получает код в SMS, вводит его на экране — локер сверяет с локальным кэшем и открывает ячейку без интернета.
Вендинг товаров
Плитка товаров с ценами, оплата платёжной ссылкой, автоматическое открытие после webhook об успешной транзакции.
Инструмент и пропуска на предприятии
Сотрудник прикладывает пропуск, облако проверяет права доступа — экран без цен и кнопок оплаты, только сканирование.
Постамат / выдача заказов (BOPIS)
Проверка кода из локального кэша, ячейка открывается даже при временной потере связи с облаком.
Прототип уже открывает ячейки — не только на слайдах
Текущая сборка прототипа настроена на сценарий проката предметов: пользователь берёт вещь по номеру ячейки и сдаёт её обратно. На этом же ядре собираются профили вендинга, пропускной системы и постамата, описанные выше.
«Прокат предметов 24/7» → «Нужная вещь всегда рядом» → кнопки Взять / Сдать / Инструкция. Вход по номеру телефона, доступ к ячейке — по коду.
5 кликов по иконке — и открывается панель раскладки предметов по ячейкам, статусов (свободна / занята / заблокирована), логов действий и тайм-аутов бездействия.
- Модульность усложняет первичное проектирование: нужны система плагинов, внутренний API между контейнерами и конфигуратор интерфейса — это закладывается на старте, а не докручивается потом.
- «Зоопарк» периферии — главный риск: банковские терминалы и сканеры работают по разным протоколам, поэтому список поддерживаемого оборудования стандартизирован (например, терминалы PAX и Ingenico), а не «поддерживаем всё».
- Требование к плате сформулировано как класс устройств (Linux SBC, параметры не ниже RPi 5 / 4 ГБ), но официально поддерживаются только платы, прошедшие тестовый матрикс — реле, датчики дверец, сеть, буферизация при обрыве. Список поддерживаемых плат фиксирован, а не «заведётся на чём угодно».
- Оплата по ссылке зависит от интернета у клиента и требует тайм-аута сессии — QR аннулируется, если платёж не пришёл за 3–5 минут, а ячейка остаётся закрытой до подтверждения.
- При потере связи локера в момент оплаты нужна синхронизация состояний после восстановления сети — этот механизм в ядре предусмотрен изначально.
Покажем, как один одноплатный компьютер становится вендинг-автоматом за 2 минуты
Заявка уходит инженеру, который соберёт демо-профиль под вашу нишу — химчистка, завод, вендинг или ПВЗ.