Інженер на будівництві загубив дорогий лазерний далекомір серед тонн арматури та обладнання. Звичайний 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. Зв'яжіться з нами, щоб обговорити деталі.







