Determinare il supporto per Bluetooth Low Energy


11

Sto facendo uno studio di fattibilità su tablet Android per applicazioni commerciali. Ho un prodotto che richiede una connessione Bluetooth Low Energy.

Ho un tablet Nexus 7 che dovrebbe supportare BLE ma non ho trovato molte informazioni al riguardo. C'è un modo per verificare se il tablet ha BLE e se è abilitato o no?


Secondo i report di smontaggio e Wikipedia Nexus 7 ha un chip Broadcom (Broadcom BCM4330 accoppiato con AzureWave AW-NH665) * che è compatibile con BTLE. Ma non so che ci siano tutti i livelli SW necessari lì. Broadcom ha anche pubblicato un'API BT come open source, ma non so se quel pacchetto sia incluso in Nexus. È un po 'lungo, ma qualcuno che ha il Nexus 7 check è incluso nel pacchetto com.broadcom.bt.le.api? Sarei anche molto interessato a sentire ....

Ho acquistato un Google Nexus 7 la scorsa settimana con la speranza che la libreria condivisa com.broadcom.bt.le ci fosse, ma sono rimasto deluso nel constatare che le applicazioni di esempio non funzionano su Nexus 7 poiché manca la libreria condivisa. Ho inviato un'email al proprietario dell'SDK e di ASUS senza alcuna risposta. Quindi ho inviato il supporto via e-mail su Google Play e tutto ciò che poteva dirmi erano informazioni che già sapevo, che il Nexus 7 ha un chipset Broadcom BCM4330 che sulla carta è Bluetooth 4.0 ed è lo stesso chipset utilizzato in iPhone 4s e nel nuovo iPad e che è compatibile con Bluetooth 4.0. Non ho risposto si

Risposte:


7

A partire da ora, la verifica del supporto BLE deve essere eseguita manualmente studiando le specifiche e cercando su Google (per quanto ne so).

Vedi questa domanda su StackOverflow: supporto Bluetooth Smart (4.0) / GATT in Android 4.0?

Afferma che Android non supporta Bluetooth 4.0 (LE) pronto per l'uso fino ad Android-4.0 (forse con Jelly Bean 4.1 in poi, la scheda Nexus 7 suggerisce che). I produttori devono aggiungere la propria API per consentire l'accesso a BT LE (ad esempio questa app è limitata a Motorola). Ecco perché il tuo chilometraggio può variare con telefoni diversi fino alla 4.0. L' orologio Bluetooth LE di Casio è anche un esempio di compatibilità (ufficiale) limitata (neanche l'iPhone 4S è menzionato, tra l'altro).

La mia ipotesi migliore è che con più dispositivi con 4.1 il problema si risolverà da solo e puoi trovare app che lo mostrano.

Ecco gli elenchi dei produttori:

  • Motorola
  • HTC: buona lista non ancora trovata
  • Google: Galaxy Nexus ( non con 4.0 ), Nexus 7 Tab

Grazie per le informazioni, questo dovrebbe iniziare la mia ricerca.
digitale,

FYI Il Nexus 7 ha il BCM4330 di Broadcom (stesso chipset dell'iPhone 5), ma le app di esempio dell'SDK BLE di Broadcom non verranno installate perché la libreria nativa non è presente.
Barend,

Android 4.2 ha alcune novità: Android 4.2 introduce un nuovo stack Bluetooth ottimizzato per l'uso con dispositivi Android. Il nuovo stack Bluetooth sviluppato in collaborazione tra Google e Broadcom sostituisce lo stack basato su BlueZ e offre compatibilità e affidabilità migliorate. Fonte
ce4

Ho provato il Broadcom SDK sul mio S3 mini (4.1.2) e l'app si blocca su un "nessun metodo trovato": bluetoothDevice.getDeviceType ...
fvisticot

4

Non è disponibile il supporto Bluetooth LE in tutte le API Android correnti (al momento della stesura del livello API 16, fino ad Android 4.1). I produttori di telefoni devono utilizzare le pile dei produttori di chip Bluetooth. L'unico telefono che ha un chip LE incorporato e lo utilizza effettivamente è il Motorola Razor. È stato riferito che dopo l'aggiornamento di ICS, l'associazione Bluetooth LE non funzionerà più.

Quindi, nessun modo conveniente per interrogare un dispositivo per il supporto LE e utilizzarlo, fino a quando non c'è il supporto Bluetooth LE nell'API Android ufficiale.

IIRC il kernel Linux non ha ancora (stabile) API Bluetooth LE.


Questa risposta non è più aggiornata.
Dan Hulme,

2

Finalmente con Android 4.3 c'è il supporto BTLE nel sistema operativo. Per i singoli dispositivi devi attendere un aggiornamento 4.3 per vedere se il supporto è stato aggiunto. Per ora un Nexus 4 sembra l'unico dispositivo che dovrebbe essere buono. (Ne ho appena ordinato uno per eseguire lo sviluppo BTLE.) Alcuni dispositivi venduti come BTLE pronti e si ritiene che abbiano l'hardware necessario non sembrano funzionare davvero. ad esempio, il Nexus originale sembra non ricevere l'aggiornamento secondo Google.


2

Ora che Android 4.3 (API Level 18) espone un'API per l'accesso a BLE, è possibile che le app di terze parti eseguano un controllo per questa funzione di sistema. Un'app che può verificarlo è lo scanner Bluetooth LE . La parte superiore dell'attività principale ha un indicatore che visualizzerà "Supportato" se il dispositivo ha funzionalità BLE.

L'app è open-source, quindi puoi dare un'occhiata ai dettagli di implementazione su GitHub . Ho controllato il codice utilizzato per determinare se BLE è supportato ( qui , per i curiosi), e sembra corretto in base alle linee guida Android ufficiali , quindi non ho motivo di sospettare che l'app riferirà in modo errato il supporto BLE a meno che tu non abbia tentato di modifica il tuo dispositivo per provare a "falsificarlo". In ogni caso, è corretto sul mio Nexus 5. Le app che tentano di eseguire questo controllo saranno, ovviamente, utili solo su Android 4.3 o versioni successive.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.