0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Configuration
Connectez-vous à un appareil Bluetooth basse consommation (BLE) et explorez tout son arbre GATT : services, caractéristiques, descripteurs et valeurs exposées, comme le niveau de batterie ou les données de fabricant, modèle et firmware. Tout se passe entre votre machine et l’appareil.
Appareils proposés
UUID complets ou identifiants 16 bits, séparés par des virgules. Les services standard sont déjà demandés automatiquement

Comment ça marche

Connecte le navigateur à un appareil Bluetooth basse consommation et affiche tout son arbre GATT : chaque service primaire, les caractéristiques qu’il contient, les opérations prises en charge par chacune (lecture, écriture, notification ou indication) et les descripteurs associés, avec l’UUID 128 bits et l’identifiant court 16 bits lorsque l’élément est standard.

Les valeurs lisibles sont lues automatiquement et interprétées selon la spécification du Bluetooth SIG : le niveau de batterie s’affiche en pourcentage, le service Device Information en fabricant, modèle, numéro de série et versions de firmware, matériel et logiciel, et le PnP ID sous forme de couple d’identifiants fabricant et produit. Ce qui n’a pas de signification définie est affiché en texte, en nombre ou en dump hexadécimal.

Vous pouvez aussi vous abonner aux caractéristiques qui émettent des notifications pour les voir évoluer en direct — une fréquence cardiaque, une température, un compteur — et exporter tout le parcours en JSON. L’outil se contente de lire : il n’écrit jamais sur l’appareil. Toute la communication se fait entre votre machine et le périphérique via l’API Web Bluetooth ; rien ne part vers un serveur.

Exemples

0x180F → 0x2A195B → 91 %Le service Battery expose un seul octet contenant la charge restante : 0x5B équivaut donc à 91 %.
0x180A → 0x2A50 (PnP ID)USB Implementers Forum · VID 0x046D · PID 0xC52B · v1.0.0Le PnP ID identifie le fabricant et le produit avec les mêmes codes que l’USB : vous pouvez donc les rechercher dans le catalogue usb.ids.
6e400001-b5a3-f393-e0a9-e50e24dcca9eNordic UART ServiceLes UUID 128 bits correspondent à des services propriétaires ; les plus répandus, comme le port série de Nordic, sont affichés avec leur nom.

Cas d'usage

  • Voir combien de batterie il reste à un capteur, une balance ou un objet connecté sans installer l’application du fabricant.
  • Consulter le modèle, le numéro de série et la version du firmware d’un appareil avant de le mettre à jour ou d’ouvrir une demande de garantie.
  • Vérifier pendant le développement du firmware que le périphérique annonce bien les services et caractéristiques attendus, avec les bonnes propriétés.
  • Découvrir l’UUID d’une caractéristique propriétaire pour pouvoir l’utiliser depuis votre propre application.
  • Vérifier en direct que les notifications arrivent, et à quelle fréquence, quand une application ne reçoit pas de données.
  • Documenter l’arbre GATT complet d’un appareil en l’exportant en JSON pour le joindre à un rapport.

Questions fréquentes

Pourquoi cela ne fonctionne-t-il pas sur mon iPhone ni dans Firefox ?

L’API Web Bluetooth est implémentée dans les navigateurs basés sur Chromium — Chrome, Edge et Opera — sous Windows, macOS, Linux, ChromeOS et Android. Firefox et Safari ne l’implémentent pas, et sur iOS tous les navigateurs utilisent le moteur du système : elle n’y est donc pas disponible non plus. Il faut également du HTTPS et que le Bluetooth de la machine soit allumé.

L’appareil est allumé mais n’apparaît pas dans la liste.

Il y a généralement trois raisons : le périphérique est déjà connecté à une autre application ou à une autre machine et a cessé de s’annoncer ; il n’est pas en mode découvrable, activé sur de nombreux appareils en maintenant un bouton ; ou le filtre choisi est trop restrictif. Essayez l’option qui propose tous les appareils à proximité et rapprochez-vous.

Pourquoi vois-je moins de services que dans une application native ?

Une page web ne voit que les services demandés avant la connexion : c’est pourquoi l’outil réclame tous les services standard et vous laisse ajouter les UUID propriétaires que vous connaissez. Le navigateur maintient en outre une liste de services bloqués pour raisons de sécurité — dont celui des périphériques d’entrée (HID) et ceux de mise à jour du firmware — qu’aucune page ne peut lire.

Que signifient les propriétés d’une caractéristique ?

Lecture signifie que la valeur peut être demandée à tout moment. Écriture et écriture sans réponse indiquent que l’appareil accepte de recevoir des données, avec ou sans confirmation. Notification et indication signifient que c’est l’appareil qui envoie la valeur quand elle change ; la différence est que l’indication exige une confirmation du client, ce qui la rend plus lente mais plus fiable.

Pourquoi certains éléments ont-ils un UUID court et d’autres un très long ?

Les identifiants 16 bits comme 0x180F ou 0x2A19 sont réservés par le Bluetooth SIG et ont une signification définie dans la spécification : l’outil les affiche donc avec leur nom officiel. Un UUID 128 bits appartient au fabricant : seule son application sait ce qu’il contient, même si le contenu est tout de même affiché en texte, en nombre ou en hexadécimal.

L’outil peut-il écrire ou modifier quelque chose sur l’appareil ?

Non. Il se contente de lire des valeurs et d’activer les notifications que vous choisissez, ce qui est un abonnement et non une modification de la configuration de l’appareil. Il n’écrit jamais dans une caractéristique : aucun risque de laisser le périphérique dans un état inattendu.

Les données de l’appareil quittent-elles ma machine ?

Non. La connexion est gérée par le navigateur via l’adaptateur Bluetooth de votre machine, et aucune valeur lue n’est envoyée à un serveur. Vous accordez l’autorisation appareil par appareil depuis le sélecteur du navigateur et vous pouvez la révoquer à tout moment.