iBeacon: wat is het, werkingsprincipe van beacons en BLE-configuratie

Auteur: IT Sectr Gepubliceerd: 2026-07-17 Leestijd: 10 min

iBeacon — is een eigen protocol van Apple voor Bluetooth Low Energy beacons waarmee iOS-apparaten hun locatie binnenshuis met centimeterprecisie kunnen bepalen. De basis van het protocol is de uitzending van BLE-pakketten met een unieke identificatie die UUID, Major en Minor-waarden bevat. Volgens Apple iBeacon Design Guidelines (2025) wordt de technologie gebruikt voor navigatie in winkelcentra, musea, luchthavens en stadions, en ondersteunt het passieve detectie zonder actief koppelen van apparaten.

Belangrijkste punten

  • iBeacon — eigen protocol van Apple voor BLE-beacons, werkend zonder actieve apparaatkoppeling.
  • Het iBeacon-pakket bevat drie identificatoren: UUID (unieke organisatie-ID), Major en Minor (zones en punten).
  • iOS bepaalt drie toestanden: Immediate (<0,5 m), Near (<3 m) en Far (<30-50 m) op basis van RSSI.
  • Regiomonitoring stelt de app in staat meldingen te ontvangen over het betreden en verlaten van de beaconzone, zelfs op de achtergrond.
  • Android ondersteunt iBeacon via bibliotheken van derden, zoals AltBeacon van Radius Networks voor cross-platform compatibiliteit.

Wat is iBeacon?

iBeacon — is een positioneringstechnologie voor binnenshuis, ontwikkeld door Apple en geïntroduceerd op WWDC 2013. In tegenstelling tot GPS, dat niet werkt in gebouwen, maakt iBeacon gebruik van Bluetooth Low Energy beacons — kleine, op batterijen werkende apparaten die vaste identificatiepakketten uitzenden. iOS- en Android-apparaten ontvangen deze pakketten en berekenen de geschatte afstand tot de beacon op basis van het signaalniveau (RSSI).

Geschiedenis en ontwikkeling

Het iBeacon-protocol werd de eerste massastandaard voor BLE-beacons, gelanceerd door Apple in 2013 in iOS 7. Aanvankelijk werd de technologie gebruikt in de detailhandel: Apple Stores implementeerden iBeacon om klanten bij het betreden van bepaalde zones te informeren over kortingen. Tegen 2025 telt de iBeacon-infrastructuur miljoenen geïnstalleerde beacons wereldwijd, hoewel er alternatieve protocollen zijn verschenen — Eddystone van Google en AltBeacon met opensourcecode.

Toepassingsgebieden

iBeacon wordt gebruikt in vijf hoofdscenario's: navigatie binnenshuis (winkelcentra, luchthavens, musea), contextuele meldingen (kortingen bij het betreden van een winkel), automatisering van werkprocessen (aanwezigheidsregistratie), logistiek en magazijnbeheer, en toeristische gidsen met automatische inhoudsweergave bij het naderen van een object. Volgens ABI Research (2025) wordt de markt voor BLE-beacons geschat op 3,2 miljard apparaten in gebruik.

Structuur van het iBeacon-protocol en pakketformaat

Het iBeacon-pakket — is een Advertising PDU (Protocol Data Unit) dat wordt uitgezonden in het BLE-reclamekanaal op frequenties 2402, 2426 en 2480 MHz. Het pakketformaat is strikt vastgelegd en bestaat uit vier velden: het Apple iBeacon-voorvoegsel (0x4C000215), een 16-byte UUID, 2-byte Major- en 2-byte Minor-waarden, en een 1-byte TX Power voor afstandskalibratie. De totale gegevensgrootte is 30 bytes, wat past in één BLE Advertising PDU.

VeldGrootteBeschrijving
Apple-voorvoegsel9 bytesCompany ID (0x004C) + iBeacon type (0x0215)
UUID16 bytesUnieke identificatie van organisatie of app
Major2 bytesZone-ID (0-65535), bijv. winkelnummer
Minor2 bytesPunt-ID (0-65535), bijv. schapnummer
TX Power1 byteKalibratiesignaalsterkte op 1 meter afstand (dBm)

