Bluetooth용 디바이스 기능을 지정하는 방법

참고 Windows 10 Windows 10 다른 내용을 참조하세요.

 

패키지 매니페스트는 시스템에서 Windows 런타임 앱 앱을 배포, 표시 또는 업데이트하는 데 필요한 정보를 포함하는 XML 문서입니다. 이 정보에는 패키지 ID, 패키지 종속성, 필요한 기능, 시각적 요소 및 확장성 지점이 포함됩니다. 모든 앱 패키지에는 하나의 패키지 매니페스트가 포함되어야 합니다.

패키지 매니페스트에 대한 자세한 내용은 패키지 매니페스트를 수동으로 만드는 방법을 참조하세요.

rfcomm 또는 Gatt API를 통해 Bluetooth 디바이스에 액세스하는 Windows 런타임 앱은 매니페스트의 기능 노드에 특정 DeviceCapability 데이터를 포함해야 합니다. 이 데이터는 디바이스 및 해당 용도(또는 함수)를 식별합니다. 일부 디바이스에는 여러 함수가 있을 수 있습니다.

디바이스 ID 요소는 디바이스 식별자에 해당합니다. 이 요소는 vid( 공급업체 ID ) 및 제품 ID(pid) 조합을 지정할 수 있습니다. 또는 제조업체모델의 조합을 지정할 수 있습니다. 또는 제네릭 문자열("any")을 지정할 수 있습니다. 또한 디바이스 ID공급업체 ID (vid) 및 제품 ID (pid)를 지정하는 경우 "usb" 또는 "bluetooth"의 선택적 공급자 문자열을 포함할 수 있습니다.

Function Type 요소는 디바이스 함수를 지정합니다. 이 요소는 Bluetooth 서비스 이름(이름) 또는 서비스 ID(serviceId)를 지정할 수 있습니다.

deviceCapability 사용량 Bluetooth

Bluetooth 앱은 디바이스에 대한 주요 정보를 지정하기 위해 앱 패키지 매니페스트에 특정 디바이스 기능을 포함해야 합니다. 계층적 순서의 필수 요소는 다음과 같습니다.

<DeviceCapability>: Name 특성은 Bluetooth GATT 디바이스에 액세스하기 위해 Bluetooth RFCOMM 디바이스에 액세스하기 위한 "bluetooth.rfcomm" 또는 "bluetooth.genericAttributeProfile"이어야 합니다.

<디바이스>: ID 특성은 공급업체/제품 ID 또는 제조업체/모델을 지정해야 합니다. 또는 함수 유형과 일치하는 모든 디바이스에 대한 액세스를 허용하려면 "any"일 수 있습니다.

<함수>: Type 특성은 서비스 이름 또는 서비스 ID를 지정할 수 있습니다.

참고 Microsoft Visual Studio Bluetooth 디바이스 기능을 수정할 수 없습니다. 솔루션 탐색기 Package.appxmanifest 파일을 마우스 오른쪽 단추로 클릭하고 [연결]을 선택한 다음 XML(텍스트) 편집기를 선택해야 합니다. 파일이 일반 XML로 열립니다.

 

Rfcomm DeviceCapabilities 정의

다음 레이아웃을 사용하여 앱의 Bluetooth RFCOMM 기능을 설명합니다.

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

GenericAttributeProfile DeviceCapabilities 정의

다음 레이아웃을 사용하여 앱의 Bluetooth GATT 기능을 설명합니다.

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

DeviceCapabilities 예제를 지정하는 방법

다음 항목에서는 Bluetooth 디바이스에 대한 DeviceCapabilities를 정의하는 다양한 방법을 보여 줍니다.

다음 코드 조각은 선택적 공급자와 함께 공급업체 ID제품 ID 조합을 사용하여 Bluetooth RFCOMM 디바이스에 대한 DeviceCapabilities를 식별합니다.

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

또는 다음 코드 조각은 전체 ID를 사용하여 Bluetooth RFCOMM 디바이스의 DeviceCapabilities를 식별합니다.

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

다음 코드 조각은 제조업체모델 조합을 사용하여 Bluetooth GATT 디바이스의 DeviceCapabilities를 식별합니다.

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

Bluetooth RFCOMM 서비스 지원

다음 RFCOMM 서비스는 이름 값을 통해 지원됩니다.

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

다음 RFCOMM 서비스는 지원되지 않습니다.

  • 서비스 검색(0x1000)
  • 그룹 설명자 찾아보기(0x1001)
  • PPP를 사용한 LAN 액세스(0x1102)
  • 전화 접속 네트워킹(0x1103)
  • 헤드셋(0x1108, 0x1112)
  • 무선 전화 통신(0x1109)
  • 오디오 원본(0x110A) 및 싱크(0x110B)
  • A/V 원격 제어(0x110C, 0x110E, 0x110F)
  • Intercom(0x1110)
  • 팩스(0x1111)
  • WAP(0x1113, 0x1114)
  • PANU(0x1115)
  • NAP(0x1116)
  • GN(0x1117)
  • 핸즈프리(0x111E, 0x111F)
  • 휴먼 인터페이스 디바이스(0x1124)
  • HCR 인쇄(0x1126) 및 스캔(0x1127)
  • 일반적인 ISDN 액세스(0x1128)
  • SIM 액세스(0x112D)
  • 헤드셋 – HS(0x1131)
  • GNSS 서버(0x1136)
  • PnP 정보(0x1200)
  • 제네릭 네트워킹(0x1201)
  • 일반 오디오(0x1203)
  • 일반 전화 통신(0x1204)
  • UPnP(0x1205, 0x1206)
  • ESDP UPnP IP(0x1300, 0x1301, 0x1302)
  • 비디오 원본(0x1303) 및 싱크(0x1304)
  • 비디오 배포(0x1305)
  • HDP 원본(0x1401) 및 싱크(0x1402)

Bluetooth GATT 서비스 지원

다음 GATT 서비스는 이름 값을 통해 지원됩니다.

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

다음 GATT 서비스는 지원되지 않습니다.

  • 휴먼 인터페이스 디바이스(0x1812)