iBeacon: o que é, princípio de funcionamento dos beacons e configuração BLE

Autor: IT Sectr Publicado: 2026-07-17 Tempo de leitura: 10 min

iBeacon é um protocolo proprietário da Apple para beacons Bluetooth Low Energy, permitindo que dispositivos iOS determinem sua localização em ambientes internos com precisão de centímetros. O protocolo baseia-se na transmissão broadcast de pacotes BLE com um identificador único contendo valores UUID, Major e Minor. De acordo com as Apple iBeacon Design Guidelines (2025), a tecnologia é usada para navegação em shoppings, museus, aeroportos e estádios, suportando detecção passiva sem pareamento ativo de dispositivos.

Principais pontos

  • iBeacon é um protocolo proprietário da Apple para beacons BLE, operando sem pareamento ativo de dispositivos.
  • O pacote iBeacon contém três identificadores: UUID (identificador único da organização), Major e Minor (zonas e pontos).
  • O iOS define três estados: Immediate (<0,5 m), Near (<3 m) e Far (<30-50 m) com base no RSSI.
  • Monitoramento de região (region monitoring) permite que o aplicativo receba notificações de entrada e saída da zona do beacon mesmo em segundo plano.
  • O Android suporta iBeacon por meio de bibliotecas de terceiros, como AltBeacon da Radius Networks para compatibilidade multiplataforma.

O que é iBeacon?

iBeacon é uma tecnologia de posicionamento em ambientes internos desenvolvida pela Apple e apresentada na WWDC 2013. Ao contrário do GPS, que não funciona dentro de edifícios, o iBeacon usa beacons Bluetooth Low Energy — pequenos dispositivos alimentados por bateria que transmitem pacotes de identificação fixos. Dispositivos iOS e Android recebem esses pacotes e calculam a distância aproximada até o beacon com base no nível do sinal (RSSI).

História e desenvolvimento

O protocolo iBeacon foi o primeiro padrão massivo de beacons BLE, lançado pela Apple em 2013 no iOS 7. Inicialmente, a tecnologia foi usada no varejo: as Apple Stores implementaram iBeacon para informar clientes sobre descontos ao entrar em determinadas zonas. Até 2025, a infraestrutura iBeacon conta com milhões de beacons instalados em todo o mundo, embora protocolos alternativos tenham surgido — Eddystone do Google e AltBeacon de código aberto.

Áreas de aplicação

iBeacon é usado em cinco cenários principais: navegação em ambientes internos (shoppings, aeroportos, museus), notificações contextuais (descontos ao entrar na loja), automação de fluxos de trabalho (marcação de presença), logística e controle de estoque, além de guias turísticos com reprodução automática de conteúdo ao se aproximar de um objeto. Segundo a ABI Research (2025), o mercado de beacons BLE é estimado em 3,2 bilhões de dispositivos em operação.

Estrutura do protocolo iBeacon e formato do pacote

O pacote iBeacon é um Advertising PDU (Protocol Data Unit), transmitido no canal de publicidade BLE nas frequências 2402, 2426 e 2480 MHz. O formato do pacote é rigidamente fixado e consiste em quatro campos: prefixo Apple iBeacon (0x4C000215), UUID de 16 bytes, Major de 2 bytes e Minor de 2 bytes, além de TX Power de 1 byte para calibração de distância. O tamanho total dos dados é de 30 bytes, cabendo em um único BLE Advertising PDU.

CampoTamanhoDescrição
Prefixo Apple9 bytesCompany ID (0x004C) + iBeacon type (0x0215)
UUID16 bytesIdentificador único da organização ou aplicativo
Major2 bytesIdentificador de zona (0-65535), ex.: número da loja
Minor2 bytesIdentificador de ponto (0-65535), ex.: número da prateleira
TX Power1 bytePotência de calibração do sinal a 1 metro (dBm)

Hierarquia UUID, Major e Minor

Os identificadores iBeacon formam uma hierarquia de três níveis. O UUID é atribuído à organização (por exemplo, uma rede de lojas), Major à loja ou andar específico, Minor ao ponto específico dentro da zona (área de caixa, departamento de produto). Essa hierarquia permite que o aplicativo reaja de forma flexível a diferentes níveis de contexto: ao entrar na loja (UUID + Major), o aplicativo pode carregar o mapa do andar e, ao se aproximar de um departamento específico (Minor), mostrar informações do produto.

TX Power e calibração

O campo TX Power é o valor de referência do nível do sinal (RSSI) a 1 metro de distância do beacon. Ao receber o pacote, o dispositivo registra o RSSI real e calcula a distância pela fórmula: distance = 10^((TX_Power - RSSI) / (10 * n)), onde n é o coeficiente de atenuação do meio (geralmente 2-4). A calibração correta do TX Power é crítica para a precisão do posicionamento: um erro de 1 dBm resulta em imprecisão de até 30% a 5 metros de distância.

Zonas de proximidade: Immediate, Near, Far

