Точний пошук предметів через UWB: від трекера до мобільного застосунку

Втрата дорогого інструменту або обладнання на складі чи об'єкті — це години простою та зайві витрати. Наша команда розробляє UWB-рішення для точного пошуку предметів — від автономного трекера до мобільного застосунку з інтуїтивним інтерфейсом. Ми реалізуємо проєкт під ключ, забезпечуючи надійну роботу та подальшу підтримку.

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

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

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

Точний пошук предметів через UWB: від трекера до мобільного застосунку

Інтеграція з пристроями (BLE, NFC, IoT, HomeKit)Складнийвід 1 тижня до 3 місяців
Часті запитання

Інженер на будівництві загубив дорогий лазерний далекомір серед тонн арматури та обладнання. Звичайний Bluetooth-трекер показав радіус 15 метрів, але не точний напрямок. Довелося перерити весь склад. Після впровадження UWB-трекера з точністю до 10 сантиметрів втрата інструменту перестала бути проблемою. Ми реалізували такий проєкт для клієнта зі сфери промислової безпеки — повністю під ключ: від прошивки трекера до мобільного застосунку для iOS та Android. Досвід показує, що UWB-пошук скорочує час знаходження предметів на 90%.

UWB (Ultra-Wideband) використовує короткі імпульси для вимірювання відстані за часом прольоту (ToF) з точністю до наносекунд. Телефон з U1-чіпом та трекер обмінюються сигналами, обчислюючи не лише дистанцію, але й напрямок (angle of arrival). Так отримується стрілка, що вказує на предмет. В основі лежить технологія IEEE 802.15.4z, описана в Ultra-wideband.

Як працює точний пошук предметів з UWB?

UWB-сесія на мобільному пристрої ініціюється Bluetooth Low Energy: трекер передає свій ідентифікатор та ключі. Після цього встановлюється UWB-з'єднання, і починається обмін даними з частотою до 60 Гц. На основі часу поширення сигналу обчислюється дистанція, а на основі різниці фаз на антенах — напрямок.

Чому варто впровадити UWB-пошук вже зараз?

Bluetooth-трекери дають лише приблизну відстань, а UWB забезпечує точність до 10 см та напрямок. Для промислових об'єктів, лікарень, складів це означає економію до 40% бюджету на пошук загубленого обладнання. Наші клієнти повідомляють, що час інвентаризації скорочується втричі.

Два сценарії: Find My мережа vs автономний UWB

Характеристика Find My Network Автономний UWB
Вимоги до трекера MFi, Bluetooth-чіп з Apple H2 UWB-чіп (DW3000, NXP)
Глобальний трекінг Так, через мережу iPhone Ні, тільки поблизу
MFi-ліцензія Обов'язкова Не потрібна
Точність пошуку ≤10 см (при UWB) ≤10 см
Вихід на ринок Довше (схвалення Apple) Швидше

Автономний UWB-підхід впроваджується в 2-3 рази швидше, ніж інтеграція в Find My Network, через відсутність етапу сертифікації MFi. Для B2B-сегменту (склади, будівництва, лікарні) це краще рішення.

iOS: реалізація через NearbyInteraction

На iOS ключовий фреймворк — NearbyInteraction. Він надає об'єкти NINearbyObject з distance та direction. Ось приклад типової сесії:

import NearbyInteraction
import CoreBluetooth

class ItemFinderSession: NSObject {
    private var niSession: NISession?
    private var currentDistance: Float = 0
    private var currentDirection: SIMD3<Float>?

    func startFinding(accessoryToken: Data, bluetoothId: UUID) {
        niSession = NISession()
        niSession?.delegate = self
        niSession?.delegateQueue = .main
        let config = NINearbyAccessoryConfiguration(
            accessoryData: accessoryToken,
            bluetoothPeerIdentifier: bluetoothId
        )
        niSession?.run(config)
    }
}

