기기 정보

제공업체는 메시지 스트림을 통해 탐색기에게 기기 정보를 알릴 수 있습니다.

메시지 그룹 이름
기기 정보 이벤트 0x03
기기 정보 코드 이름
모델 ID 0x01
BLE 주소 업데이트됨 0x02
배터리 업데이트됨 0x03
남은 배터리 시간 0x04
활성 구성요소 요청 0x05
활성 구성요소 응답 0x06
(지원 중단)기능 0x07
플랫폼 유형 0x08
펌웨어 버전 0x09
현재 FHN 임시 식별자 0x0B

모델 ID

메시지 스트림이 연결되면 모델 ID 정보 (AccountKey를 소급하여 작성하기 위한)를 탐색기로 전송해야 합니다. 예를 들어 0x03010003AABBCC는 다음과 같습니다.

  • 0x03: 기기 정보 이벤트
  • 0x01: 모델 ID 값
  • 0x0003: 추가 데이터, 길이 3
  • 0xAABBCC: 추가 데이터, 모델 ID

BLE 주소

BLE 주소 정보 (AccountKey를 소급하여 작성하기 위한)가 있는 경우 메시지 스트림이 연결될 때와 주소가 순환될 때마다 탐색기로 전송해야 합니다. 예를 들어 0x03020006AABBCCDDEEFF는 다음과 같습니다.

  • 0x03: 기기 정보 이벤트
  • 0x02: BLE 주소 값
  • 0x0006: 추가 데이터, 길이 6
  • 0xAABBCCDDEEFF: 추가 데이터, BLE 주소

배터리 업데이트됨

배터리 알림을 지원하는 제공업체의 경우 메시지 스트림을 통해 배터리 정보를 전송할 수도 있습니다. 메시지 스트림이 연결되거나 배터리 값이 변경되면 업데이트를 전송해야 합니다. 패킷의 추가 데이터 섹션에는 BLE를 통해 배터리 데이터를 광고할 때 바이트 s + 2, s + 3, s + 4와 동일한 데이터가 포함되어야 합니다. 예를 들어 0x0303000357417F는 다음과 같습니다.

  • 0x03: 기기 정보 이벤트
  • 0x03: 배터리 값
  • 0x0003: 추가 데이터, 길이 3
  • 0x57417F: 추가 데이터, 배터리 값
    • 0x57: 왼쪽 이어폰 값, 충전 중 아님, 배터리 87%
    • 0x41: 오른쪽 이어폰 값, 충전 중 아님, 배터리 65%
    • 0x7F: 케이스 값, 충전 중 아님, 배터리 알 수 없음

제공업체는 남은 배터리 시간 (알고 있는 경우)을 업데이트할 수도 있습니다. 예를 들어 0x03040001F0은 다음과 같습니다.

  • 0x03: 기기 정보 이벤트
  • 0x04: 남은 배터리 시간
  • 0x0001: 추가 데이터, 길이 1 (필요한 경우 uint16의 경우 2일 수 있음)
  • 0xF0: 추가 데이터, 남은 배터리 시간(분), 240분

활성 구성요소

탐색기는 현재 활성 상태인 구성요소를 알고 싶어 할 수 있습니다. 즉, 구성요소에 대해 작업을 실행할 수 있습니다 (기기 작업 참고). 제공업체가 활성 구성요소 요청 코드 (0x05)가 포함된 요청을 수신하면 제공업체의 현재 상태를 나타내는 응답을 1초 이내에 반환해야 합니다. 응답은 활성 구성요소 응답 코드 (0x06)를 사용하고 사용 가능한 구성요소를 나타내는 추가 데이터를 포함합니다.

구성요소가 하나인 제공업체의 경우 추가 데이터가 없으면 0x00으로 설정해야 합니다. 예를 들어 미디어 재생이 실행되지 않는 저전력 모드가 있을 수 있습니다. 그렇지 않으면 추가 데이터를 0x01로 설정해야 합니다.

구성요소가 여러 개인 헤드셋 (예: 왼쪽 및 오른쪽 이어폰)의 경우 추가 데이터의 각 비트는 해당 구성요소가 활성 상태인지 나타냅니다. 비활성 구성요소의 예로는 케이스에 있고 사용 중이 아닌 이어폰이 있습니다. 특히 왼쪽 및 오른쪽 이어폰 케이스의 경우:

  • 0x00 (0b00000000): 이어폰이 모두 비활성 상태임
  • 0x01 (0b00000001): 오른쪽 이어폰 활성 상태, 왼쪽 비활성 상태
  • 0x02 (0b00000010): 왼쪽 이어폰 활성 상태, 오른쪽 비활성 상태
  • 0x03 (0b00000011): 이어폰이 모두 활성 상태임

플랫폼 유형

제공업체는 연결된 플랫폼에 따라 다르게 실행할 수 있습니다. 현재 빠른 페어링은 Android를 통해서만 실행되지만 향후 지원이 확대될 수 있습니다.

메시지에는 추가 데이터에서 플랫폼 유형을 식별하는 첫 번째 바이트가 포함됩니다.

플랫폼 이름
Android 0x01

두 번째 바이트는 플랫폼별로 맞춤설정됩니다. Android에서는 SDK 버전을 참조합니다. 예를 들어 Android Pie의 값은 28 (0x1C)입니다.

펌웨어 버전

제공업체의 펌웨어 버전을 utf-8 인코딩의 문자열로 나타냅니다. 펌웨어 버전 특성의 정보와 동일합니다.

현재 FHN 임시 식별자

FHN 프레임을 광고하는 제공업체는 시계 드리프트 (예: 배터리 소모로 인한)가 발생할 경우 탐색기와 동기화하기 위해 현재 시계 값으로 현재 FHN 임시 식별자 (EID)를 보고해야 합니다.

예를 들면 다음과 같습니다.

  • 0x03: 기기 정보 이벤트
  • 0x0B: 현재 FHN 임시 식별자 메시지
  • 0x0018: 추가 데이터, 길이 24 또는 36바이트
  • 0x13F9EA80: 추가 데이터 (시계 값, 4바이트)
  • 0x1122334455667788990011223344556677889900: 추가 데이터 (현재 EID, 20 또는 32바이트)