USBセンサを使ってみよう 〜Phidgets活用講座 応用編 (2)〜
作成日: 2006/10/11  最終更新日: 2006/10/11



概要

このページの内容は,Software Design 2006年4月号 pp.92-99に掲載された, 「USBセンサを使ってみよう Phidgets活用講座(4)」をHTML化したものです.分量が多いため,三つのページに分割してあります.本文中の「現在」などは「2006年2月」を指します.

ここでは,体重計(PhidgetWeightSensor)を応用した健康管理システム「PhidgetHealth」の使い方について説明します.USBセンサを使ってみよう(PhidgetHealth編)も参考にしてください.

連載目次




PhidgetHealthの使い方
1. はじめに

それでは,PhidgetHealthソフトウェアの基本的な処理について説明します.

PhidgetHealthソフトウェアの機能は大きく4つのタブに分類されており, それぞれ「体重計(体重登録/閲覧機能)」,「ID管理(ID登録/削除機能)」,「設定(PhidgetServerへの接続/各種設定機能)」,「デバッグ機能(デバッグメッセージ表示)」を持っています. 図1に,ソフトウェアの外観を示します.

図1 PhidgetHealthソフトウェアの外観
ここでは,PhidgetHealthの基本的な使い方を,「体重の計測」と「体重履歴の表示」に分類して紹介します.



2. 体重の計測
0.PhidgetServerを起動する.
事前にPhidgetServerを起動し,IPアドレス/ポート番号を確認しておきます.
1. PhidgetServerへ接続する.
  • 「設定」タブにて,PhidgetServerの動作しているIPアドレス/ポート番号を指定します(図2).
  • 「接続」ボタンを押すことで,PhidgetServerに接続を試みます.なお,プログラム起動時は自動的に接続を試みます.
    • 接続に成功した場合,ステータスバーに「接続に成功しました」と表示され,「切断」ボタンがアクティブになります.また,自動的に「体重計」タブがアクティブになります.
    • 接続に失敗した場合,ステータスバーに「接続に失敗しました」と表示されます.
図2 PhidgetServerの設定
2. IDを登録する
  • 「ID管理」タブにて,PhidgetHealthを利用するユーザ情報を登録します.この処理は,ユーザの選択にRFIDを利用する場合/利用しない場合で少し変わってきます.
    • RFIDを利用する場合,リーダーにタグを置くと,「ユーザID」欄にIDが表示され,ID欄の横にある「IDを登録」ボタンがアクティブになります.
    • RFIDを利用しない場合は,任意の数字を直接「ユーザID」に入力し,エンターキーを押すことで,「IDを登録」ボタンがアクティブになります.
  • 次に,「IDを登録」ボタンを押すと,「登録ID」リストにIDが追加されます(図3).
図3 ID管理タブ
3. ユーザ情報を登録する
  • 「登録ID」リストに登録されているIDをダブルクリックすると,ユーザ情報の登録ウインドウが開きます(図4).
  • 「氏名(必須)」,「身長」,「性別」を指定後,「登録」ボタンを押せば,対応付けは完了です.(* 身長と性別は現在は利用していませんが,理想体重の計算などに活用予定です)
図4 ユーザ情報登録ウインドウ
4. 体重測定の条件を設定する
  • 「設定」タブにて,体重測定時のエラーを軽減するための条件を設定します(図5).
  • まず,体重値の確定条件として,「待機時間」と「許容誤差」を設定します.
    • 一般的に,ユーザが体重計に乗った時,体重値は線形に上昇した後,多少上下にぶれてから正確な値に落ち着くことが多いと考えられます.
    • そこで,「待機時間」で設定した秒数の間,「許容誤差」を超える変化が起こらなかった場合に,体重を確定する仕様としています.
  • 次に,体重値のクリア条件として,「体重リセット」 の値を設定します.
    • これは,連続的に体重が計測(保存)されないように,一度体重計から降りるまで次の計測が開始されないように,0に近い値を設定します.
    • また,非計測時の振動などによる体重値の誤入力を除去する役割も持ちます.
  • 最後に,体重値の「オフセット」を設定します.
    • PhidgetWeightSensorでは,未計測時の入力値が0にならない現象が散見されるため,その誤差を補正するのに利用します.筆者の環境では,未計測時の入力値が約-2.0kgだったため,+2.0kgの補正をしています
図5 体重測定条件の設定
5. ユーザを選択する.
体重計を利用するユーザを選択します.
  • RFIDを利用する場合,登録済みのタグをリーダーに置くだけで,ユーザを選択できます.選択されたユーザは「体重計」タブの「ユーザ」コンボボックスに表示されます.
  • RFIDを利用しない場合,「体重計」タブの「ユーザ」コンボボックスから,直接ユーザを選択します(図6).
図6 ユーザの選択
6. 体重を測定する
  • 体重計に乗り,体重を測定します.
  • 体重値の確定条件(4参照)を満たすと,体重値を確定します(図7).
    • 「体重計」タブの背景色が変化し,ユーザに体重の確定を通知します.
    • 確定した体重値をハッシュに格納し,ファイルに保存します.
  • 体重値のクリア条件(4参照)を満たすと,次の測定が可能になります.
    • 「体重計」タブの背景色が元に戻ります.
図7 体重の確定(左:確定前,右:確定後)
7. 設定の保存と読込み
  • 「登録ID」リストに登録されたユーザ情報や,体重の計測履歴,およびすべての設定はプログラム終了時に自動的に保存され,次回起動時に読み出されます.
目次へ



3.体重履歴の表示
1. リストの表示
  • 「体重計」タブの「リスト」ボタンを押すと,「体重履歴」リストが表示され,現在のユーザの体重履歴が一覧できます(図8).
  • 誤入力などが発生した場合,マウスの左クリックで項目を選択した後,Deleteキーを押せば,選択された体重値を削除できます.また,シフト+左クリックで複数の項目を選択します.
  • リストを閉じると,体重値のハッシュを更新し,ファイルに保存します.
図8 体重履歴のリスト
2. グラフの表示
  • 「体重計」タブの「グラフ」ボタンを押すと,「体重履歴」グラフが表示され,現在のユーザの体重履歴を棒グラフ化して表示できます.
  • 表示期間は,ウインドウ上部のコンボボックスで「一週間」,「一ヶ月」,「一年」単位で変更できます(図9).
図9 体重履歴のグラフ(左:一週間,中央:一ヶ月,右:一年)
目次へ

 


[次へ->PhidgetHealthの応用]


[1] [2] [3]

[デバイスぶらり旅]