Assigned Numbersとは?
Bluetoothの通信では、さまざまなService(例:心拍数測定、温度センサー)やCharacteristic(属性値)が登場します。それぞれに一意の識別子(UUID)が必要ですが、Bluetooth SIGではよく使われる標準サービスや属性に対して16ビットまたは32ビットの短縮UUIDを割り当てています。これが「Assigned Numbers」です。
主なAssigned Numbersの用途
ここではいくつかAssigned Numbersの用途を説明します。
Service UUID
Bluetooth Low Energy(BLE)のGATTプロファイルにおいて、例えば以下のようにサービスが識別されます。
例:
- Heart Rate Service(心拍数):
0x180D
- Battery Service(バッテリー):
0x180F
これらは、0000xxxx-0000-1000-8000-00805F9B34FB
(xxxxには上記UUIDが入る)というフォーマットの128ビットUUIDに拡張して使われます。
Characteristic UUID
データの補足情報を表すディスクリプタにも番号が割り当てられています。
例:
- Client Characteristic Configuration:
0x2902
Company Identifier
BLEアドバタイズパケット内に埋め込まれる製造者識別子。これもAssigned Numbersの一部です。
例:
- Apple Inc.:
0x004C
- Nordic Semiconductor:
0x0059
- Microsoft:
0x0006
一時情報で確認したい!
Bluetooth SIGの公式サイトで最新版が公開されています:
このページで、サービス、キャラクタリスティック、ディスクリプタ、Company IDなどのカテゴリごとに一覧で確認できます。
Assigned Numbersを取得したい
Bluetooth SIGのメンバであればAssigned Numbersを取得することができます。
2025年5月時点では$3,450 USDで16bit UUIDの取得申請ができます。制約など詳細は以下のリンクから確認可能です。
16bit UUIDは数が限られているので、用途等をBluetooth SIGに説明する必要がありますが、キチンと説明すれば申請は通ると思います。
まとめ
Assigned Numbersの用途についてまとめたものは次のとおりです。
カテゴリ | 用途 | 例 |
---|---|---|
Service UUID | デバイスが提供する機能の識別 | 0x180F (Battery) |
Characteristic UUID | 具体的なデータ項目の識別 | 0x2A19 (Battery Level) |
Descriptor UUID | データに付随する情報の識別 | 0x2902 |
Company Identifier | 製造者を識別する番号 | 0x004C (Apple) |
コメント