Александр Зуев
MifareNFC - Автономный Android-инфотерминал для систем контроля доступа и учета посещений
Александр Зуев
#Программирование приложений

MifareNFC - Автономный Android-инфотерминал для систем контроля доступа и учета посещений

37 
Александр Зуев Россия, Краснодар
Поделиться: 0 0 0
MifareNFC - Автономный Android-инфотерминал для систем контроля доступа и учета посещений
Бюджет

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 с релейным управлением и обратной связью по датчикам обеспечила прямое подключение к турникетам и электронным шкафам существующей инфраструктуры.

https://github.com/alexxxdevelop/MifareNFC/

Стек технологий

  • Java Java Язык программирования

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку