Determinando o suporte para Bluetooth Low Energy

11

Estou fazendo um estudo de viabilidade para tablets Android para aplicativos comerciais. Eu tenho um produto que requer uma conexão Bluetooth Low Energy.

Eu tenho um tablet Nexus 7 que deve suportar o BLE, mas não encontrei muita informação sobre ele. Existe uma maneira de verificar se o tablet tem BLE e se está ativado ou não?

digital
fonte
De acordo com relatórios de desmontagem e a Wikipedia, o Nexus 7 possui um chip Broadcom (Broadcom BCM4330 emparelhado com AzureWave AW-NH665) *, compatível com BTLE. Mas eu não sei se todas as camadas SW são necessárias lá. A Broadcom também publicou uma API da BT como código aberto, mas não sei se esse pacote está incluído no Nexus. É um pouco demorado, mas alguém com a verificação do Nexus 7 pode incluir o pacote com.broadcom.bt.le.api? Eu também ficaria muito interessado em ouvir .... #
Comprei um Google Nexus 7 na semana passada, com a esperança de que a biblioteca compartilhada com.broadcom.bt.le estivesse nele, mas fiquei desapontado ao descobrir que os aplicativos de exemplo não funcionam no Nexus 7, pois está faltando a biblioteca compartilhada. Enviei um e-mail ao proprietário do SDK e da ASUS sem resposta. Em seguida, enviei um e-mail para o suporte no google play e tudo o que ele poderia me dizer era informações que eu já sabia, que o Nexus 7 tem um chipset Broadcom BCM4330 que no papel é Bluetooth 4.0 e é o mesmo chipset usado no iPhone 4s e no novo iPad e que é compatível com Bluetooth 4.0. Não respondi si

Respostas:

7

A partir de agora, a verificação do suporte ao BLE deve ser feita manualmente, estudando as especificações e pesquisando no Google (tanto quanto eu sei).

Veja esta pergunta no Stackoverflow: Suporte ao Bluetooth Smart (4.0) / GATT no Android 4.0?

Ele afirma que o Android não suporta Bluetooth 4.0 (LE) pronto para o Android-4.0 (talvez com o Jelly Bean 4.1 em diante, a guia Nexus 7 sugere isso). Os fabricantes precisam adicionar sua própria API para permitir o acesso ao BT LE (por exemplo, este aplicativo é limitado à Motorola). É por isso que sua milhagem pode variar com telefones diferentes até 4,0. O relógio habilitado para Bluetooth LE da Casio também é um exemplo de compatibilidade (oficial) limitada (a propósito, nem mesmo o iPhone 4S é mencionado).

Meu melhor palpite é que, com mais dispositivos com 4.1, o problema será resolvido por si só e você poderá encontrar aplicativos que o mostrem.

Aqui estão as listas dos fabricantes:

  • Motorola
  • HTC: boa listagem ainda não encontrada
  • Google: Galaxy Nexus ( não com 4.0 ), guia Nexus 7
ce4
fonte
Obrigado pela informação, isso deve me iniciar na minha pesquisa.
digital de
Para sua informação, o Nexus 7 possui o BCM4330 da Broadcom (mesmo chipset do iPhone 5), mas os aplicativos de amostra do BLE SDK da Broadcom não serão instalados porque a biblioteca nativa não está presente.
Barend
O Android 4.2 tem algumas novidades: o Android 4.2 apresenta uma nova pilha Bluetooth otimizada para uso com dispositivos Android. A nova pilha Bluetooth desenvolvida em colaboração entre o Google e a Broadcom substitui a pilha baseada no BlueZ e fornece compatibilidade e confiabilidade aprimoradas. Fonte
ce4
Eu tentei o broadcom SDK no meu S3 mini (4.1.2) e o aplicativo está falhando em um "nenhum método encontrado": bluetoothDevice.getDeviceType ...
fvisticot
4

Não há suporte para Bluetooth LE em todas as APIs atuais do Android (no momento em que este é o nível da API 16, até o Android 4.1). Os fabricantes de telefones precisam usar as pilhas dos fabricantes de chips Bluetooth. O único telefone que possui um chip LE embutido e que faz uso dele é o Motorola Razor. Há relatos de que, após a atualização do ICS, o emparelhamento Bluetooth LE não funcionará mais.

Portanto, não há maneira conveniente de consultar um dispositivo para obter suporte ao LE e utilizá-lo, até que exista suporte ao Bluetooth LE na API oficial do Android.

O IIRC, o kernel do Linux, ainda não tem API Bluetooth LE (estável).

Fluxo
fonte
Esta resposta está desatualizada.
Dan Hulme
2

Finalmente, com o Android 4.3, há suporte para BTLE no sistema operacional. Para dispositivos individuais, é necessário aguardar uma atualização 4.3 para ver se o suporte foi adicionado. Por enquanto, o Nexus 4 se parece com o único dispositivo que deve ser bom. (Acabei de encomendar um para desenvolver o BTLE.) Alguns dispositivos que foram vendidos com o BTLE pronto e acredita-se que possuem o hardware necessário não parecem funcionar realmente. por exemplo, o Nexus original parece não estar recebendo a atualização de acordo com o Google.

Ifor
fonte
2

Agora que o Android 4.3 (API Nível 18) expõe uma API para acessar o BLE, é possível que aplicativos de terceiros realizem uma verificação para esse recurso do sistema. Um aplicativo que pode verificar isso é o Bluetooth LE Scanner . A parte superior da atividade principal possui um indicador que exibirá "Suportado" se o seu dispositivo tiver recursos de BLE.

O aplicativo é de código aberto, então você pode dar uma olhada nos detalhes da implementação no GitHub . Verifiquei o código usado para determinar se o BLE é suportado ( aqui , para os curiosos), e parece correto com base nas diretrizes oficiais do Android , portanto, não tenho motivos para suspeitar que o aplicativo deturpa o suporte ao BLE, a menos que você tenha tentado modifique seu dispositivo para tentar "falsificá-lo". De qualquer forma, está correto no meu Nexus 5. Os aplicativos que tentarem executar essa verificação, obviamente, só serão úteis no Android 4.3 ou posterior.

eldarerathis
fonte