런타임 시 기능 변경

제공업체에서 펌웨어를 업그레이드하여 새 기능 (예: 동적 버퍼 크기 조정)을 사용 설정할 수 있으므로 런타임 시 제공업체의 기능을 가져오는 방법을 제공하려고 합니다. 기능을 반복적으로 쿼리하지 않도록 하려면 먼저 제공업체가 연결된 경우 메시지 스트림을 통해 펌웨어 버전을 검색자에게 전송해야 합니다. 따라서 기존 메시지 그룹인 기기 정보 이벤트에 새 메시지 코드를 추가합니다.

메시지 그룹 이름 값
기기 정보 이벤트 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 주소 다름