【サルでもわかる】Bluetoothのプロファイルとは?代表的なプロファイルもわかりやすく解説
こんにちは、ムセンコネクトCEOの水野です。(プロフィール紹介はこちら)
私自身の経験として、Bluetoothのプロファイルについて学ぼうと思った際、体系的にまとめられていて、且つ、非エンジニアでもわかりやすい情報が見つけられず、困ったという経験がありました。そこで今回は、私自身が学んだ情報を整理して、Bluetoothのプロファイルとは何か?その役割、事例、代表的なプロファイルについて解説します。
Bluetoothのプロファイルとは何か?その役割とは?
プロファイル【Profile】
Bluetoothのプロファイルとは、デバイスの動作方法、製造者やシリアル番号といったデバイスに関する情報、デバイス内から他デバイスに通信したいデータ情報、セキュリティ条件、同時実行の制限など、2つ以上のデバイスがどのように連携するのか、必要な情報をまとめた仕様のことです。つまり、『デバイスの機能そのもの』になります。
搭載されているプロファイルはデバイス毎に異なり、プロファイルの有無によってデバイスの機能自体が大きく変わります。よって、連携するデバイス同士で同じプロファイルを持っていないと通信することができません。
プロファイルはデバイス同士が喋れる『言語』のようなもの
例えて言うなら、Bluetoothのプロファイルは各デバイスが喋れる『言語』のようなものです。
上記のようにお互いに同じ言語を喋ることができなければ会話(通信)ができません。
また、デバイスによっては1つの言語(プロファイル)しか喋ることができないものもあれば、3つの言語(プロファイル)を喋ることができるトリリンガルのようなデバイスもあります。
身近なプロファイル例『ワイヤレスイヤホン』
最近では、ワイヤレスイヤホンやヘッドセットを通じiPhoneやAndroidなどのスマホで自分の好きな音楽を聴いたり、動画を見たり、ゲームをしたり、そして通話をしたりという方も多いと思います。
『高音質』『低遅延』はプロファイルが鍵を握る
ワイヤレスイヤホンは『高音質』や『低遅延』が当たり前だとユーザー側は考えがちですが、ここはプロファイルの有無が重要になります。
そもそも、音楽再生を目的としたプロファイル『A2DP』(Advanced Audio Distribution Profile)に対応したBluetooth製品でなければ、音楽再生の基本的な性能は発揮されません。実際にスペック表の対応プロファイルを確認してみると、とある格安輸入品のワイヤレスイヤホンにはA2DPの表記がなく、音楽再生を目的としたBluetooth機器の前提条件さえ満たしていないこともあります。
また、ヘッドセットの無線化を目的としたプロファイル『HSP』(Headset Profile)、発信元の情報を音声通知する機能を追加した拡張プロファイル『HFP』(Hands-Free Profile)、そして先述したA2DPの合計3つのプロファイルを搭載しているワイヤレスイヤホンであれば、音楽再生を楽しみつつ電話の着信通知を受け取ることができ、そのままワイヤレスイヤホンを通じた通話も可能です。
【プロファイル実例】ニンテンドースイッチがBluetoothオーディオ対応!
2021年9月15日に、「ニンテンドースイッチがBluetoothオーディオに対応した」というニュースが流れました。これはユーザーの「オーディオ出力をワイヤレス対応して欲しい」という声に応えた形で、ユーザーは本体更新でシステムバージョンを「13.0.0」にアップデートすればBluetoothオーディオが利用可能になりました。この件も、それまでは対応していなかったBluetoothの『A2DP』プロファイルにスイッチ本体が対応したことが大きく関わっています。
ここで、強調しておきたいことはプロファイルは後から設定(追加・変更)されることもあるということです。その結果、それまで接続できなかったデバイスと通信できるようになり、ユーザビリティが一気に高まることがあります。
プロファイルをさらに理解するには、『Bluetoothの構造』を学ぶべし
ここまでBluetoothのプロファイルについて学んできましたが、Bluetoothの全体的な構造まで理解するとさらに理解が深まります。
Bluetoothの構造
Bluetoothテクノロジーは、コントローラーとホスト、そしてプロファイルの組み合わせによって成り立っており、プロファイルはこの中の上位Layerとして位置しています。
Bluetoothの通信規格によって、構造も異なる
Bluetoothの最も普及している通信規格は、v1.0から採用された『Bluetooth Classic』とv4.0に採用された『Bluetooth Low Energy』(以下、BLE)の2つですが、通信規格によっても構造が異なります。
実際にBluetooth ClassicとBLEを構造比較した場合、コントローラー及びホストの中身の構造が異なっていることが分かります。そのため、その上位Layerであるプロファイル自体もBluetooth ClassicとBLEでは全く異なるプロファイルで構成することになります。
例えば、BLE通信ではホストLayerにある汎用属性プロファイル『GATT』(Generic Attribute Profile、一般的に「ガット」と呼ばれることが多いようです)がとても重要になります。GATTはデバイスが公開する状態データの種類や使用方法の定義をしているもので、BLE通信のプロファイルは全てGATTを使用して構築されているため、GATTはBLE通信におけるデータ転送の軸になっています。
大きく2種類のプロファイルが存在
プロファイルは『標準プロファイル』と『カスタムプロファイル』の2種類が存在します。
Bluetooth SIGは採用プロファイルと呼ばれる多数の『標準プロファイル』を定義し、公開しています。一方で、SIGはサードパーティ開発者向けにGATTを使用して自由度の高い独自プロファイルを定義することも認めており、これを『カスタムプロファイル』と呼んでいます。弊社のBLEモジュールLINBLE-Z1もこのGATT構造を利用したカスタムプロファイルを定義し、それを搭載しています。
代表的なプロファイル一覧
Bluetoothの通信規格毎に代表的なプロファイルを一覧にしてみました。
Bluetooth Classicにおける代表的なプロファイル一覧
略称 | 正式名称 | 機能 |
A2DP | Advanced Audio Distribution Profile | 音楽再生用 |
AVRCP | Audio/Video Remote Control Profile | オーディオ・ビデオ機器制御用 |
DUN | Dial-Up Networking Profile | ダイアルアップ接続用 |
HFP | Hands-Free Profile | ハンズフリー用 |
HID | Human Interface Device Profile | マウス・キーボード入力用 |
HSP | Headset Profile | ヘッドセット用 |
MAP | Message Access Profile | メッセージ交換用 |
PBAP | Phone Book Access Profile | 電話帳アクセス用 |
SPP | Serial Port Profile | シリアル通信用 |
BLEにおける代表的なプロファイル一覧
略称 | 正式名称 | 機能 |
BLP | Blood Pressure Profile | 血圧値測定用 |
CGMP | Continuous Glucose Monitoring Profile | 連続血糖値モニタリング用 |
FMP | Find Me Profile | 置き忘れ防止用 |
HOGP | HID over GATT Profile | マウス・キーボード入力用 |
HRP | Heart Rate Profile | 心拍数測定用 |
IPSP | Internet Protocol Support Profile | Bluetoothテザリング用 |
PXP | Proximity Profile | 近接判定用 |