Разработка AOSP-приложения для биометрического сканера

Разработка специализированного Android-приложения для сканирования ладоней и жестов с синхронизацией RGB- и инфракрасного видео, оптимизацией обработки данных и поддержкой удаленного управления устройством.

О клиенте

Наш клиент — европейская технологическая компания, разрабатывающая специализированное оборудование для систем контроля доступа, биометрической идентификации и финансовых технологий. Одним из ключевых продуктов компании был сканер ладоней и жестов, предназначенный для идентификации пользователей и обеспечения безопасности объектов.

Клиенту требовалось разработать готовое к промышленной эксплуатации программное обеспечение на базе AOSP (Android Open Source Project). Приложение должно было одновременно обрабатывать RGB- и инфракрасные видеопотоки, стабильно работать на устройстве с ограниченными вычислительными ресурсами и обеспечивать передачу больших объемов биометрических данных. Дополнительным требованием стала возможность удаленного обновления программного обеспечения без использования Google Mobile Services (GMS).

  • Отрасль: Биометрия, безопасность, контроль доступа
  • Тип решения: Приложение для специализированного Android-оборудования
  • Сроки: Около 3 месяцев

Задача проекта

Разработка приложения требовала адаптации программного обеспечения к особенностям специализированного оборудования и ограничениям кастомной сборки Android. Необходимо было обеспечить стабильную обработку видеоданных, синхронизацию двух потоков, надежную передачу файлов и независимое управление устройством.

Основными задачами проекта стали:

  • Оптимизация обработки видео: Обеспечить стабильную обработку видеопотоков на устройствах с ограниченными вычислительными ресурсами, минимизировав риск перегрева и потери кадров.
  • Разработка нативного мультимедийного конвейера: Интегрировать FFmpeg с использованием C/C++ и Android NDK для обработки видео в кастомной среде AOSP, не располагающей необходимыми мультимедийными кодеками.
  • Синхронизация видеопотоков: Реализовать синхронизацию RGB- и инфракрасного видео с точностью до кадра для корректной обработки биометрических данных.
  • Отказоустойчивая передача данных: Реализовать загрузку больших биометрических файлов по частям с автоматическим возобновлением передачи после сетевых сбоев.
  • Мониторинг состояния оборудования: Организовать контроль температуры процессора, доступного пространства в хранилище и состояния сетевого подключения для обеспечения стабильной работы устройства.
  • Удаленное управление и обновление: Реализовать безопасное удаленное обновление приложения без зависимости от Google Mobile Services (GMS).

Обзор проекта

Команда СКЭНД разработала приложение на Kotlin, которое обеспечило управление специализированным оборудованием для сканирования ладоней и жестов.

Взаимодействие со сканером было реализовано через RNDIS, что позволило одновременно получать RGB- и инфракрасные видеопотоки. Для их обработки команда разработала нативный конвейер на базе FFmpeg, скомпилировала и оптимизировала его на C/C++ с использованием Android NDK. Это решение обеспечило совместимость мультимедийных компонентов с кастомной средой AOSP.

Помимо обработки видео, приложение обеспечивало настройку сканера, мониторинг состояния устройства, ведение журналов и управление локальными данными. Для передачи результатов сканирования команда реализовала механизм загрузки файлов по частям с поддержкой параллельной передачи и автоматического возобновления после разрыва соединения.

Для удаленного управления обновлениями команда интегрировала стороннюю OTA-платформу, которая обеспечила безопасное обновление программного обеспечения без зависимости от Google Mobile Services.

Решение

Команда СКЭНД объединила легкое приложение на Kotlin с оптимизированными нативными компонентами на C/C++. Такое решение позволило организовать обработку биометрических данных и управление оборудованием с учетом ограниченных ресурсов устройства.

Основные возможности приложения

  • Синхронное сканирование в двух спектральных диапазонах. Одновременный захват RGB- и инфракрасного видео с синхронизацией потоков на уровне отдельных кадров.
  • Оптимизированная обработка видео. Собственный конвейер FFmpeg на C/C++ с использованием Android NDK для обработки мультимедийных данных в кастомной среде AOSP.
  • Интеграция со специализированным оборудованием. Обмен данными со сканером через RNDIS и пользовательские API производителя.
  • Отказоустойчивая передача файлов. Разделение больших биометрических файлов на фрагменты, параллельная загрузка и автоматическое возобновление передачи после сетевых сбоев.
  • Мониторинг состояния устройства. Контроль температуры процессора, доступного пространства в хранилище и подключения к Wi-Fi/Ethernet.
  • Управление конфигурацией и журналами. Файловое хранение настроек сканера, логов и очередей операций с минимальными накладными расходами.
  • Удаленные OTA-обновления. Автоматическое обновление приложения через стороннюю платформу управления устройствами без зависимости от GMS.

Технологический стек

Для разработки и интеграции программного обеспечения использовались следующие технологии и инструменты:

  • Платформа и приложение: Kotlin, Android Open Source Project (AOSP)
  • Нативная разработка: C/C++, Android NDK
  • Обработка видео: FFmpeg, кастомная сборка и интеграция мультимедийных компонентов
  • Взаимодействие с оборудованием: RNDIS, пользовательские API производителя
  • Передача данных: HTTP/REST API, параллельная загрузка файлов по частям с возможностью возобновления
  • Управление данными: файловые операции для конфигурации, журналов и очередей задач
  • Удаленное управление: сторонняя платформа OTA-обновлений

Результаты

За три месяца команда СКЭНД разработала программное обеспечение для специализированного биометрического сканера, обеспечив стабильную работу на устройствах с ограниченными вычислительными ресурсами и надежную передачу данных.

  • Готовность к промышленной эксплуатации. Разработано кастомное AOSP-приложение, адаптированное к особенностям биометрического оборудования и ограничениям аппаратной платформы.
  • Точная синхронизация видеопотоков. Реализована синхронизация RGB- и инфракрасного видео с точностью до кадра на базе нативного конвейера FFmpeg.
  • Отказоустойчивая передача данных. Настроена параллельная загрузка биометрических файлов по частям с автоматическим возобновлением передачи после сетевых сбоев.
  • Стабильность работы оборудования. Внедрен мониторинг температуры процессора, доступного пространства в хранилище и состояния сетевого подключения для своевременного выявления потенциальных проблем.
  • Независимое удаленное управление. Интегрирована система безопасного OTA-обновления приложения, работающая без зависимости от Google Mobile Services.

Нуждаетесь в разработке похожего проекта?

Свяжитесь с нами

Мы любим новые проекты! Напишите нам, и мы ответим вам в ближайшее время.

Спасибо, что написали нам! Ваше сообщение было успешно отправлено. Мы обязательно ответим на него в ближайшее время. Пожалуйста, проверьте, получили ли Вы от нас письмо-подтверждение на указанную Вами почту.