extension ItemFinderSession: NISessionDelegate {
    func session(_ session: NISession, didUpdate nearbyObjects: [NINearbyObject]) {
        guard let obj = nearbyObjects.first else { return }
        if let distance = obj.distance {
            currentDistance = distance
            // Оновлюємо UI: відстань до предмета
            updateDistanceDisplay(meters: distance)
        }
        if let direction = obj.direction {
            currentDirection = direction
            // direction — одиничний вектор у ARKit coordinate space
            // direction.x: вліво-вправо, direction.y: вгору-вниз, direction.z: вперед-назад
            updateDirectionalArrow(direction: direction)
        }
    }

    func session(_ session: NISession, didUpdateAlgorithmConvergence convergence: NIAlgorithmConvergence, for object: NINearbyObject?) {
        // convergence.status: .converged / .notConverged([reasons])
        // При notConverged — просити користувача повести телефоном
        handleConvergence(convergence.status)
    }
}

Критичний момент — convergence.status. Якщо користувач стоїть нерухомо, direction не приходить. У нашому проєкті ми додали анімацію та голосову підказку "поруште телефоном" — це скоротило час першого визначення до 2 секунд.

Що визначає UX: конвергенція алгоритму та зворотний зв'язок?

UWB-алгоритму потрібен рух для визначення кута. Ми реалізували комбіновану індикацію: відстань відображається велико, напрямок — стрілкою. При дистанції менше 0,3 м вмикається вібрація UIImpactFeedbackGenerator(.heavy). Тактильний зворотний зв'язок — стандарт, запозичений з AirTag.

Трекер на базі DW3000 для автономного рішення

Для автономного трекера без MFi використовуємо Qorvo DWM3001C — готовий UWB-трансивер з BLE. Прошивка реалізує UWB Initiator role, обмінюється токеном по BLE та відповідає на TWR-запити телефону. На Android аналогічний досвід дає бібліотека androidx.core.uwb:

val rangingParams = UwbRangingParameters(
    uwbConfigType = UwbRangingParameters.CONFIG_UNICAST_DS_TWR,
    complexChannel = controllerScope.uwbComplexChannel,
    peerDevices = listOf(UwbDevice.createForAddress(trackerUwbAddress)),
    updateRateType = UwbRangingParameters.RANGING_UPDATE_RATE_FREQUENT,
    sessionKeyInfo = sharedSessionKey
)
Технічні специфікації трекера
  • Модуль: DWM3001C (Qorvo)
  • Частота: 6.5 ГГц (канал 5)
  • Дальність: до 10 м (кут до 20 м)
  • Живлення: CR2032 (термін служби до 12 міс.)
  • Інтерфейс: BLE 5.0 + UWB
  • Ролі: Initiator/Responder

Що входить в UWB-рішення під ключ?

Наша команда з 5+ років досвіду та понад 50 проєктами в BLE/UWB пропонує:

  1. Аналіз вимог та вибір апаратної платформи (DW3000, NXP, або кастом).
  2. Проектування та розробка прошивки UWB-трекера.
  3. Створення мобільного застосунку для iOS (Swift, NearbyInteraction) та Android (Kotlin, UWB API).
  4. Інтеграція з системами обліку (1С, SAP, власне API).
  5. Проектування архітектури безпеки (шифрування сесійного ключа).
  6. Тестування точності та стабільності в реальних умовах.
  7. Документація та навчання персоналу.

Ми гарантуємо точність до 10 см навіть у приміщенні з сильними перешкодами. Переконайтеся на власному досвіді — замовте пілотний проєкт.

Етап Тривалість
Аналіз та вибір платформи 1-2 тижні
Розробка прошивки трекера 2-6 тижнів
Мобільний застосунок (1 платформа) 1-3 тижні
Інтеграція та тестування 1-2 тижні
Документація та навчання 1 тиждень

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

Строки

Мобільний застосунок з UWB-функціоналом (при готовому трекері) — від 1 до 3 тижнів. Повний цикл: прошивка трекера + застосунок + інтеграція — від 1 до 3 місяців. Вартість розраховується індивідуально залежно від кількості підтримуваних пристроїв та складу API. Зв'яжіться з нами, щоб обговорити деталі.

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

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

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