iBeacon SDK em Android

ibeacon sdk

casos de uso possíveis e modelos de negócios para o farol que permite dependente da localização interação do usuário, mesmo no interior dos edifícios estão sendo muito debatido. In-store publicidade e descontos, pagamentos móveis, navegação, transporte público, localização em edifícios e museus públicos e automação residencial são apenas a ponta do iceberg. E, claro, a coleção onipresente de dados – agora novo e com informações precisas localização. Antes de aprender mais sobre a tecnologia iBeacon, também vamos mencionar o iBeacon SDK no artigo.

Qual é o hype?

O protocolo iBeacon desenvolvido pela Apple com base em Bluetooth Low Energy é suportado por uma variedade de dispositivos. O artigo explica iBeacons e Bluetooth Low Energy e usa o exemplo de desenvolvimento de um aplicativo Android para listas de compras dependente da localização mostrar a interação dependente da localização de um aplicativo com iBeacons. A implementação é baseada em MOKOSmart iBeacon SDK.

iBeacon, Bluetooth 4.0, BLE, INTELIGENTE. Wot?

A tecnologia básica para iBeacon é Bluetooth. Bluetooth Low Energy (BLE), que é muitas vezes referido como o rótulo de marketing Bluetooth inteligente, foi incluído na versão 4.0 do padrão Bluetooth. BLE não é compatível com versões anteriores chamados clássico Bluetooth. Bluetooth 4.0 especifica que dispositivos padrão compatível deve implementar uma ou ambas as variantes, i.e. Baixa Energia ou Classic.

BLE é implementado em smartphones quase todos os atuais, como o iPhone 4+ eo Samsung Galaxy 3+. Um iPhone pode funcionar tanto como um receptor de sinais iBeacon e – ao contrário do Android – ter um baliza se. Android inclui drivers BLE de versão da API 18, i.e. andróide 4.3. incidentalmente, computadores atuais também são BLE-capable. no Windows, Contudo, os drivers são apenas a bordo do Windows 8 e desde por volta de meados de 2011, BLE está disponível em computadores Apple.

BLE continua a suportar uma variedade de dispositivos periféricos tais como monitores de ritmo cardíaco e helicópteros brinquedo, termómetros, equipamentos de ginástica e escovas de dentes, sim, escovas de dentes e tênis.

Interessante em conexão com iBeacons é o sensor

Tag da Texas Instruments, que para além da sua função como um iBeacon também pode medir a temperatura, umidade, pressão, e aceleração. O Tag Sensor também vem com um giroscópio, um magnetômetro, e dois botões de hardware. O dispositivo ideal para apresentações controlar remotamente durante a transmissão e exibição da umidade e temperatura das mãos do alto-falante. Acho que o meu próximo projeto de caixa de areia será o medo do palco-o-mat. Você pode encontrar uma lista detalhada dos dispositivos no site oficial Bluetooth.

GATT pronto

O modelo de comunicação utilizado pelos dispositivos para trocar dados é chamado o GATT – Genéricos Perfil Atributo. GATT define os papéis do cliente e servidor. O cliente solicita dados do servidor através de serviços. A pares de grupos de serviço de vários chave atômica / valor, que são chamados de características. Ambos os serviços e características são identificados através de UUIDs e também pode conter mais descrições. Serviços e suas características são catalogados na forma de perfis; a especificação define toda uma gama de los dos campos de cuidados de saúde, esporte e fitness e – no nosso caso interessante – detecção de proximidade. Os perfis individuais e os seus serviços e características podem ser encontradas no portal do desenvolvedor Bluetooth no âmbito do GATT Especificações.

GATT SDK ibeacon

Chegar ao farol

