iBeacon: що це, принцип роботи маячків та налаштування BLE

Автор: IT Sectr Опубліковано: 2026-07-17 Час читання: 10 хв

iBeacon — це пропрієтарний протокол Apple для Bluetooth Low Energy маячків, що дозволяє iOS-пристроям визначати своє місцезнаходження всередині приміщень з точністю до сантиметрів. В основі протоколу лежить широкомовна розсилка BLE-пакетів з унікальним ідентифікатором, що містить UUID, Major та Minor значення. За даними Apple iBeacon Design Guidelines (2025), технологія використовується в навігації по торгових центрах, музеях, аеропортах та на стадіонах, підтримуючи пасивне виявлення без активного сполучення пристроїв.

Головне

  • iBeacon — пропрієтарний протокол Apple для BLE-маячків, що працює без активного сполучення пристроїв.
  • Пакет iBeacon містить три ідентифікатори: UUID (унікальний ідентифікатор організації), Major та Minor (зони та точки).
  • iOS визначає три стани: Immediate (<0,5 м), Near (<3 м) та Far (<30-50 м) на основі RSSI.
  • Моніторинг регіону (region monitoring) дозволяє додатку отримувати сповіщення про вхід та вихід із зони маячка навіть у фоновому режимі.
  • Android підтримує iBeacon через бібліотеки сторонніх розробників, таких як AltBeacon від Radius Networks для крос-платформної сумісності.

Що таке iBeacon?

iBeacon — це технологія позиціонування всередині приміщень, розроблена Apple та представлена на WWDC 2013. На відміну від GPS, який не працює всередині будівель, iBeacon використовує Bluetooth Low Energy маячки — невеликі пристрої з батарейним живленням, які передають фіксовані ідентифікаційні пакети. Пристрої на iOS та Android приймають ці пакети та обчислюють приблизну відстань до маячка на основі рівня сигналу (RSSI).

Історія та розвиток

Протокол iBeacon став першим масовим стандартом BLE-маячків, запущеним Apple у 2013 році в iOS 7. Спочатку технологія використовувалася в роздрібній торгівлі: магазини Apple Store впровадили iBeacon для інформування покупців про знижки при вході у визначені зони. До 2025 року інфраструктура iBeacon налічує мільйони встановлених маячків по всьому світу, хоча з'явилися альтернативні протоколи — Eddystone від Google та AltBeacon з відкритим кодом.

Області застосування

iBeacon застосовується у п'яти основних сценаріях: навігація всередині приміщень (торгові центри, аеропорти, музеї), контекстні сповіщення (знижки при вході в магазин), автоматизація робочих процесів (позначка про присутність), логістика та складський облік, а також туристичні гіди з автоматичним відтворенням контенту при наближенні до об'єкта. За даними ABI Research (2025), ринок BLE-маячків оцінюється в 3,2 млрд пристроїв в експлуатації.

Структура протоколу iBeacon та формат пакета

Пакет iBeacon — це Advertising PDU (Protocol Data Unit), що передається в BLE-рекламному каналі на частотах 2402, 2426 та 2480 МГц. Формат пакета жорстко фіксований і складається з чотирьох полів: префікса Apple iBeacon (0x4C000215), 16-байтового UUID, 2-байтового Major та 2-байтового Minor значення, а також 1-байтового TX Power для калібрування відстані. Загальний розмір даних — 30 байт, що поміщається в один BLE Advertising PDU.

ПолеРозмірОпис
Префікс Apple9 байтCompany ID (0x004C) + iBeacon type (0x0215)
UUID16 байтУнікальний ідентифікатор організації або додатку
Major2 байтиІдентифікатор зони (0-65535), наприклад номер магазину
Minor2 байтиІдентифікатор точки (0-65535), наприклад номер полиці
TX Power1 байтКалібрувальна потужність сигналу на відстані 1 метр (dBm)

UUID, Major та Minor ієрархія

Ідентифікатори iBeacon утворюють трирівневу ієрархію. UUID призначається організації (наприклад, мережа магазинів), Major — конкретному магазину або поверху, Minor — конкретній точці всередині зони (касова зона, відділ товару). Така ієрархія дозволяє додатку гнучко реагувати на різні рівні контексту: при вході в магазин (UUID + Major) додаток може завантажити карту поверху, а при підході до конкретного відділу (Minor) показати інформацію про товар.

TX Power та калібрування

Поле TX Power — це опорне значення рівня сигналу (RSSI) на відстані 1 метр від маячка. При отриманні пакета пристрій фіксує фактичний RSSI та обчислює відстань за формулою: distance = 10^((TX_Power - RSSI) / (10 * n)), де n — коефіцієнт загасання середовища (зазвичай 2-4). Правильне калібрування TX Power критично важливе для точності позиціонування: помилка в 1 dBm дає похибку до 30% на відстані 5 метрів.

Зони наближення: Immediate, Near, Far

