Cara menentukan kemampuan perangkat untuk Bluetooth

Catatan Untuk Windows 10, lihat Apa yang berbeda dalam Windows 10.

 

Manifes paket adalah dokumen XML yang berisi info yang diperlukan sistem untuk menyebarkan, menampilkan, atau memperbarui aplikasi Windows Runtime. Info ini mencakup identitas paket, dependensi paket, kemampuan yang diperlukan, elemen visual, dan titik ekstensibilitas. Setiap paket aplikasi harus menyertakan satu manifes paket.

Untuk informasi terperinci tentang manifes paket, lihat Cara membuat manifes paket secara manual.

Aplikasi Windows Runtime yang mengakses perangkat Bluetooth (melalui API Rfcomm atau Gatt) harus menyertakan data DeviceCapability tertentu dalam simpul Kemampuan manifesnya. Data ini mengidentifikasi perangkat dan tujuannya (atau fungsi). Perhatikan bahwa beberapa perangkat mungkin memiliki beberapa fungsi.

Elemen Id Perangkat sesuai dengan pengidentifikasi perangkat. Elemen ini dapat menentukan kombinasi Id Vendor (vid) dan Id Produk (pid); atau, dapat menentukan kombinasi Produsen dan Model; atau, ini dapat menentukan string generik ("apa pun"). Selain itu, jika Id Perangkat menentukan Id Vendor (vid) dan Id Produk (pid) maka dapat berisi string penyedia opsional "usb" atau "bluetooth".

Elemen Jenis Fungsi menentukan fungsi perangkat. Elemen ini dapat menentukan Nama Layanan Bluetooth (nama) atau Id Layanan (serviceId).

Penggunaan DeviceCapability Bluetooth

Aplikasi Bluetooth Anda harus menyertakan kemampuan perangkat tertentu dalam manifes paket Aplikasi untuk menentukan informasi utama tentang perangkat. Berikut adalah elemen yang diperlukan dalam urutan hierarkis:

<DeviceCapability>: Atribut Name harus "bluetooth.rfcomm" untuk mengakses perangkat Bluetooth RFCOMM atau "bluetooth.genericAttributeProfile" untuk mengakses perangkat Bluetooth GATT.

<Perangkat>: Atribut Id harus menentukan vendor/Id produk, atau produsen/model, atau dapat berupa "apa pun" untuk mengizinkan akses ke perangkat apa pun yang cocok dengan jenis fungsi.

<Fungsi>: Atribut Jenis dapat menentukan nama layanan atau ID layanan.

Catatan Anda tidak dapat mengubah kemampuan perangkat Bluetooth di Microsoft Visual Studio. Anda harus mengklik kanan file Package.appxmanifest di Penjelajah Solusi dan memilih Buka Dengan..., lalu EDITOR XML (Teks). File terbuka dalam XML biasa.

 

Menentukan DeviceCapabilities Rfcomm

Gunakan tata letak berikut untuk menjelaskan kemampuan Bluetooth RFCOMM aplikasi Anda:

<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>

Mendefinisikan GenericAttributeProfile DeviceCapabilities

Gunakan tata letak berikut untuk menjelaskan kemampuan Bluetooth GATT aplikasi Anda:

<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>

Cara Menentukan Contoh DeviceCapabilities

Entri berikut mengilustrasikan metode yang berbeda untuk menentukan DeviceCapabilities untuk perangkat Bluetooth.

Cuplikan berikut mengidentifikasi DeviceCapabilities untuk perangkat Bluetooth RFCOMM menggunakan kombinasi Id Vendor dan Id Produk , bersama dengan penyedia opsional:

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

Secara bergantian, cuplikan berikut mengidentifikasi DeviceCapabilities untuk perangkat Bluetooth RFCOMM menggunakan Id lengkapnya.

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

Cuplikan berikut mengidentifikasi DeviceCapabilities untuk perangkat Bluetooth GATT menggunakan kombinasi Produsen dan Model :

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

Dukungan untuk layanan Bluetooth RFCOMM

Layanan RFCOMM berikut didukung melalui nilai nama :

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

Layanan RFCOMM berikut ini tidak didukung:

  • Penemuan Layanan (0x1000)
  • Telusuri Deskriptor Grup (0x1001)
  • Akses LAN Menggunakan PPP (0x1102)
  • Jaringan Dialup (0x1103)
  • Headset (0x1108, 0x1112)
  • Telepon Tanpa Kabel (0x1109)
  • Sumber Audio (0x110A) dan Sink (0x110B)
  • Kontrol Jarak Jauh A/V (0x110C, 0x110E, 0x110F)
  • Interkom (0x1110)
  • Faks (0x1111)
  • WAP (0x1113, 0x1114)
  • PANU (0x1115)
  • NAP (0x1116)
  • GN (0x1117)
  • Handsfree (0x111E, 0x111F)
  • Perangkat Antarmuka Manusia (0x1124)
  • HCR Print (0x1126) dan Scan (0x1127)
  • Akses ISDN Umum (0x1128)
  • Akses SIM (0x112D)
  • Headset – HS (0x1131)
  • Server GNSS (0x1136)
  • Informasi PnP (0x1200)
  • Jaringan Generik (0x1201)
  • Audio Generik (0x1203)
  • Telepon Generik (0x1204)
  • UPnP (0x1205, 0x1206)
  • IP UPnP ESDP (0x1300, 0x1301, 0x1302)
  • Sumber Video (0x1303) dan Sink (0x1304)
  • Distribusi Video (0x1305)
  • Sumber HDP (0x1401) dan Sink (0x1402)

Dukungan untuk layanan Bluetooth GATT

Layanan GATT berikut didukung melalui nilai nama :

  • name:battery
  • name:bloodPressure
  • name:cyclingSpeedAndCadence
  • name:genericAccess
  • name:genericAttribute
  • name:glucose
  • name:healthThermometer
  • name:heartRate
  • name:runningSpeedAndCadence

Layanan GATT berikut ini tidak didukung:

  • Perangkat Antarmuka Manusia (0x1812)