「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認証にも重要な役割を果たします。広告するすべてのプロトコルを適切にサポートしていることを証明する必要があります。

答え2

関連する質問を複数投稿しました。

このUUIDはどのような用途に使用されますか?
タイプ、サービス、およびプロファイルを識別するために使用されます。Bluetooth SIG定義して指定します。 UUIDは128ビットということに注意してください。 効率性のため、16バイトはリンク層の27バイトのデータペイロード長のかなりの部分を占めているため、BLE(ブルートゥース低エネルギー)この仕様には、16ビットと32ビットという2つの短縮UUIDフォーマットが追加されました。

なぜヘッドセットにそんなに多くのユニークな識別子が必要なのですか?
サービスが多いからです。 UUIDは識別子ではありません。装備(問題がどこで発生するかを推測できます。)

ヘッドセットのBluetoothコントローラでこれらの機能を提供していますか?
はい。

このヘッドセットにUUID:Googleがあるのはなぜですか?
これは以下に関連する可能性があります。Googleクイックマッチサービス、しかし、よくわかりません。

全リストを見るここ

関連:

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

関連情報