다음을 통해 공유


Bluetooth 장치 지원(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows에서 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

Windows 8.1의 Windows 런타임은 여러 가지 새로운 Bluetooth 네임스페이스를 제공합니다.

이러한 네임스페이스를 사용하면 Bluetooth 장치와 통신하는 Windows 스토어 앱을 작성할 수 있습니다.

앱 매니페스트의 선언에 장치 기능에 대한 정보를 제공해야 합니다. 이렇게 하면 앱이 장치와 연결될 수 있습니다.

자세한 내용은 Bluetooth 관련 장치 기능을 지정하는 방법을 참조하세요.

RFComm

Bluetooth RFComm APIs는 Windows 런타임 지침을 준수하고 다음 기능을 제공합니다.

  • API는 enumerationinstantiation을 포함하여 Windows.Devices에 대한 기존 패턴을 기반으로 빌드합니다.
  • SDP 특성마다 값과 필요한 형식이 있습니다. 그러나 일부 일반적인 장치에 값 형식이 잘못된 SDP 특성이 구현되어 있습니다. 또한 여러 RFCOMM 사용에는 추가 SDP 특성이 필요하지 않습니다. 이러한 이유로, 이 API는 개발자가 필요한 정보를 얻을 수 있는 구분 분석되지 않은 SDP 데이터에 대한 액세스를 제공합니다.
  • 데이터 읽기 및 쓰기는 Windows.Storage.Streamsestablished data stream patterns의 개체를 사용하도록 디자인되었습니다.

RFCOMM API에는 서비스 식별자 개념이 사용됩니다. 서비스 식별자는 128비트 GUID지만 일반적으로는 16비트 또는 32비트 정수로도 지정됩니다. RFCOMM API는 128비트 GUID는 물론 32비트 정수로도 지정 및 사용할 수 있도록 하는 서비스 식별자용 래퍼를 제공하지만, Windows 런타임 지침에 따라 16비트 정수는 제공하지 않습니다. 언어가 32비트 정수까지 자동으로 확대되고 식별자가 여전히 올바르게 생성될 수 있으므로 이는 API에 문제가 되지 않습니다.

Windows 8.1부터는 Windows 스토어 장치 앱이 백그라운드 작업으로 다단계 장치 작업을 수행할 수 있으므로 앱이 백그라운드로 이동되고 일시 중단된 경우에도 실행을 완료할 수 있습니다. 따라서 사용자가 앉아서 진행률 표시기를 지켜보지 않더라도 콘텐츠 동기화와 지속적인 설정 또는 펌웨어 변경 등 신뢰할 수 있는 장치 서비스가 가능합니다. 장치 서비스에는 DeviceServicingTrigger를 사용하고 콘텐츠 동기화에는 DeviceUseTrigger를 사용합니다. 이러한 백그라운드 작업은 앱이 백그라운드에서 실행될 수 있는 시간을 제한하며, 무기한 작업이나 무기한 동기화를 허용하지 않습니다. 자세한 내용은 장치 동기화 및 업데이트(Windows 스토어 앱)를 참조하세요.

자세한 내용은 다음의 RFCOMM 사용 시나리오를 참조하세요.

GATT

개발자는 Bluetooth GATT APIs를 사용하여 Bluetooth LE 서비스, 설명자 및 특성에 액세스할 수 있습니다.

Bluetooth LE 장치는 다음 컬렉션을 통해 장치의 기능을 표시합니다.

  • 기본 서비스
  • 포함된 서비스
  • 특성
  • 설명자

기본 서비스는 LE 장치의 기능 계약을 정의하고 서비스를 정의하는 특성 컬렉션을 포함합니다. 그리고 이러한 특성에는 특성을 설명하는 설명자가 포함됩니다.

Bluetooth GATT API는 원시 전송에 대한 액세스보다는 개체와 함수를 표시합니다. 드라이버 수준에서 기본 서비스는 enumeration API를 사용하여 Bluetooth LED 장치의 자식 장치 노드로 열거됩니다.

Bluetooth GATT API를 통해 개발자는 다음 작업을 수행할 수 있는 Bluetooth LED 장치도 사용할 수 있습니다.

  • 서비스/특성/설명서 검색 수행
  • 특성/설명자 값 읽기 및 쓰기
  • 특성의 ValueChanged 이벤트에 대한 콜백 등록

Bluetooth GATT API는 일반적인 속성을 처리하고 장치 관리 및 구성을 지원할 적당한 기본값을 제공하여 개발을 간소화합니다. 이러한 API는 Windows 스토어 앱에서 Bluetooth LE 장치의 기능에 액세스할 수 있는 수단을 개발자에게 제공합니다.

유용한 구현을 만들려면 개발자가 응용 프로그램에서 사용하려는 GATT 서비스 및 특성에 대해 사전에 잘 알고 있어야 하며 API에서 제공하는 이진 데이터가 사용자에게 제공되기 전에 유용한 데이터로 변환되도록 특정 특성 값을 처리해야 합니다. Bluetooth GATT API는 Bluetooth LE 장치와 통신하는 데 필요한 기본 요소만 표시합니다. 데이터를 해석하려면 Bluetooth SIG 표준 프로필이나 장치 공급업체에서 구현한 사용자 지정 프로필을 통해 응용 프로그램 프로필을 정의해야 합니다. 프로필은 교환되는 데이터가 어떻게 표현되고 그 데이터를 어떻게 해석해야 하는지를 규정하는 응용 프로그램과 장치 간의 바인딩 계약을 만듭니다.

편의상 Bluetooth SIG는 사용 가능한 공용 프로필 목록을 유지합니다.

자세한 내용은 다음의 GATT 사용 시나리오를 참조하세요.