Пошук активів за RFID: мобільний додаток з історією переміщень

Пошук потрібного активу на складі може займати години, а інвентаризація — дні, що призводить до розбіжностей в обліку та простоїв. Ми розробляємо мобільні RFID-рішення, які дозволяють знаходити предмети за EPC за секунди та відстежувати їх переміщення в реальному часі. Наша команда реалізує проєкт під ключ — від проєктування подієвої моделі до інтеграції з обліковими системами та подальшою підтримкою.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Пошук активів за RFID: мобільний додаток з історією переміщень
Середній
~5 днів
Часті запитання

Пошук активів за RFID: мобільний додаток з історією переміщень

Уявіть: на складі 10 000 позицій, а потрібний прилад не можуть знайти вже півгодини. Оператори бігають з паперовими списками, інвентаризація забирає дні, а розбіжність обліку з реальністю сягає 30%. RFID-відстеження активів з мобільним додатком вирішує цю проблему: пошук за EPC займає секунди, історія переміщень видна в реальному часі, а інтеграція з ERP усуває ручне введення. Ми розробляємо такі системи з повним циклом — від проектування подійної моделі до введення в експлуатацію. Досвід: понад 15 проєктів для складів, логістики та виробництва. Економія часу на інвентаризацію становить до 80%, а зниження витрат на пошук активів — у 3 рази.

Архітектура подійної моделі

Кожне зчитування тега — подія з метаданими:

data class AssetReadEvent(
    val epc: String,
    val readerLocation: String, // ID антени/рідера
    val timestamp: Long,
    val rssi: Int, // сигнал: приблизна дистанція
    val direction: ReadDirection?, // ENTRY / EXIT для ворітних рідерів
    val operatorId: String? // хто зробив ручне зчитування
)

enum class ReadDirection {
    ENTRY, EXIT, UNKNOWN
}

Мобільний додаток генерує події з operatorId та GPS/indoor-координатами. Ворітні рідери (Impinj Speedway, Zebra FX9600) генерують свої події через LLRP або REST API. Все сходиться в одну чергу подій на бекенді.

Як знизити витрати на пошук в 3 рази?

Ручна інвентаризація займає години, а пошук конкретного предмета — десятки хвилин. З нашим рішенням оператор з мобільним рідером знаходить актив за секунди завдяки фільтрації за EPC та відображенню RSSI. Порівняйте:

Метод пошуку Час на 1 актив Точність Трудомісткість
Ручний перебір 5–15 хв ~70% Висока
RFID + мобільний додаток 10–30 сек >99% Низька

Пошук конкретного активу

Найчастіша операція в мобільному додатку — «знайди актив XYZ на цьому складі». RFID-рідер переходить у режим «proximity search»: показує RSSI конкретного тега, допомагаючи звузити зону пошуку:

class AssetSearchSession(
    private val rfidReader: RfidReader,
    private val targetEpc: String
) {
    private val _proximity = MutableStateFlow(ProximityLevel.UNKNOWN)
    val proximity: StateFlow<ProximityLevel> = _proximity.asStateFlow()

    fun start() {
        rfidReader.setInventoryFilter(epcFilter = targetEpc) // читати лише цільовий тег
        rfidReader.startContinuousInventory(onTag = { tag ->
            if (tag.epc == targetEpc) {
                _proximity.value = rssiToProximity(tag.peakRSSI)
            }
        })
    }

    private fun rssiToProximity(rssi: Int): ProximityLevel = when {
        rssi > -55 -> ProximityLevel.VERY_CLOSE // < 0.5м
        rssi > -65 -> ProximityLevel.CLOSE // 0.5–1.5м
        rssi > -75 -> ProximityLevel.MEDIUM // 1.5–3м
        else -> ProximityLevel.FAR // > 3м
    }
}

Фільтр за EPC (setInventoryFilter) критичний — без нього рідер читає всі теги в зоні та засмічує потік даними. Конкретні API фільтрації залежать від SDK рідера: Zebra RFID SDK — SLFlag, TagFilter; Chainway SDK — FilterParam.

Історія переміщень

