기기 정보
제공자는 메시지 스트림을 통해 탐색자에게 기기 정보를 알릴 수 있습니다.
| 메시지 그룹 이름 | 값 |
|---|---|
| 기기 정보 이벤트 | 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바이트)