AgroTracker

AgroTracker 10.05.2022

AgroTracker

Агросфера - одна з найбільших та найприбутовіших сфер в Україні, яка забезпечує понад 600 мільйонів людей у всьому світі харчовою продукцією.
Ринок агро стрімко розвивається і тому є відкритою для інноваційних технологій та цікавих ідей.
В агросфері є цілий ряд процесів які можуть бути автоматизованими з допомогою сучасних технологічних рішень. Проаналізувавши усі ці можливості ми дійшли до висновку, що одним із необіхних аспеків, по якому іще немає достатньої кількості ідей та рішень, є процес автоматизації та контролю за процесом пломбування вантажу (що напряму впливає на безпеку перевезення та швидкість пропуску автомобілів із зерном з елеватору), оскільки швидке та зручне пломбування дозволить, по-перше, виключить людський фактор у питаннях безпеки вантажу та дозволить пришвидшити процедуру пропуску транспорту, оскільки фіксування і зберігання даних про автомобілі та пломби буде автоматизоване.

Власне кажучи, сам процес виглядає наступним чином: 
На елеваторі автомобілі один за одним прямують на виїзд, на кожен з них охоронець повинен прикріпити певну кількість пломб, зафіксувати їх та потім вручну внести усю інформацію до бази даних після кінця зміни. 
Наш додаток орієнтований на те, щоб зробити цей процес швидшим та більш надійним. А саме:
Охоронець має можливість сфотографувати пломбу, що закріплюється на певний автомобіль, післі того додаток, користуючись штучним інтелектом, розпізнає номер пломби з фото та закріплює його за автомобілем.
Увесь процес може відбуватися офлайн (оскільки на елеваторі зв'язок не завжди якісний), і додаток зберігає дані на пристрої.
Після появи інтернету, застосунок автоматично вивантажує до розробленої нами хмарної бази даних зроблені фотографії, номери пломб та дані про відправлені автомобілі та звільнює пам'ять для наступних фотографій. 
Розпізнавання було реалізовано з допомогою бібліотеки ML Kit Text Recognition. 
Після розпізнаваня бібліотека повертає увесь розпізнаний текст та додаток шукає у ньому блок тексту, що водповідає шаблону номеру пломби (велика буква та 8 цифр). Якщо такий текст не знайдено, то додаток просить користувача повторити дію, у випадку успіху користувач може зафіксувати розпізнану пломбу.

Крім того, особлива увага була виділена:
якості розпізнавання (додаток пропонує користувачу функцію обрізання фото для покращення результатів);
організації офлайн-режиму (усі функції додатку повноцінно працюють без інтернет-з'єднання);
автоматичну синхронізацію (застосунок автоматично вивантажує дані та очищає локальну пам'ять пря появі з'єднання);
роботу з оперативною та постійною пам'яттю (постійна пам'ять пристрою автоматично звільняється як тільки дані вивантажено на сервер, використання оперативної пам'ять оптимізовано з допомогою сучасних Андроїд-рішень). APK-файл додатку, при своєму насиченні функціоналом, займає всього 2.5МБ.
Архітектурі коду та його гнучкості (було обрано архітектурний шаблон MVVM та багатомодульну архітектуру).
Крім того, була використана хмарна БД Firebase Firestore та Firebase Storage. Firestore містить у собі 2 колекції:
transports - містить дані про транспортні засоби, що прямують до виїзду або вже виїхали
facts - містить інформацію про кожен факт пломбування і пропуску автомобіля. Таким чином ми можемо відстжувати хронологію перевезень та пломбувань.
Firebase Storage є сховищем зображень, на яких було розпізнано номери пломб. Кожна фотографія має унікальний ідентифікатор, який також зберігається у facts як посилання на фотграфію доданої пломби.
В додатку були застосовані наступні технології:
База даних та сховище зображень: Firebase Firestore, Firebase Storage 
Розпізнавання тексту: ML Kit Text Recognition
Вивантаження даних: WorkManager
Архітектурний паттерн: MVVM + Clean Architecture (presentation/domain layer, Repository, UseCases)
Багатопотоковість: Kotlin Coroutines
Робота з інтерфейсом: Fragment + Navigation Components
Dependency Injection: Dagger Hilt
Мінімізація розміру додатку – R8, Pro-guard, resource shrinking, obfuscation

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

Назва конкурсу:  Конкурс «Розробка мобільних застосунків»
ПІБ Співвиконавців:  Целіш Данило Дмитрович, Слушний Василь Віталійович, Примчук Руслан Юрійович
ПІБ конкурсанта:  Левицький Костянтин Сергійович
Країна:  Україна
Область:  Вінницька область
Назва НЗ:  Вінницький національний технічний університет
Учасник фіналу:  Так
Місце Фінал:  2
Сумарна оцінка (максимум - 5):  3,7
Файл статті (pdf):  Завантажити

Повернення до списку