(57)【要約】【課題】センシング処理を妨げることなく、イベント情報を記録する。【解決手段】センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードであって、センサから周期的にデータを収集し、収集されたデータを第１の記憶部に格納し、イベントが検出された場合には、イベント情報を第２の記憶部に格納し、イベントが検出されてからイベント情報を格納するまでの間に、センサからデータを収集した場合には、イベント情報を格納する処理を中断し、センサによって収集されたデータを第１の記憶部に格納した後に、イベント情報を格納する処理を再開する。【選択図】図１
2010125145.tif 000002
【特許請求の範囲】
【請求項１】
センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードであって、
前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第１の記憶部と、前記イベント情報を格納する第２の記憶部と、を備え、
前記制御部は、
前記センサから周期的にデータを収集し、
前記収集されたデータを前記第１の記憶部に格納し、
前記イベントが検出された場合には、前記イベント情報を前記第２の記憶部に格納し、
前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、
前記センサによって収集されたデータを前記第１の記憶部に格納した後に、前記イベント情報を格納する処理を再開することを特徴とするセンサノード。
【請求項２】
前記センサノードは、前記制御部に時間情報を提供する時計部をさらに備え、
前記時計部は、前記制御部に周期的に信号を送信し、
前記制御部は、前記時計部から送信された信号を受信した場合に、前記センサからデータを収集することを特徴とする請求項１に記載のセンサノード。
【請求項３】
前記センサノードは、前記イベントの発生の通知を受け付けるイベント通知受付部をさらに備え、
前記制御部は、前記イベント通知受付部によって通知されたイベントを、前記検出されたイベント情報として、前記第２の記憶部に格納することを特徴とする請求項１に記載のセンサノード。
【請求項４】
前記センサノードは、前記発生したイベントの選択を受け付けるイベント選択部をさらに備え、
前記制御部は、前記イベント選択部によって選択されたイベントの識別子を前記イベント情報として前記第２の記憶部に格納することを特徴とする請求項３に記載のセンサノード。
【請求項５】
前記センサノードは、前記イベントの種類を示す情報を表示する表示部をさらに備え、
前記制御部は、前記イベント通知受付部によって前記イベントの発生が通知された場合には、前記表示部に前記イベントの種類を示す情報を表示することを特徴とする請求項４に記載のセンサノード。
【請求項６】
前記センサノードは、計算機と通信可能なインタフェースをさらに備え、
前記制御部は、
前記イベントの種類を示す情報の更新データを前記計算機から受信し、
前記受信した更新データに基づいて、前記イベントの種類を示す情報を更新することを特徴とする請求項５に記載のセンサノード。
【請求項７】
前記センサノードは、計算機と通信可能なインタフェースをさらに備え、
前記制御部は、前記第１の記憶部に格納されたデータ及び前記第２の記憶部に格納されたイベント情報を前記計算機に送信することを特徴とする請求項１に記載のセンサノード。
【請求項８】
前記制御部は、前記センサからデータを収集した時に前記計算機と通信可能な場合には、前記センサから収集されたデータを前記計算機に送信することを特徴とする請求項７に記載のセンサノード。
【請求項９】
前記センサノードには、前記制御部が所定の周波数で動作する通常状態と、前記制御部のクロック周波数を前記所定の周波数よりも低く設定することによって消費電力を低減させるスタンバイ状態とがあり、
前記制御部は、
前記センサから収集されたデータを前記第１の記憶部に格納した後に、前記通常状態から前記スタンバイ状態に移行し、
前記センサから周期的にデータを収集する場合、又は前記イベントが検出された場合には、前記スタンバイ状態から前記通常状態に移行することを特徴とする請求項１に記載のセンサノード。
【請求項１０】
前記第１の記憶部は、半導体記憶媒体によって構成され、
前記第１の記憶部には、前記センサによって収集されたデータを格納する複数の領域が割り当てられ、
前記制御部は、前記センサによって収集されたデータを、最後にデータが格納された領域に格納することを特徴とする請求項１に記載のセンサノード。
【請求項１１】
センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードと、前記センサノードから前記データ及び前記イベント情報を受信する計算機とを含むセンサネットワークシステムであって、
前記センサノードは、前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第１の記憶部と、前記イベント情報を格納する第２の記憶部と、前記計算機と通信可能な第１のインタフェースと、を備え、
前記計算機は、前記センサノードに接続される第２のインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記センサノードは、
前記センサから周期的にデータを収集し、
前記収集されたデータを前記第１の記憶部に格納し、
前記イベントが検出された場合には、前記イベント情報を前記第２の記憶部に格納し、
前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、
前記センサによって収集されたデータを前記第１の記憶部に格納した後に、前記イベント情報を格納する処理を再開し、
前記第１の記憶部に格納されたデータ及び前記第２の記憶部に格納されたイベント情報を前記計算機に送信し、
前記計算機は、前記センサノードから送信されたデータ及びイベント情報を格納することを特徴とすることを特徴とするセンサネットワークシステム。
【請求項１２】
前記センサノードは、前記制御部に時間情報を提供する時計部をさらに備え、
前記時計部は、前記制御部に周期的に信号を送信し、
前記センサノードは、前記時計部から送信された信号を受信した場合に、前記センサからデータを収集することを特徴とする請求項１１に記載のセンサネットワークシステム。
【請求項１３】
前記センサノードは、
前記イベントの発生の通知を受け付けるイベント通知受付部をさらに備え、
前記イベント通知受付部によって通知されたイベントを、前記検出されたイベント情報として、前記第２の記憶部に格納することを特徴とする請求項１１に記載のセンサネットワークシステム。
【請求項１４】
前記センサノードは、
前記イベントの種類を示す情報を表示する表示部をさらに備え、
前記イベント通知受付部によって前記イベントの発生が通知された場合には、前記表示部に前記イベントの種類を示す情報を表示し、
前記計算機は、
前記センサノードに表示される前記イベントの種類を示す情報を更新する場合には、前記イベントの種類を示す情報の更新データの入力を受け付け、
前記入力された更新データを前記センサノードに送信し、
前記センサノードは、前記計算機から送信された更新データに基づいて、前記イベントの種類を示す情報を更新することを特徴とする請求項１３に記載のセンサネットワークシステム。
【請求項１５】
前記センサノードには、前記制御部が所定の周波数で動作する通常状態と、前記制御部のクロック周波数を前記所定の周波数よりも低く設定することによって消費電力を低減させるスタンバイ状態とがあり、
前記センサノードは、
前記センサから収集されたデータを前記第１の記憶部に格納した後に、前記通常状態から前記スタンバイ状態に移行し、
前記センサから周期的にデータを収集する場合、及び前記イベントが検出された場合には、前記スタンバイ状態から前記通常状態に移行することを特徴とする請求項１１に記載のセンサネットワークシステム。
【請求項１６】
前記計算機は、前記センサによって収集されたデータ及び前記センサノードによって検出されたイベント情報に基づいて、前記センサノードを利用したユーザの行動履歴を推定することを特徴とする請求項１１に記載のセンサネットワークシステム。
【請求項１７】
前記計算機は、
前記行動履歴の推定結果を出力する行動履歴出力部をさらに備え、
前記行動履歴の推定結果を前記行動履歴出力部に出力し、
前記行動履歴の詳細情報の入力を受け付けることを特徴とする請求項１６に記載のセンサネットワークシステム。
【請求項１８】
前記センサネットワークシステムは、前記推定された行動履歴を収集するサーバを含み、
前記計算機は、前記行動履歴の推定結果を前記サーバに送信することを特徴とする請求項１６に記載のセンサネットワークシステム。
【請求項１９】
前記センサネットワークシステムは、前記センサによって収集されたデータ及び前記イベント情報を収集するサーバを含み、
前記計算機は、前記センサノードから受信した、前記センサによって収集されたデータ及び前記イベント情報を、前記サーバに送信することを特徴とする請求項１１に記載のセンサネットワークシステム。
【請求項２０】
センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードと、前記センサノードから前記データ及び前記イベント情報を受信する計算機とを含むセンサネットワークシステムにおけるデータ収集方法であって、
前記センサノードは、前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第１の記憶部と、前記イベント情報を格納する第２の記憶部と、前記計算機と通信可能な第１のインタフェースと、を備え、
前記計算機は、前記センサノードに接続される第２のインタフェースと、前記第２のインタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記方法は、
前記センサから周期的にデータを収集し、
前記収集されたデータを前記第１の記憶部に格納し、
前記イベントが検出された場合には、前記イベント情報を前記第２の記憶部に格納し、
前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、
前記センサによって収集されたデータを前記第１の記憶部に格納した後に、前記イベント情報を格納する処理を再開し、
前記第１の記憶部に格納されたデータ及び前記第２の記憶部に格納されたイベント情報を前記計算機に送信し、
前記センサノードから送信されたデータ及びイベント情報を格納することを特徴とすることを特徴とするデータ収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサによってデータを収集するセンサノードに関する。
【背景技術】
【０００２】
近年、センサ、無線及びマイコンなどを搭載した小型のセンサノードが実用化段階にある。このようなセンサノードは、センシング又は無線通信が必要なタイミングでのみ起動し、それ以外では電源を切断する。このような消費電力を削減する間欠動作によって、小型の内蔵電池で長時間動作させながら、人が身に付けることも容易である。
【０００３】
非特許文献１には、センサノードに用いる最適な無線通信手段として無線規格ＩＥＥＥ８０２．１５．４が開示されている。非特許文献１に開示された規格は、伝送速度及び通信距離を抑える代わりに、消費電力を低く抑えることが可能な無線規格である。
【０００４】
また、特許文献１には、人の身体に装着するセンサノードによって日常生活における身体活動をモニタするため、センサノードが運動センサであらかじめプログラムされた動きを検出すると、動きが生じた日時をメモリに記録し、後からＰＣなどで収集する技術が開示されている。
【０００５】
さらに、特許文献２には、生体センサを備えるセンサノードが脈拍又は血圧などを常時測定し、ユーザの健康情報を正確に判断するため、あらかじめ入力された行動予定情報と生体センサにより測定された情報を関連づけてメモリに記録する技術を開示されている。
【特許文献１】特開２００１−５２３５３６号公報
【特許文献２】特開２００１−３２７４７２号公報
【非特許文献１】「ＩＥＥＥ  Ｓｔａｎｄａｒｄｓ  ８０２．１５．４」仕様書、ＩＥＥＥ、「平成１９年８月２０日検索」、インターネット＜ＵＲＬ：http://standards.ieee.org/getieee802/download/802.15.4-2003.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
センサノードによって測定された人の動き及び脈拍などの生体情報から、日常生活における行動履歴を生成し、日々の健康に関わる生活リズム（例えば、睡眠と起床のパターン）又はスケジュール管理を支援するシステムに応用することが可能となる。これを実現するには、典型的にはセンサによって１秒当たり数十回にわたって絶えず測定（センシング）し、さらにセンシングした信号のパターンを解析し、具体的な行動を推定する必要がある。また、１日の行動を後から振り返る場合には、重要かつ特徴的な行動（イベント）を履歴として残すことが有効である。
【０００７】
特許文献１に開示された技術では、センサの情報から、イベントを認識するためのプログラムをあらかじめ備えている。この認識プログラムによって人の動きを常時監視し、イベントが発生した場合に日時を記録することによって行動履歴を生成することができる。しかし、特許文献１に開示された技術では、あらかじめ予測されうるイベント以外を記録することができないため、新しいイベントを発生時に記録することができない。
【０００８】
特許文献２に開示された技術では、特許文献１に開示された技術と同様にセンサの情報に基づいて行動を認識し、さらにあらかじめ記録されたスケジュールと比較するプログラムを備える。そして、認識された行動とあらかじめ記録されたスケジュールとが相違する場合には、ユーザに音声又は文字情報で質問することによって、より新しい行動情報を記録することが可能である。しかし、加速度センサなどによって検出が困難であるイベント、例えば、飲食、乗り物による移動、人との面会又は会議などを認識できず、ユーザが自発的かつ容易にこれらのイベントを記録する手段が開示されていない。
【０００９】
さらに、特許文献１及び特許文献２に開示された技術では、それぞれのイベント記録手段をセンサノードで処理すると同時に、センシングした信号、例えば、加速度センサで１秒間に数十回サンプリングした波形情報をそのまま記録して収集することができない。したがって、センサノード上での認識処理で期待する行動又はイベントの検出が困難であっても、後から過去に記録したセンサの情報を遡って、別の新しい認識プログラムで再度認識処理を実行することが不可能である。
【課題を解決するための手段】
【００１０】
本発明の代表的な一形態を示せば以下の通りである。すなわち、本発明のセンサノードは、センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードであって、前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第１の記憶部と、前記イベント情報を格納する第２の記憶部と、を備え、前記制御部は、前記センサから周期的にデータを収集し、前記収集されたデータを前記第１の記憶部に格納し、前記イベントが検出された場合には、前記イベント情報を前記第２の記憶部に格納し、前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、前記センサによって収集されたデータを前記第１の記憶部に格納した後に、前記イベント情報を格納する処理を再開する。
【発明の効果】
【００１１】
本発明の一形態によれば、センサによってデータを収集し、収集されたデータを記録しながら、任意のタイミングでイベントデータを記録することができる。
【発明を実施するための最良の形態】
【００１２】
まず、本発明の実施の形態のセンサノードについて、概要を説明する。本発明の実施の形態のセンサノードは、生体情報を測定するセンサと、センサデータを送受信する無線通信部及び有線通信部と、外部電源の接続を検出して割込み信号を生成する外部電源検出部と、センサデータを格納するストレージと、イベント発生時に操作されることによって信号を生成するスイッチと、時刻情報を含むイベント情報を記録する不揮発性メモリと、センサ及び無線通信部を制御するマイクロコンピュータとを備える。
【００１３】
本発明の実施の形態のセンサノードでは、マイクロコンピュータがリアルタイムクロックによって一定の時間周期で生成される割込み信号を受信してセンサの測定を開始し、測定データをストレージにすべて記録する。さらに、スイッチの操作によって生成された信号を受信すると、リアルタイムクロックから時刻情報を取得し、イベント情報として不揮発性メモリに記録する。
【００１４】
不揮発性メモリ及びストレージに格納されたデータは、所定のパーソナルコンピュータと通信可能であれば、無線通信部又は有線通信部によって即座に送信される。
【００１５】
図１は、本発明の実施の形態のセンサノード１の一例を示すブロック図である。
【００１６】
センサノード１は、センシングプログラム１３２及びイベント記録プログラム１３４によって制御される。センシングプログラム１３２は、リアルタイムクロック１５によって周期的に入力される信号を契機としてセンシングを行い、データをＲＡＭ１１０に記録し、さらに、ストレージ１４０に記録する。イベント記録プログラム１３４は、スイッチ（２０、２１）が操作されることによって入力された信号を検知すると、リアルタイムクロック（ＲＴＣ）１５から時刻情報を読み出してＥＥＰＲＯＭ１６０に記録する。以下、センサノード１の各構成について説明する。
【００１７】
センサノード１は、無線通信部１６、加速度センサ１２、脈拍センサ１３、温度センサ１４、マイクロコンピュータ１００、リアルタイムクロック１５、ストレージ１４０、ＥＥＰＲＯＭ１６０、ＬＣＤ１１、スイッチ（２０、２１）、端子２５、外部電源検出部１８、ＵＳＢ通信部１７、二次電池２６及び充電／給電回路部１９を備える。
【００１８】
無線通信部１６は、アンテナ２８に接続され、無線で外部の機器と通信する。加速度センサ１２は、センサノード１の加速度を計測し、例えば、センサノード１のユーザの動きを検出する。脈拍センサ１３は、センサノード１のユーザの脈拍を計測する。温度センサ１４は、温度を計測する。
【００１９】
マイクロコンピュータ１００は、センサノード１全体を制御する。リアルタイムクロック１５は、マイクロコンピュータ１００に一定間隔でセンシングを実行させるためのタイマとして機能し、周期的にマイクロコンピュータ１００に信号を送信する。信号を送信する周期は任意である。リアルタイムクロック１５は、さらに時刻情報を生成する。
【００２０】
ストレージ１４０及びＥＥＰＲＯＭ１６０は、書き換え可能な不揮発性記憶媒体である。ストレージ１４０は、例えばフラッシュメモリであって、所定の周期で断続的に収集されるセンサデータを格納する。したがって、比較的多くの記憶容量を必要とする。一方、ＥＥＰＲＯＭ１６０は、電気的に書き換え可能な不揮発性記憶媒体である。ＥＥＰＲＯＭ１６０には、簡易的なイベントデータが記録されるのみであるため、多くの記憶容量を必要としない。また、フラッシュメモリに格納されたデータを更新するためには所定のサイズの領域を消去してからデータを書き込む必要があるため、イベントデータのように比較的小さいサイズのデータを読み書きする場合には、ビット単位で更新可能なＥＥＰＲＯＭ１６０がより適している。
【００２１】
ＬＣＤ１１は、ユーザに通知するための文字情報、センサデータを示す波形又はグラフなどの情報を表示する。スイッチ（２０、２１）は、イベントデータの登録などを受け付けるためにユーザによって操作される。
【００２２】
外部電源検出部１８は、端子２５がパーソナルコンピュータ（ＰＣ）などの外部機器に接続されたことを検出し、マイクロコンピュータ１００に通知する。外部機器との接続は、例えば、ＵＳＢ接続であって、端子２５にはＵＳＢケーブルが接続される。端子２５には、送信、受信及び電源用の端子が含まれる。ＵＳＢ通信部１７は、端子２５が外部機器に接続されたことを検出した場合に、マイクロコンピュータ１００とのシリアル通信によってデータを外部機器に転送する。
【００２３】
二次電池２６は、センサノード１を稼働させるために必要な電力を蓄える。充電／給電回路部１９は、外部機器からＵＳＢ接続を介して供給される電力を二次電池２６に充電する。また、二次電池２６に充電された電力をセンサノード１に供給する。
【００２４】
ＥＥＰＲＯＭ１６０には、イベント記録テーブル１７０及びイベントリストテーブル１６１が記憶される。
【００２５】
イベント記録テーブル１７０は、アドレス１７１、日時１７２及びイベントＩＤ１７３を含む。アドレス１７１は、イベントが記録された領域のアドレスである。日時１７２は、イベントが記録された日時である。イベントＩＤ１７３は、イベントの識別子である。
【００２６】
イベントリストテーブル１６１は、イベントＩＤ１６２及びアイコン１６３を含む。イベントＩＤ１６２は、イベントの識別子である。アイコン１６３は、イベントを選択する際に、対応するアイコン画像をＬＣＤ１１に表示するためのデータである。イベントリストテーブル１６１は、書き換え可能であるため、センサノード１を使用するユーザによって使用頻度の高い任意のイベントを登録することができる。
【００２７】
イベント記録テーブル１７０には、イベント発生の日時とともに、イベントに対応するアイコンが関連付けられてイベント情報が格納されているため、後からイベント情報を閲覧した場合に容易に内容を思い出すことができる。
【００２８】
ストレージ１４０は、センシングしたデータを記録するためのパケット記録テーブル１４１を含む。パケット記録テーブル１４１に記録されるデータは、無線通信部１６によってデータを送信可能な１パケットのサイズごとに区切られる。このように実装することによって、ストレージ１４０から読み出された１パケット分のデータを加工することなく、そのまま無線又は有線で送信可能とし、データの加工に必要な処理を少なくすることができる。
【００２９】
パケット記録テーブル１４１は、アドレス１４２、フラグ１４３、長さ１４４及びパケット１４５を含む。
【００３０】
アドレス１４２は、送信されるパケットが格納されている領域のアドレスである。アドレス１４２は、一意に割り当てられる。マイクロコンピュータ１００は、ストレージ１４０から格納されたデータをシリアル通信によって読み出し、又は受け付けたコマンドに含まれるアドレスを参照して、任意の位置のデータを読み書きする。
【００３１】
フラグ１４３は、パケット記録テーブル１４１に格納されたパケットが、データを収集する外部機器（例えば、パーソナルコンピュータ）に送信済みか否かを示す情報である。データが送信済みの場合には“１”が、未送信の場合には“０”が設定される。フラグ１４３によって、ストレージ１４０のパケットを読み出す際に、未送信データであるか否かを判定することができ、未送信データのみを効率的に送信することができる。
【００３２】
マイクロコンピュータ１００は、ＣＰＵ１０１、ＲＯＭ１３０、ＲＡＭ１１０、シリアル通信部（１０２、１０５）、Ｉ／Ｏポート１０７、及び割込制御部（１０３、１０４、１０６）を備える。
【００３３】
ＣＰＵ１０１は、ＲＡＭ１１０及びＲＯＭ１３０に記憶されたプログラムを処理することによって、各種演算処理を実行する。ＲＯＭ１３０は、ＣＰＵ１０１によって実行されるプログラム１３１を記憶する。ＲＡＭ１１０は、ＣＰＵ１０１によって実行されるプログラムの他に、データなどを一時的に記録する。
【００３４】
シリアル通信部（１０２、１０５）は、リアルタイムクロック１５、ストレージ１４０、ＥＥＰＲＯＭ１６０、ＬＣＤ１１、加速度センサ１２、温度センサ１４、脈拍センサ１３、無線通信部１６及びＵＳＢ通信部１７に接続され、デジタル信号にて信号を送受信する。
【００３５】
Ｉ／Ｏポート１０７は、デジタル信号を入出力する。割込制御部（１０３、１０４、１０６）は、外部から信号を受け付けた場合に、プログラム１３１を実行中のＣＰＵ１０１に割込みをかける。
【００３６】
プログラム１３１には、センシングプログラム１３２、接続切替プログラム１３３及びイベント記録プログラム１３４が含まれる。
【００３７】
イベント記録プログラム１３４は、イベントが検出された場合に、ＣＰＵ１０１によって実行される。イベント記録プログラム１３４が実行されると、リアルタイムクロック１５からシリアル通信部１０２を介して時刻情報が取得される。取得された時刻情報は、ＥＥＰＲＯＭ１６０のイベント記録テーブル１７０の日時１７２に記録される。
【００３８】
また、スイッチ（２０、２１）が操作されることによって、発生したイベントに対応するイベントＩＤ１６２をイベントリストテーブル１６１から取得し、イベントＩＤ１７３に記録する。このとき、イベントＩＤ１６２に対応するアイコン１６３をＬＣＤ１１に表示することによって、ユーザによるイベントの選択を支援する。
【００３９】
センシングプログラム１３２は、リアルタイムクロック１５から入力された信号が検出された場合に、ＣＰＵ１０１によって実行される。センシングプログラム１３２が実行されると、加速度センサ１２、温度センサ１４及び脈拍センサ１３によってセンシングされたデータが、シリアル通信部１０２を介してＲＡＭ１１０に記憶される。そして、ＲＡＭ１１０に記憶されたデータを、無線通信部１６によって所定のゲートウェイに無線送信し、さらにストレージ１４０に書き込む。
【００４０】
接続切替プログラム１３３は、外部電源検出部１８から送信された信号を検出した場合に、ＣＰＵ１０１によって実行される。具体的には、センサノード１が外部機器に接続されたことによって外部電源検出部１８から信号が送信され、接続切替プログラム１３３が実行されると、端子２５を介して外部機器との有線通信を開始する。さらに、ストレージ１４０に記録され、かつ、無線又は有線通信によって外部に送信されていないデータ（未送信データ）を読み出し、ＵＳＢ通信部１７に送信し、ＵＳＢ通信部１７から端子２５を介して外部機器に送信する。
【００４１】
リアルタイムクロック１５は、一定の周期でマイクロコンピュータ１００の割込制御部１０６に割込み信号を生成し、生成された割込み信号を送信する。割込み信号を生成する周期は、マイクロコンピュータ１００にコマンドを送信することによって変更することができる。周期的に送信される割込み信号によって、マイクロコンピュータ１００では、他の処理の実行状態に影響を受けることなく、一定の周期でセンシングプログラム１３２よってセンシング処理を実行することが可能となる。
【００４２】
外部電源検出部１８は、外部機器に端子２５に接続されたことによって、電源に接続されたことを検出する。例えば、電力供給を可能とするＵＳＢを介して外部機器に接続されたことを検出することができる。外部機器との接続が検出されると、外部電源検出部１８は、割込み信号を生成し、マイクロコンピュータ１００の割込制御部１０４に送信する。さらに、Ｉ／Ｏポート１０７にデジタル信号の“１”を出力する。
【００４３】
また、外部電源検出部１８は、外部機器との接続が切断されたことを検出した場合にも割込み信号を生成し、割込制御部１０４に出力する。さらに、Ｉ／Ｏポート１０７にデジタル信号の“１”を出力する。すなわち、マイクロコンピュータ１００は、端子２５と外部機器との接続状態の変化を直ちに検出し、ＵＳＢ通信部１７を介したＵＳＢ通信を開始又は停止させることができる。
【００４４】
ＵＳＢ通信部１７は、マイクロコンピュータ１００とのシリアル通信の信号を、端子２５のデータ線（送信、受信）を介したＵＳＢ規格の信号に変換する。したがって、マイクロコンピュータ１００の制御によって、外部機器に送信するデータのみをシリアル通信でＵＳＢ通信部１７に送信することで、自動的にＵＳＢ規格のデータに変換し、外部機器に送信することができる。また、ＵＳＢ通信部１７の電源は端子２５を介して外部機器からのみ供給されるため、ＵＳＢ非接続時の電力消費を抑制することができる。
【００４５】
図２は、本発明の実施の形態のストレージ１４０に格納されるパケット記録テーブル１４１の構成の詳細を示す図である。
【００４６】
パケット記録テーブル１４１は、アドレス１４２の昇順にパケットを含むデータが書き込まれ、アドレス１４２の最大値までデータが書き込まれると、最小値（例えば１）から上書きされる。本発明の実施の形態のように、ストレージ１４０がフラッシュメモリによって構成されている場合には、ストレージ全体の書き換え頻度を均等にすることで、ストレージを構成するメモリセルの書き換え寿命を長くすることができる。
【００４７】
図２に示すパケット記録テーブル１４１では、アドレス１４２がｍの位置に、最も古いデータ１４７が記録されている。したがって、アドレス１４２がｍ−１の位置に最も新しいデータ１４６が記録され、新たにデータが書き込まれる場合にはアドレス１４２がｍの位置に書き込まれる。
【００４８】
また、一度も送信されていないデータの中で最も古いデータ１４８のアドレスをｎとすると、アドレス１４２がｍからｎ−１の位置までのデータ１５０が送信済みであり、アドレス１４２がｎの位置からデータが読み出される。
【００４９】
図３は、本発明の実施の形態のＥＥＰＲＯＭ１６０のイベント記録テーブル１７０の構成の詳細を示す図である。
【００５０】
イベント記録テーブル１７０には、パケット記録テーブル１４１と同様に、イベントのデータがアドレス１７１の小さい順に書き込まれ、アドレス１７１の最大値までデータが書き込まれると最小値（例えば１）から上書きされる。ＥＥＰＲＯＭ１６０には書き換え回数に制限があるため、イベント記録テーブル１７０内部の書き換え頻度を等しくすることによって、フラッシュメモリと同様に、ＥＥＰＲＯＭ１６０の寿命を長くすることができる。
【００５１】
図３に示すイベント記録テーブル１７０では、アドレス１７１がｉのデータ１７５に、最も古いデータが記録されている。したがって、アドレス１７１がｉ−１の位置に最も新しいデータ１７４が記録され、新たにデータが書き込まれる場合にはアドレス１７１がｉの位置に書き込まれる。
【００５２】
また、一度も送信されていないデータの中で、最も古いデータ１７６のアドレスをｊとすると、アドレス１７１がｉからｊ−１の位置までのデータ１７８が送信済みであり、アドレス１７１がｊの位置からデータが読み出される。
【００５３】
図４は、本発明の実施の形態のマイクロコンピュータ１００のＲＡＭ１１０に記録されているデータの詳細を示す図である。
【００５４】
ＲＡＭ１１０は、送信用バッファ１１１、外部メモリ用バッファ１１２、選択イベントＩＤ１１３、イベント読出アドレス１１５、イベント書込アドレス１１４、ストレージ読出アドレス１１７、ストレージ書込アドレス１１６、無線通信状態１１９、有線接続状態１２０及び有線通信状態１２１を記憶する。
【００５５】
送信用バッファ１１１は、無線送信用のデータを一時的に記録する領域である。具体的には、加速度センサ１２、温度センサ１４又は脈拍センサ１３でセンシングされたデータを一時的に記録し、送信する容量に達するまで蓄積する領域である。例えば、無線規格をＩＥＥＥ８０２．１５．４とした場合には、１回の通信可能なデータ容量（パケット容量）と同じ１００バイト程度とする。
【００５６】
外部メモリ用バッファ１１２は、送信用バッファ１１１のデータが送信された後に、圧縮してストレージ１４０に記録するためのデータを格納する領域である。また、ストレージ１４０からデータを読み出して無線又は有線で送信する際に、読み出されたデータが格納される。
【００５７】
本発明の実施の形態では、典型的な公知の圧縮方式を適用した場合、例えば、２０ヘルツでサンプリングした最大３Ｇかつ最小−３Ｇの加速度の波形データであれば、平均で１／３程度の容量に圧縮することが可能である。そして、外部メモリ用バッファ１１２に１パケット容量分のデータが蓄積されると、ストレージ１４０にデータが格納される。このように、データを圧縮することによって、書込み頻度を削減することが可能となる。
【００５８】
送信用バッファ１１１及び外部メモリ用バッファ１１２を有することによって、センシングされた直後のリアルタイムデータを外部機器に無線送信し、さらに送信データをストレージ１４０に記録する処理と、外部機器と無線又は有線で通信可能な場合にストレージ１４０及びＥＥＰＲＯＭ１６０から未送信データを送信する処理とを滞りなく実行することができる。
【００５９】
選択イベントＩＤ１１３は、選択されたイベントの識別子である。選択イベントＩＤ１１３は、ＬＣＤ１１に表示されるアイコンに対応するイベントＩＤに対応する。
【００６０】
ストレージ読出アドレス１１７は、無線又は有線通信可能時に送信すべき未送信データのストレージ１４０内部における位置を示す。ストレージ書込アドレス１１６は、ストレージ用バッファに記録されたストレージ１４０に書き込むためのデータを記録すべきストレージ１４０内部における位置を示す。したがって、ストレージ読出アドレス１１７とストレージ書込アドレス１１６が同じ値である場合には、送信すべき未送信データがストレージ１４０に存在しないことが判定できる。
【００６１】
同様に、イベント読出アドレス１１５は、送信すべき未送信データのＥＥＰＲＯＭ１６０のイベント記録テーブル１７０内部における位置を示す。イベント書込アドレス１１４は、イベントデータをＥＥＰＲＯＭ１６０に書き込む際に記録すべきＥＥＰＲＯＭ１６０のイベント記録テーブル１７０内部における位置を示す。したがって、イベント読出アドレス１１５とイベント書込アドレス１１４とが同じ値である場合には、送信すべき未送信データがＥＥＰＲＯＭ１６０に存在しないことが判定できる。
【００６２】
無線通信状態１１９は、無線通信が実行可能な状態であるか否かを示す情報が記録される。具体的には、センシングされたデータを送信した結果、すなわち、送信の成功又は失敗などの結果に基づいて値が記録される。
【００６３】
有線接続状態１２０は、外部機器とＵＳＢを介して接続されているか否かが記録される。有線通信状態１２１は、外部機器とＵＳＢを介して接続され、かつ、外部機器がデータを受信できる状態であるか否かを示す情報が記録される。
【００６４】
図５は、本発明の実施の形態のセンサノード１からセンサデータ及びイベントデータを収集し、行動履歴を生成及び表示するシステムの構成の一例を示す図である。
【００６５】
図５に示すシステム形態では、センサデータから推定される行動と、任意のタイミングで記録されたイベントデータをユーザに提示することによって、ユーザが過去の重要なイベント又は行動に関する情報を追加入力することを支援し、正確な行動履歴を生成することを可能にする。図５に示すシステムには、パーソナルコンピュータ２００、表示装置２０１、入力装置２０３及びゲートウェイ（ＧＷ）２４０が含まれる。
【００６６】
ゲートウェイ２４０は、センサノード１と無線で通信する。ゲートウェイ２４０では、マイクロコンピュータ２４１によって無線通信部２４３が制御される。アンテナ２４４が受信した無線信号は、無線通信部２４３によってデジタルデータに変換され、マイクロコンピュータ２４１に認識される。
【００６７】
マイクロコンピュータ２４１は、無線で受信したデータをＵＳＢ通信部２４２にシリアル通信によって送信する。ＵＳＢ通信部２４２は、受信したデータをパーソナルコンピュータ２００に送信する。同様に、パーソナルコンピュータ２００からＵＳＢ通信部２４２に送信されたデータは、マイクロコンピュータ２４１から無線通信部２４３に送信され、無線信号としてアンテナ２４４からセンサノード１に送信される。
【００６８】
パーソナルコンピュータ２００は、ＣＰＵ２３６、メモリ２３７、端子２３８及びインタフェース２３９を備える。ＣＰＵ２３６は、メモリ２３７に記憶されたプログラムを実行することによって各種演算処理を実行する。メモリ２３７は、ＣＰＵ２３６によって実行されるプログラム及び処理を実行するために必要なデータを記憶する。端子２３８は、ゲートウェイ２４０及びセンサネット１に接続される。端子２３８は、例えば、ＵＳＢ端子である。インタフェース２３９は、ネットワークに接続される。
【００６９】
パーソナルコンピュータ２００のメモリ２３７には、行動履歴生成アプリケーション２１０、ＵＳＢドライバ２０４及びネットワーク通信部２０５が記憶される。行動履歴生成アプリケーション２１０には、センサデータ及びイベントデータに基づいて行動履歴を生成及び収集するためのプログラム及びデータが格納される。ＵＳＢドライバ２０４は、ゲートウェイ２４０と通信する際に用いられる。ネットワーク通信部２０５は、インターネット４に接続して通信するためのソフトウェアである。
【００７０】
行動履歴生成アプリケーション２１０には、行動データ表示生成部２１１、行動入力部２１２、アイコン設定部２１３、データ解析部２１４、パケット送信部２１５、パケット受信部２１６、データベース差分生成／結合部２１７及びＵＳＢ通信部２１８が含まれる。行動データ表示生成部２１１、行動入力部２１２、アイコン設定部２１３、データ解析部２１４、パケット送信部２１５、パケット受信部２１６、データベース差分生成／結合部２１７及びＵＳＢ通信部２１８は、プログラムである。また、行動履歴生成アプリケーション２１０には、ユーザ行動データベース２２０及びセンサ波形データベース２３０が含まれる。
【００７１】
行動データ表示生成部２１１は、ユーザ行動データベース２２０に格納されたユーザの行動履歴を表示するための処理を行う。行動入力部２１２は、収集されたイベントデータに対し、行動情報を追加入力する。データ解析部２１４は、センサノード１から受信したセンサデータ及びイベントデータを解析し、行動履歴を作成する。
【００７２】
アイコン設定部２１３は、入力装置２０３を介して入力又は選択されたアイコンを、センサノード１に含まれるイベントリストテーブル１６１のアイコン１６３に設定する。したがって、ユーザは日常生活において使用する可能性が高いイベントアイコンを自由に設定し、生活環境の変化又は時間の経過に合わせて随時更新することができる。
【００７３】
パケット送信部２１５は、ＵＳＢ通信部２１８を介してセンサノード１にデータを送信する。パケット受信部２１６は、ＵＳＢ通信部２１８を介してセンサノード１からデータを受信する。ＵＳＢ通信部２１８は、ＵＳＢドライバ２０４を介してセンサノード１とデータを送受信する。
【００７４】
ユーザ行動データベース２２０は、イベントデータを格納する。ユーザ行動データベース２２０には、日時２２１、イベント２２２及び行動２２３が含まれる。日時２２１は、イベントが発生した日時である。イベント２２２は、発生したイベントを識別する情報である。行動２２３は、ユーザの行動を示す情報が格納される。また、行動２２３には、推定２２４及び入力２２５が含まれる。推定２２４には、日時２２２によって特定される時刻におけるセンサデータなどに基づいて推定される行動内容が記録される。入力２２３は、イベント２２２及びセンサデータなどを参照してユーザに入力された行動内容である。
【００７５】
センサ波形データベース２３０は、センサデータを格納する。センサ波形データベース２３０は、一例として、日時２３１、加速度２３２、温度２３３及び脈２３４を含む。日時２３１は、センサデータが取得された日時である。加速度２３２、温度２３３及び脈２３４は、それぞれ対応するセンサによって収集されたデータである。例に示したセンサ以外のセンサがセンサノード１に搭載されている場合には、対応するフィールドが追加される。
【００７６】
ここで、センサノード１から収集されたデータに基づいて行動履歴を生成する手順について説明する。
【００７７】
ＵＳＢ通信部２１８は、ＵＳＢドライバ２０４を介してデータ列を受信し、センサノード１から送信されたパケットであることを判別すると、受信したパケットをパケット受信部２１６に送信する。また、ＵＳＢ通信部２１８は、センサノード１と有線通信する場合には、センサノード１から送信される通信確認コマンドに対し、レスポンスを送信する。センサノード１は、レスポンスを受信することによって、行動履歴生成アプリケーション２１０にデータを送信可能であると判定することができる。
【００７８】
パケット受信部２１６は、ＵＳＢドライバ２０４を介してセンサノード１のパケットを受信し、センサ波形データベース２３０又はユーザ行動データベース２２０に記録する。このとき、加速度センサ１２のデータであればセンサ波形データベース２３０の加速度２３２に、脈拍センサ１３のデータであればセンサ波形データベース２３０の脈２３４に、温度センサ１４のデータであればセンサ波形データベース２３０の温度２３３に日時２３１とともに記録する。イベントデータであれば、ユーザ行動データベース２２０のイベント２２２に日時２２１とともに記録する。
【００７９】
データ解析部２１４は、センサ波形データベース２３０にセンサデータが記録されたことが検出されると、センサ波形から各日時における行動、例えば、睡眠、歩行、仕事、安静又は運動などを推定し、ユーザ行動データベース２２０の行動２２３の推定２２４に記録する。そして、行動データ表示生成部２１１は、ユーザ行動データベース２２０の内容を表示装置２０１に表示する。
【００８０】
ユーザは、表示装置２０１に表示されたユーザ行動データベース２２０の内容を参照することによって、１日の行動を大まかに把握することができる。そして、表示された内容を参照しながら、入力装置２０３を介して、より詳細な行動内容を入力することができる。例えば、センサデータから座っていると推定され、人と面会したイベントデータが履歴として表示されていれば、ユーザは面会した人を具体的に特定し、会議内容を思い出しやすくなり、情報を詳細に入力することができる。
【００８１】
行動入力部２１２は、入力装置２０３を介して入力された情報をユーザ行動データベース２２０の行動２２３の入力２２５に記録する。以上の手順を繰り返すことによって、詳細かつ正確な行動履歴を生成することができる。また、イベントデータは、ユーザがイベント発生時にその場で自発的に入力した情報であることから、重要な出来事として漏れなく記録することができる。
【００８２】
ユーザ行動データベース２２０及びセンサ波形データベース２３０は、パーソナルコンピュータ２００の内部に格納するだけでなく、インターネット４を介して接続されたサーバに格納されるように構成してもよい。センサノード１から送信されたデータをサーバに送信し、サーバに格納されたデータを管理及び閲覧するようにしてもよい。また、サーバに記録されたイベントデータ及びセンサデータをインターネット４経由で受信し、ユーザ行動データベース２２０及びセンサ波形データベース２３０に記録するようにしてもよい。
【００８３】
データベース差分生成／結合部２１７は、ユーザ行動データベース２２０及びセンサ波形データベース２３０に記録されている情報の中で、インターネット４を介して接続されたサーバに格納されたデータベースに記録されていないデータのみを抽出し、ネットワーク通信部２０５を介して送信する。また、サーバから受信したイベントデータ及びセンサデータを、データの内容及び日時に基づいて、ユーザ行動データベース２２０及びセンサ波形データベース２３０の適切な部分に記録する。すなわち、サーバに含まれるデータベースとパーソナルコンピュータに含まれるデータベースの内容を同期させることができるため、ユーザはインターネット４を介して別の場所で任意のタイミングで行動を入力することができる。したがって、別の場所におけるデータ入力を可能とすることによって、詳細な内容を忘れてしまう前に行動を追加してデータを入力することができる。
【００８４】
図６は、本発明の実施の形態の複数のユーザの行動履歴を管理するシステムの構成例を示す図である。
【００８５】
図６に示すシステム形態では、サーバ３００によって複数のユーザの行動履歴が管理され、各ユーザがインターネットを介して行動履歴を閲覧し、データを追加入力することができる。
【００８６】
サーバ３００に格納されるソフトウェアには、データ解析部３０１、データ表示／入力部３０２、データベース（ＤＢ）差分生成／結合部３０３、ネットワーク通信部３０４、センサ波形データベース３０５及びユーザ行動データベース３０７が含まれる。
【００８７】
以下、サーバ３００によって提供されるＷＥＢサービスに、ユーザ３がインターネット４を介してアクセスし、行動履歴を閲覧する手順について説明する。
【００８８】
パーソナルコンピュータ２００は、無線又は有線通信によってセンサノード１から送信されたセンサデータ及びイベントデータを受信する。パーソナルコンピュータ２００で実行される行動履歴生成アプリケーションは、同じデータが何度も送信されないように、サーバ３００に未送信のデータのみをインターネット４を介して送信する。
【００８９】
サーバ３００では、パーソナルコンピュータ２００によって送信されたデータをネットワーク通信部３０４が受信し、データベース差分生成／結合部３０３に送信する。データベース差分生成／結合部３０３は、受信したデータがセンサデータであればセンサ波形データベース３０５に記録し、イベントデータであればユーザ行動データベース３０７に記録する。
【００９０】
データ解析部３０１は、センサ波形データベース３０５に新しくセンサデータが記録されたことを検出すると、センサデータから時間ごとの行動を推定し、ユーザ行動データベース３０７に記録する。
【００９１】
データ表示／入力部３０２は、ユーザ行動データベース３０７に記録された行動履歴を読み出し、表示するための情報を生成及び出力する。つまり、ユーザ３によって操作されるパーソナルコンピュータ２００のＷＥＢアクセス手段（典型的には一般的なＷＥＢブラウザ）からによるリクエストを受信すると、ユーザ３の行動履歴の表示画面をパーソナルコンピュータ２００に送信する。したがって、ユーザ３は、サーバ３００によって提供されるＷＥＢサイトにアクセス可能であれば、どこからでも自分の行動履歴を閲覧することができる。
【００９２】
また、ユーザ３は、データ表示／入力部３０２に行動履歴の追加入力を要求することができる。すなわち、ＷＥＢサイトを介して行動履歴を追加で入力し、ユーザ行動データベース３０７に記録することができる。したがって、ＷＥＢアクセス可能な携帯電話などを利用して行動履歴を入力することが可能であるため、ユーザ３はパーソナルコンピュータ２００を利用できない環境であっても行動履歴を追加して入力することが可能となり、重要なイベントの内容を随時記録することができる。
【００９３】
図７は、本発明の実施の形態のパーソナルコンピュータ２００にデータベースを備えないシステムの構成例を示す図である。
【００９４】
図７に示すシステム形態では、サーバ３００に格納されたデータベースのみでデータを管理する。したがって、パーソナルコンピュータ２００に個人のデータを記録しないため、紛失時又は故障時においてもデータを損失することなく、第三者に取得されるおそれもないため、セキュリティーを向上させることができる。また、ゲートウェイ２４０及びサーバ３００と通信するアプリケーションを外部ＲＯＭ２０６に記録し、外部ＲＯＭ２０６に記録されたプログラムを実行することによって、他人と共有するパーソナルコンピュータ２００を使用することも可能である。
【００９５】
パーソナルコンピュータ２００には、ゲートウェイ２４０及びサーバ３００と通信するための通信アプリケーション２５０、ＷＥＢブラウザ２０８、ＵＳＢドライバ２０４及びネットワーク通信部２０５などのソフトウェアが含まれる。通信アプリケーション２５０は、前述のように、実行時にＵＳＢ接続の外部ＲＯＭから読み出されて処理することが可能であり、パーソナルコンピュータ２００の内部に保持する必要はない。
【００９６】
ここで、図７に示すシステム形態でセンサデータ及びイベントデータを収集する手順について説明する。ゲートウェイ２４０からＵＳＢ通信部２１８及びパケット受信部２１６に送信されたデータは、センサ波形送信部２５１に送信され、ユーザを識別するデータを付加した後に、インターネット４を介してサーバ３００に送信される。すなわち、センサノード１から受信されたデータは、パーソナルコンピュータ２００に保持されることなく、そのままサーバ３００に送信される。
【００９７】
サーバ３００に記録されたデータは、サーバ３００によって提供されるＷＥＢサイトによって、インターネット４を介してＷＥＢブラウザ２０８で閲覧することができる。また、行動履歴を追加して入力する場合には、ＷＥＢブラウザ２０８から追加する行動履歴を入力し、サーバ３００に送信する。サーバ３００は、送信されたデータをデータベースに記録する。このようにして、特定のパーソナルコンピュータ２００を所有することなく、行動履歴を生成し、閲覧することができる。
【００９８】
図８は、本発明の実施の形態のセンサノード１の外観を示す図である。
【００９９】
図８に示すセンサノード１は、リストバンド２が両端に備えられ、典型的な腕時計と同様に腕に装着することができる。図８に示すように、バンド２によって腕に装着する場合に、脈拍センサ１３を有する面がユーザの皮膚に接触する。脈拍センサ１３は、公知の光学式測定方式であり、赤外線を生体表面に照射し、血管の脈動による反射光の変化から脈拍を推定する。脈拍センサ１３は、ユーザの皮膚に接触していることが不可欠である。
【０１００】
また、ＵＳＢ接続用の端子２５は、脈拍センサ１３が配置された装着面から見て側面に配置されていることから、有線通信及び充電中であってもユーザが常時装着することを可能とし、センシングを妨げない。端子２５は、ＵＳＢケーブルに対応し、電源端子及びデータ端子（送信、受信）によって外部機器と接続される。センサノード１は、端子２５を介してデータを通信し、さらに、電源供給を受けることができる。
【０１０１】
ＬＣＤ１１には、時刻、電池残量及び無線通信状態などの情報が表示され、ユーザが常時参照することが可能である。また、ＬＣＤ１１にメニューを表示し、スイッチ２０及び２１を操作することによって、センシングの間隔又は無線チャネルなどの設定をユーザが変更することが可能である。
【０１０２】
図９は、本発明の実施の形態のセンサノード１のＬＣＤ１１の表示内容の一例を示す図である。
【０１０３】
図９に示すＬＣＤ１１には、センシング状態４０６、センサデータの波形情報４０７、時刻情報４０５、無線電波状態４０２、電池残量４０３及びメモリ残量４０４が表示される。ユーザ３は、センサノード１を装着中に、ＬＣＤ１１に表示された情報を確認することができる。
【０１０４】
無線電波状態４０２は、無線送信の結果を示しており、ＲＡＭ１１０に記憶された無線通信状態１１９に基づいて情報が表示される。また、無線通信をまったく行わない場合には表示されない。
【０１０５】
電池残量４０３は、二次電池２６の電圧を表示する。電池残量４０３を参照することによって、ユーザ３は充電が必要なタイミングを知ることができる。
【０１０６】
メモリ残量４０４は、ストレージ１４０に記録可能な未送信データの量を示しており、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７とストレージ書込アドレス１１６との差に基づいて情報が表示される。メモリ残量４０４を参照することによって、ユーザ３は無線又は有線通信ができない環境において、ストレージ１４０に未送信データを記録可能な時間を推定することができる。
【０１０７】
図１０は、本発明の実施の形態のセンサノード１のスイッチ（２０、２１）を操作することによって、イベントを選択又は記録する場合のＬＣＤ１１の表示例を示す図である。
【０１０８】
図１０に示す表示例では、イベントの選択及び記録をアイコンの選択のみで行うことから、日常生活で多忙な場合においても、短時間で容易に選択及び記録が可能である。
【０１０９】
図９に示した状態において、スイッチ２０を操作すると、ＬＣＤ１１が表示４１１に切り替わる。スイッチ２０が操作された時点をイベント発生時刻とし、リアルタイムクロック１５から時刻情報が取得される。イベントＩＤが選択されていない状態のイベントＩＤを０とすると、イベントＩＤが０の場合には表示４１１の状態となる。特にイベントを分類する必要がない場合、又は選択している時間がない場合などはイベントＩＤに０を設定すればよい。
【０１１０】
さらにスイッチ２０が操作されると、次のイベントＩＤに対応するアイコンが表示される。例えば、表示４１２は食事を示すアイコンであり、イベントＩＤを１とする。さらにスイッチ２０が操作されると、表示４１３、表示４１４の順に切り替わる。表示４１３は車で移動中（イベントＩＤ＝２）、表示４１４はランニング中（イベントＩＤ＝３）を示すアイコンである。
【０１１１】
表示４１１〜４１４がＬＣＤ１１に表示されている状態で、ユーザがスイッチ２１を操作することによって、表示に対応するイベントＩＤをＥＥＰＲＯＭ１６０に記録することができる。
【０１１２】
図１１は、本発明の実施の形態のセンサノード１におけるイベント記録処理Ｐ１０１の手順を示すフローチャートである。
【０１１３】
図１１に示すフローチャートは、図１０に示したイベント記録処理の手順を示している。イベント記録処理は、前述のように、スイッチを操作することによって開始される割り込み処理であり、他の処理の実行中であっても処理可能である。また、１回の割り込み発生時に必要な処理は、短くても１０ミリ秒程度であるセンシング周期よりも十分に短い時間で完了できる処理であるため、センシング処理を阻害することはない。１回の割り込み発生時に必要な処理とは、例えば、アイコンが表示されているイベントの切替及び選択されたイベントの登録処理である。
【０１１４】
イベント記録処理Ｐ１０１は、スイッチ２０又はスイッチ２１が操作されたことによって、割込制御部１０６から送信された信号を受け付けて開始される（Ｐ１０２）。イベント記録処理Ｐ１０１は、イベント記録プログラム１３４がＣＰＵ１０１に処理されることによって実行される。
【０１１５】
マイクロコンピュータ１００のＣＰＵ１０１は、操作されたスイッチがスイッチ２０かスイッチ２１かを判定する（Ｐ１０３）。操作されたスイッチがスイッチ２０の場合には（Ｐ１０３の結果が「スイッチ２０」）、イベント選択処理Ｐ１１０を実行する。一方、操作されたスイッチがスイッチ２１の場合には（Ｐ１０３の結果が「スイッチ２１」）、イベント決定処理Ｐ１２０を実行する。イベント選択処理Ｐ１１０又はイベント決定処理Ｐ１２０が完了すると、イベント記録処理が完了する（Ｐ１０４）。
【０１１６】
図１２は、本発明の実施の形態のイベント選択処理Ｐ１１０の手順を示すフローチャートである。
【０１１７】
イベント選択処理Ｐ１１０では、ユーザがスイッチ２０を操作して割り込み処理が開始された際に、イベントの選択前に直ちに時刻情報を取得し、先に記録する。また、イベントの決定前であっても、ユーザがスイッチを操作した場合以外は処理が実行されないため、センシングなどの他の処理を阻害しない。
【０１１８】
マイクロコンピュータ１００のＣＰＵ１０１は、スイッチ２０の操作を検出すると、イベント選択処理Ｐ１１０を開始する（Ｐ１１１）。
【０１１９】
マイクロコンピュータ１００のＣＰＵ１０１は、まず、センサノード１の状態がイベント選択中であるか否かを判定する（Ｐ１１２）。イベント選択中であるか否かは、ＲＡＭ１１０に記録された選択イベントＩＤ１１３の値を参照することによって判定することができる。例えば、選択イベントＩＤ１１３に無効な値（例えばＮＵＬＬ）が設定されている場合には、イベント選択中ではないと判定することができる。
【０１２０】
マイクロコンピュータ１００のＣＰＵ１０１は、センサノード１の状態がイベント選択中でない場合には（Ｐ１１２の結果が「Ｎ」）、リアルタイムクロック１５からシリアル通信によって時刻情報を取得し（Ｐ１１３）、ＥＥＰＲＯＭ１６０に記録する（Ｐ１１４）。ＥＥＰＲＯＭ１６０に時刻情報が記録されるアドレスは、ＲＡＭ１１０に記憶されたイベント書込アドレス１１４を参照し、イベント書込アドレス１１４に記録されたアドレスｉの位置に時刻情報を記録する。さらに、選択イベントＩＤ１１３の値を最初の有効なイベントＩＤ（例えば０）に更新する（Ｐ１１５）。
【０１２１】
一方、マイクロコンピュータ１００のＣＰＵ１０１は、センサノード１の状態がイベント選択中の場合には（Ｐ１１２の結果が「Ｙ」）、選択イベントＩＤ１１３に次のイベントＩＤを設定する（Ｐ１１６）。
【０１２２】
Ｐ１１６では、すでに時刻情報がＥＥＰＲＯＭ１６０に記録されているが、対応するイベントＩＤが決定されていない状況であり、ユーザが次のイベントを選択できるようにするため、選択イベントＩＤ１１３の値を次の有効な値に書き換える。
【０１２３】
マイクロコンピュータ１００のＣＰＵ１０１は、Ｐ１１５又はＰ１１６の処理によって、選択イベントＩＤ１１３が更新されると、更新された選択イベントＩＤ１１３に基づいて、ＬＣＤ１１の表示を切り替える。具体的には、ＥＥＰＲＯＭ１６０のイベントリストテーブル１６１を参照し、選択イベントＩＤ１１３に対応するアイコン１６３を読み出してＬＣＤ１１に表示する。ＬＣＤ１１の表示の切り替えが完了すると、イベント選択処理を完了する（Ｐ１１８）。
【０１２４】
図１３は、本発明の実施の形態のイベント決定処理Ｐ１２０の手順を示すフローチャートである。
【０１２５】
イベント決定処理Ｐ１２０では、図１２に示したイベント選択処理Ｐ１１０によってＥＥＰＲＯＭ１６０にあらかじめ記録されたイベント発生の時刻情報に対し、簡易的に、かつ、イベントの内容を後から思い出せるようにユーザがアイコンを選択して付加することを特徴とする。
【０１２６】
マイクロコンピュータ１００のＣＰＵ１０１は、スイッチ２１の操作を検出すると、イベント決定処理Ｐ１２０を開始する（Ｐ１２１）。
【０１２７】
マイクロコンピュータ１００のＣＰＵ１０１は、まず、センサノード１の状態がイベント選択中であるか否かを判定する（Ｐ１２２）。イベント選択中であるか否かは、図１２のＰ１１２の処理と同様に判定することができる。イベント選択中でない場合には（Ｐ１２２の結果が「Ｎ」）、イベント決定処理Ｐ１２０を終了する（Ｐ１２６）。
【０１２８】
一方、マイクロコンピュータ１００のＣＰＵ１０１は、センサノード１の状態がイベント選択中である場合には（Ｐ１２２の結果が「Ｙ」）、イベント書込アドレス１１４が示すＥＥＰＲＯＭ１６０のイベント記録テーブル１７０のイベントＩＤ１７３に、ＲＡＭ１１０に記録された選択イベントＩＤ１１３を記録する（Ｐ１２３）。
【０１２９】
さらに、マイクロコンピュータ１００のＣＰＵ１０１は、ＥＥＰＲＯＭ１６０にイベントＩＤが記録された後、イベント書込アドレス１１４を更新する（Ｐ１２４）。具体的には、イベント書込アドレス１１４の値に１加算する。イベント書込アドレス１１４によって示される位置がＥＥＰＲＯＭ１６０の記録可能な領域を超える場合には、最初のアドレス（例えば１）に更新する。
【０１３０】
マイクロコンピュータ１００のＣＰＵ１０１は、イベント書込アドレス１１４の更新が完了すると、ＬＣＤ１１の表示を通常時の時計表示に切り替え（Ｐ１２５）、選択イベントＩＤ１１３を初期化し、本処理を終了する（Ｐ１２６）。
【０１３１】
図１４は、本発明の実施の形態のセンサデータをパーソナルコンピュータ２００に送信し、さらに、ストレージ１４０に格納する処理の手順を示すフローチャートである。
【０１３２】
Ｐ２０１〜Ｐ２０５の処理は、センシングプログラム１３２がＣＰＵ１０１に処理されることによって実行される。
【０１３３】
リアルタイムクロック１５から信号を受信した割込制御部（１０３、１０４、１０６）による割り込みによって、Ｐ２０２〜２１４の処理が実行中であっても、直ちに割り込み処理を実行し、常に一定の周期でセンシングを開始し、又はイベント記録処理若しくは有線接続切り替え処理を開始することが可能である。
【０１３４】
マイクロコンピュータ１００のＣＰＵ１０１は、前述のように、割込制御部１０３の割込みによって処理を開始し、加速度センサ１２、温度センサ１４及び脈拍センサ１３の少なくとも一つによってセンシングされたデータを送信用バッファ１１１に記録する（Ｐ２０１）。
【０１３５】
マイクロコンピュータ１００のＣＰＵ１０１は、送信用バッファ１１１にさらにセンサデータを記録可能な容量が残されているか否か、すなわち、送信用バッファ１１１がいっぱいになっているか否かを判定する（Ｐ２０２）。送信用バッファ１１１がいっぱいになっていない場合には（Ｐ２０２の結果が「Ｎ」）、Ｐ２０６以降の処理、すなわち、パーソナルコンピュータ２００にデータを格納する処理を実行する。
【０１３６】
マイクロコンピュータ１００のＣＰＵ１０１は、送信用バッファ１１１がいっぱいになった場合には（Ｐ２０２の結果が「Ｙ」）、送信用バッファ１１１に記録されたデータを無線プロトコルに適合するパケットに変換し、所定のゲートウェイに無線送信する（Ｐ２０３）。さらに、無線送信の結果（成功、失敗等）を無線通信状態１１９に記録する。
【０１３７】
マイクロコンピュータ１００のＣＰＵ１０１は、無線送信されたパケットのデータを公知の圧縮方式にて圧縮し、外部メモリ用バッファ１１２に記録する（Ｐ２０４）。適用する圧縮方式は、マイクロコンピュータ１００のＣＰＵ１０１で処理を実行した場合に、リアルタイムクロック１５が信号を生成する間隔よりも十分に短い時間で処理が完了することが望ましい。
【０１３８】
マイクロコンピュータ１００のＣＰＵ１０１は、外部メモリ用バッファ１１２に１パケット容量分のデータが蓄積されていれば、蓄積されていたデータをストレージ１４０のパケット記録テーブル１４１に格納する（Ｐ２０５）。また、格納されるデータに未送信データが含まれる場合にはフラグを０に設定し、すべてのデータが送信済みの場合にはフラグを１に設定する。
【０１３９】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージ１４０にデータを格納する場合には、ＲＡＭ１１０に記憶されたストレージ書込アドレス１１６を参照して格納（書き込み）先の位置を取得する。そして、データの書き込み完了後、ストレージ書込アドレス１１６を次のアドレスに更新する。また、ストレージ読出アドレス１１７と更新前のストレージ書込アドレス１１６が同じ、かつ、フラグに１が設定されていた場合には、読み出すべき未送信データが存在しないため、ストレージ読出アドレス１１７も同時に更新する。
【０１４０】
続いて、ＥＥＰＲＯＭ１６０及びストレージ１４０に格納された未送信データをパーソナルコンピュータ２００に送信する手順について説明する。
【０１４１】
マイクロコンピュータ１００のＣＰＵ１０１は、まず、ＲＡＭ１１０に記録されたイベント読出アドレス１１５（ｉ）とイベント書込アドレス１１４（ｊ）が一致するか否かを判定する（Ｐ２０５）。すなわち、イベント読出アドレス１１５とイベント書込アドレス１１４が一致する場合には（Ｐ２０５の結果が「Ｙ」）、イベント記録テーブル１７０に未送信データが含まれていない。したがって、ストレージ１４０に格納された未送信データを送信するＰ２１０以降の処理が実行される。
【０１４２】
マイクロコンピュータ１００のＣＰＵ１０１は、イベント読出アドレス１１５とイベント書込アドレス１１４が一致しない場合には（Ｐ２０５の結果が「Ｎ」）、イベント記録テーブル１７０に未送信データが含まれているため、未送信データを有線又は無線で送信する。
【０１４３】
マイクロコンピュータ１００のＣＰＵ１０１は、ＲＡＭ１１０に記憶された有線接続状態１２０を参照し、有線接続がＯＮであるか否かを判定する（Ｐ２０７）。
【０１４４】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続がＯＦＦの場合には（Ｐ２０７の結果が「Ｎ」）、イベントデータ無線送信処理を実行する（Ｐ２０８）。
【０１４５】
イベントデータ無線送信処理は、未送信のイベントデータを読み出して、無線パケットの形式に変換して送信する。送信が成功し、さらに未送信のイベントデータがＥＥＰＲＯＭ１６０に存在する場合には、読み出しと無線送信を繰り返し実行する。また、ＲＡＭ１１０に記憶されたイベント読出アドレス１１５からデータの読み出しが開始される。イベントデータ無線送信処理は、無線送信に失敗した場合又はすべての未送信のイベントデータを送信した場合に終了する。また、他の割り込み処理が開始された場合には処理を中断する。
【０１４６】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続がＯＮの場合には（Ｐ２０７の結果が「Ｙ」）、イベントデータ有線送信処理を実行する（Ｐ２０９）。
【０１４７】
イベントデータ有線送信処理は、未送信のイベントデータを読み出して、有線で送信する。有線通信が可能であり、さらに未送信のイベントデータがＥＥＰＲＯＭ１６０に存在する場合には、読み出しと有線送信を繰り返し実行する。また、ＲＡＭ１１０に記憶されたイベント読出アドレス１１５からデータの読み出しが開始される。イベントデータ有線送信処理は、有線送信に失敗した場合又はすべての未送信のイベントデータを送信した場合に終了する。なお、他の割り込み処理が開始された場合には処理を中断する。
【０１４８】
イベントデータの送信処理が完了すると、ストレージ１４０に格納された未送信データを送信する処理が実行される。
【０１４９】
マイクロコンピュータ１００のＣＰＵ１０１は、ＲＡＭ１１０に記録されたストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致するか否かを判定する（Ｐ２１０）。
【０１５０】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致しない場合には（Ｐ２１０の結果が「Ｎ」）、ストレージ１４０に未送信データが格納されているため、当該未送信データをパーソナルコンピュータ２００に送信する。
【０１５１】
マイクロコンピュータ１００のＣＰＵ１０１は、ＲＡＭ１１０に記憶された有線接続状態１２０を参照し、有線接続がＯＮであるか否かを判定する（Ｐ２１１）。
【０１５２】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続がＯＦＦの場合には（Ｐ２１１の結果が「Ｎ」）、ストレージデータ無線送信処理を実行する（Ｐ２１２）。
【０１５３】
ストレージデータ無線送信処理は、未送信のパケットデータを読み出して送信する。送信が成功し、さらに未送信のパケットデータがストレージ１４０に存在する場合には、読み出しと無線送信を繰り返し実行する。また、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７からデータの読み出しが開始される。ストレージデータ無線送信処理は、無線送信に失敗した場合又はすべての未送信のパケットデータを送信した場合に終了する。また、他の割り込み処理が開始された場合には処理を中断する。
【０１５４】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続がＯＮの場合には（Ｐ２１１の結果が「Ｙ」）、ストレージデータ有線送信処理を実行する（Ｐ２１３）。
【０１５５】
ストレージデータ有線送信処理は、未送信のパケットデータを読み出して、有線で送信する。有線通信が可能であり、さらに未送信のパケットデータがストレージ１４０に存在する場合には、読み出しと有線送信を繰り返し実行する。また、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７からデータの読み出しが開始される。ストレージデータ有線送信処理は、有線送信に失敗した場合又はすべての未送信のパケットデータを送信した場合に終了する。なお、他の割り込み処理が開始された場合には処理を中断する。
【０１５６】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージ１４０に格納された未送信のパケットデータの送信処理が完了した場合、又はストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致する場合には（Ｐ２１０の結果が「Ｙ」）、センサノード１をスタンバイ状態に移行させる（Ｐ２１４）。スタンバイ状態とは、マイクロコンピュータ１００のクロック周波数を低速状態に移行することによって消費電力を低減させている状態である。マイクロコンピュータ１００は、スタンバイ状態で割込制御部（１０３、１０４、１０６）から送信された割込み信号を受信すると、通常状態に復帰する。
【０１５７】
このように処理を実行する必要のない間にはスタンバイ状態に移行し、必要なタイミングのみ処理を実行することによって、消費電力を削減することができる。なお、ＲＡＭ１１０に記憶された有線接続状態１２０を参照し、ＯＮである場合には外部から電源供給を受けているため、スタンバイ状態に移行する必要はない。
【０１５８】
図１５は、本発明の実施の形態のイベントデータ有線送信処理（Ｐ２０９）の詳細を示すプローチャートである。
【０１５９】
イベントデータ有線送信処理（Ｐ２０９）は、前述のように、ＥＥＰＲＯＭ１６０に記録されたイベントデータを読み出して有線送信する処理である。図１５に示す処理は、未送信のイベントデータがＥＥＰＲＯＭ１６０に存在する場合に実行され、未送信のイベントデータがなくなる、他の割込み処理が開始される、又はＵＳＢ接続が切断されるまで、データを読み出して有線送信する処理を連続して繰り返す。したがって、他の割り込み処理のタイミングに影響を与えることなく、可能な限り高速にデータを有線送信することができる。
【０１６０】
マイクロコンピュータ１００のＣＰＵ１０１は、イベントデータ有線送信処理を開始し（Ｐ３０１）、ＲＡＭ１１０に記憶された有線通信状態１２１がＯＮであるか否かを判定する（Ｐ３０２）。有線通信状態１２１がＯＮである場合には（Ｐ３０２の結果が「Ｙ」）、Ｐ３０７の処理に移行し、データの読出しを開始する。
【０１６１】
マイクロコンピュータ１００のＣＰＵ１０１は、有線通信状態１２１がＯＮでない、すなわちＯＦＦの場合には（Ｐ３０２の結果が「Ｎ」）、端子２５から通信開始要求を有線送信し、所定の時間レスポンスを受信するために待機する。ＵＳＢ接続されている場合であっても、接続先となる外部機器が所定の受信動作をするＰＣなどでないために正しく受信できない可能性があるためである。例えば、センサノード１に充電するために、データを受信することはできないがＵＳＢ接続可能な外部機器に接続している場合である。
【０１６２】
マイクロコンピュータ１００のＣＰＵ１０１は、外部機器から通信開始要求のレスポンスを受信したか否かを判定する（Ｐ３０４）。外部機器から通信開始要求のレスポンスを受信できなかった場合には（Ｐ３０４の結果が「Ｎ」）、ＲＡＭ１１０に記憶された有線通信状態１２１をＯＦＦに設定し（Ｐ３１３）、イベントデータ有線送信処理を終了する（Ｐ３１２）。
【０１６３】
マイクロコンピュータ１００のＣＰＵ１０１は、外部機器から通信開始要求のレスポンスを受信した場合には（Ｐ３０４の結果が「Ｙ」）、ＲＡＭ１１０に記憶された有線通信状態１２１をＯＮに設定する（Ｐ３０５）。したがって、所定の受信動作を行うことができるＰＣなどにのみデータを送信するため、無駄にデータ送信することを回避できる。その後、Ｐ３０７の処理に移行し、データの読出しを開始する。
【０１６４】
マイクロコンピュータ１００のＣＰＵ１０１は、まず、ＥＥＰＲＯＭ１６０から未送信のイベントデータを読み出す（Ｐ３０７）。具体的には、ＲＡＭ１１０に記憶されたイベント読出アドレス１１５を参照し、イベント記録テーブル１７０に記録されたイベントデータを外部メモリ用バッファ１１２に読み出す。さらに、読み出されたイベントデータを外部機器に有線送信する（Ｐ３０８）。
【０１６５】
マイクロコンピュータ１００のＣＰＵ１０１は、読み出されたイベントデータの有線送信が完了すると、ＲＡＭ１１０に記憶された有線接続状態１２０を参照し、有線接続状態１２０がＯＮであるか否かを判定する（Ｐ３０９）。このとき、有線接続が切断されていれば、有線接続状態１２０がＯＦＦに更新されている。有線接続状態１２０がＯＦＦの場合には（Ｐ３０９の結果が「Ｎ」）、イベントデータ有線送信処理を終了する（Ｐ３１２）。
【０１６６】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続状態１２０がＯＮの場合には（Ｐ３０９の結果が「Ｙ」）、イベント読出アドレス１１５を更新する（Ｐ３１０）。そして、イベント読出アドレス１１５とイベント書込アドレス１１４が一致するか否かを判定する（Ｐ３１１）。ＲＡＭ１１０に記憶されたイベント読出アドレス１１５とイベント書込アドレス１１４が一致する場合には（Ｐ３１１の結果が「Ｙ」）、未送信データが存在しないため、イベントデータ有線送信処理を終了する（Ｐ３１２）。一方、イベント読出アドレス１１５とイベント書込アドレス１１４が異なる場合には（Ｐ３１１の結果が「Ｎ」）、残りの未送信データを送信するために、Ｐ３０７の処理を実行し、次のデータを読み出す。
【０１６７】
図１６は、本発明の実施の形態のイベントデータ無線送信処理（Ｐ２０８）の詳細を示すプローチャートである。
【０１６８】
イベントデータ無線送信処理（Ｐ２０８）は、前述のように、ＥＥＰＲＯＭ１６０に記録されたイベントデータを読み出して無線送信する処理である。図１６に示す処理は、未送信のイベントデータがＥＥＰＲＯＭ１６０に存在する場合、リアルタイムクロック１５から信号を受信して割り込みがかかる、又は無線送信が失敗するまで、データを読み出して無線送信する処理を連続して繰り返す。したがって、センシングのタイミングに影響を与えることなく、可能な限り高速にデータを無線送信することができる。
【０１６９】
マイクロコンピュータ１００のＣＰＵ１０１は、イベントデータ無線送信処理を開始し（Ｐ５０１）、ＲＡＭ１１０に記憶された無線通信状態１１９を参照して無線送信が成功しているか否かを判定する（Ｐ５０２）。無線送信が成功していない場合には（Ｐ５０２の結果が「Ｎ」）、イベントデータ無線送信処理を終了する（Ｐ５０８）。
【０１７０】
マイクロコンピュータ１００のＣＰＵ１０１は、無線送信が成功している場合には（Ｐ５０２の結果が「Ｙ」）、ＲＡＭ１１０に記憶されたイベント読出アドレス１１５に指定されたアドレスからＥＥＰＲＯＭ１６０からイベントデータを読み出す（Ｐ５０３）。
【０１７１】
マイクロコンピュータ１００のＣＰＵ１０１は、Ｐ５０３の処理で読み出されたデータを外部機器に無線送信する（Ｐ５０４）。さらに、外部機器から送信のレスポンスであるＡＣＫの受信を所定の時間待機し、ＡＣＫを受信したか否かを判定する（Ｐ５０５）。外部機器からＡＣＫを受信できなかった場合には（Ｐ５０５の結果が「Ｎ」）、イベントデータ無線送信処理を終了する（Ｐ５０８）。
【０１７２】
マイクロコンピュータ１００のＣＰＵ１０１は、外部機器からＡＣＫを受信した場合には（Ｐ５０５の結果が「Ｙ」）、イベント読出アドレス１１５の値を次の位置に更新する（Ｐ５０６）。さらに、イベント読出アドレス１１５とイベント書込アドレス１１４が一致するか否かを判定する（Ｐ５０７）。イベント読出アドレス１１５とイベント書込アドレス１１４が一致しない場合には（Ｐ５０７の結果が「Ｎ」）、残りの未送信データを送信するために、Ｐ５０３の処理を実行し、次のデータを読み出す。
【０１７３】
マイクロコンピュータ１００のＣＰＵ１０１は、イベント読出アドレス１１５とイベント書込アドレス１１４が一致する場合には（Ｐ５０７の結果が「Ｙ」）、すべての未送信データの送信が終了したため、イベントデータ無線送信処理を終了する（Ｐ５０８）。
【０１７４】
図１７は、本発明の実施の形態のストレージデータ有線送信処理（Ｐ２１３）の詳細を示すプローチャートである。
【０１７５】
ストレージデータ有線送信処理（Ｐ２１３）は、前述のように、ストレージ１４０に記録されたデータを読み出して有線送信する処理である。図１７に示す処理は、未送信データを含むパケットがストレージ１４０に存在する場合に実行され、未送信データを含むパケットがなくなる、他の割込み処理が開始される、又はＵＳＢ接続が切断されるまで、未送信データを含むパケットを読み出して有線送信する処理を連続して繰り返す。したがって、他の割り込み処理のタイミングに影響を与えることなく、可能な限り高速にデータを有線送信することができる。
【０１７６】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージデータ有線送信処理を開始し（Ｐ４０１）、ＲＡＭ１１０に記憶された有線通信状態１２１がＯＮであるか否かを判定する（Ｐ４０２）。有線通信状態１２１がＯＮである場合には（Ｐ４０２の結果が「Ｙ」）、Ｐ４０７の処理に移行し、データの読出しを開始する。
【０１７７】
マイクロコンピュータ１００のＣＰＵ１０１は、有線通信状態１２１がＯＮでない、すなわちＯＦＦの場合には（Ｐ４０２の結果が「Ｎ」）、端子２５から通信開始要求を有線送信し、所定の時間レスポンスを受信するために待機する。
【０１７８】
マイクロコンピュータ１００のＣＰＵ１０１は、外部機器から通信開始要求のレスポンスを受信したか否かを判定する（Ｐ４０４）。外部機器から通信開始要求のレスポンスを受信できなかった場合には（Ｐ４０４の結果が「Ｎ」）、ＲＡＭ１１０に記憶された有線通信状態１２１をＯＦＦに設定し（Ｐ４１３）、ストレージデータ有線送信処理を終了する（Ｐ４１１）。
【０１７９】
マイクロコンピュータ１００のＣＰＵ１０１は、外部機器から通信開始要求のレスポンスを受信した場合には（Ｐ４０４の結果が「Ｙ」）、ＲＡＭ１１０に記憶された有線通信状態１２１をＯＮに設定する（Ｐ４０５）。その後、Ｐ４０６の処理に移行し、データの読出しを開始する。
【０１８０】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージ１４０から未送信データを含むパケットを読み出す（Ｐ４０６）。具体的には、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７を参照し、パケット記録テーブル１４１に記録され、フラグの値が１のパケットを外部メモリ用バッファ１１２に読み出す。さらに、読み出されたデータに含まれるパケットを外部機器に有線送信する（Ｐ４０７）。
【０１８１】
マイクロコンピュータ１００のＣＰＵ１０１は、読み出されたストレージデータの有線送信が完了すると、ＲＡＭ１１０に記憶された有線接続状態１２０を参照し、有線接続状態１２０がＯＮであるか否かを判定する（Ｐ４０８）。有線接続状態１２０がＯＦＦの場合には（Ｐ４０８の結果が「Ｎ」）、ストレージデータ有線送信処理を終了する（Ｐ４１１）。
【０１８２】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続状態１２０がＯＮの場合には（Ｐ４０８の結果が「Ｙ」）、ストレージ読出アドレス１１７を更新する（Ｐ４０９）。そして、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致するか否かを判定する（Ｐ４１０）。ストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致する場合には（Ｐ４１０の結果が「Ｙ」）、未送信データが存在しないため、ストレージデータ有線送信処理を終了する（Ｐ４１１）。一方、ストレージ読出アドレス１１７とストレージ書込アドレス１１６が異なる場合には（Ｐ４１０の結果が「Ｎ」）、残りの未送信データを送信するために、Ｐ４０６の処理を実行し、次のデータを読み出す。
【０１８３】
図１８は、本発明の実施の形態のストレージデータ無線送信処理（Ｐ２１２）の詳細を示すプローチャートである。
【０１８４】
ストレージデータ無線送信処理（Ｐ２０８）は、前述のように、ストレージ１４０に記録されたデータを読み出して無線送信する処理である。図１８に示す処理は、未送信データを含むパケットがストレージ１４０に存在する場合、割り込みがかかる又は無線送信が失敗するまで、データを読み出して無線送信する処理を連続して繰り返す。したがって、センシングのタイミングに影響を与えることなく、可能な限り高速にデータを無線送信することができる。
【０１８５】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージデータ無線送信処理を開始し（Ｐ６０１）、ＲＡＭ１１０に記憶された無線通信状態１１９を参照して無線送信が成功しているか否かを判定する（Ｐ６０２）。無線送信が成功していない場合には（Ｐ６０２の結果が「Ｎ」）、ストレージデータ無線送信処理を終了する（Ｐ６０８）。
【０１８６】
マイクロコンピュータ１００のＣＰＵ１０１は、無線送信が成功している場合には（Ｐ６０２の結果が「Ｙ」）、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７に指定されたアドレスからストレージ１４０から未送信データを含むパケット、すなわち、フラグ１４３が０のパケットを読み出す（Ｐ６０３）。
【０１８７】
マイクロコンピュータ１００のＣＰＵ１０１は、Ｐ６０３の処理で読み出されたデータを外部機器に無線送信する（Ｐ６０４）。さらに、外部機器から送信のレスポンスであるＡＣＫの受信を所定の時間待機し、ＡＣＫを受信したか否かを判定する（Ｐ６０５）。外部機器からＡＣＫを受信できなかった場合には（Ｐ６０５の結果が「Ｎ」）、ストレージデータ無線送信処理を終了する（Ｐ６０８）。
【０１８８】
マイクロコンピュータ１００のＣＰＵ１０１は、外部機器からＡＣＫを受信した場合には（Ｐ６０５の結果が「Ｙ」）、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７を次の位置に更新する（Ｐ６０６）。具体的には、読み出しが終了したデータ以降であって、フラグ１４３が０である次のパケットの位置に設定する。
【０１８９】
さらに、マイクロコンピュータ１００のＣＰＵ１０１は、ＲＡＭ１１０に記憶されたストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致するか否かを判定する（Ｐ６０７）。ストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致しない場合には（Ｐ６０７の結果が「Ｎ」）、残りの未送信データを送信するために、Ｐ６０３の処理を実行し、次のデータを読み出す。
【０１９０】
マイクロコンピュータ１００のＣＰＵ１０１は、ストレージ読出アドレス１１７とストレージ書込アドレス１１６が一致する場合には（Ｐ６０７の結果が「Ｙ」）、すべての未送信データを含むパケットの送信が終了したため、ストレージデータ無線送信処理を終了する（Ｐ６０８）。
【０１９１】
図１９は、本発明の実施の形態の有線接続状態を検出してセンサノード１の状態を切り替える有線接続検出／切替処理の手順を示すフローチャートである。
【０１９２】
有線接続検出／切替処理は、接続切替プログラム１３３がＣＰＵ１０１に処理されることによって実行される。また、有線接続検出／切替処理は、外部電源検出部１８から信号を受信した割込制御部１０４の割込みによって、他の処理を中断して、ＲＡＭ１１０に記録された有線接続状態１２０及び有線通信状態１２１の値のみを直ちに切替える。したがって、ＵＳＢの接続を検出してから、実際に有線通信を開始するまでの時間を最小限にすることができる。
【０１９３】
マイクロコンピュータ１００のＣＰＵ１０１は、割込制御部１０４からの割込みによって有線接続検出／切替処理を開始し（Ｐ７０１）、ＲＡＭ１１０に記録されている有線接続状態１２０がＯＮであるか否かを判定する（Ｐ７０２）。
【０１９４】
マイクロコンピュータ１００のＣＰＵ１０１は、有線接続状態１２０がＯＮの場合には（Ｐ７０２の結果が「Ｙ」）、Ｉ／Ｏポート１０７に入力される外部電源検出部１８の出力状態を取得し、外部電源が検出されているか否かを判定する（Ｐ７０３）。外部電源が検出されている場合には（Ｐ７０３の結果が「Ｙ」）、状態を切り替える必要がないため、有線接続検出／切替処理を終了する（Ｐ７０７）。
【０１９５】
マイクロコンピュータ１００のＣＰＵ１０１は、外部電源が検出されていない場合には（Ｐ７０３の結果が「Ｎ」）、マイクロコンピュータ１００のクロック周波数を低速状態に移行させる（Ｐ７０５）。センサノード１に外部機器から電力が供給されておらず、内蔵された二次電池２６から電力が供給されているため、消費電力を低減させる必要があるからである。さらに、ＲＡＭ１１０に記憶された有線接続状態１２０及び有線通信状態１２１の値をＯＦＦに設定する（Ｐ７０６）。
【０１９６】
一方、マイクロコンピュータ１００のＣＰＵ１０１は、有線接続状態１２０がＯＦＦである場合には（Ｐ７０２の結果が「Ｎ」）、Ｐ７０３の処理と同様に、Ｉ／Ｏポート１０７に入力される外部電源検出部１８の出力状態を取得し、外部電源が検出されているか否かを判定する（Ｐ７１３）。有線接続状態１２０がＯＦＦであって、外部電源が検出された場合とは、新たに有線接続が開始された場合である。外部電源が検出されなかった場合には（Ｐ７１３の結果が「Ｎ」）、ＲＡＭ１１０に記憶された有線接続状態１２０及び有線通信状態１２１にＯＦＦに設定し（Ｐ７０６）、有線接続検出／切替処理を終了する（Ｐ７０７）。
【０１９７】
マイクロコンピュータ１００のＣＰＵ１０１は、外部電源が検出されている場合には（Ｐ７１３の結果が「Ｙ」）、外部機器から電力が供給されているため、マイクロコンピュータ１００のクロック周波数を高速状態に移行させる（Ｐ７１５）。ＵＳＢ接続で外部機器から電力が供給されている場合には、内部の二次電池２６の消費を無視することができ、通信速度を最大化させるためである。さらに、ＲＡＭ１１０に記憶された有線接続状態１２０にＯＮを設定し（Ｐ７１６）、有線接続検出／切替処理を終了する（Ｐ７０７）。なお、有線接続検出／切替処理が終了すると（Ｐ７０７）、有線接続検出／切替処理によって中断されていた処理を再開する。
【０１９８】
図２０は、本発明の実施の形態のセンサノード１を接続するためのクレードル５００の外観の一例を示す図である。
【０１９９】
図２０に示すクレードル５００は、図８に示したセンサノード１の端子２５に接触させる端子５０１を備え、センサノード１の上部を覆うように接続する形状である。センサノード１と接続した場合においても、側部に接続されたケーブル５０３及びＵＳＢ接続端子５０４によって、ユーザの動作を妨げることなく、外部機器のＵＳＢポートに接続できることを特徴とする。
【０２００】
クレードル５００及びセンサノード１は、ツメのような形状の固定部５０２によって固定するため、センサノード１を身に付けたユーザが動いたり、ケーブル５０３を引っ張ったりした場合であっても容易に外れることがない。また、ＬＣＤ１１に接する上部は、ＬＣＤ１１の内容を視認するのを妨げることがないように、中心部を窓状に開口している。
【０２０１】
また、ケーブル５０３と反対側の側部においても、スイッチ（２０、２１）の操作を妨げない形状とする。したがって、クレードル５００を接続中においても、センサノード１を身に付けたユーザは、センシング及び様々な操作を妨げられることなく、動作を継続することができる。
【０２０２】
図２１は、本発明の実施の形態のクレードル５００が接続された状態のセンサノード１をユーザ３が身に付けている状態を示す図である。
【０２０３】
図２１には、センサノード１にクレードル５００に接続し、パーソナルコンピュータ２００のＵＳＢポート２０７にＵＳＢ接続端子５０４を接続した状態を示している。図２１に示すように、有線通信又は充電中においても、ＬＣＤ１１に表示される時刻情報４０５及び脈拍センサなどによってセンシングされた波形情報４０７などを視認できることを特徴とする。したがって、ユーザはクレードル５００を接続している状態であってもセンサノード１の利用を継続することができる。
【０２０４】
本発明の実施の形態によれば、センサノードをユーザが日常生活で常時装着して使用する中で、ユーザの動作及び生体情報を示す連続したすべてのセンサデータを記録すると同時に、任意のタイミングで時刻情報を含むイベントデータを記録することができる。さらに、記録されたセンサデータとイベントデータに基づいて、日常生活における行動履歴を生成し、スケジュールの管理などに応用することができる。
【図面の簡単な説明】
【０２０５】
【図１】本発明の実施の形態のセンサノードを示すブロック図である。
【図２】本発明の実施の形態のストレージに格納されるパケット記録テーブルの構成の詳細を示す図である。
【図３】本発明の実施の形態のＥＥＰＲＯＭのイベント記録テーブルの構成の詳細を示す図である。
【図４】本発明の実施の形態のマイクロコンピュータのＲＡＭ１１０に記録されているデータの詳細を示す図である。
【図５】本発明の実施の形態のセンサノードからセンサデータ及びイベントデータを収集し、行動履歴を生成及び表示するシステムの構成の一例を示す図である。
【図６】本発明の実施の形態の複数のユーザの行動履歴を管理するシステムの構成例を示す図である。
【図７】本発明の実施の形態のパーソナルコンピュータにデータベースを備えないシステムの構成例を示す図である。
【図８】本発明の実施の形態のセンサノードの外観を示す図である。
【図９】本発明の実施の形態のセンサノードのＬＣＤの表示内容の一例を示す図である。
【図１０】本発明の実施の形態のセンサノードのスイッチを操作することによって、イベントを選択又は記録する場合のＬＣＤの表示例を示す図である。
【図１１】本発明の実施の形態のセンサノードにおけるイベント記録処理の手順を示すフローチャートである。
【図１２】本発明の実施の形態のイベント選択処理の手順を示すフローチャートである。
【図１３】本発明の実施の形態のイベント決定処理の手順を示すフローチャートである。
【図１４】本発明の実施の形態の送信バッファに格納されたデータをストレージ及びデータを収集するパーソナルコンピュータに送信する処理の手順を示すフローチャートである。
【図１５】本発明の実施の形態のイベントデータ有線送信処理の詳細を示すプローチャートである。
【図１６】本発明の実施の形態のイベントデータ無線送信処理の詳細を示すプローチャートである。
【図１７】本発明の実施の形態のストレージデータ有線送信処理の詳細を示すプローチャートである。
【図１８】本発明の実施の形態のストレージデータ無線送信処理の詳細を示すプローチャートである。
【図１９】本発明の実施の形態の有線接続状態を検出してセンサノードの状態を切り替える有線接続検出／切替処理の手順を示すフローチャートである。
【図２０】本発明の実施の形態のセンサノードを接続するためのクレードルの外観の一例を示す図である。
【図２１】本発明の実施の形態のクレードルが接続された状態のセンサノードをユーザが身に付けている状態を示す図である。
【符号の説明】
【０２０６】
１    センサノード
２    リストバンド
４    インターネット
１１    表示部
１５    リアルタイムクロック（ＲＴＣ）
１６    無線通信部
１７    ＵＳＢ通信部
１８    外部電源検出部
１９    充電／給電回路部
２０、２１    スイッチ
２５    端子
２６    二次電池
２８    アンテナ
１００    マイクロコンピュータ
１０１    ＣＰＵ
１０３、１０４、１０６    割込制御部
１０７    Ｉ／Ｏポート
１１０    ＲＡＭ
１１１    送信用バッファ
１１２    外部メモリ用バッファ
１１３    選択イベントＩＤ
１１４    イベント書込アドレス
１１５    イベント読出アドレス
１１６    ストレージ書込アドレス
１１７    ストレージ読出アドレス
１１９    無線通信状態
１２０    有線接続状態
１２１    有線通信状態
１３０    ＲＯＭ
１３２    センシングプログラム
１３３    接続切替プログラム
１３４    イベント記録プログラム
１４０    ストレージ
１４１    パケット記録テーブル
１４２    アドレス
１４５    パケット
１６０    ＥＥＰＲＯＭ
１６１    イベントリストテーブル
１６２    イベントＩＤ
１６３    アイコン
１７０    イベント記録テーブル
１７１    アドレス
１７２    日時
１７３    イベントＩＤ
２００    パーソナルコンピュータ
２０１    表示装置
２０３    入力装置
２０５    ネットワーク通信部
２０７    ＵＳＢポート
２１０    行動履歴生成アプリケーション
２２０、３０５    ユーザ行動データベース
２３０、３０７    センサ波形データベース
２３１    日時
２４０    ゲートウェイ
２４４    アンテナ
２５０    通信アプリケーション
３００    サーバ
３０１    データ解析部
３０２    データ表示／入力部
３０３    データベース差分生成／結合部
３０４    ネットワーク通信部
４０２    無線電波状態
４０３    電池残量
４０４    メモリ残量
４０５    時刻情報
４０６    センシング状態
４０７    波形情報
４１１〜４１４    イベント表示
５００    クレードル
５０１    端子
５０２    固定部
５０３    ＵＳＢケーブル
５０４    ＵＳＢ端子
【図１】
2010125145.tif 000003
【図２】
2010125145.tif 000004
【図３】
2010125145.tif 000005
【図４】
2010125145.tif 000006
【図５】
2010125145.tif 000007
【図６】
2010125145.tif 000008
【図７】
2010125145.tif 000009
【図８】
2010125145.tif 000010
【図９】
2010125145.tif 000011
【図１０】
2010125145.tif 000012
【図１１】
2010125145.tif 000013
【図１２】
2010125145.tif 000014
【図１３】
2010125145.tif 000015
【図１４】
2010125145.tif 000016
【図１５】
2010125145.tif 000017
【図１６】
2010125145.tif 000018
【図１７】
2010125145.tif 000019
【図１８】
2010125145.tif 000020
【図１９】
2010125145.tif 000021
【図２０】
2010125145.tif 000022
【図２１】
2010125145.tif 000023