iBeacon: co to je, princip fungování beaconů a nastavení BLE

Autor: IT Sectr Publikováno: 2026-07-17 Doba čtení: 10 min

iBeacon — je proprietární protokol společnosti Apple pro Bluetooth Low Energy beaconů, umožňující zařízením iOS určovat svou polohu uvnitř budov s přesností na centimetry. Základem protokolu je vysílání BLE paketů s jedinečným identifikátorem obsahujícím UUID, Major a Minor. Podle Apple iBeacon Design Guidelines (2025) se technologie používá v navigaci v obchodních centrech, muzeích, letištích a na stadionech, přičemž podporuje pasivní detekci bez aktivního párování zařízení.

Hlavní body

  • iBeacon — proprietární protokol Apple pro BLE beaconů, fungující bez aktivního párování zařízení.
  • Paket iBeacon obsahuje tři identifikátory: UUID (jedinečný identifikátor organizace), Major a Minor (zóny a body).
  • iOS určuje tři stavy: Immediate (<0,5 m), Near (<3 m) a Far (<30-50 m) na základě RSSI.
  • Monitorování regionu (region monitoring) umožňuje aplikaci dostávat upozornění o vstupu a výstupu ze zóny beaconu i na pozadí.
  • Android podporuje iBeacon prostřednictvím knihoven třetích stran, jako je AltBeacon od Radius Networks pro křížovou platformovou kompatibilitu.

Co je iBeacon?

iBeacon — je technologie umístřování v interiéru vyvinutá společností Apple a představená na WWDC 2013. Na rozdíl od GPS, které nefunguje uvnitř budov, iBeacon využívá Bluetooth Low Energy beaconů — malých zařízení napájených baterií, která vysílají pevné identifikační pakety. Zařízení na iOS a Android tyto pakety přijímají a vypočítávají přibližnou vzdálenost k beaconu na základě úrovně signálu (RSSI).

Historie a vývoj

Protokol iBeacon se stal prvním masovým standardem BLE beaconů, spuštěným společností Apple v roce 2013 v iOS 7. Původně byla technologie používána v maloobchodě: obchody Apple Store zavedly iBeacon pro informování zákazníků o slevách při vstupu do určitých zón. Do roku 2025 infastruktura iBeacon čítá miliony nainstalovaných beaconů po celém světě, i když se objevily alternativní protokoly — Eddystone od Google a AltBeacon s otevřeným zdrojovým kódem.

Oblasti použití

iBeacon se používá v pěti hlavních scénářích: navigace v interiéru (obchodní centra, letiště, muzea), kontextová upozornění (slevy při vstupu do obchodu), automatizace pracovních procesů (označení přítomnosti), logistika a skladové účetnictví, stejně jako turističtí průvodci s automatickým přehráváním obsahu při přiblížení k objektu. Podle ABI Research (2025) je trh BLE beaconů odhadován na 3,2 miliardy zařízení v provozu.

Struktura protokolu iBeacon a formát paketu

Paket iBeacon — je Advertising PDU (Protocol Data Unit), vysílaný v BLE reklamním kanálu na frekvencích 2402, 2426 a 2480 MHz. Formát paketu je přísně fixní a skládá se ze čtyř polí: prefixu Apple iBeacon (0x4C000215), 16-bajtového UUID, 2-bajtové hodnoty Major a 2-bajtové hodnoty Minor a 1-bajtového TX Power pro kalibraci vzdálenosti. Celková velikost dat je 30 bajtů, což se vejde do jednoho BLE Advertising PDU.

PoleVelikostPopis
Prefix Apple9 bajtůCompany ID (0x004C) + iBeacon type (0x0215)
UUID16 bajtůJedinečný identifikátor organizace nebo aplikace
Major2 bajtyIdentifikátor zóny (0-65535), např. číslo obchodu
Minor2 bajtyIdentifikátor bodu (0-65535), např. číslo regálu
TX Power1 bajtKalibrační výkon signálu na vzdálenost 1 metru (dBm)