UUID-, Major- en Minor-hiërarchie

iBeacon-identificatoren vormen een drielaagse hiërarchie. UUID wordt toegewezen aan een organisatie (bijv. winkelketen), Major aan een specifieke winkel of verdieping, Minor aan een specifiek punt in de zone (kassazone, afdeling). Deze hiërarchie stelt de app in staat flexibel te reageren op verschillende contextniveaus: bij het betreden van een winkel (UUID + Major) kan de app de verdiepingskaart laden, en bij het naderen van een specifieke afdeling (Minor) productinformatie tonen.

TX Power en kalibratie

Het veld TX Power — is de referentiewaarde van het signaalniveau (RSSI) op 1 meter afstand van de beacon. Bij ontvangst van het pakket registreert het apparaat de werkelijke RSSI en berekent de afstand met de formule: distance = 10^((TX_Power - RSSI) / (10 * n)), waarbij n de dempingscoëfficiënt van de omgeving is (meestal 2-4). Correcte kalibratie van TX Power is cruciaal voor positioneringsnauwkeurigheid: een fout van 1 dBm geeft een afwijking tot 30% op 5 meter afstand.

Nabijheidszones: Immediate, Near, Far

iOS definieert drie nabijheidszones op basis van de berekende afstand tot de beacon: Immediate (minder dan 0,5 meter), Near (0,5 tot 3 meter) en Far (3 tot 30-50 meter afhankelijk van omstandigheden). De exacte afstand wordt niet gerapporteerd — alleen de categorie. Dit is opzettelijk: RSSI is onderhevig aan interferentie, signaalreflecties en invloed van het menselijk lichaam, dus categorieën geven een stabielere locatiebepaling.

Immediate — directe nabijheid

Immediate — de zone van direct contact, wanneer het apparaat zich op enkele centimeters van de beacon bevindt. Gebruikt in scenario's die maximale precisie vereisen: betaling via terminal, openen van digitaal slot, verificatie bij een controlepunt. In de Immediate-zone is RSSI meestal -30 tot -60 dBm.

Near — gemiddelde afstand

De Near-zone — de belangrijkste werkzone van iBeacon, die de afstand van 0,5 tot 3 meter beslaat. Gebruikt voor navigatie binnenshuis — bijvoorbeeld bij het naderen van een vitrine toont de app gedetailleerde informatie. In de Near-zone varieert RSSI van -60 tot -80 dBm bij kalibratie TX Power = -59 dBm.

Far — grote afstand

Far — de maximale detectiezone van het beaconsignaal. Gebruikt voor het monitoren van regiobetreding (bijv. betreden van een winkelcentrum). Op Far-afstand is RSSI meestal zwakker dan -80 dBm en neemt de nauwkeurigheid van afstandsbepaling aanzienlijk af. Voor ingangsmonitoring worden systeem-API's voor region monitoring gebruikt, niet de bepaling van de exacte zone.

Regiomonitoring op iOS

iBeacon-regio — is een virtueel gebied gedefinieerd door UUID (en optioneel Major + Minor). iOS maakt het mogelijk tot 20 regio's tegelijk te monitoren met CLLocationManager. Bij betreding van een regio wekt het systeem de app zelfs op de achtergrond of in beëindigde toestand en stuurt een melding via de delegate locationManager:didEnterRegion. Bij verlaten van de regio wordt locationManager:didExitRegion aangeroepen.

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 — bepaling van de exacte zone

Voor het bepalen van de zone (Immediate, Near, Far) wordt ranging gebruikt — het scannen van beacons in realtime. In tegenstelling tot monitoring werkt ranging alleen in de actieve modus van de app en vereist toestemming voor locatietoegang. De methode locationManager:didRangeBeacons:inRegion retourneert een array van CLBeacon met de velden proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (gekalibreerde afstand in meters) en rssi.

swift
func locationManager(
    _ manager: CLLocationManager,
    didRangeBeacons beacons: [CLBeacon],
    in region: CLBeaconRegion
) {
    for beacon in beacons {
        switch beacon.proximity {
        case .immediate:
            print("Onmiddellijke nabijheid")
        case .near:
            print("Nabije nabijheid")
        case .far:
            print("Verre nabijheid")
        default:
            print("Onbekende nabijheid")
        }
    }
}