iOS визначає три зони наближення на основі обчисленої відстані до маячка: Immediate (менше 0,5 метра), Near (від 0,5 до 3 метрів) та Far (від 3 до 30-50 метрів залежно від умов). Точна відстань не повідомляється — лише категорія. Це зроблено навмисно: RSSI схильний до перешкод, відбиття сигналу та впливу людського тіла, тому категорії дають більш стабільне визначення місцезнаходження.

Immediate — безпосередня близькість

Immediate — зона прямого контакту, коли пристрій знаходиться в кількох сантиметрах від маячка. Використовується для сценаріїв, що вимагають максимальної точності: оплата через термінал, відкриття цифрового замка, верифікація на пропускному пункті. В зоні Immediate RSSI зазвичай становить від -30 до -60 dBm.

Near — середня дистанція

Зона Near — основна робоча зона iBeacon, що охоплює відстань від 0,5 до 3 метрів. Використовується для навігації всередині приміщень — наприклад, при підході до вітрини з товаром додаток показує детальну інформацію. В зоні Near RSSI коливається від -60 до -80 dBm при калібруванні TX Power = -59 dBm.

Far — дальня дистанція

Far — максимальна зона виявлення сигналу маячка. Використовується для моніторингу входу в регіон (наприклад, вхід у торговий центр). На дистанції Far RSSI зазвичай слабший за -80 dBm, і точність визначення відстані значно падає. Для моніторингу входу використовуються системні API region monitoring, а не визначення точної зони.

Моніторинг регіону на iOS

Регіон iBeacon — це віртуальна область, що визначається за UUID (та опціонально Major + Minor). iOS дозволяє моніторити до 20 регіонів одночасно за допомогою CLLocationManager. При вході в регіон система пробуджує додаток навіть у фоновому або завершеному стані та надсилає сповіщення через делегат locationManager:didEnterRegion. При виході з регіону викликається locationManager:didExitRegion.

swift
import CoreLocation

let locationManager = CLLocationManager()
let region = CLBeaconRegion(
    uuid: UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!,
    identifier: "myBeaconRegion"
)
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
locationManager.startMonitoring(for: region)

Ranging — визначення точної зони

Для визначення зони (Immediate, Near, Far) використовується ranging — сканування маячків у реальному часі. На відміну від моніторингу, ranging працює лише в активному режимі додатку та вимагає дозволу на доступ до місцезнаходження. Метод locationManager:didRangeBeacons:inRegion повертає масив CLBeacon з полями proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (калібрована відстань у метрах) та rssi.

swift
func locationManager(
    _ manager: CLLocationManager,
    didRangeBeacons beacons: [CLBeacon],
    in region: CLBeaconRegion
) {
    for beacon in beacons {
        switch beacon.proximity {
        case .immediate:
            print("Безпосередня близькість")
        case .near:
            print("Близька відстань")
        case .far:
            print("Далека відстань")
        default:
            print("Невідома близькість")
        }
    }
}

iBeacon на Android: AltBeacon та крос-платформна інтеграція

Android не має вбудованої підтримки iBeacon, оскільки протокол є пропрієтарним рішенням Apple. Однак за допомогою сторонніх бібліотек, таких як AltBeacon від Radius Networks (нині частина організації Open Beacon), розробники можуть інтегрувати iBeacon в Android-додатки. Бібліотека AltBeacon реалізує сканування BLE-пакетів, парсинг iBeacon-формату та емуляцію ranging і моніторингу регіонів, аналогічних iOS API.

kotlin
val beaconManager = BeaconManager.getInstanceForApplication(context)
beaconManager.beaconParsers.add(
    BeaconParser().setBeaconLayout(
        "m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"
    )
)
beaconManager.backgroundBetweenScanPeriod = 5000
beaconManager.foregroundScanPeriod = 1100
beaconManager.bind(this)

Парсинг iBeacon пакета на Android

Формат парсингу iBeacon у бібліотеці AltBeacon визначається рядком layout: «m:2-3=0215» — перевірка двох байтів iBeacon-маркера, «i:4-19» — 16-байтовий UUID, «i:20-21» — Major, «i:22-23» — Minor, «p:24-24» — TX Power. Такий же формат підтримується для Eddystone та інших протоколів, що робить AltBeacon універсальною бібліотекою для роботи з BLE-маячками на Android.

Обмеження на Android

На Android робота з iBeacon має три ключові обмеження: фонове сканування обмежене виробниками (Xiaomi, Huawei, Samsung часто вбивають фонові процеси), точність RSSI нижча, ніж на iOS, через відмінності в BLE-стеках, та для сканування потрібен дозвіл ACCESS_FINE_LOCATION починаючи з Android 6.0 та BLUETOOTH_SCAN з Android 12.

iBeacon vs Eddystone: порівняння протоколів маячків