Então, quais são iBeacons? iBeacon é uma tecnologia muito simples (e uma marca comercial da Apple que permite a interação dependente da localização, com aplicações. Uma baliza emite um sinal que pode ser recebido com dispositivos BLE-compatíveis e processado por aplicações instalados nele sinal contém a identificação do farol e a intensidade de recepção. iBeacons si são, Portanto – contrariamente às declarações inexatas na imprensa – incapaz de entregar conteúdo ou cliente pista comportamento. Esta é a responsabilidade das aplicações que recebem e, portanto, os desenvolvedores.

iBeacon IRL

implantações maiores de iBeacons na Alemanha será provavelmente um tempo para chegar, mas existem alguns exemplos dos EUA e da Holanda. Por exemplo, Major League Baseball equipou 28 estádios com iBeacons e usa-los, entre outras coisas, para check-ins no aplicativo MLB “No Ballpark”.

A vitrine foi implementado na Casa Rubens em Antuérpia, que oferece informação de fundo, tais como raios-X de pinturas e geocaching jogos para visitantes.

O principal exemplo em termos de tamanho vem da própria Apple. Sobre 250 Apple Stores foram equipados com iBeacons. Em combinação com o aplicativo Apple Store, mensagens dependentes de localização são enviados para os compradores que estão na loja. Contudo, as possíveis interações parecem actualmente a ser bastante limitado: Primeiros comentários relatar apenas dois diferentes (e bastante genérico) mensagens que teriam recebido. ofertas especiais ou informações específicas sobre produtos individuais vizinhas não foram oferecidos.

funcionalidade

não iBeacon SDK não usa um perfil BLE separado, mas sim pacotes de publicidade Bluetooth, i.e. pacotes de transmissão, que são usadas para descobrir dispositivos Bluetooth. Se você está interessado na estrutura exata do pacote, você pode ler este, por exemplo, no blog de Adam Warski.

pacote Tal é enviado em intervalos regulares que possam ser configurados por meio de GATT. Ele contém o UUID do farol, que é tipicamente pré-configurados pelo fabricante. Assim, todos os beacons MOKOSmart enviar o mesmo UUID. Maiores e menores IDs também são usados ​​para identificar as balizas individuais. Principais IDs podem representar, por exemplo, uma filial de uma loja ou um restaurante em uma rede de franquias, os menores IDs uma única prateleira ou mesa.

além disso, a intensidade do sinal está incluído no pacote de publicidade, que pode ser usada para medir a distância do receptor da baliza. Contudo, você não pode esperar alta precisão aqui, uma vez que o sinal pode ser obstruída por obstáculos espaciais, tais como mobiliário ou pessoas.

IBeacon SDK oferece dois conceitos para a interação de um aplicativo com esta informação: variando e monitorização região. quando variando, a distância para a baliza é determinada. Devido à imprecisão acima mencionado, isso acontece em apenas três etapas. “Imediato” está a uma distância de alguns centímetros, “Perto” está a poucos metros e “Longe” é uma distância de metros ao longo de dez. Variando só é possível se o aplicativo de recebimento está ativo.

Isso não é necessário para o monitoramento região. Neste modo, um aplicativo inativo também pode ser notificado ao entrar ou sair de uma região definida por um ou mais balizas. O mais tardar agora está se tornando claro o que torna esta tecnologia atraente para a publicidade e varejo. além do que, além do mais, para a maioria das balizas, a força de transmissão e o intervalo pode ser configurado a fim de optimizar a vida útil da bateria com base em condições locais.

“A maioria das balizas” implica que há mais de um fabricante de iBeacons no mercado. De fato, Há muito poucos: MOKOSmart, Kontakt.io, Gelo, Estimote, e Gimbal. Além do hardware, estes fabricantes também oferecem serviços em nuvem e soluções iBeacon SDK para a gestão de beacons. Os entusiastas entre nós pode configurar iBeacon transmissores-se com relativamente pouco esforço usando Raspberry Pi ou Arduino.

lista piscando

Vamos supor a seguinte situação para o exemplo de implementação: O desenvolvedor é no supermercado na manhã de sábado. Crianças com fome estão esperando em casa e no período da tarde há uma venda de bolos na escola. Só então será o fim de semana realmente começar. Então, boas razões para apressar. Infelizmente, a lista de compras é longo e não adaptado para o layout do supermercado. Se o supermercado foram equipados com iBeacons nos diferentes departamentos, um aplicativo de lista de compras poderia destacar as entradas apropriadas e reduzir significativamente o nível de estresse do (é claro completamente ficcional) desenvolvedor.

Desde o nosso aplicativo tem para se comunicar com Bluetooth, que primeiro exigem autorizações Bluetooth e BLUETOOTH_ADMIN no manifesto Android. A fim de ser capaz de usar o serviço oferecido pela API Estimote para interagir com iBeacons, devemos também torná-lo conhecido e colocar a API baixado em nossa libs / diretório.

Nosso protótipo consiste em um simples, pré-cheias e as regiões lista pré-definida, i.e. departamentos em nosso supermercado. A entrada da lista sabe qual região ele é atribuído a. No nosso exemplo, nós apenas um Assign farol para cada região. Também é possível combinar uma lista de beacons em uma região. A principal actividade é responsável pelo reconhecimento da região actual e transmite esta informação a um adaptador, que é responsável por destacar as entradas da lista. além do que, além do mais, nós adicionamos a opção de selecionar a região ativa sem balizas para tornar a nossa testável UI sem hardware adicional.

Na atividade está em Criar método, instanciamos um gerente Beacon de MOKOSmart para nosso aplicativo. Nós usamos um ouvinte para a região o monitoramento, fazendo a região atual conhecidos por nosso adaptador e definir o intervalo para os exames baliza. No exemplo, definimos que um segundo deve ser digitalizados e, em seguida, 250 ms deve esperar. Estes valores são escolhidos relativamente agressivamente para obter resultados rápidos em testes. Na realidade, o equilíbrio difícil entre a capacidade de resposta vs. Para atender a vida útil da bateria. Neste protótipo, nós também encher a nossa lista de compras com valores fictícios. Nós iniciar ou parar de monitorar no on () Iniciar ou onStop () Método da actividade principal.

o ITEMLIST

O adaptador é implementado como um derivado do android.widget.Array adaptador e substitui a get Ver () método, que é chamado para cada linha a ser exibido. O título do artigo é escrito na primeira linha da revisão definido no layout, na segunda região atribuído.

Como pode ser visto na Listagem 1, a região entrou é transferido para o adaptador na Região em Introduzido () callback do MonitoringListener, que é atribuído ao nosso BeaconManager: Adaptador lista de itens. segregação (região). Ao chamar getView (), Isso verifica se a região da entrada na linha coincide com a região atual. Se esse é o caso, -lo cores do fundo da linha. Adicionalmente ou alternativamente, também se poderia colocar as entradas para a zona actual no início, classificando a lista.

O código do aplicativo é clara; não é preciso muitos esforços implementações para receber sinais iBeacon e tratá-los no aplicativo. Os conceitos que variam iBeacon e de monitorização são mapeadas no MOKOSmart iBeacon SDK de modo que eles podem ser usados ​​intuitivamente. O código fonte completo do aplicativo podem ser encontradas no GitHub.

Conclusão e perspectivas

Vimos que interagir com iBeacons usando o MOKOSmart iBeacon SDK é fácil de fazer. Então eu não espero grandes obstáculos na tecnologia de implementação, mas sim na implantação das balizas e a afinação da potência de transmissão. Estes parâmetros têm um impacto direto sobre a capacidade de resposta do aplicativo quando o local muda. Em qualquer caso, o equilíbrio deve ser difícil.

Para particularmente interessante, por exemplo. B. na área de automação residencial, Eu considero a combinação de iBeacons com sensores, como no Tag Sensor da Texas Instruments mencionado acima. Estimote também lançará balizas móveis com sensores de movimento e temperatura no mercado com Estimote Adesivos. Os primeiros previews desenvolvedor deveria ter sido entregue no final de outubro 2014, mas há kits foram enviados até o final de 2014.

Ele continua a ser visto se a área de aplicação “Indoor Navigation” pode ser mapeado de forma robusta com esta tecnologia. Devido à susceptibilidade do sinal Bluetooth para factores de interferência, forte iluminação com sinais iBeacon da área correspondente e cálculos de posição, utilizando a triangulação com planos de apartamentos seria necessário. soluções adequadas são oferecidos por MOKOSmart (Indoor Navigation SDK iBeacon) e vários outros fabricantes, como LabWerk, mas o autor não tem conhecimento de quaisquer relatórios práticos.

Com o desenvolvimento de um aplicativo interagir com iBeacons, aspectos de segurança e de protecção de dados também deve ser tido em conta. Devido à simplicidade do sinal, iBeacon é propensa a falsificação, que não deve ser esquecido durante o desenvolvimento. Dados como a localização atual e o perfil de movimento que podem ser recolhidos com base no comportamento do usuário também têm uma elevada necessidade de protecção.

MOKOSMART iBeacon SDK

solução ibeacon sdk