iBeacon op Android: AltBeacon en cross-platform integratie

Android heeft geen ingebouwde ondersteuning voor iBeacon omdat het protocol een eigen oplossing van Apple is. Met behulp van bibliotheken van derden, zoals AltBeacon van Radius Networks (nu onderdeel van de Open Beacon-organisatie), kunnen ontwikkelaars iBeacon echter integreren in Android-apps. De AltBeacon-bibliotheek implementeert het scannen van BLE-pakketten, het parsen van het iBeacon-formaat en het emuleren van ranging en region monitoring, vergelijkbaar met de 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)

Parsen van iBeacon-pakket op Android

Het parseformaat van iBeacon in de AltBeacon-bibliotheek wordt gedefinieerd door de layout-string: „m:2-3=0215” — controle van twee bytes van de iBeacon-marker, „i:4-19” — 16-byte UUID, „i:20-21” — Major, „i:22-23” — Minor, „p:24-24” — TX Power. Hetzelfde formaat wordt ondersteund voor Eddystone en andere protocollen, wat AltBeacon tot een universele bibliotheek maakt voor het werken met BLE-beacons op Android.

Beperkingen op Android

Op Android heeft werken met iBeacon drie belangrijke beperkingen: achtergrondscannen wordt beperkt door fabrikanten (Xiaomi, Huawei, Samsung doden vaak achtergrondprocessen), de RSSI-nauwkeurigheid is lager dan op iOS vanwege verschillen in BLE-stacks, en voor scannen is vanaf Android 6.0 ACCESS_FINE_LOCATION en vanaf Android 12 BLUETOOTH_SCAN vereist.

iBeacon vs Eddystone: vergelijking van beaconprotocollen

Eddystone — een open BLE-beaconprotocol van Google, geïntroduceerd in 2015. In tegenstelling tot iBeacon ondersteunt Eddystone vier pakkettypen: Eddystone-UID (vaste identificatie), Eddystone-URL (URL-verzending voor Physical Web), Eddystone-TLM (beacon-telemetrie — batterijniveau, temperatuur) en Eddystone-EID (versleutelde identificatie ter bescherming tegen klonen). Hoewel Google de ontwikkeling van Physical Web in 2022 stopzette, wordt het Eddystone-protocol nog steeds gebruikt in zakelijke oplossingen.

ParameteriBeaconEddystone
EigenaarAppleGoogle (open)
Pakkettypen1 (UID)4 (UID, URL, TLM, EID)
GegevensUUID+Major+MinorID/URL + telemetrie
Native iOS-ondersteuningJa (CoreLocation)Nee (via CoreBluetooth)
Physical WebNeeJa (Eddystone-URL)
BeveiligingGeen versleutelingEID met sleutelrotatie

Protocolkeuze voor het project

De keuze tussen iBeacon en Eddystone hangt af van het doelplatform en het gebruiksscenario. iBeacon heeft de voorkeur voor iOS-apps vanwege de native integratie met CoreLocation en regiomonitoring op de achtergrond. Eddystone is geschikter voor Android-gerichte projecten en Physical Web-scenario's, waarbij de beacon een URL uitzendt zonder dat een app geïnstalleerd hoeft te worden. Voor cross-platform projecten wordt vaak AltBeacon gebruikt, dat beide protocollen ondersteunt.

Veelvoorkomende problemen en beperkingen van iBeacon

Bij implementatie van iBeacon worden ontwikkelaars geconfronteerd met een reeks beperkingen die in de ontwerpfase van de architectuur moeten worden overwogen. Onjuiste inachtneming van deze factoren leidt tot instabiele navigatie, valse triggers en snellere uitputting van beacon-batterijen dan verwacht.

Omgevingsinvloed op RSSI

Het signaalniveau RSSI is onderhevig aan aanzienlijke schommelingen door reflecties van muren, metalen constructies, aanwezigheid van mensen en andere draadloze apparaten in de 2,4 GHz-band. Binnenshuis kan de RSSI-spreiding voor één beacon 10-15 dBm per minuut bedragen, wat afstandsberekeningen onnauwkeurig maakt zonder het gebruik van filters (voortschrijdend gemiddelde, Kalman-filtering).