Eddystone — відкритий протокол BLE-маячків від Google, представлений у 2015 році. На відміну від iBeacon, Eddystone підтримує чотири типи пакетів: Eddystone-UID (фіксований ідентифікатор), Eddystone-URL (передача URL для Physical Web), Eddystone-TLM (телеметрія маячка — заряд батареї, температура) та Eddystone-EID (зашифрований ідентифікатор для захисту від клонування). Незважаючи на те, що Google припинила розвиток Physical Web у 2022 році, протокол Eddystone продовжує використовуватися в корпоративних рішеннях.

ПараметрiBeaconEddystone
ВласникAppleGoogle (відкритий)
Типи пакетів1 (UID)4 (UID, URL, TLM, EID)
ДаніUUID+Major+MinorID/URL + телеметрія
Нативна підтримка iOSТак (CoreLocation)Ні (через CoreBluetooth)
Physical WebНіТак (Eddystone-URL)
БезпекаНемає шифруванняEID з ротацією ключів

Вибір протоколу для проекту

Вибір між iBeacon та Eddystone залежить від цільової платформи та сценарію використання. iBeacon кращий для iOS-додатків завдяки нативній інтеграції з CoreLocation та моніторингу регіонів у фоновому режимі. Eddystone краще підходить для Android-орієнтованих проектів та сценаріїв Physical Web, де маячок передає URL без встановлення додатку. Для крос-платформних проектів часто використовують AltBeacon, що підтримує обидва протоколи.

Типові проблеми та обмеження iBeacon

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

Вплив середовища на RSSI

Рівень сигналу RSSI схильний до значних коливань через відбиття від стін, металевих конструкцій, присутності людей та інших бездротових пристроїв у діапазоні 2,4 ГГц. У приміщенні розкид RSSI для одного маячка може досягати 10-15 dBm за хвилину, що робить обчислення відстані неточним без використання фільтрів (згладжування ковзним середнім, калманівська фільтрація).

Ліміт моніторингу регіону

iOS підтримує моніторинг не більше 20 регіонів одночасно на один додаток. Для проектів, що вимагають покриття великої території (аеропорт, стадіон), цього недостатньо. Рішення — використовувати динамічне перемикання регіонів: при вході в один регіон активуються сусідні, а віддалені деактивуються.

Час відгуку моніторингу

Затримка між входом у регіон та отриманням сповіщення може становити від 1 до 30 секунд залежно від умов. iOS сканує маячки періодично для економії батареї, тому миттєвої реакції очікувати не слід. Для критичних за часом сценаріїв (відкриття дверей при підході) рекомендується використовувати Immediate ranging, але воно працює лише в активному режимі додатку.

Часто задавані питання

Що таке iBeacon?

iBeacon — це протокол Apple для Bluetooth Low Energy маячків, що дозволяє iOS та Android пристроям визначати своє місцезнаходження всередині приміщень з точністю до сантиметрів на основі аналізу рівня сигналу (RSSI) переданих BLE-пакетів.

Чим iBeacon відрізняється від Bluetooth?

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

Як працює iBeacon без підключення?

iBeacon працює в режимі Advertising — маячок постійно передає широкомовні BLE-пакети з ID-інформацією. Пристрій приймає пакет, але не підключається до маячка. Це дозволяє економити батарею маячка (до 2-3 років роботи від однієї CR2032) та виявляти маячки пасивно без активного сканування.

Чи можна знайти iPhone за iBeacon?

Ні, iBeacon не призначений для пошуку пристроїв. Маячки iBeacon — це стаціонарні передавачі, а iPhone виступає в ролі приймача. iPhone не передає iBeacon-сигнали (за винятком функції Find My, що використовує інший протокол на базі BLE). Для пошуку телефону використовуються інші технології (Find My network, UWB).

Як далеко працює iBeacon?

Радіус дії iBeacon залежить від налаштувань маячка та умов середовища. Типова дальність: Immediate — до 0,5 м, Near — до 3 м, Far — до 30-50 м. При використанні маячків з підсилювачем сигналу та у відкритих просторах дальність може досягати 70 м, але точність визначення відстані на такій дистанції мінімальна.

Підсумки

  • iBeacon — пропрієтарний протокол Apple для BLE-маячків, що працює на основі широкомовних пакетів без активного сполучення.
  • Пакет iBeacon містить UUID (16 байт), Major (2 байти) та Minor (2 байти), а також калібрувальний TX Power.
  • iOS визначає три зони наближення: Immediate (<0,5 м), Near (<3 м) та Far (<30-50 м), використовуючи категорії замість точної відстані.
  • Моніторинг регіону дозволяє додатку отримувати сповіщення про вхід/вихід із зони маячка навіть у фоновому режимі (до 20 регіонів).
  • Android підтримує iBeacon через бібліотеку AltBeacon з парсингом пакетів через BeaconParser та рядок layout.
  • Eddystone від Google — альтернативний відкритий протокол з підтримкою URL та зашифрованих ідентифікаторів EID.
  • Основні обмеження iBeacon: нестабільність RSSI в приміщеннях, ліміт 20 регіонів та затримка моніторингу до 30 секунд.

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також