300 000
Информационные технологии и интернет
Апрель 2025
Требовался единый программный продукт, который одинаково работает на недорогих промышленных терминалах с внешними считывателями и на обычных Android-устройствах со встроенным NFC, при этом закрывает весь цикл от прикладывания карты до срабатывания замка. Ключевые требования:
- Чтение нескольких несовместимых схем кодирования карт, которые используют разные объекты эксплуатации (баланс, идентификатор, служебные поля, статус заряда браслета).
- Управление физическим доступом через Wiegand и релейные выходы GPIO с обратной связью по датчикам.
- Бесперебойная работа в режиме 24/7 с автозапуском после перезагрузки и защитой от вмешательства пользователя.
- Полная настройка на объекте без участия программиста и без пересборки приложения.
- Ведение журнала проходов с выгрузкой в файл и в облако.
В основу легла гибридная архитектура: нативное Android-ядро отвечает за оборудование и системные политики, а весь пользовательский интерфейс вынесен в локальное веб-приложение внутри WebView и управляется конфигурацией в формате JSON. Такой подход позволил менять оформление, тексты, цвета, медиаконтент и карту чтения полей прямо на объекте, не трогая APK.
Слой чтения карт спроектирован абстрактно и закрывает два взаимозаменяемых аппаратных бэкенда одним общим контрактом. Поверх него реализованы три алгоритма декодирования, включая вариант с вычислением ключа сектора прямо из UID карты по XOR-схеме. Связка с контролем доступа построена на формировании кодов Wiegand 26 и 34 и управлении реле через GPIO с опросом состояния датчиков. Поверх всего этого выстроена киоск-оболочка с режимом владельца устройства, блокировкой задачи и автостартом, которая превращает обычный планшет в защищенный терминал единственного назначения.
Один программный продукт закрывает оба сценария эксплуатации: встроенный NFC и внешний промышленный считыватель, без отдельных сборок.
Три алгоритма декодирования и конфигурируемая карта полей покрывают весь парк используемых карт и браслетов, включая работу со всеми 40 секторами Mifare Classic.
Время от прикладывания карты до результата на экране удерживается в пределах секунды за счет таймаутов команд порядка 100 мс и потоковой обработки.
Терминал работает в режиме 24/7 с автоматическим восстановлением порта и автозапуском после перезагрузки, что исключает выезды для ручного перезапуска.
Полная настройка внешнего вида, текстов, медиаконтента, схемы чтения и параметров доступа выполняется на объекте через веб-панель и переносится между устройствами импортом и экспортом конфигурации, без обновления приложения.
Интеграция Wiegand 26 и 34 с релейным управлением и обратной связью по датчикам обеспечила прямое подключение к турникетам и электронным шкафам существующей инфраструктуры.