기기 정보입니다.
제공자는 메시지 스트림을 통해 Seeker에 기기 정보를 알릴 수 있습니다.
메시지 그룹 이름 | 값 |
---|---|
기기 정보 이벤트 | 0x03 |
기기 정보 코드명 | 값 |
---|---|
모델 ID | 0x01 |
BLE 주소가 업데이트되었습니다. | 0x02 |
배터리 업데이트됨 | 0x03 |
남은 배터리 시간 | 0x04 |
활성 구성요소 요청 | 0x05 |
활성 구성요소 응답 | 0x06 |
(지원 중단됨)기능 | 0x07 |
플랫폼 유형 | 0x08 |
펌웨어 버전 | 0x09 |
현재 FMDN 임시 식별자 | 0x00억 |
모델 ID
RFCOMM이 연결될 때 AccountKey 소급 작성용 모델 ID 정보를 Seeker로 전송해야 합니다. 예를 들어 0x03010003AABBCC
는 다음과 같습니다.
- 0x03: 기기 정보 이벤트
- 0x01: 모델 ID 값
- 0x0003: 추가 데이터, 길이 3
- 0xAABBCC: 추가 데이터, 모델 ID
BLE 주소
BLE 주소 정보 (AccountKey 소급 쓰기용)도 RFCOMM에 연결할 때와 주소가 순환될 때마다 Seeker로 전송해야 합니다. 예를 들어 0x03020006AABBCCDDEEFF
는 다음과 같습니다.
- 0x03: 기기 정보 이벤트
- 0x02: BLE 주소 값
- 0x0006: 추가 데이터, 길이 6
- 0xAABBCCDDEEFF: 추가 데이터, BLE 주소
배터리 업데이트됨
배터리 알림을 지원하는 제공업체의 경우 RFCOMM을 통해 배터리 정보를 전송할 수도 있습니다. RFCOMM이 연결되거나 배터리 값이 변경되면 업데이트를 전송해야 합니다. 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 인코딩 문자열로 된 제공자의 펌웨어 버전입니다. 펌웨어 버전 특성과 동일한 정보입니다.
현재 FMDN 임시 식별자
FMDN 프레임을 알리는 제공자는 클록 드리프트 (예: 배터리 소모로 인해)가 발생하는 경우 시커와 동기화되도록 현재 클록 값과 함께 현재 FMDN 임시 식별자 (EID)를 보고해야 합니다.
예를 들면 다음과 같습니다.
- 0x03: 기기 정보 이벤트
- 0x0B: 현재 FMDN 임시 식별자 메시지
- 0x0018: 추가 데이터, 길이 24 또는 36바이트
- 0x13F9EA80: 추가 데이터 (클록 값, 4바이트)
- 0x1122334455667788990011223344556677889900: 추가 데이터 (현재 EID, 20 또는 32바이트)