Hierarchie UUID, Major a Minor

Identifikátory iBeacon tvoří třúřrovňovou hierarchii. UUID je přiděleno organizaci (např. řetězec obchodů), Major — konkrétnímu obchodu nebo patru, Minor — konkrétnímu bodu v zóně (pokladní zóna, oddělení zboží). Tato hierarchie umožňuje aplikaci flexibilně reagovat na různé úrovně kontextu: při vstupu do obchodu (UUID + Major) může aplikace načíst mapu patra a při přiblížení ke konkrétnímu oddělení (Minor) zobrazit informace o produktu.

TX Power a kalibrace

Pole TX Power — je referenční hodnota úrovně signálu (RSSI) na vzdálenost 1 metru od beaconu. Po přijetí paketu zařízení zaznamená skutečný RSSI a vypočítá vzdálenost podle vzorce: distance = 10^((TX_Power - RSSI) / (10 * n)), kde n je koeficient útlumu prostředí (obvykle 2-4). Správná kalibrace TX Power je kritická pro přesnost umístění: chyba 1 dBm způsobuje odchylku až 30% na vzdálenost 5 metrů.

Zóny blízkosti: Immediate, Near, Far

iOS určuje tři zóny blízkosti na základě vypočítané vzdálenosti k beaconu: Immediate (méně než 0,5 metru), Near (0,5 až 3 metry) a Far (3 až 30-50 metrů v závislosti na podmínkách). Přesná vzdálenost se neuvádí — pouze kategorie. To je záměrné: RSSI je náchylné k rušení, odrazům signálu a vlivu lidského těla, proto kategorie poskytují stabilnější určení polohy.

Immediate — přímá blízkost

Immediate — zóna přímého kontaktu, kdy je zařízení několik centimetrů od beaconu. Používá se pro scénáře vyžadující maximální přesnost: platba přes terminál, otevírání digitálního zámku, ověření na kontrolním bodu. V zóně Immediate je RSSI obvykle od -30 do -60 dBm.

Near — střední vzdálenost

Zóna Near — hlavní pracovní zóna iBeacon, pokrývající vzdálenost 0,5 až 3 metry. Používá se pro navigaci v interiéru — například při přiblížení k výloze se zbožím aplikace zobrazuje podrobné informace. V zóně Near se RSSI pohybuje od -60 do -80 dBm při kalibraci TX Power = -59 dBm.

Far — vzdálená vzdálenost

Far — maximální zóna detekce signálu beaconu. Používá se pro monitorování vstupu do regionu (například vstup do obchodního centra). Na vzdálenosti Far je RSSI obvykle slabší než -80 dBm a přesnost určení vzdálenosti výrazně klesá. Pro monitorování vstupu se používají systémová API region monitoring, nikoli určení přesné zóny.

Monitorování regionu na iOS

Region iBeacon — je virtuální oblast definovaná UUID (a volitelně Major + Minor). iOS umožňuje monitorovat až 20 regionů současně pomocí CLLocationManager. Při vstupu do regionu systém probudí aplikaci i na pozadí nebo v ukončeném stavu a odešle upozornění prostřednictvím delegáta locationManager:didEnterRegion. Při výstupu z regionu je voláno 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 — určení přesné zóny

Pro určení zóny (Immediate, Near, Far) se používá ranging — skenování beaconů v reálném čase. Na rozdíl od monitorování, ranging funguje pouze v aktivním režimu aplikace a vyžaduje oprávnění k přístupu k poloze. Metoda locationManager:didRangeBeacons:inRegion vrací pole CLBeacon s poli proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (kalibrovaná vzdálenost v metrech) a rssi.