// Room entities для історії активів
@Entity(tableName = "asset_events", indices = [Index("epc"), Index("timestamp")])
data class AssetEventEntity(
    @PrimaryKey(autoGenerate = true) val id: Long = 0,
    val epc: String,
    val eventType: String, // "scan", "checkpoint", "entry", "exit"
    val locationId: String,
    val locationName: String,
    val operatorId: String?,
    val rssi: Int?,
    val timestamp: Long,
    val synced: Boolean = false
)

@Dao
interface AssetEventDao {
    @Query("SELECT * FROM asset_events WHERE epc = :epc ORDER BY timestamp DESC LIMIT 50")
    fun getAssetHistory(epc: String): Flow<List<AssetEventEntity>>

    @Query("SELECT * FROM asset_events WHERE synced = 0 ORDER BY timestamp ASC")
    suspend fun getUnsynced(): List<AssetEventEntity>
}

Історія на пристрої — лише останні N подій. Повна історія — на сервері. WorkManager синхронізує несинхронізовані події при появі мережі.

Чому ми гарантуємо точність до 99%?

Використовуємо перевірені SDK, стабільні протоколи та тестуємо на реальному обладнанні. Без аналізу RSSI та напрямку руху неможливо відрізнити пронесення активу повз ворота від його тимчасового знаходження в зоні. Наші алгоритми враховують обидва параметри. Додатково застосовуємо стандарт EPC Gen2 для сумісності тегів. Зниження помилок обліку призводить до прямої економії коштів.

Порівняння популярних RFID-зчитувачів

Модель Макс. швидкість зчитування Підтримка LLRP Інтерфейси Типове застосування
Impinj Speedway R420 750 тегів/сек Так Ethernet, USB 2.0 Складські ворота
Zebra FX9600 1 200 тегів/сек Так Ethernet, GPIO Конвеєрні лінії
Chainway UHF RFID R6 200 тегів/сек Ні Bluetooth 5.0 Ручний пошук

Інтеграція з ERP/WMS

Asset Tracking без інтеграції з обліковою системою — половина рішення. REST API для синхронізації:

interface AssetTrackingApi {
    @POST("events/batch")
    suspend fun pushEvents(@Body events: List<AssetEventDto>): Response<BatchResult>

    @GET("assets/{epc}")
    suspend fun getAssetInfo(@Path("epc") epc: String): Response<AssetInfoDto>

    @GET("assets/{epc}/location")
    suspend fun getLastKnownLocation(@Path("epc") epc: String): Response<LocationDto>
}

getLastKnownLocation — для верифікації: оператор сканує тег, додаток одразу показує де система його бачила востаннє. Розбіжність реального та системного місцезнаходження — червоний прапор для логіста.

Як проходить інтеграція з WMS?

Крок 1: аудит поточних процесів та визначення критичних точок контролю. Крок 2: налаштування стаціонарних зчитувачів та LLRP-шлюзу для збору подій. Крок 3: розробка REST API для синхронізації — ми адаптуємо під вашу ERP (1С, SAP, Oracle). Крок 4: розгортання мобільного додатка з модулями пошуку та історії. Завершальний етап — тестування на реальних активах та навчання операторів. Весь цикл займає від 2 до 4 тижнів. Отримайте консультацію за вашим сценарієм — ми допоможемо обрати оптимальне рішення.

Типові помилки на старті

Типова помилка на старті — спроба заощадити на зчитувачах та використовувати дешеві антени без налаштування поля. Це призводить до «мертвих зон» та пропусків зчитувань. Ми проводимо передпроєктне обстеження та гарантуємо покриття.

Що входить в роботу

  • Аналіз процесів та підбір RFID-обладнання.
  • Розробка мобільного додатка (iOS/Android) з модулями пошуку та історії.
  • Налаштування стаціонарних зчитувачів та LLRP-шлюзу.
  • Серверна подійна шина та REST API.
  • Інтеграція з вашою ERP/WMS (1С, SAP, Oracle та ін.).
  • Тестування на реальних активах.
  • Документація та навчання операторів.
  • Гарантійна підтримка 3 місяці.

Терміни

Мобільний додаток пошуку активів + історія подій + REST-синхронізація з WMS: 5 днів. Повне рішення включно з налаштуванням стаціонарних зчитувачів Impinj/Zebra, LLRP-інтеграцією та серверною подійною шиною: 2–4 тижні.

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

Наші компетенції:

Останні роботи

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714