Guide pratique pour spécifier les capacités d’un appareil pour Bluetooth

Remarque pour Windows 10, consultez la rubrique relative aux différences de Windows 10.

 

le manifeste du package est un document XML qui contient les informations dont le système a besoin pour déployer, afficher ou mettre à jour une application Windows Runtime apps. Ces informations comprennent l’identité du package, les dépendances du package, les fonctionnalités nécessaires, les éléments visuels et les points d’extensibilité. Chaque package d’application doit inclure un manifeste de package.

Pour plus d’informations sur le manifeste du package, consultez comment créer un manifeste de package manuellement.

une application Windows Runtime qui accède à un appareil Bluetooth (via les api Rfcomm ou Gatt) doit inclure des données DeviceCapability spécifiques dans le nœud fonctionnalités de son manifeste. Ces données identifient l’appareil et son objectif (ou fonction). Notez que certains appareils peuvent avoir plusieurs fonctions.

L’élément ID de l' appareil correspond à l’identificateur de l’appareil. Cet élément peut spécifier une combinaison d’un ID de fournisseur (vid) et d’un ID de produit (PID); Il peut également spécifier une combinaison du fabricant et du modèle. elle peut également spécifier une chaîne générique (« any »). En outre, si l' ID d’appareil spécifie un ID de fournisseur (vid) et un ID de produit (PID), il peut contenir une chaîne de fournisseur facultative « USB » ou « Bluetooth ».

L’élément de type de fonction spécifie la fonction de l’appareil. cet élément peut spécifier un nom de service Bluetooth (nom) ou un Id de service (serviceId).

Bluetooth de l’utilisation de DeviceCapability

votre application Bluetooth doit inclure certaines fonctionnalités de l’appareil dans son manifeste de package d’application pour spécifier des informations clés sur l’appareil. Voici les éléments requis dans l’ordre hiérarchique :

< DeviceCapability >: l’attribut Name doit être « bluetooth. rfcomm » pour accéder à un appareil Bluetooth rfcomm ou « bluetooth. genericAttributeProfile » pour accéder à un appareil Bluetooth GATT.

< Appareil >: l’attribut ID doit spécifier l’ID du fournisseur/produit, ou le fabricant/modèle, ou peut être « any » pour autoriser l’accès à n’importe quel appareil qui correspond au type de fonction.

< Fonction >: l’attribut type peut spécifier le nom du service ou l’ID du service.

Remarque vous ne pouvez pas modifier la fonctionnalité de l’appareil Bluetooth dans Microsoft Visual Studio. vous devez cliquer avec le bouton droit sur le fichier Package. appxmanifest dans Explorateur de solutions , puis sélectionner ouvrir avec..., puis éditeur XML (texte). Le fichier s’ouvre en XML brut.

 

Définition de RFCOMM DeviceCapabilities

utilisez la disposition suivante pour décrire les fonctionnalités de RFCOMM Bluetooth de votre application :

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="vidpid:xxxx xxxx bluetooth">
    <m2:Function Type="serviceId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/>
    <m2:Function Type="name:xxxxx"/>
  </m2:Device>
<m2:/DeviceCapability>

Définition de GenericAttributeProfile DeviceCapabilities

utilisez la disposition suivante pour décrire les fonctionnalités Bluetooth du GATT de votre application :

<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
  <m2:Device Id="model:xxxx;xxxx">
    <m2:Function Type="serviceId:xxxxxxxx"/>
    <m2:Function Type="name:xxxxx"/>
  <m2:/Device>
<m2:/DeviceCapability>

Comment spécifier des exemples de DeviceCapabilities

les entrées suivantes illustrent les différentes méthodes permettant de définir DeviceCapabilities pour un appareil Bluetooth.

l’extrait de code suivant identifie le DeviceCapabilities d’un appareil Bluetooth RFCOMM à l’aide de la combinaison id du fournisseur et id du produit , avec le fournisseur facultatif :

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="vidpid:0006 0001 bluetooth">
    <m2:Function Type="name:obexObjectPush"/>
  </m2:Device>
</m2:DeviceCapability>

l’extrait de code suivant identifie le DeviceCapabilities d’un appareil Bluetooth RFCOMM à l’aide de son Id complet.

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="any">
    <m2:Function Type="name:AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE" />
  </m2:Device>
</m2:DeviceCapability>

l’extrait de code suivant identifie le DeviceCapabilities d’un Bluetooth appareil GATT à l’aide de la combinaison fabricant / modèle :

<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
  <m2:Device Id="any">
    <m2:Function Type="name:heartRate" />
  </m2:Device>
</m2:DeviceCapability>

prise en charge des services Bluetooth RFCOMM

Les services RFCOMM suivants sont pris en charge via la valeur Name :

  • nom : serialPort
  • nom : obexObjectPush
  • nom : obexFileTransfer
  • nom : phoneBookAccessPce
  • nom : phoneBookAccessPse
  • nom : genericFileTransfer

Les services RFCOMM suivants ne sont pas pris en charge :

  • Découverte de service (0x1000)
  • Parcourir le descripteur de groupe (0x1001)
  • Accès au réseau local à l’aide de PPP (0x1102)
  • Mise en réseau à distance (0x1103)
  • Casque (0x1108, 0x1112)
  • Téléphonie sans fil (0x1109)
  • Source audio (0x110A) et récepteur (0x110B)
  • Contrôle à distance A/V (0x110C, 0x110E, 0x110F)
  • Intercom (0x1110)
  • Télécopie (0x1111)
  • WAP (0x1113, 0x1114)
  • PANU (0x1115)
  • Protection d’accès réseau (0x1116)
  • GN (0x1117)
  • Handsfree (0x111E, 0x111F)
  • Périphérique d’interface utilisateur (0x1124)
  • HCR Print (0x1126) et Scan (0x1127)
  • Accès RNIS courant (0x1128)
  • Accès SIM (0x112D)
  • Casque – HS (0x1131)
  • Serveur GNSS (0x1136)
  • Informations PnP (, 0x1200)
  • Mise en réseau générique (0x1201)
  • Audio générique (0x1203)
  • Téléphonie générique (0x1204)
  • UPnP (0x1205, 0x1206)
  • IP UPnP ESDP (0x1300, 0x1301, 0x1302)
  • Source vidéo (0x1303) et récepteur (0x1304)
  • Distribution vidéo (0x1305)
  • Source HDP (0x1401) et récepteur (0x1402)

prise en charge de Bluetooth services GATT

Les services GATT suivants sont pris en charge via la valeur Name :

  • nom : batterie
  • nom : bloodPressure
  • nom : cyclingSpeedAndCadence
  • nom : genericAccess
  • nom : genericAttribute
  • nom : glucose
  • nom : healthThermometer
  • nom : Jérôme au
  • nom : runningSpeedAndCadence

Le service GATT suivant n’est pas pris en charge :

  • Périphérique d’interface utilisateur (0x1812)