iBeacon — az Apple szabadalmaztatott protokollja Bluetooth Low Energy beaconokhoz, amely lehetővé teszi az iOS-eszközök számára, hogy centiméteres pontossággal határozzák meg helyüket épületeken belül. A protokoll alapja a BLE-csomagok sugárzása egyedi azonosítóval, amely UUID-t, Major és Minor értékeket tartalmaz. Az Apple iBeacon Design Guidelines (2025) szerint a technológiát bevásárlóközpontok, múzeumok, repülőterek és stadionok navigációjában használják, támogatva a passzív érzékelést aktív eszközpárosítás nélkül.
Főbb pontok
iBeacon — egy beltéri helymeghatározó technológia, amelyet az Apple fejlesztett ki és mutatott be a WWDC 2013 konferencián. Ellentétben a GPS-szel, amely nem működik épületeken belül, az iBeacon Bluetooth Low Energy beaconokat használ — kisméretű, elemmel működő eszközöket, amelyek rögzített azonosító csomagokat sugároznak. Az iOS és Android eszközök fogadják ezeket a csomagokat, és a jelerősség (RSSI) alapján kiszámítják a beacon hozzávetőleges távolságát.
Az iBeacon protokoll lett az első tömeges BLE beacon szabvány, amelyet az Apple 2013-ban indított el az iOS 7-ben. Kezdetben a technológiát a kiskereskedelemben használták: az Apple Store-ok bevezették az iBeacont, hogy tájékoztassák a vásárlókat a kedvezményekről bizonyos zónákba lépéskor. 2025-re az iBeacon infrastruktúra világszerte milliók telepített beaconnal rendelkezik, bár alternatív protokollok is megjelentek — a Google Eddystone és a nyílt forráskódú AltBeacon.
Az iBeacont öt fő forgatókönyvben használják: beltéri navigáció (bevásárlóközpontok, repülőterek, múzeumok), kontextuális értesítések (kedvezmények boltba lépéskor), munkafolyamatok automatizálása (jelenlét jelölése), logisztika és raktárkezelés, valamint turisztikai idegenvezetők automatikus tartalomlejátszással a tárgyhoz közeledve. Az ABI Research (2025) szerint a BLE beaconok piaca 3,2 milliárd üzemben lévő eszközre becsülhető.
Az iBeacon csomag — egy Advertising PDU (Protocol Data Unit), amelyet a BLE reklámcsatornán továbbítanak 2402, 2426 és 2480 MHz frekvenciákon. A csomag formátuma szigorúan rögzített, és négy mezőből áll: Apple iBeacon előtag (0x4C000215), 16 bájtos UUID, 2 bájtos Major és 2 bájtos Minor értékek, valamint 1 bájtos TX Power a távolság kalibrálásához. Az adatok teljes mérete 30 bájt, ami elfér egyetlen BLE Advertising PDU-ban.
| Mező | Méret | Leírás |
|---|---|---|
| Apple előtag | 9 bájt | Company ID (0x004C) + iBeacon type (0x0215) |
| UUID | 16 bájt | A szervezet vagy alkalmazás egyedi azonosítója |
| Major | 2 bájt | Zóna azonosító (0-65535), pl. bolt száma |
| Minor | 2 bájt | Pont azonosító (0-65535), pl. polc száma |
| TX Power | 1 bájt | Kalibrációs jelerősség 1 méter távolságban (dBm) |
Az iBeacon azonosítók háromszintű hierarchiát alkotnak. Az UUID-t a szervezethez rendelik (pl. üzletlánc), a Major-t az adott bolthoz vagy emelethez, a Minor-t a zónán belüli adott ponthoz (pénztárzóna, áruosztály). Ez a hierarchia lehetővé teszi az alkalmazás számára, hogy rugalmasan reagáljon a kontextus különböző szintjeire: a boltba lépéskor (UUID + Major) az alkalmazás betöltheti az emelet térképét, egy adott osztályhoz közeledve (Minor) pedig megjelenítheti a termék információit.
A TX Power mező — a jelszint (RSSI) referenciaértéke 1 méter távolságban a beacon-tól. A csomag vételekor az eszköz rögzíti a tényleges RSSI-t, és kiszámítja a távolságot a képlet alapján: distance = 10^((TX_Power - RSSI) / (10 * n)), ahol n — a környezet csillapítási együtthatója (általában 2-4). A TX Power helyes kalibrálása kritikus fontosságú a pozicionálás pontosságához: 1 dBm hiba akár 30%-os eltérést okoz 5 méter távolságban.
Az iOS három közelségi zónát határoz meg a beacon kiszámított távolsága alapján: Immediate (kevesebb mint 0,5 méter), Near (0,5-3 méter) és Far (3-30-50 méter körülményektől függően). A pontos távolságot nem közli — csak a kategóriát. Ez szándékos: az RSSI érzékeny az interferenciára, jelvisszaverődésekre és az emberi test hatására, ezért a kategóriák stabilabb helymeghatározást biztosítanak.
Immediate — a közvetlen érintkezés zónája, amikor az eszköz néhány centiméterre van a beacon-tól. Olyan forgatókönyvekhez használják, amelyek maximális pontosságot igényelnek: fizetés terminálon keresztül, digitális zár nyitása, ellenőrzés beléptető ponton. Az Immediate zónában az RSSI általában -30 és -60 dBm között van.
A Near zóna — az iBeacon fő munkazónája, amely 0,5-3 méter távolságot fed le. Beltéri navigációhoz használják — például amikor a felhasználó egy áruvitrinhez közeledik, az alkalmazás részletes információkat jelenít meg. A Near zónában az RSSI -60 és -80 dBm között változik TX Power = -59 dBm kalibrációnál.
Far — a beacon jelének maximális érzékelési zónája. A régióba lépés figyelésére használják (pl. belépés egy bevásárlóközpontba). Far távolságon az RSSI általában gyengébb, mint -80 dBm, és a távolság meghatározásának pontossága jelentősen csökken. A belépés figyelésére rendszer API-kat (region monitoring) használnak, nem a pontos zóna meghatározását.
Az iBeacon régió — egy virtuális terület, amelyet az UUID (és opcionálisan Major + Minor) határoz meg. Az iOS lehetővé teszi akár 20 régió egyidejű figyelését a CLLocationManager segítségével. A régióba lépéskor a rendszer felébreszti az alkalmazást akár háttérben vagy leállított állapotban is, és értesítést küld a locationManager:didEnterRegion delegált segítségével. A régióból való kilépéskor a locationManager:didExitRegion kerül meghívásra.
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)
A zóna (Immediate, Near, Far) meghatározásához ranging-et használnak — a beaconok valós idejű letapogatását. Ellentétben a figyeléssel, a ranging csak az alkalmazás aktív módjában működik, és helyhozzáférési engedélyt igényel. A locationManager:didRangeBeacons:inRegion metódus egy CLBeacon tömböt ad vissza proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (kalibrált távolság méterben) és rssi mezőkkel.
func locationManager(
_ manager: CLLocationManager,
didRangeBeacons beacons: [CLBeacon],
in region: CLBeaconRegion
) {
for beacon in beacons {
switch beacon.proximity {
case .immediate:
print("Azonnali közelség")
case .near:
print("Közeli közelség")
case .far:
print("Távoli közelség")
default:
print("Ismeretlen közelség")
}
}
}
Az Android nem rendelkezik beépített támogatással az iBeaconhoz, mivel a protokoll az Apple szabadalmaztatott megoldása. Azonban harmadik fél könyvtárai, mint a Radius Networks AltBeacon (ma az Open Beacon szervezet része) segítségével a fejlesztők integrálhatják az iBeacont Android-alkalmazásokba. Az AltBeacon könyvtár megvalósítja a BLE csomagok letapogatását, az iBeacon formátum elemzését, valamint a ranging és régiófigyelés emulációját, hasonlóan az iOS API-hoz.
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)
Az iBeacon elemzési formátumát az AltBeacon könyvtárban a layout sztring határozza meg: „m:2-3=0215” — az iBeacon marker két bájtjának ellenőrzése, „i:4-19” — 16 bájtos UUID, „i:20-21” — Major, „i:22-23” — Minor, „p:24-24” — TX Power. Ugyanez a formátum támogatott az Eddystone és más protokollok számára is, ami az AltBeacont univerzális könyvtárrá teszi a BLE beaconokkal való munkához Androidon.
Androidon az iBeaconnal való munkának három fő korlátja van: a háttérben történő letapogatást a gyártók korlátozzák (Xiaomi, Huawei, Samsung gyakran leállítják a háttérfolyamatokat), az RSSI pontossága alacsonyabb, mint iOS-en a BLE stack-ek különbségei miatt, és a letapogatáshoz Android 6.0-tól ACCESS_FINE_LOCATION, Android 12-től BLUETOOTH_SCAN engedély szükséges.
Eddystone — a Google nyílt BLE beacon protokollja, amelyet 2015-ben mutattak be. Az iBeaconnal ellentétben az Eddystone négy csomagtípust támogat: Eddystone-UID (rögzített azonosító), Eddystone-URL (URL továbbítása a Physical Web számára), Eddystone-TLM (beacon telemetria — akkumulátorszint, hőmérséklet) és Eddystone-EID (titkosított azonosító a klónozás elleni védelemhez). Bár a Google 2022-ben leállította a Physical Web fejlesztését, az Eddystone protokollt továbbra is használják vállalati megoldásokban.
| Paraméter | iBeacon | Eddystone |
|---|---|---|
| Tulajdonos | Apple | Google (nyílt) |
| Csomagtípusok | 1 (UID) | 4 (UID, URL, TLM, EID) |
| Adatok | UUID+Major+Minor | ID/URL + telemetria |
| Natív iOS támogatás | Igen (CoreLocation) | Nem (CoreBluetooth-on keresztül) |
| Physical Web | Nem | Igen (Eddystone-URL) |
| Biztonság | Nincs titkosítás | EID kulcsrotációval |
Az iBeacon és Eddystone közötti választás a célplatformtól és a használati forgatókönyvtől függ. Az iBeacon előnyösebb iOS-alkalmazásokhoz a natív CoreLocation integrációnak és a háttérben történő régiófigyelésnek köszönhetően. Az Eddystone alkalmasabb Android-orientált projektekhez és Physical Web forgatókönyvekhez, ahol a beacon URL-t továbbít alkalmazás telepítése nélkül. Platformok közötti projektekhez gyakran használják az AltBeacont, amely mindkét protokollt támogatja.
Az iBeacon bevezetésekor a fejlesztők számos korláttal szembesülnek, amelyeket figyelembe kell venni az architektúra tervezési szakaszában. Ezen tényezők helytelen figyelembevétele a navigáció instabil működéséhez, hamis triggerekhez és a beacon elemek vártnál gyorsabb lemerüléséhez vezet.
Az RSSI jelszint jelentős ingadozásoknak van kitéve a falakról való visszaverődések, fém szerkezetek, emberek jelenléte és más vezeték nélküli eszközök miatt a 2,4 GHz-es sávban. Beltérben egyetlen beacon RSSI szórása percenként elérheti a 10-15 dBm-t, ami a távolság kiszámítását pontatlanná teszi szűrők használata nélkül (mozgóátlag simítás, Kalman-szűrés).
Az iOS legfeljebb 20 régió egyidejű figyelését támogatja egy alkalmazásonként. Nagy terület lefedését igénylő projektekhez (repülőtér, stadion) ez nem elegendő. Megoldás — dinamikus régióváltás: az egyik régióba lépéskor a szomszédosak aktiválódnak, a távoliak pedig deaktiválódnak.
A régióba lépés és az értesítés kézhezvétele közötti késés körülményektől függően 1-30 másodperc lehet. Az iOS az akkumulátor kímélése érdekében időszakosan letapogatja a beaconokat, ezért azonnali reakció nem várható. Időkritikus forgatókönyvekhez (ajtónyitás közeledéskor) az Immediate ranging használata javasolt, de ez csak az alkalmazás aktív módjában működik.
Gyakran Ismételt Kérdések
iBeacon — az Apple protokollja Bluetooth Low Energy beaconokhoz, amely lehetővé teszi az iOS és Android eszközök számára, hogy centiméteres pontossággal meghatározzák helyüket beltéren a beérkezett BLE csomagok jelerősségének (RSSI) elemzése alapján.
Bluetooth — egy általános vezeték nélküli kommunikációs protokoll adatok továbbítására eszközök között, amely párosítást igényel. iBeacon — egy speciális protokoll a BLE tetején, kizárólag azonosítók sugárzására szolgál kapcsolat létesítése nélkül. Az iBeacon beaconok nem továbbítanak adatokat — csak jelzik jelenlétüket.
iBeacon Advertising módban működik — a beacon folyamatosan BLE sugárzott csomagokat küld ID információval. Az eszköz fogadja a csomagot, de nem csatlakozik a beaconhoz. Ez kíméli a beacon elemét (akár 2-3 év üzemidő egy CR2032-ről), és lehetővé teszi a beaconok passzív érzékelését aktív letapogatás nélkül.
Nem, az iBeacon nem eszközök megtalálására szolgál. Az iBeacon beaconok állandó adók, az iPhone pedig vevőként működik. Az iPhone nem sugároz iBeacon jeleket (kivéve a Find My funkciót, amely más, BLE-alapú protokollt használ). A telefon megtalálásához más technológiákat használnak (Find My hálózat, UWB).
Az iBeacon hatótávolsága a beacon beállításaitól és a környezeti feltételektől függ. Tipikus hatótáv: Immediate — 0,5 m-ig, Near — 3 m-ig, Far — 30-50 m-ig. Jelerősítős beaconokkal és nyílt terepen a hatótáv elérheti a 70 m-t, de a távolság meghatározásának pontossága ilyen távolságon minimális.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is