O iOS define três zonas de proximidade com base na distância calculada até o beacon: Immediate (menos de 0,5 metro), Near (0,5 a 3 metros) e Far (3 a 30-50 metros dependendo das condições). A distância exata não é informada — apenas a categoria. Isso é intencional: o RSSI é suscetível a interferências, reflexões do sinal e influência do corpo humano, portanto as categorias fornecem uma determinação de localização mais estável.

Immediate — proximidade imediata

Immediate é a zona de contato direto, quando o dispositivo está a poucos centímetros do beacon. Usada em cenários que exigem máxima precisão: pagamento por terminal, abertura de fechadura digital, verificação em posto de controle. Na zona Immediate, o RSSI geralmente varia de -30 a -60 dBm.

Near — distância média

A zona Near é a principal área de trabalho do iBeacon, cobrindo distâncias de 0,5 a 3 metros. Usada para navegação em ambientes internos — por exemplo, ao se aproximar de uma vitrine com produto, o aplicativo mostra informações detalhadas. Na zona Near, o RSSI varia de -60 a -80 dBm com calibração TX Power = -59 dBm.

Far — longa distância

Far é a zona máxima de detecção do sinal do beacon. Usada para monitoramento de entrada na região (por exemplo, entrada em um shopping). Na distância Far, o RSSI geralmente é mais fraco que -80 dBm, e a precisão da determinação de distância cai significativamente. Para monitoramento de entrada, são usadas as APIs de sistema region monitoring, não a determinação de zona exata.

Monitoramento de região no iOS

Uma região iBeacon é uma área virtual definida por UUID (e opcionalmente Major + Minor). O iOS permite monitorar até 20 regiões simultaneamente com CLLocationManager. Ao entrar em uma região, o sistema desperta o aplicativo mesmo em segundo plano ou encerrado e envia uma notificação através do delegate locationManager:didEnterRegion. Ao sair da região, locationManager:didExitRegion é chamado.

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 — determinação da zona exata

Para determinar a zona (Immediate, Near, Far), usa-se ranging — escaneamento de beacons em tempo real. Ao contrário do monitoramento, o ranging funciona apenas no modo ativo do aplicativo e requer permissão de acesso à localização. O método locationManager:didRangeBeacons:inRegion retorna um array de CLBeacon com os campos proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (distância calibrada em metros) e rssi.

swift
func locationManager(
    _ manager: CLLocationManager,
    didRangeBeacons beacons: [CLBeacon],
    in region: CLBeaconRegion
) {
    for beacon in beacons {
        switch beacon.proximity {
        case .immediate:
            print("Proximidade imediata")
        case .near:
            print("Proximidade próxima")
        case .far:
            print("Proximidade distante")
        default:
            print("Proximidade desconhecida")
        }
    }
}

iBeacon no Android: AltBeacon e integração multiplataforma

O Android não possui suporte nativo a iBeacon, pois o protocolo é uma solução proprietária da Apple. No entanto, com bibliotecas de terceiros como AltBeacon da Radius Networks (agora parte da organização Open Beacon), os desenvolvedores podem integrar iBeacon em aplicativos Android. A biblioteca AltBeacon implementa escaneamento de pacotes BLE, parsing do formato iBeacon e emulação de ranging e monitoramento de regiões similar à API do 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)

Parsing de pacote iBeacon no Android

O formato de parsing do iBeacon na biblioteca AltBeacon é definido pela string layout: "m:2-3=0215" — verificação de dois bytes do marcador iBeacon, "i:4-19" — UUID de 16 bytes, "i:20-21" — Major, "i:22-23" — Minor, "p:24-24" — TX Power. O mesmo formato é suportado para Eddystone e outros protocolos, tornando AltBeacon uma biblioteca universal para trabalhar com beacons BLE no Android.

Limitações no Android

No Android, o trabalho com iBeacon tem três limitações principais: o escaneamento em segundo plano é limitado pelos fabricantes (Xiaomi, Huawei, Samsung frequentemente matam processos em segundo plano), a precisão do RSSI é menor que no iOS devido a diferenças nas pilhas BLE, e é necessária a permissão ACCESS_FINE_LOCATION desde o Android 6.0 e BLUETOOTH_SCAN desde o Android 12.

iBeacon vs Eddystone: comparação de protocolos de beacons

Eddystone é um protocolo aberto de beacons BLE do Google, apresentado em 2015. Ao contrário do iBeacon, o Eddystone suporta quatro tipos de pacotes: Eddystone-UID (identificador fixo), Eddystone-URL (transmissão de URL para Physical Web), Eddystone-TLM (telemetria do beacon — carga da bateria, temperatura) e Eddystone-EID (identificador criptografado para proteção contra clonagem). Embora o Google tenha interrompido o desenvolvimento do Physical Web em 2022, o protocolo Eddystone continua sendo usado em soluções corporativas.

ParâmetroiBeaconEddystone
ProprietárioAppleGoogle (aberto)
Tipos de pacotes1 (UID)4 (UID, URL, TLM, EID)
DadosUUID+Major+MinorID/URL + telemetria
Suporte nativo iOSSim (CoreLocation)Não (via CoreBluetooth)
Physical WebNãoSim (Eddystone-URL)
SegurançaSem criptografiaEID com rotação de chaves

