"bluetoothctl info"에 나열된 UUID는 무엇입니까?

"bluetoothctl info"에 나열된 UUID는 무엇입니까?

실행하면 bluetoothctl info연결된 COWIN E9 헤드폰에 대한 정보가 표시됩니다.

Device REDACTED (public)
    Name: COWIN E9
    Alias: COWIN E9
    Class: 0x00240418
    Icon: audio-card
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    LegacyPairing: no
    UUID: Vendor specific           (REDACTED)
    UUID: Serial Port               (REDACTED)
    UUID: Headset                   (REDACTED)
    UUID: Audio Sink                (REDACTED)
    UUID: A/V Remote Control Target (REDACTED)
    UUID: Advanced Audio Distribu.. (REDACTED)
    UUID: A/V Remote Control        (REDACTED)
    UUID: Handsfree                 (REDACTED)
    UUID: PnP Information           (REDACTED)
    UUID: Generic Access Profile    (REDACTED)
    UUID: Generic Attribute Profile (REDACTED)
    UUID: Battery Service           (REDACTED)
    UUID: Google                    (REDACTED)
    Modalias: bluetooth:REDACTED

이 헤드셋에는 왜 하나가 있고 UUID: Google이 UUID는 어떤 용도로 사용됩니까? 헤드셋에 왜 그렇게 많은 고유 식별자가 필요한가요? 헤드셋의 Bluetooth 컨트롤러에서 이러한 기능을 제공합니까?

답변1

Bluetooth UUID는 완전히 다른 용도로 사용됩니다. 16비트 UUID 범위는 다음을 위해 예약되어 있습니다.

  • 프로토콜 식별자(예: HTTP의 경우 0x000C)
  • 서비스 클래스 및 프로필(예: 헤드폰의 경우 0x1108)
  • GATT 서비스(예: 0x180F는 배터리를 의미함)
  • 단위(내 비즈니스의 경우 Bluetooth 센서, 예: 섭씨의 경우 0x272F)
  • GATT 특성 및 개체 유형(예: 온도 측정의 경우 0x2A1C)
  • Bluetooth SIG 회원(예: 0xFCF1 및 기타 Google 회원. 물론 모든 회원이 고유한 UUID를 갖고 있는 것은 아니며 우리도 UUID를 갖고 있지 않으며 일반적으로 필요하지 않습니다. 다른 회원은 여러 개의 UUID를 가지고 있습니다.)

그리고 내가 신경 쓰지 않는 것들도 있습니다.

따라서 이러한 UUID는 완전히 다른 의미를 갖지만 모두 상호 운용성이라는 하나의 목적을 수행합니다. UUID는 핸드셰이크 장치에서 교환되어 서로를 학습합니다. 장비가 온도 센서를 검색하면 자체 센서뿐만 아니라 이를 지원하는 모든 장치를 검색할 수 있습니다.

모든 헤드셋이 원격 제어 또는 배터리 서비스를 지원하는 것은 아니므로 UUID는 애플리케이션이 특정 장치에서 무엇을 기대할 수 있는지 이해하는 데 도움이 될 수 있습니다.

이는 Bluetooth SIG 인증에도 중요한 역할을 합니다. 광고하는 모든 프로토콜을 적절하게 지원한다는 점을 입증해야 합니다.

답변2

관련 질문을 여러 개 게시하셨습니다.

이 UUID는 어떤 용도로 사용되나요?
유형, 서비스 및 프로필을 식별하는 데 사용됩니다.블루투스 SIG정의하고 지정하십시오. UUID는 128비트라는 점에 유의하세요. 효율성을 위해, 16바이트는 링크 계층의 27바이트 데이터 페이로드 길이의 상당 부분을 차지하므로,BLE(블루투스 저에너지)이 사양에는 16비트와 32비트라는 두 가지 단축된 UUID 형식이 추가되었습니다.

헤드셋에 왜 그렇게 많은 고유 식별자가 필요한가요?
서비스가 많기 때문이죠. UUID는 식별자가 아닙니다.장비(문제가 어디서 발생하는지 추측할 수 있습니다.)

헤드셋의 Bluetooth 컨트롤러에서 이러한 기능을 제공합니까?
예.

이 헤드셋에 UUID: Google이 있는 이유는 무엇입니까?
이는 다음과 관련이 있을 수 있습니다.구글 퀵 매치 서비스, 하지만 잘 모르겠습니다.

전체 목록 보기여기.

관련된:

  1. https://www.bluetooth.com/specations/signed-numbers/
  2. https://stackoverflow.com/questions/13964342/android-how-do-bluetooth-uuids-work

관련 정보