swift
func locationManager(
    _ manager: CLLocationManager,
    didRangeBeacons beacons: [CLBeacon],
    in region: CLBeaconRegion
) {
    for beacon in beacons {
        switch beacon.proximity {
        case .immediate:
            print("Bezprostřední blízkost")
        case .near:
            print("Blízká blízkost")
        case .far:
            print("Vzdálená blízkost")
        default:
            print("Neznámá blízkost")
        }
    }
}

iBeacon na Androidu: AltBeacon a křížová platformová integrace

Android nemá vestavěnou podporu pro iBeacon, protože protokol je proprietární řešení Apple. S pomocí knihoven třetích stran, jako je AltBeacon od Radius Networks (nyní součást organizace Open Beacon), však mohou vývojáři integrovat iBeacon do aplikací pro Android. Knihovna AltBeacon implementuje skenování BLE paketů, parsování formátu iBeacon a emulaci ranging a monitorování regionů, podobně jako 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)

Parsování iBeacon paketu na Androidu

Formát parsování iBeacon v knihovně AltBeacon je definován řetězcem layout: „m:2-3=0215” — kontrola dvou bajtů iBeacon markeru, „i:4-19” — 16-bajtové UUID, „i:20-21” — Major, „i:22-23” — Minor, „p:24-24” — TX Power. Stejný formát je podporován pro Eddystone a další protokoly, což činí AltBeacon univerzální knihovnou pro práci s BLE beaconů na Androidu.

Omezení na Androidu

Na Androidu má práce s iBeacon tři klíčová omezení: skenování na pozadí je omezeno výrobci (Xiaomi, Huawei, Samsung často ukončují procesy na pozadí), přesnost RSSI je nižší než na iOS kvůli rozdílům v BLE zásobnících a pro skenování je vyžadováno oprávnění ACCESS_FINE_LOCATION od Androidu 6.0 a BLUETOOTH_SCAN od Androidu 12.

iBeacon vs Eddystone: srovnání protokolů beaconů

Eddystone — otevřený protokol BLE beaconů od Google, představený v roce 2015. Na rozdíl od iBeacon, Eddystone podporuje čtyři typy paketů: Eddystone-UID (pevný identifikátor), Eddystone-URL (přenos URL pro Physical Web), Eddystone-TLM (telemetrie beaconů — úroveň baterie, teplota) a Eddystone-EID (šifrovaný identifikátor pro ochranu před klonováním). Přestože Google zastavil vývoj Physical Web v roce 2022, protokol Eddystone se nadále používá v podnikových řešeních.

ParametriBeaconEddystone
VlastníkAppleGoogle (otevřený)
Typy paketů1 (UID)4 (UID, URL, TLM, EID)
DataUUID+Major+MinorID/URL + telemetrie
Nativní podpora iOSAno (CoreLocation)Ne (přes CoreBluetooth)
Physical WebNeAno (Eddystone-URL)
BezpečnostBez šifrováníEID s rotací klíčů

Výběr protokolu pro projekt

Výběr mezi iBeacon a Eddystone závisí na cílové platformě a scénáři použití. iBeacon je preferován pro iOS aplikace díky nativní integraci s CoreLocation a monitorování regionů na pozadí. Eddystone je vhodnější pro projekty orientované na Android a scénáře Physical Web, kde beacon přenáší URL bez instalace aplikace. Pro křížové platformové projekty se často používá AltBeacon, který podporuje oba protokoly.

Typické problémy a omezení iBeacon

Při implementaci iBeacon se vývojáři setkávají s řadou omezení, která je třeba zvážit ve fázi návrhu architektury. Nesprávné zohlednění těchto faktorů vede k nestabilnímu provozu navigace, falešným spuštěním a rychlejšímu vybití baterie beaconů, než se předpokládalo.

Vliv prostředí na RSSI

