Tentar compreender um conceito básico de como o distanciamento com ibeacon (beacon / Bluetooth-lowenergy / BLE) pode funcionar. Existe alguma documentação verdadeira sobre até que ponto exatamente um ibeacon pode medir. Digamos que estou a 300 pés de distância ... é possível para um ibeacon detectar isso?
Especificamente para v4 e. v5 e com iOS, mas geralmente qualquer dispositivo BLE.
Como a frequência e a taxa de transferência do Bluetooth afetam isso? Os dispositivos de beacon podem aumentar ou restringir a distância / melhorar a BLE subjacente?
ie
| Range | Freq | T/sec | Topo |
|–—–––––––––––|–—––––––––––|–—––––––––––|–—––––––––––|
Bluetooth v2.1 | Up to 100 m | < 2.481ghz | < 2.1mbit | scatternet |
|-------------|------------|------------|------------|
Bluetooth v4 | ? | < 2.481ghz | < 305kbit | mesh |
|-------------|------------|------------|------------|
Bluetooth v5 | ? | < 2.481ghz | < 1306kbit | mesh |
fonte
Estou investigando a fundo a questão de precisão / rssi / proximidade com iBeacons e realmente acho que todos os recursos na Internet (blogs, posts no StackOverflow) estão errados.
davidgyoung (resposta aceita,> 100 votos positivos) diz:
Na verdade, a maioria das pessoas diz isso, mas eu não tenho ideia do porquê! A documentação deixa muito claro que CLBeacon.proximity:
Deixe-me repetir: precisão de um sigma em metros . Todas as 10 principais páginas do google sobre o assunto têm o termo "um sigma" apenas na citação de documentos, mas nenhuma delas analisa o termo, que é fundamental para entender isso.
Muito importante é explicar o que é realmente a precisão de um sigma . Seguintes URLs para começar: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertainty
No mundo físico, quando você faz alguma medição, você sempre obtém resultados diferentes (por causa de ruído, distorção, etc) e muitas vezes resultados da distribuição gaussiana. Existem dois parâmetros principais que descrevem a curva gaussiana:
um sigma é outra maneira de descrever quão estreita / larga é a curva gaussiana.
Ele simplesmente diz que se a média da medição for X e um sigma for σ, então 68% de todas as medições estarão entre
X - σ
eX + σ
.Exemplo. Medimos a distância e obtemos uma distribuição gaussiana como resultado. A média é 10m. Se σ é 4m, significa que 68% das medições ocorreram entre 6m e 14m.
Quando medimos a distância com beacons, obtemos RSSI e o valor de calibração de 1 metro, que nos permite medir a distância em metros. Mas cada medição fornece valores diferentes, que formam a curva gaussiana. E um sigma (e precisão) é a precisão da medição, não a distância!
Pode ser enganoso, porque quando movemos o farol para mais longe, um sigma na verdade aumenta porque o sinal é pior. Mas com diferentes níveis de potência do farol, podemos obter valores de precisão totalmente diferentes sem realmente alterar a distância. Quanto maior a potência, menos erros.
Há uma postagem de blog que analisa completamente o assunto: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
O autor tem a hipótese de que precisão é realmente distância. Ele afirma que os beacons do Kontakt.io estão com defeito porque quando ele aumentou a potência para o valor máximo, o valor de precisão era muito pequeno para 1, 5 e até 15 metros. Antes de aumentar a potência, a precisão estava bem próxima dos valores de distância. Eu pessoalmente acho que está correto, pois quanto maior o nível de potência, menor o impacto da interferência. E é estranho porque os faróis Estimote não se comportam dessa forma.
Não estou dizendo que estou 100% certo, mas além de ser desenvolvedor iOS, tenho graduação em eletrônica sem fio e acho que não devemos ignorar o termo "um sigma" dos documentos e gostaria de começar uma discussão sobre isso.
Pode ser possível que o algoritmo de precisão da Apple apenas colete medições recentes e analise a distribuição gaussiana delas. E é assim que define a precisão. Eu não excluiria a possibilidade de que eles usem o acelerômetro do formulário de informações para detectar se o usuário está se movendo (e com que rapidez) para redefinir os valores de distância de distribuição anteriores porque eles certamente mudaram.
fonte
accuracy
é uma função de ambosrssi
etx power
. Não é totalmente impossível que Estimote decidiu fazer a engenharia reversa daaccuracy
função e começou a fornecertx power
valores tais que a leituraaccuracy
estima a distância. Isso fornece uma experiência de desenvolvedor mais simples para estimar a distância, mas quebra a definição da Apple deaccuracy
. Outras marcas podem permanecer mais fiéis à definição da Apple deaccuracy
e realmente fornecer uma "estimativa de 1 metro" em vez de um valor de engenharia reversa que faz aaccuracy
estimativa da distância.A potência de saída do iBeacon é medida (calibrada) a uma distância de 1 metro. Vamos supor que seja -59 dBm (apenas um exemplo). O iBeacon incluirá este número como parte de seu anúncio LE.
O dispositivo de escuta (iPhone, etc) medirá o RSSI do dispositivo. Suponhamos, por exemplo, que isso seja, digamos, -72 dBm.
Como esses números estão em dBm, a proporção da potência é na verdade a diferença em dB. Assim:
Para converter isso em uma proporção linear, usamos a fórmula padrão para dB:
Se assumirmos a conservação de energia, a intensidade do sinal deve cair para 1 / r ^ 2. Assim:
power = power_at_1_meter / r^2
. Resolvendo para r, obtemos:Em Javascript, o código ficaria assim:
Observe que, se você estiver dentro de um edifício de aço, talvez haja reflexos internos que fazem o sinal decair mais lentamente do que 1 / r ^ 2. Se o sinal passar por um corpo humano (água), o sinal será atenuado. É muito provável que a antena não tenha ganho igual em todas as direções. Objetos de metal na sala podem criar padrões de interferência estranhos. Etc, etc ... YMMV.
fonte
ratio_dB = txCalibratedPower - RSSI
funciona? Como ambas as medidas estão em dBm, eu presumiria que o resultado também estivesse em dBm.O iBeacon usa Bluetooth Low Energy (LE) para manter-se informado sobre os locais, e a distância / alcance do Bluetooth LE é 160 pés ( http://en.wikipedia.org/wiki/Bluetooth_low_energy ).
fonte
As distâncias até a fonte de pacotes de anúncios formatados por iBeacon são estimadas partir da atenuação do caminho do sinal calculada comparando a intensidade do sinal recebido medida com a potência de transmissão reivindicada que o transmissor deve codificar nos dados de publicidade.
Um esquema baseado em perda de caminho como este é apenas aproximado e está sujeito a variações com coisas como ângulos da antena, objetos intermediários e, presumivelmente, um ambiente de RF ruidoso. Em comparação, os sistemas realmente projetados para medição de distância (GPS, Radar, etc) contam com medidas precisas do tempo de propagação, em alguns casos até examinando a fase do sinal.
Como Jiaru aponta, 160 pés provavelmente está além do alcance pretendido, mas isso não significa necessariamente que um pacote nunca passará , apenas que não se deve esperar que funcione a essa distância.
fonte
É possível, mas depende da potência de saída do farol que você está recebendo, outras fontes de RF próximas, obstáculos e outros fatores ambientais. A melhor coisa a fazer é experimentar no ambiente de seu interesse.
fonte
Com vários telefones e beacons no mesmo local, será difícil medir a proximidade com qualquer alto grau de precisão. Tente usar o aplicativo Android "le bluetooth le scanner" para visualizar as variações de intensidade do sinal (distância) para vários beacons e você descobrirá rapidamente que algoritmos complexos e adaptáveis podem ser necessários para fornecer qualquer forma de medição de proximidade consistente .
Você verá muitas soluções simplesmente instruindo o usuário "por favor, segure seu telefone aqui", para reduzir a frustração do cliente.
fonte