Determinación del soporte para Bluetooth Low Energy

11

Estoy haciendo un estudio de viabilidad en tabletas Android para aplicaciones comerciales. Tengo un producto que requiere una conexión Bluetooth de baja energía.

Tengo una tableta Nexus 7 que se supone que es compatible con BLE, pero no he encontrado mucha información al respecto. ¿Hay alguna manera de verificar si la tableta tiene BLE y si está habilitada o no?

digital
fuente
Según los informes de desmontaje y Wikipedia, Nexus 7 tiene un chip Broadcom (Broadcom BCM4330 emparejado con AzureWave AW-NH665) * que es compatible con BTLE. Pero no sé si se necesitan todas las capas SW allí. Broadcom también ha publicado una API BT como código abierto, pero no sé si ese paquete está incluido en Nexus. Es un poco arriesgado, pero ¿alguien con el cheque de Nexus 7 puede incluir el paquete com.broadcom.bt.le.api? También estaría muy interesado en escuchar ...
Compré un Google Nexus 7 la semana pasada con la esperanza de que la biblioteca compartida com.broadcom.bt.le estuviera en él, pero me decepcionó descubrir que las aplicaciones de muestra no funcionan en el Nexus 7 ya que falta la biblioteca compartida. Le envié un correo electrónico al propietario del SDK y ASUS sin respuesta. Luego le envié un correo electrónico al soporte de Google Play y todo lo que me pudo decir fue información que ya conocía, que el Nexus 7 tiene un chipset Broadcom BCM4330 que en papel es Bluetooth 4.0 y es el mismo chipset usado en el iPhone 4s y el nuevo iPad y que es compatible con Bluetooth 4.0. No

Respuestas:

7

A partir de ahora, la comprobación de la compatibilidad con BLE debe realizarse manualmente mediante el estudio de las especificaciones y la búsqueda en Google (que yo sepa).

Vea esta pregunta en Stackoverflow: ¿Soporte Bluetooth Smart (4.0) / GATT en Android 4.0?

Establece que Android no es compatible con Bluetooth 4.0 (LE) de fábrica hasta Android-4.0 (tal vez con Jelly Bean 4.1 en adelante, la pestaña Nexus 7 sugiere que). Los fabricantes tienen que agregar su propia API para permitir el acceso a BT LE (por ejemplo, esta aplicación está limitada a Motorola). Es por eso que su millaje puede variar con diferentes teléfonos hasta 4.0. El reloj habilitado con Bluetooth LE de Casio también es un ejemplo de compatibilidad limitada (oficial) (por cierto, ni siquiera se menciona el iPhone 4S).

Mi mejor conjetura es que con más dispositivos con 4.1, el problema se resolverá por sí solo y puede encontrar aplicaciones que lo muestran.

Aquí hay listas de fabricantes:

  • Motorola
  • HTC: buena lista aún no encontrada
  • Google: Galaxy Nexus ( no con 4.0 ), pestaña Nexus 7
ce4
fuente
Gracias por la información, esto debería ayudarme a comenzar mi investigación.
digital
FYI El Nexus 7 tiene el BCM4330 de Broadcom (el mismo chipset que en el iPhone 5), pero las aplicaciones de muestra del BLE SDK de Broadcom no se instalarán porque la biblioteca nativa no está presente.
Barend
Android 4.2 tiene algunas novedades: Android 4.2 presenta una nueva pila Bluetooth optimizada para su uso con dispositivos Android. La nueva pila Bluetooth desarrollada en colaboración entre Google y Broadcom reemplaza la pila basada en BlueZ y proporciona compatibilidad y confiabilidad mejoradas. Fuente
ce4
He probado el Broadcom SDK en mi S3 mini (4.1.2) y la aplicación se está bloqueando por un "método no encontrado": bluetoothDevice.getDeviceType ...
fvisticot
4

No hay compatibilidad con Bluetooth LE en todas las API de Android actuales (en el momento de la redacción, es el nivel de API 16, hasta Android 4.1). Los fabricantes de teléfonos tienen que usar las pilas de los fabricantes de chips Bluetooth. El único teléfono que tiene un chip LE incorporado y que en realidad lo utiliza es el Motorola Razor. Ha habido informes de que después de la actualización de ICS, el emparejamiento Bluetooth LE ya no funcionará.

Por lo tanto, no hay una forma conveniente de consultar un dispositivo para obtener compatibilidad con LE y hacer uso de él, hasta que haya compatibilidad con Bluetooth LE en la API oficial de Android.

IIRC, el kernel de Linux, todavía no tiene una API LE Bluetooth (estable) todavía.

Fluir
fuente
Esta respuesta ahora está desactualizada.
Dan Hulme
2

Finalmente con Android 4.3 hay soporte BTLE en el sistema operativo. Para dispositivos individuales, debe esperar una actualización 4.3 para ver si se ha agregado el soporte. Por ahora, un Nexus 4 se parece al único dispositivo que debería ser bueno. (Acabo de pedir uno para desarrollar BTLE). Algunos dispositivos que se vendieron como BTLE están listos y se cree que tienen el hardware necesario no parecen funcionar realmente. por ejemplo, el Nexus original parece no estar recibiendo la actualización de acuerdo con Google.

Yo para
fuente
2

Ahora que Android 4.3 (API Nivel 18) expone una API para acceder a BLE, es posible que las aplicaciones de terceros realicen una verificación para esta función del sistema. Una aplicación que puede verificar esto por usted es Bluetooth LE Scanner . La parte superior de la actividad principal tiene un indicador que mostrará "Compatible" si su dispositivo tiene capacidades BLE.

La aplicación es de código abierto, por lo que puede echar un vistazo a los detalles de implementación en GitHub . Verifiqué el código utilizado para determinar si BLE es compatible ( aquí , para los curiosos), y parece correcto según las directrices oficiales de Android , por lo que no tengo ninguna razón para sospechar que la aplicación informará incorrectamente la compatibilidad con BLE a menos que haya intentado modifique su dispositivo para intentar "falsificarlo". En cualquier caso, es correcto en mi Nexus 5. Las aplicaciones que intentan realizar esta verificación, por supuesto, solo serán útiles en Android 4.3 o posterior.

eldarerathis
fuente