Úroveň signálu RSSI podléhá významným výkyvům kvůli odrazům od zdí, kovových konstrukcí, přítomnosti lidí a dalších bezdrátových zařízení v pásmu 2,4 GHz. V interiéru může rozpětí RSSI pro jeden beacon dosáhnout 10-15 dBm za minutu, což činí výpočet vzdálenosti nepřesným bez použití filtrů (vyhlazování klouzavým průměrem, Kalmanova filtrace).

Limit monitorování regionu

iOS podporuje monitorování nejvýše 20 regionů současně pro jednu aplikaci. Pro projekty vyžadující pokrytí velkého území (letiště, stadion) to není dostačující. Řešení — dynamické přepínání regionů: při vstupu do jednoho regionu se sousední aktivují a vzdálené deaktivují.

Doba odezvy monitorování

Zpoždění mezi vstupem do regionu a přijetím upozornění může být od 1 do 30 sekund v závislosti na podmínkách. iOS skenuje beacony periodicky pro úspory baterie, proto nelze očekávat okamžitou reakci. Pro časově kritické scénáře (otevírání dveří při přiblížení) se doporučuje použít Immediate ranging, ale to funguje pouze v aktivním režimu aplikace.

Často kladené otázky

Co je iBeacon?

iBeacon — je protokol Apple pro Bluetooth Low Energy beacony, který umožňuje zařízením iOS a Android určovat svou polohu uvnitř budov s přesností na centimetry na základě analýzy úrovně signálu (RSSI) přijímaných BLE paketů.

Čím se iBeacon liší od Bluetooth?

Bluetooth — je obecný protokol bezdrátové komunikace pro přenos dat mezi zařízeními vyžadující párování. iBeacon — specializovaný protokol nad BLE, určený výhradně pro vysílání identifikátorů bez navazování spojení. iBeacon beacony nepřenášejí data — pouze oznamují svou přítomnost.

Jak iBeacon funguje bez připojení?

iBeacon funguje v režimu Advertising — beacon neustále vysílá vysílací BLE pakety s informacemi ID. Zařízení paket přijme, ale k beaconu se nepřipojuje. To šetří baterii beaconu (až 2-3 roky provozu z jedné CR2032) a umožňuje pasivní detekci beaconů bez aktivního skenování.

Lze najít iPhone pomocí iBeacon?

Ne, iBeacon není určen k vyhledávání zařízení. iBeacon beacony jsou stacionární vysílače a iPhone funguje jako přijímač. iPhone nevysílá iBeacon signály (s výjimkou funkce Find My, která používá jiný protokol na bázi BLE). Pro nalezení telefonu se používají jiné technologie (síť Find My, UWB).

Jak daleko iBeacon funguje?

Dosah iBeacon závisí na nastavení beaconu a podmínkách prostředí. Typický dosah: Immediate — do 0,5 m, Near — do 3 m, Far — do 30-50 m. Při použití beaconů se zesilovačem signálu a v otevřených prostorech může dosah dosáhnout 70 m, ale přesnost určení vzdálenosti na takovou vzdálenost je minimální.

Shrnutí

  • iBeacon — proprietární protokol Apple pro BLE beaconů, fungující na základě vysílaných paketů bez aktivního párování.
  • Paket iBeacon obsahuje UUID (16 bajtů), Major (2 bajty) a Minor (2 bajty) a kalibrační TX Power.
  • iOS určuje tři zóny blízkosti: Immediate (<0,5 m), Near (<3 m) a Far (<30-50 m), s použitím kategorií místo přesné vzdálenosti.
  • Monitorování regionu umožňuje aplikaci dostávat upozornění o vstupu/výstupu z zóny beaconu i na pozadí (až 20 regionů).
  • Android podporuje iBeacon prostřednictvím knihovny AltBeacon s parsováním paketů přes BeaconParser a řetězec layout.
  • Eddystone od Google — alternativní otevřený protokol s podporou URL a šifrovaných identifikátorů EID.
  • Hlavní omezení iBeacon: nestabilita RSSI v interiéru, limit 20 regionů a zpoždění monitorování až 30 sekund.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také