web-dev-qa-db-ja.com

ベンダー定義のプロファイルに使用できるBluetoothUUIDの範囲はどれですか?

カスタムプロファイルを使用して、単純なBluetooth Low Energyベースのアプリケーションを構築したいと思います。採用されたプロファイル/サービス/特性/記述子は、 公式サイト に見られるように16ビットUUIDを使用します。

16ビットUUIDは、対応する128ビットUUIDのショートカットであり、次のように変換されます。

128-bit UUID = 16-bit Attribute UUID * 2^96 + Bluetooth_Base_UUID 

Bluetooth_Base_UUID であること 00000000-0000-1000-8000-00805F9B34FB(出典:Bluetoothコア仕様Vol 3パートFセクション3.2.1)

カスタムプロファイルを使用しているので、どのUUIDを使用できるのか疑問に思っています。

  • Bluetooth Low Energyでベンダー定義の属性を記述するために使用できる128ビットUUIDの範囲はどれですか?
15
Etan

上に示したベースUUIDより上の16ビットおよび32ビットUUIDはすべて、仕様(または将来の仕様)の項目用に予約されています。したがって、ベンダーアプリは、ベースUUIDよりも小さい128ビットUUIDを自由に使用できます。ベンダーが16ビットまたは32ビットのUUIDを使用するための予約スペースはありません。

18
TJD

16ビットUUIDをBluetoothSIGに登録できます。 https://www.bluetooth.org/en-us/Pages/LoginRestrictedAll/16-bit-UUIDs-member.aspx これは次の場合に役立ちます。バイトを保存する必要があります(スペース、エネルギー、またはその他のパフォーマンス上の理由から)。

Bluetooth仕様の私の解釈では、BluetoothUUIDベースの「範囲」の128ビットUUID outsideを自由に使用できます。

 xxxxxxxx-0000-1000-8000-00805F9B34FB

引用符で囲んだ範囲は引用符で囲んでいます。引用した仕様の16ビットから128ビットへの変換式は、左端のバイトが最も重要であることを示しているためです(ビッグエンディアン!)。 UUIDを128ビット整数として扱う場合、BluetoothUUIDベースの「範囲」は連続した値の範囲ではないことに注意してください。

9
Martijn Thé

registering によって割り当てられていない限り、16ビットまたは32ビットのUUIDを使用することはできません。

登録されていない短いUUIDを使用すると、デバイス、将来の標準、または他のデバイスの登録番号との互換性がなくなります。 Bluetooth資格には有効な番号が必要です。

登録しない場合は、独自の有効な128ビットUUIDを生成します。

2
Vincent Scheib
0
Darshit Shah