Escolha do protocolo para o projeto

A escolha entre iBeacon e Eddystone depende da plataforma alvo e do cenário de uso. iBeacon é preferível para aplicativos iOS devido à integração nativa com CoreLocation e monitoramento de regiões em segundo plano. Eddystone é mais adequado para projetos orientados ao Android e cenários Physical Web, onde o beacon transmite uma URL sem instalação de aplicativo. Para projetos multiplataforma, frequentemente usa-se AltBeacon, que suporta ambos os protocolos.

Problemas comuns e limitações do iBeacon

Ao implementar iBeacon, os desenvolvedores enfrentam várias limitações que devem ser consideradas na fase de design da arquitetura. A consideração incorreta desses fatores leva a navegação instável, falsos positivos e descarga da bateria dos beacons antes do tempo previsto.

Influência do ambiente no RSSI

O nível do sinal RSSI sofre flutuações significativas devido a reflexões em paredes, estruturas metálicas, presença de pessoas e outros dispositivos sem fio na faixa de 2,4 GHz. Em ambientes fechados, a variação do RSSI para um mesmo beacon pode chegar a 10-15 dBm por minuto, tornando o cálculo de distância impreciso sem o uso de filtros (média móvel, filtro de Kalman).

Limite de monitoramento de regiões

O iOS suporta monitoramento de no máximo 20 regiões simultaneamente por aplicativo. Para projetos que exigem cobertura de grandes áreas (aeroporto, estádio), isso é insuficiente. A solução é usar alternância dinâmica de regiões: ao entrar em uma região, as regiões vizinhas são ativadas e as remotas desativadas.

Tempo de resposta do monitoramento

O atraso entre entrar em uma região e receber a notificação pode variar de 1 a 30 segundos dependendo das condições. O iOS escaneia beacons periodicamente para economizar bateria, portanto não se deve esperar reação instantânea. Para cenários críticos em termos de tempo (abertura de porta ao se aproximar), recomenda-se o uso de Immediate ranging, mas ele funciona apenas no modo ativo do aplicativo.

Perguntas frequentes

O que é iBeacon?

iBeacon é um protocolo da Apple para beacons Bluetooth Low Energy, permitindo que dispositivos iOS e Android determinem sua localização em ambientes internos com precisão de centímetros com base na análise do nível do sinal (RSSI) dos pacotes BLE transmitidos.

Como o iBeacon difere do Bluetooth?

Bluetooth é um protocolo geral de comunicação sem fio para transmissão de dados entre dispositivos, exigindo pareamento. iBeacon é um protocolo especializado sobre BLE, projetado exclusivamente para transmissão broadcast de identificadores sem estabelecimento de conexão. Beacons iBeacon não transmitem dados — apenas informam sua presença.

Como o iBeacon funciona sem conexão?

iBeacon opera em modo Advertising — o beacon transmite continuamente pacotes BLE broadcast com informações de ID. O dispositivo recebe o pacote, mas não se conecta ao beacon. Isso permite economizar bateria do beacon (até 2-3 anos com uma CR2032) e detectar beacons passivamente sem escaneamento ativo.

Pode-se encontrar um iPhone pelo iBeacon?

Não, iBeacon não foi projetado para localizar dispositivos. Beacons iBeacon são transmissores fixos, e o iPhone atua como receptor. O iPhone não transmite sinais iBeacon (exceto pela função Find My, que usa outro protocolo baseado em BLE). Para localizar o telefone, usam-se outras tecnologias (Find My network, UWB).

Qual o alcance do iBeacon?

O alcance do iBeacon depende das configurações do beacon e das condições do ambiente. O alcance típico: Immediate — até 0,5 m, Near — até 3 m, Far — até 30-50 m. Com beacons de sinal amplificado e em espaços abertos, o alcance pode chegar a 70 m, mas a precisão da determinação de distância nessa distância é mínima.

Resumo

  • iBeacon é um protocolo proprietário da Apple para beacons BLE, operando com base em pacotes broadcast sem pareamento ativo.
  • O pacote iBeacon contém UUID (16 bytes), Major (2 bytes) e Minor (2 bytes), além do TX Power de calibração.
  • O iOS define três zonas de proximidade: Immediate (<0,5 m), Near (<3 m) e Far (<30-50 m), usando categorias em vez de distância exata.
  • Monitoramento de região permite que o aplicativo receba notificações de entrada/saída da zona do beacon mesmo em segundo plano (até 20 regiões).
  • O Android suporta iBeacon através da biblioteca AltBeacon com parsing de pacotes via BeaconParser e string layout.
  • Eddystone do Google é um protocolo aberto alternativo com suporte a URL e identificadores criptografados EID.
  • Principais limitações do iBeacon: instabilidade do RSSI em ambientes fechados, limite de 20 regiões e atraso de monitoramento de até 30 segundos.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também