「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

このヘッドセットにはなぜ1つがあり、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はまったく異なる意味を持ちますが、すべて相互運用性という1つの目的を果たします。 UUIDはハンドシェイクデバイスで交換され、互いに学習します。装置が温度センサーを検索すると、それ自体のセンサーだけでなく、それをサポートするすべての装置も検索できます。

すべてのヘッドセットがリモートコントロールまたはバッテリーサービスをサポートしているわけではないため、UUIDはアプリケーションが特定のデバイスで何を期待できるかを理解するのに役立ちます。

これはBluetooth SIG認証にも重要な役割を果たします。広告するすべてのプロトコルを適切にサポートしていることを証明する必要があります。

おすすめ記事