Інженер на будівництві загубив дорогий лазерний далекомір серед тонн арматури та обладнання. Звичайний 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 пропонує:
- Аналіз вимог та вибір апаратної платформи (DW3000, NXP, або кастом).
- Проектування та розробка прошивки UWB-трекера.
- Створення мобільного застосунку для iOS (Swift, NearbyInteraction) та Android (Kotlin, UWB API).
- Інтеграція з системами обліку (1С, SAP, власне API).
- Проектування архітектури безпеки (шифрування сесійного ключа).
- Тестування точності та стабільності в реальних умовах.
- Документація та навчання персоналу.
Ми гарантуємо точність до 10 см навіть у приміщенні з сильними перешкодами. Переконайтеся на власному досвіді — замовте пілотний проєкт.
| Етап | Тривалість |
|---|---|
| Аналіз та вибір платформи | 1-2 тижні |
| Розробка прошивки трекера | 2-6 тижнів |
| Мобільний застосунок (1 платформа) | 1-3 тижні |
| Інтеграція та тестування | 1-2 тижні |
| Документація та навчання | 1 тиждень |
Отримайте консультацію — оцінимо вашу задачу та запропонуємо оптимальне апаратне забезпечення.
Строки
Мобільний застосунок з UWB-функціоналом (при готовому трекері) — від 1 до 3 тижнів. Повний цикл: прошивка трекера + застосунок + інтеграція — від 1 до 3 місяців. Вартість розраховується індивідуально залежно від кількості підтримуваних пристроїв та складу API. Зв'яжіться з нами, щоб обговорити деталі.







