Déterminer la prise en charge de Bluetooth Low Energy


11

Je fais une étude de faisabilité sur les tablettes Android pour les applications commerciales. J'ai un produit qui nécessite une connexion Bluetooth Low Energy.

J'ai une tablette Nexus 7 qui est censée prendre en charge le BLE mais je n'ai pas trouvé beaucoup d'informations à ce sujet. Existe-t-il un moyen de vérifier si la tablette a BLE et si elle est activée ou non?


Selon les rapports de démontage et wikipedia, le Nexus 7 possède une puce Broadcom (Broadcom BCM4330 couplée à AzureWave AW-NH665) * qui est capable de BTLE. Mais je ne sais pas si toutes les couches SW sont nécessaires. Broadcom a également publié une API BT en open source, mais je ne sais pas si ce package est inclus dans Nexus. C'est un peu long, mais quelqu'un ayant le contrôle Nexus 7 peut-il inclure le package com.broadcom.bt.le.api? Je serais également très intéressé d'entendre ....

J'ai acheté un Google Nexus 7 la semaine dernière dans l'espoir que la bibliothèque partagée com.broadcom.bt.le s'y trouve, mais j'ai été déçu de constater que les exemples d'applications ne fonctionnent pas sur le Nexus 7 car il manque la bibliothèque partagée. J'ai envoyé un e-mail au propriétaire du SDK et d'ASUS sans réponse. Ensuite, j'ai envoyé un e-mail au support sur Google Play et tout ce qu'il pouvait me dire, c'était des informations que je connaissais déjà, que le Nexus 7 avait un chipset Broadcom BCM4330 qui sur papier est Bluetooth 4.0 et est le même chipset utilisé dans l'iPhone 4s et le nouvel iPad et qu'il est compatible Bluetooth 4.0. Je n'ai pas répondu si

Réponses:


7

À partir de maintenant, la vérification du support BLE doit être effectuée manuellement en étudiant les spécifications et en effectuant une recherche sur Google (pour autant que je sache).

Voir cette question sur Stackoverflow: prise en charge Bluetooth Smart (4.0) / GATT dans Android 4.0?

Il indique qu'Android ne prend pas en charge Bluetooth 4.0 (LE) hors de la boîte jusqu'à Android-4.0 (peut-être avec Jelly Bean 4.1, l'onglet Nexus 7 le suggère). Les fabricants doivent ajouter leur propre API pour permettre l'accès à BT LE (par exemple, cette application est limitée à Motorola). C'est pourquoi votre kilométrage peut varier avec différents téléphones jusqu'à 4.0. La montre compatible Bluetooth LE de Casio est également un exemple de compatibilité limitée (officielle) (même l'iPhone 4S n'est pas mentionné, soit dit en passant).

Ma meilleure supposition est qu'avec plus d'appareils ayant 4.1, le problème se résoudra de lui-même et vous pouvez trouver des applications le montrant.

Voici les listes des fabricants:


Merci pour l'info, cela devrait me permettre de commencer mes recherches.
numérique

Pour info Le Nexus 7 possède le BCM4330 de Broadcom (même chipset que dans l'iPhone 5), mais les exemples d'applications du SDK BLE de Broadcom ne s'installent pas car la bibliothèque native n'est pas présente.
Barend

Android 4.2 a quelques nouvelles: Android 4.2 introduit une nouvelle pile Bluetooth optimisée pour une utilisation avec les appareils Android. La nouvelle pile Bluetooth développée en collaboration entre Google et Broadcom remplace la pile basée sur BlueZ et offre une compatibilité et une fiabilité améliorées. Source
ce4

J'ai essayé le sdk broadcom sur mon S3 mini (4.1.2) et l'application plante sur une "aucune méthode trouvée": bluetoothDevice.getDeviceType ...
fvisticot

4

Il n'y a pas de prise en charge Bluetooth LE dans toutes les API Android actuelles (au moment de la rédaction, c'est le niveau 16 de l'API, jusqu'à Android 4.1). Les fabricants de téléphones doivent utiliser les piles des fabricants de puces Bluetooth. Le seul téléphone doté d'une puce LE intégrée et qui l'utilise réellement est le Motorola Razor. Il a été rapporté qu'après la mise à jour ICS, l'appairage Bluetooth LE ne fonctionnerait plus.

Donc, aucun moyen pratique de demander un support LE à un appareil et de l'utiliser, jusqu'à ce qu'il y ait un support Bluetooth LE dans l'API Android officielle.

IIRC le noyau Linux n'a pas encore d'API Bluetooth LE (stable).


Cette réponse est désormais obsolète.
Dan Hulme

2

Enfin, avec Android 4.3, le système d'exploitation prend en charge BTLE. Pour les appareils individuels, vous devez attendre une mise à jour 4.3 pour voir si le support a été ajouté. Pour l'instant, un Nexus 4 ressemble au seul appareil qui devrait être bon. (Je viens d'en commander un pour faire du développement BTLE.) Certains appareils qui ont été vendus comme étant prêts pour BTLE et qui auraient le matériel nécessaire ne semblent pas vraiment fonctionner. par exemple, le Nexus d'origine ne semble pas recevoir la mise à jour selon Google.


2

Maintenant qu'Android 4.3 (API niveau 18) expose une API pour accéder à BLE, il est possible que des applications tierces effectuent une vérification de cette fonctionnalité du système. Une application qui peut vérifier cela pour vous est Bluetooth LE Scanner . Le haut de l'activité principale a un indicateur qui affichera "Pris en charge" si votre appareil a des capacités BLE.

L'application est open-source, vous pouvez donc consulter les détails de mise en œuvre sur GitHub . J'ai vérifié le code utilisé pour déterminer si BLE est pris en charge ( ici , pour les curieux), et il semble correct sur la base des directives officielles d'Android , donc je n'ai aucune raison de soupçonner que l'application ne rapportera pas correctement le support BLE à moins que vous n'ayez tenté de modifiez votre appareil pour essayer de le "truquer". Dans tous les cas, c'est correct sur mon Nexus 5. Les applications qui tentent d'effectuer cette vérification ne seront bien sûr utiles que sur Android 4.3 ou version ultérieure.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.