런타임 시 기능 변경
제공업체에서 펌웨어를 업그레이드하여 새 기능 (예: 동적 버퍼 크기 조정)을 사용 설정할 수 있으므로 런타임 시 제공업체의 기능을 가져오는 방법을 제공하려고 합니다. 기능을 반복적으로 쿼리하지 않도록 하려면 먼저 제공업체가 연결된 경우 메시지 스트림을 통해 펌웨어 버전을 검색자에게 전송해야 합니다. 따라서 기존 메시지 그룹인 기기 정보 이벤트에 새 메시지 코드를 추가합니다.
메시지 그룹 이름 | 값 |
---|---|
기기 정보 이벤트 | 0x03 |
메시지 코드 이름 | 값 |
---|---|
펌웨어 버전 | 0x09 |
펌웨어 버전 코드를 가져오면 시커는 캐시된 코드와 비교해야 합니다. 펌웨어 버전이 변경되면 시커가 캐시의 펌웨어 버전을 업데이트하고 메시지 스트림을 통해 기능을 쿼리합니다.
또한 향후 더 정교한 기기 (Android 기반일 수 있음)가 동일한 펌웨어 버전의 플래그를 기반으로 동적 구성을 실행할 것으로 예상되므로 제공업체가 먼저 요청하지 않고도 기능을 탐색자에게 직접 푸시할 수 있습니다.
아래에 새 메시지 그룹과 메시지 코드를 추가합니다.
메시지 그룹 이름 | 값 |
---|---|
기기 기능 동기화 이벤트 | 0x06 |
메시지 코드 이름 | 값 |
---|---|
기능 업데이트 요청 (검색 사용자로부터 전송됨) | 0x01 |
FHN 추적 | 0x03 |
0x0601
수신 시
- 제공업체에서 FHN 추적 지원을 사용 설정한 경우 다음과 같이 응답해야 합니다.
옥텟 | 데이터 유형 | 설명 | 값 |
---|---|---|---|
0 | uint8 | 기기 기능 동기화 이벤트 | 0x06 |
1 | uint8 | FHN 추적 | 0x03 |
2~3 | uint16 | 추가 데이터 길이 | 0x0007 |
4 | uint8 | FHN 프로비저닝 상태 | 프로비저닝되지 않은 경우 0x00, 계정에 의해 프로비저닝된 경우 0x01 |
5 - 10 | uint8[] | 기기의 현재 BLE MAC 주소 | 다름 |