Limiet regiomonitoring

iOS ondersteunt monitoring van maximaal 20 regio's tegelijk voor één app. Voor projecten die een groot gebied moeten bestrijken (luchthaven, stadion) is dit onvoldoende. Oplossing — dynamische regioschakeling: bij het betreden van één regio worden aangrenzende geactiveerd en verre gedeactiveerd.

Reactietijd monitoring

De vertraging tussen het betreden van een regio en het ontvangen van een melding kan variëren van 1 tot 30 seconden afhankelijk van de omstandigheden. iOS scant beacons periodiek om de batterij te sparen, dus onmiddellijke reactie is niet te verwachten. Voor tijdskritische scenario's (deuropening bij nadering) wordt Immediate ranging aanbevolen, maar dit werkt alleen in de actieve modus van de app.

Veelgestelde vragen

Wat is iBeacon?

iBeacon — is het Apple-protocol voor Bluetooth Low Energy beacons waarmee iOS- en Android-apparaten hun locatie binnenshuis met centimeterprecisie kunnen bepalen op basis van analyse van het signaalniveau (RSSI) van ontvangen BLE-pakketten.

Hoe verschilt iBeacon van Bluetooth?

Bluetooth — is een algemeen draadloos communicatieprotocol voor gegevensoverdracht tussen apparaten dat koppeling vereist. iBeacon — een gespecialiseerd protocol bovenop BLE, uitsluitend bedoeld voor het uitzenden van identificatoren zonder verbinding tot stand te brengen. iBeacon-beacons verzenden geen gegevens — ze geven alleen hun aanwezigheid aan.

Hoe werkt iBeacon zonder verbinding?

iBeacon werkt in de Advertising-modus — de beacon zendt constant BLE-uitzendpakketten met ID-informatie uit. Het apparaat ontvangt het pakket maar maakt geen verbinding met de beacon. Dit bespaart de batterij van de beacon (tot 2-3 jaar werkend op één CR2032) en maakt passieve detectie van beacons mogelijk zonder actief scannen.

Kan ik een iPhone vinden via iBeacon?

Nee, iBeacon is niet bedoeld voor het vinden van apparaten. iBeacon-beacons zijn stationaire zenders en de iPhone fungeert als ontvanger. De iPhone zendt geen iBeacon-signalen uit (behalve de Find My-functie, die een ander op BLE gebaseerd protocol gebruikt). Voor het vinden van een telefoon worden andere technologieën gebruikt (Find My-netwerk, UWB).

Hoe ver werkt iBeacon?

Het bereik van iBeacon hangt af van de beacon-instellingen en omgevingsomstandigheden. Typisch bereik: Immediate — tot 0,5 m, Near — tot 3 m, Far — tot 30-50 m. Met signaalversterkende beacons en in open ruimtes kan het bereik 70 m bereiken, maar de nauwkeurigheid van afstandsbepaling op die afstand is minimaal.

Samenvatting

  • iBeacon — eigen protocol van Apple voor BLE-beacons, werkend op basis van uitzendpakketten zonder actieve koppeling.
  • Het iBeacon-pakket bevat UUID (16 bytes), Major (2 bytes) en Minor (2 bytes) plus kalibratie-TX Power.
  • iOS definieert drie nabijheidszones: Immediate (<0,5 m), Near (<3 m) en Far (<30-50 m), met categorieën in plaats van exacte afstand.
  • Regiomonitoring stelt de app in staat meldingen van betreding/verlating van de beaconzone te ontvangen, zelfs op de achtergrond (tot 20 regio's).
  • Android ondersteunt iBeacon via de AltBeacon-bibliotheek met parsering van pakketten via BeaconParser en layout-string.
  • Eddystone van Google — alternatief open protocol met ondersteuning voor URL en versleutelde EID-identificatoren.
  • Belangrijkste beperkingen van iBeacon: RSSI-instabiliteit binnenshuis, limiet van 20 regio's en monitoringsvertraging tot 30 seconden.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook