iBeacon: ce este, principiul de funcționare a beaconurilor și configurarea BLE

Autor: IT Sectr Publicat: 2026-07-17 Timp de citire: 10 min

iBeacon — este un protocol proprietar Apple pentru beaconuri Bluetooth Low Energy, care permite dispozitivelor iOS să-și determine locația în interior cu o precizie de centimetri. Baza protocolului este difuzarea pachetelor BLE cu un identificator unic care conține UUID, Major și Minor. Conform Apple iBeacon Design Guidelines (2025), tehnologia este utilizată în navigația prin centre comerciale, muzee, aeroporturi și stadioane, suportând detectarea pasivă fără asociere activă a dispozitivelor.

Principalele puncte

  • iBeacon — protocol proprietar Apple pentru beaconuri BLE, care funcționează fără asociere activă a dispozitivelor.
  • Pachetul iBeacon conține trei identificatori: UUID (identificatorul unic al organizației), Major și Minor (zone și puncte).
  • iOS determină trei stări: Immediate (<0,5 m), Near (<3 m) și Far (<30-50 m) pe baza RSSI.
  • Monitorizarea regiunii (region monitoring) permite aplicației să primească notificări despre intrarea și ieșirea din zona beaconului chiar și în fundal.
  • Android suportă iBeacon prin biblioteci terțe, cum ar fi AltBeacon de la Radius Networks pentru compatibilitate cross-platform.

Ce este iBeacon?

iBeacon — este o tehnologie de poziționare în interiorul spațiilor,d ezvoltată de Apple și prezentată la WWDC 2013. Spre deosebire de GPS, care nu funcționează în interiorul clădirilor, iBeacon utilizează beaconuri Bluetooth Low Energy — dispozitive mici alimentate cu baterie care transmit pachete fixe de identificare. Dispozitivele iOS și Android recepționează aceste pachete și calculează distanța aproximativă până la beacon pe baza nivelului semnalului (RSSI).

Istoric și dezvoltare

Protocolul iBeacon a devenit primul standard în masă al beaconurilor BLE, lansat de Apple în 2013 în iOS 7. Inițial, tehnologia a fost utilizată în comerțul cu amănuntul: magazinele Apple Store au implementat iBeacon pentru a informa clienții despre reduceri la intrarea în anumite zone. Până în 2025, infrastructura iBeacon numără milioane de beaconuri instalate în întreaga lume, deși au apărut protocoale alternative — Eddystone de la Google și AltBeacon cu cod sursă deschis.

Domenii de aplicare

iBeacon este utilizat în cinci scenarii principale: navigare în interior (centre comerciale, aeroporturi, muzee), notificări context (reduceri la intrarea în magazin), automatizarea proceselor de lucru (marcarea prezenței), logistică și evidență de depozit, precum și ghiduri turistice cu redare automată a conținutului la apropierea de obiect. Conform ABI Research (2025), piața beaconurilor BLE este estimată la 3,2 miliarde de dispozitive în exploatare.

Structura protocolului iBeacon și formatul pachetului

Pachetul iBeacon — este un Advertising PDU (Protocol Data Unit), transmis în canalul publicitar BLE pe frecvențele 2402, 2426 și 2480 MHz. Formatul pachetului este strict fixat și constă din patru câmpuri: prefixul Apple iBeacon (0x4C000215), UUID de 16 octeți, valorile Major de 2 octeți și Minor de 2 octeți, precum și TX Power de 1 octet pentru calibrarea distanței. Dimensiunea totală a datelor este de 30 de octeți, care încape într-un singur BLE Advertising PDU.

CâmpDimensiuneDescriere
Prefixul Apple9 octețiCompany ID (0x004C) + iBeacon type (0x0215)
UUID16 octețiIdentificatorul unic al organizației sau aplicației
Major2 octețiIdentificatorul zonei (0-65535), de ex. numărul magazinului
Minor2 octețiIdentificatorul punctului (0-65535), de ex. numărul raftului
TX Power1 octetPuterea de calibrare a semnalului la distanța de 1 metru (dBm)

Ierarhia UUID, Major și Minor

Identificatorii iBeacon formează o ierarhie pe trei niveluri. UUID este atribuit organizației (de ex., rețeaua de magazine), Major — magazinului sau etajului specific, Minor — punctului specific din zonă (zona de casă, departamentul de marfă). Această ierarhie permite aplicației să reacționeze flexibil la diferite niveluri de context: la intrarea în magazin (UUID + Major) aplicația poate încărca harta etajului, iar la apropierea de un departament specific (Minor) poate afișa informații despre produs.

TX Power și calibrarea

Câmpul TX Power — este valoarea de referință a nivelului semnalului (RSSI) la distanța de 1 metru de beacon. La primirea pachetului, dispozitivul înregistrează RSSI-ul real și calculează distanța după formula: distance = 10^((TX_Power - RSSI) / (10 * n)), unde n — coeficientul de atenuare al mediului (de obicei 2-4). Calibrarea corectă a TX Power este critică pentru precizia poziționării: o eroare de 1 dBm dă o abatere de până la 30% la o distanță de 5 metri.

Zonele de proximitate: Immediate, Near, Far

iOS definește trei zone de proximitate pe baza distanței calculate până la beacon: Immediate (mai puțin de 0,5 metri), Near (de la 0,5 la 3 metri) și Far (de la 3 la 30-50 metri în funcție de condiții). Distanța exactă nu este comunicată — doar categoria. Acest lucru este intenționat: RSSI este supus interferențelor, reflexiilor semnalului și influenței corpului uman, prin urmare categoriile oferă o determinare mai stabilă a locației.

Immediate — proximitate directă

Immediate — zona de contact direct, când dispozitivul se află la câțiva centimetri de beacon. Utilizată în scenarii care necesită precizie maximă: plata prin terminal, deschiderea unui lacăt digital, verificarea la punctul de control. În zona Immediate, RSSI este de obicei între -30 și -60 dBm.

Near — distanță medie

Zona Near — zona principală de lucru a iBeacon, care acoperă distanța de la 0,5 la 3 metri. Utilizată pentru navigare în interior — de exemplu, la apropierea de o vitrină cu marfă, aplicația afișează informații detaliate. În zona Near, RSSI variază între -60 și -80 dBm la calibrarea TX Power = -59 dBm.

Far — distanță lungă

Far — zona maximă de detectare a semnalului beaconului. Utilizată pentru monitorizarea intrării în regiune (de exemplu, intrarea într-un centru comercial). La distanța Far, RSSI este de obicei mai slab de -80 dBm, iar precizia determinării distanței scade semnificativ. Pentru monitorizarea intrării se utilizează API-uri de sistem region monitoring, nu determinarea zonei exacte.

Monitorizarea regiunii pe iOS

Regiunea iBeacon — este o zonă virtuală definită de UUID (și opțional Major + Minor). iOS permite monitorizarea a până la 20 de regiuni simultan cu ajutorul CLLocationManager. La intrarea în regiune, sistemul trezește aplicația chiar și în fundal sau în stare oprită și trimite o notificare prin delegatul locationManager:didEnterRegion. La ieșirea din regiune, este apelat 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 — determinarea zonei exacte

Pentru determinarea zonei (Immediate, Near, Far) se utilizează ranging — scanarea beaconurilor în timp real. Spre deosebire de monitorizare, ranging funcționează doar în modul activ al aplicației și necesită permisiunea de acces la locație. Metoda locationManager:didRangeBeacons:inRegion returnează un array de CLBeacon cu câmpurile proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (distanța calibrată în metri) și rssi.

swift
func locationManager(
    _ manager: CLLocationManager,
    didRangeBeacons beacons: [CLBeacon],
    in region: CLBeaconRegion
) {
    for beacon in beacons {
        switch beacon.proximity {
        case .immediate:
            print("Proximitate imediată")
        case .near:
            print("Proximitate apropiată")
        case .far:
            print("Proximitate îndepărtată")
        default:
            print("Proximitate necunoscută")
        }
    }
}

iBeacon pe Android: AltBeacon și integrare cross-platform

Android nu are suport încorporat pentru iBeacon, deoarece protocolul este o soluție proprietară Apple. Cu toate acestea, cu ajutorul bibliotecilor terțe, cum ar fi AltBeacon de la Radius Networks (acum parte a organizației Open Beacon), dezvoltatorii pot integra iBeacon în aplicațiile Android. Biblioteca AltBeacon implementează scanarea pachetelor BLE, parsarea formatului iBeacon și emularea ranging și monitorizării regiunilor, similare cu API-ul iOS.

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)

Parsarea pachetului iBeacon pe Android

Formatul de parsare a iBeacon în biblioteca AltBeacon este definit de șirul layout: „m:2-3=0215” — verificarea a doi octeți ai markerului iBeacon, „i:4-19” — UUID de 16 octeți, „i:20-21” — Major, „i:22-23” — Minor, „p:24-24” — TX Power. Același format este suportat pentru Eddystone și alte protocoale, ceea ce face din AltBeacon o bibliotecă universală pentru lucrul cu beaconuri BLE pe Android.

Limitări pe Android

Pe Android, lucrul cu iBeacon are trei limitări cheie: scanarea în fundal este limitată de producători (Xiaomi, Huawei, Samsung ucid adesea procesele de fundal), precizia RSSI este mai mică decât pe iOS din cauza diferențelor în stivele BLE, iar pentru scanare este necesară permisiunea ACCESS_FINE_LOCATION începând cu Android 6.0 și BLUETOOTH_SCAN începând cu Android 12.

iBeacon vs Eddystone: compararea protocoalelor beaconurilor

Eddystone — protocol deschis de beaconuri BLE de la Google, prezentat în 2015. Spre deosebire de iBeacon, Eddystone suportă patru tipuri de pachete: Eddystone-UID (identificator fix), Eddystone-URL (transmiterea URL-ului pentru Physical Web), Eddystone-TLM (telemetria beaconului — nivelul bateriei, temperatura) și Eddystone-EID (identificator criptat pentru protecția împotriva clonării). Deși Google a încetat dezvoltarea Physical Web în 2022, protocolul Eddystone continuă să fie utilizat în soluții corporative.

ParametruiBeaconEddystone
ProprietarAppleGoogle (deschis)
Tipuri de pachete1 (UID)4 (UID, URL, TLM, EID)
DateUUID+Major+MinorID/URL + telemetrie
Suport nativ iOSDa (CoreLocation)Nu (prin CoreBluetooth)
Physical WebNuDa (Eddystone-URL)
SecuritateFără criptareEID cu rotație de chei

Alegerea protocolului pentru proiect

Alegerea între iBeacon și Eddystone depinde de platforma țintă și scenariul de utilizare. iBeacon este preferabil pentru aplicațiile iOS datorită integrării native cu CoreLocation și monitorizării regiunilor în fundal. Eddystone este mai potrivit pentru proiecte orientate spre Android și scenarii Physical Web, unde beaconul transmite URL fără instalarea aplicației. Pentru proiecte cross-platform, este adesea utilizat AltBeacon, care suportă ambele protocoale.

Probleme tipice și limitări iBeacon

La implementarea iBeacon, dezvoltatorii se confruntă cu o serie de limitări care trebuie luate în considerare în faza de proiectare a arhitecturii. Neținerea cont corectă a acestor factori duce la funcționarea instabilă a navigației, declanșări false și descărcarea bateriei beaconurilor mai rapid decât termenul calculat.

Influența mediului asupra RSSI

Nivelul semnalului RSSI este supus unor fluctuații semnificative din cauza reflexiilor de pe pereți, structurilor metalice, prezenței oamenilor și altor dispozitive wireless în banda de 2,4 GHz. În interior, dispersia RSSI pentru un singur beacon poate atinge 10-15 dBm pe minut, ceea ce face calcularea distanței inexactă fără utilizarea filtrelor (netezire prin medie mobilă, filtrare Kalman).

Limita de monitorizare a regiunii

iOS suportă monitorizarea a cel mult 20 de regiuni simultan pentru o singură aplicație. Pentru proiecte care necesită acoperirea unui teritoriu mare (aeroport, stadion), acest lucru nu este suficient. Soluția — comutarea dinamică a regiunilor: la intrarea într-o regiune, cele vecine sunt activate, iar cele îndepărtate sunt dezactivate.

Timpul de răspuns al monitorizării

Întârzierea între intrarea în regiune și primirea notificării poate fi de la 1 la 30 de secunde în funcție de condiții. iOS scanează beaconurile periodic pentru economisirea bateriei, prin urmare nu trebuie așteptată o reacție instantanee. Pentru scenarii critice din punct de vedere temporal (deschiderea ușii la apropiere), se recomandă utilizarea Immediate ranging, dar acesta funcționează doar în modul activ al aplicației.

Întrebări frecvente

Ce este iBeacon?

iBeacon — este protocolul Apple pentru beaconuri Bluetooth Low Energy, care permite dispozitivelor iOS și Android să-și determine locația în interior cu o precizie de centimetri pe baza analizei nivelului semnalului (RSSI) al pachetelor BLE primite.

Cu ce se deosebește iBeacon de Bluetooth?

Bluetooth — este un protocol general de comunicație fără fir pentru transmiterea datelor între dispozitive, care necesită asociere. iBeacon — un protocol specializat peste BLE, destinat exclusiv difuzării identificatorilor fără stabilirea unei conexiuni. Beaconurile iBeacon nu transmit date — ele doar își semnalează prezența.

Cum funcționează iBeacon fără conexiune?

iBeacon funcționează în modul Advertising — beaconul transmite constant pachete BLE de difuzare cu informații ID. Dispozitivul primește pachetul, dar nu se conectează la beacon. Acest lucru permite economisirea bateriei beaconului (până la 2-3 ani de funcționare de la o singură CR2032) și detectarea pasivă a beaconurilor fără scanare activă.

Se poate găsi un iPhone prin iBeacon?

Nu, iBeacon nu este destinat găsirii dispozitivelor. Beaconurile iBeacon sunt emițătoare staționare, iar iPhone acționează ca receptor. iPhone nu transmite semnale iBeacon (cu excepția funcției Find My, care utilizează un alt protocol pe bază de BLE). Pentru găsirea telefonului se folosesc alte tehnologii (rețeaua Find My, UWB).

Cât de departe funcționează iBeacon?

Raza de acțiune a iBeacon depinde de setările beaconului și de condițiile mediului. Raza tipică: Immediate — până la 0,5 m, Near — până la 3 m, Far — până la 30-50 m. Cu beaconuri cu amplificator de semnal și în spații deschise, raza poate ajunge la 70 m, dar precizia determinării distanței la o astfel de distanță este minimă.

Concluzii

  • iBeacon — protocol proprietar Apple pentru beaconuri BLE, care funcționează pe baza pachetelor de difuzare fără asociere activă.
  • Pachetul iBeacon conține UUID (16 octeți), Major (2 octeți) și Minor (2 octeți), precum și TX Power de calibrare.
  • iOS definește trei zone de proximitate: Immediate (<0,5 m), Near (<3 m) și Far (<30-50 m), utilizând categorii în loc de distanță exactă.
  • Monitorizarea regiunii permite aplicației să primească notificări de intrare/ieșire din zona beaconului chiar și în fundal (până la 20 de regiuni).
  • Android suportă iBeacon prin biblioteca AltBeacon cu parsarea pachetelor prin BeaconParser și șirul layout.
  • Eddystone de la Google — protocol deschis alternativ cu suport pentru URL și identificatori criptați EID.
  • Principalele limitări iBeacon: instabilitatea RSSI în interior, limita de 20 de regiuni și întârzierea monitorizării de până la 30 de secunde.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și