Bluetooth®|基礎編
プロファイルの例 : Health Thermometer Profile
2018.02.13
この記事のポイント
・Health Thermometer Profileを例にコレクタとサーモメータのロール、サービス、キャラクタリスティックを示した。
今回は、実際のプロファイルの例として、Health Thermometerのプロフィルを示します。構造などに関しては、前回のGATTのまとめを参照してください。
Health Thermometer Profile
Health Thermometer Profileは、Bluetooth SIGが提供している標準の体温計プロフィルです。このプロファイル、サービスの仕様などは、Bluetooth SIGのウェブサイトからダウンロードすることができます。詳細に関しては、実際の仕様書を参照してください。
サーモメータのロール
Health Thermometer Profileは、サーモメータとコレクタの2つのロール(role:役割)を規定しています。サーモメータは温度を測定するデバイスで、コレクタはサーモメータからの温度などのデータを受け取るデバイスです。サーバとクライアントという関係においては、サーモメータはGATTサーバであり、コレクタはGATTクライアントになります。
この図は2つのロールの関係を示しており、サーモメータはHealth Thermometer ServiceとDevice Information Serviceの2つのサービスを必要とします。
コレクタのロール
コレクタはHealth Thermometer Serviceをサポートする必要があります。Device Information Serviceのサポートはオプションです。Device Information Serviceは、製造社名、モデル名などの情報を提供するものです。
Health Thermometer Profileの、コレクタに対する機能(Procedure、GATT機能参照)要求は以下になります。コレクタは、Health ThermometerとDevice Informationのサービス検索(Discovery)と、Health Thermometer Serviceのキャラクタリスティックとディスクリプタ、そして、Device Information Serviceのキャラクタリスティックを検索する必要があります。これらはGATTサブプロシージャとともに行われます。
キャラクタリスティックについて、簡単に説明します。
Temperature Measurement Characteristic
コレクタは、温度測定値を受け取るためにサーモメータに接続し、複数種の通告を受け取ることができる。
Intermediate Temperature Characteristic
オプションです。コレクタは、温度測定の進行を表示する目的で、サーモメータから中間温度の通知(Notification)を受け取れる。
Measurement Interval Characteristic
オプションです。コレクタは、サーモメータからの周期的な通告を受け取ることができる。
- – Valid Range Descriptor
Measurement Interval Characteristicが書き込み可能時に、コレクタはサーモメータに対しサポートされている測定インターバルレンジを決定するために、Valid Range Descriptorの値を読むことが可能。
Temperature Type Characteristic
オプションです。コレクタは、人体のどこの温度測定かを示す値を読むことが可能になる。
以上、概略ですが、実際のプロファイルはこの様な構成であることをイメージできればと思います。プロファイルにはさらに細かい仕様が含まれていますので、これをベースに仕様書を読んでいただければと思います。