説明

センサノード、センサネットワークシステム及びデータ収集方法

【課題】センシング処理を妨げることなく、イベント情報を記録する。
【解決手段】センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードであって、センサから周期的にデータを収集し、収集されたデータを第1の記憶部に格納し、イベントが検出された場合には、イベント情報を第2の記憶部に格納し、イベントが検出されてからイベント情報を格納するまでの間に、センサからデータを収集した場合には、イベント情報を格納する処理を中断し、センサによって収集されたデータを第1の記憶部に格納した後に、イベント情報を格納する処理を再開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサによってデータを収集するセンサノードに関する。
【背景技術】
【0002】
近年、センサ、無線及びマイコンなどを搭載した小型のセンサノードが実用化段階にある。このようなセンサノードは、センシング又は無線通信が必要なタイミングでのみ起動し、それ以外では電源を切断する。このような消費電力を削減する間欠動作によって、小型の内蔵電池で長時間動作させながら、人が身に付けることも容易である。
【0003】
非特許文献1には、センサノードに用いる最適な無線通信手段として無線規格IEEE802.15.4が開示されている。非特許文献1に開示された規格は、伝送速度及び通信距離を抑える代わりに、消費電力を低く抑えることが可能な無線規格である。
【0004】
また、特許文献1には、人の身体に装着するセンサノードによって日常生活における身体活動をモニタするため、センサノードが運動センサであらかじめプログラムされた動きを検出すると、動きが生じた日時をメモリに記録し、後からPCなどで収集する技術が開示されている。
【0005】
さらに、特許文献2には、生体センサを備えるセンサノードが脈拍又は血圧などを常時測定し、ユーザの健康情報を正確に判断するため、あらかじめ入力された行動予定情報と生体センサにより測定された情報を関連づけてメモリに記録する技術を開示されている。
【特許文献1】特開2001−523536号公報
【特許文献2】特開2001−327472号公報
【非特許文献1】「IEEE Standards 802.15.4」仕様書、IEEE、「平成19年8月20日検索」、インターネット<URL:http://standards.ieee.org/getieee802/download/802.15.4-2003.pdf>
【発明の開示】
【発明が解決しようとする課題】
【0006】
センサノードによって測定された人の動き及び脈拍などの生体情報から、日常生活における行動履歴を生成し、日々の健康に関わる生活リズム(例えば、睡眠と起床のパターン)又はスケジュール管理を支援するシステムに応用することが可能となる。これを実現するには、典型的にはセンサによって1秒当たり数十回にわたって絶えず測定(センシング)し、さらにセンシングした信号のパターンを解析し、具体的な行動を推定する必要がある。また、1日の行動を後から振り返る場合には、重要かつ特徴的な行動(イベント)を履歴として残すことが有効である。
【0007】
特許文献1に開示された技術では、センサの情報から、イベントを認識するためのプログラムをあらかじめ備えている。この認識プログラムによって人の動きを常時監視し、イベントが発生した場合に日時を記録することによって行動履歴を生成することができる。しかし、特許文献1に開示された技術では、あらかじめ予測されうるイベント以外を記録することができないため、新しいイベントを発生時に記録することができない。
【0008】
特許文献2に開示された技術では、特許文献1に開示された技術と同様にセンサの情報に基づいて行動を認識し、さらにあらかじめ記録されたスケジュールと比較するプログラムを備える。そして、認識された行動とあらかじめ記録されたスケジュールとが相違する場合には、ユーザに音声又は文字情報で質問することによって、より新しい行動情報を記録することが可能である。しかし、加速度センサなどによって検出が困難であるイベント、例えば、飲食、乗り物による移動、人との面会又は会議などを認識できず、ユーザが自発的かつ容易にこれらのイベントを記録する手段が開示されていない。
【0009】
さらに、特許文献1及び特許文献2に開示された技術では、それぞれのイベント記録手段をセンサノードで処理すると同時に、センシングした信号、例えば、加速度センサで1秒間に数十回サンプリングした波形情報をそのまま記録して収集することができない。したがって、センサノード上での認識処理で期待する行動又はイベントの検出が困難であっても、後から過去に記録したセンサの情報を遡って、別の新しい認識プログラムで再度認識処理を実行することが不可能である。
【課題を解決するための手段】
【0010】
本発明の代表的な一形態を示せば以下の通りである。すなわち、本発明のセンサノードは、センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードであって、前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第1の記憶部と、前記イベント情報を格納する第2の記憶部と、を備え、前記制御部は、前記センサから周期的にデータを収集し、前記収集されたデータを前記第1の記憶部に格納し、前記イベントが検出された場合には、前記イベント情報を前記第2の記憶部に格納し、前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、前記センサによって収集されたデータを前記第1の記憶部に格納した後に、前記イベント情報を格納する処理を再開する。
【発明の効果】
【0011】
本発明の一形態によれば、センサによってデータを収集し、収集されたデータを記録しながら、任意のタイミングでイベントデータを記録することができる。
【発明を実施するための最良の形態】
【0012】
まず、本発明の実施の形態のセンサノードについて、概要を説明する。本発明の実施の形態のセンサノードは、生体情報を測定するセンサと、センサデータを送受信する無線通信部及び有線通信部と、外部電源の接続を検出して割込み信号を生成する外部電源検出部と、センサデータを格納するストレージと、イベント発生時に操作されることによって信号を生成するスイッチと、時刻情報を含むイベント情報を記録する不揮発性メモリと、センサ及び無線通信部を制御するマイクロコンピュータとを備える。
【0013】
本発明の実施の形態のセンサノードでは、マイクロコンピュータがリアルタイムクロックによって一定の時間周期で生成される割込み信号を受信してセンサの測定を開始し、測定データをストレージにすべて記録する。さらに、スイッチの操作によって生成された信号を受信すると、リアルタイムクロックから時刻情報を取得し、イベント情報として不揮発性メモリに記録する。
【0014】
不揮発性メモリ及びストレージに格納されたデータは、所定のパーソナルコンピュータと通信可能であれば、無線通信部又は有線通信部によって即座に送信される。
【0015】
図1は、本発明の実施の形態のセンサノード1の一例を示すブロック図である。
【0016】
センサノード1は、センシングプログラム132及びイベント記録プログラム134によって制御される。センシングプログラム132は、リアルタイムクロック15によって周期的に入力される信号を契機としてセンシングを行い、データをRAM110に記録し、さらに、ストレージ140に記録する。イベント記録プログラム134は、スイッチ(20、21)が操作されることによって入力された信号を検知すると、リアルタイムクロック(RTC)15から時刻情報を読み出してEEPROM160に記録する。以下、センサノード1の各構成について説明する。
【0017】
センサノード1は、無線通信部16、加速度センサ12、脈拍センサ13、温度センサ14、マイクロコンピュータ100、リアルタイムクロック15、ストレージ140、EEPROM160、LCD11、スイッチ(20、21)、端子25、外部電源検出部18、USB通信部17、二次電池26及び充電/給電回路部19を備える。
【0018】
無線通信部16は、アンテナ28に接続され、無線で外部の機器と通信する。加速度センサ12は、センサノード1の加速度を計測し、例えば、センサノード1のユーザの動きを検出する。脈拍センサ13は、センサノード1のユーザの脈拍を計測する。温度センサ14は、温度を計測する。
【0019】
マイクロコンピュータ100は、センサノード1全体を制御する。リアルタイムクロック15は、マイクロコンピュータ100に一定間隔でセンシングを実行させるためのタイマとして機能し、周期的にマイクロコンピュータ100に信号を送信する。信号を送信する周期は任意である。リアルタイムクロック15は、さらに時刻情報を生成する。
【0020】
ストレージ140及びEEPROM160は、書き換え可能な不揮発性記憶媒体である。ストレージ140は、例えばフラッシュメモリであって、所定の周期で断続的に収集されるセンサデータを格納する。したがって、比較的多くの記憶容量を必要とする。一方、EEPROM160は、電気的に書き換え可能な不揮発性記憶媒体である。EEPROM160には、簡易的なイベントデータが記録されるのみであるため、多くの記憶容量を必要としない。また、フラッシュメモリに格納されたデータを更新するためには所定のサイズの領域を消去してからデータを書き込む必要があるため、イベントデータのように比較的小さいサイズのデータを読み書きする場合には、ビット単位で更新可能なEEPROM160がより適している。
【0021】
LCD11は、ユーザに通知するための文字情報、センサデータを示す波形又はグラフなどの情報を表示する。スイッチ(20、21)は、イベントデータの登録などを受け付けるためにユーザによって操作される。
【0022】
外部電源検出部18は、端子25がパーソナルコンピュータ(PC)などの外部機器に接続されたことを検出し、マイクロコンピュータ100に通知する。外部機器との接続は、例えば、USB接続であって、端子25にはUSBケーブルが接続される。端子25には、送信、受信及び電源用の端子が含まれる。USB通信部17は、端子25が外部機器に接続されたことを検出した場合に、マイクロコンピュータ100とのシリアル通信によってデータを外部機器に転送する。
【0023】
二次電池26は、センサノード1を稼働させるために必要な電力を蓄える。充電/給電回路部19は、外部機器からUSB接続を介して供給される電力を二次電池26に充電する。また、二次電池26に充電された電力をセンサノード1に供給する。
【0024】
EEPROM160には、イベント記録テーブル170及びイベントリストテーブル161が記憶される。
【0025】
イベント記録テーブル170は、アドレス171、日時172及びイベントID173を含む。アドレス171は、イベントが記録された領域のアドレスである。日時172は、イベントが記録された日時である。イベントID173は、イベントの識別子である。
【0026】
イベントリストテーブル161は、イベントID162及びアイコン163を含む。イベントID162は、イベントの識別子である。アイコン163は、イベントを選択する際に、対応するアイコン画像をLCD11に表示するためのデータである。イベントリストテーブル161は、書き換え可能であるため、センサノード1を使用するユーザによって使用頻度の高い任意のイベントを登録することができる。
【0027】
イベント記録テーブル170には、イベント発生の日時とともに、イベントに対応するアイコンが関連付けられてイベント情報が格納されているため、後からイベント情報を閲覧した場合に容易に内容を思い出すことができる。
【0028】
ストレージ140は、センシングしたデータを記録するためのパケット記録テーブル141を含む。パケット記録テーブル141に記録されるデータは、無線通信部16によってデータを送信可能な1パケットのサイズごとに区切られる。このように実装することによって、ストレージ140から読み出された1パケット分のデータを加工することなく、そのまま無線又は有線で送信可能とし、データの加工に必要な処理を少なくすることができる。
【0029】
パケット記録テーブル141は、アドレス142、フラグ143、長さ144及びパケット145を含む。
【0030】
アドレス142は、送信されるパケットが格納されている領域のアドレスである。アドレス142は、一意に割り当てられる。マイクロコンピュータ100は、ストレージ140から格納されたデータをシリアル通信によって読み出し、又は受け付けたコマンドに含まれるアドレスを参照して、任意の位置のデータを読み書きする。
【0031】
フラグ143は、パケット記録テーブル141に格納されたパケットが、データを収集する外部機器(例えば、パーソナルコンピュータ)に送信済みか否かを示す情報である。データが送信済みの場合には“1”が、未送信の場合には“0”が設定される。フラグ143によって、ストレージ140のパケットを読み出す際に、未送信データであるか否かを判定することができ、未送信データのみを効率的に送信することができる。
【0032】
マイクロコンピュータ100は、CPU101、ROM130、RAM110、シリアル通信部(102、105)、I/Oポート107、及び割込制御部(103、104、106)を備える。
【0033】
CPU101は、RAM110及びROM130に記憶されたプログラムを処理することによって、各種演算処理を実行する。ROM130は、CPU101によって実行されるプログラム131を記憶する。RAM110は、CPU101によって実行されるプログラムの他に、データなどを一時的に記録する。
【0034】
シリアル通信部(102、105)は、リアルタイムクロック15、ストレージ140、EEPROM160、LCD11、加速度センサ12、温度センサ14、脈拍センサ13、無線通信部16及びUSB通信部17に接続され、デジタル信号にて信号を送受信する。
【0035】
I/Oポート107は、デジタル信号を入出力する。割込制御部(103、104、106)は、外部から信号を受け付けた場合に、プログラム131を実行中のCPU101に割込みをかける。
【0036】
プログラム131には、センシングプログラム132、接続切替プログラム133及びイベント記録プログラム134が含まれる。
【0037】
イベント記録プログラム134は、イベントが検出された場合に、CPU101によって実行される。イベント記録プログラム134が実行されると、リアルタイムクロック15からシリアル通信部102を介して時刻情報が取得される。取得された時刻情報は、EEPROM160のイベント記録テーブル170の日時172に記録される。
【0038】
また、スイッチ(20、21)が操作されることによって、発生したイベントに対応するイベントID162をイベントリストテーブル161から取得し、イベントID173に記録する。このとき、イベントID162に対応するアイコン163をLCD11に表示することによって、ユーザによるイベントの選択を支援する。
【0039】
センシングプログラム132は、リアルタイムクロック15から入力された信号が検出された場合に、CPU101によって実行される。センシングプログラム132が実行されると、加速度センサ12、温度センサ14及び脈拍センサ13によってセンシングされたデータが、シリアル通信部102を介してRAM110に記憶される。そして、RAM110に記憶されたデータを、無線通信部16によって所定のゲートウェイに無線送信し、さらにストレージ140に書き込む。
【0040】
接続切替プログラム133は、外部電源検出部18から送信された信号を検出した場合に、CPU101によって実行される。具体的には、センサノード1が外部機器に接続されたことによって外部電源検出部18から信号が送信され、接続切替プログラム133が実行されると、端子25を介して外部機器との有線通信を開始する。さらに、ストレージ140に記録され、かつ、無線又は有線通信によって外部に送信されていないデータ(未送信データ)を読み出し、USB通信部17に送信し、USB通信部17から端子25を介して外部機器に送信する。
【0041】
リアルタイムクロック15は、一定の周期でマイクロコンピュータ100の割込制御部106に割込み信号を生成し、生成された割込み信号を送信する。割込み信号を生成する周期は、マイクロコンピュータ100にコマンドを送信することによって変更することができる。周期的に送信される割込み信号によって、マイクロコンピュータ100では、他の処理の実行状態に影響を受けることなく、一定の周期でセンシングプログラム132よってセンシング処理を実行することが可能となる。
【0042】
外部電源検出部18は、外部機器に端子25に接続されたことによって、電源に接続されたことを検出する。例えば、電力供給を可能とするUSBを介して外部機器に接続されたことを検出することができる。外部機器との接続が検出されると、外部電源検出部18は、割込み信号を生成し、マイクロコンピュータ100の割込制御部104に送信する。さらに、I/Oポート107にデジタル信号の“1”を出力する。
【0043】
また、外部電源検出部18は、外部機器との接続が切断されたことを検出した場合にも割込み信号を生成し、割込制御部104に出力する。さらに、I/Oポート107にデジタル信号の“1”を出力する。すなわち、マイクロコンピュータ100は、端子25と外部機器との接続状態の変化を直ちに検出し、USB通信部17を介したUSB通信を開始又は停止させることができる。
【0044】
USB通信部17は、マイクロコンピュータ100とのシリアル通信の信号を、端子25のデータ線(送信、受信)を介したUSB規格の信号に変換する。したがって、マイクロコンピュータ100の制御によって、外部機器に送信するデータのみをシリアル通信でUSB通信部17に送信することで、自動的にUSB規格のデータに変換し、外部機器に送信することができる。また、USB通信部17の電源は端子25を介して外部機器からのみ供給されるため、USB非接続時の電力消費を抑制することができる。
【0045】
図2は、本発明の実施の形態のストレージ140に格納されるパケット記録テーブル141の構成の詳細を示す図である。
【0046】
パケット記録テーブル141は、アドレス142の昇順にパケットを含むデータが書き込まれ、アドレス142の最大値までデータが書き込まれると、最小値(例えば1)から上書きされる。本発明の実施の形態のように、ストレージ140がフラッシュメモリによって構成されている場合には、ストレージ全体の書き換え頻度を均等にすることで、ストレージを構成するメモリセルの書き換え寿命を長くすることができる。
【0047】
図2に示すパケット記録テーブル141では、アドレス142がmの位置に、最も古いデータ147が記録されている。したがって、アドレス142がm−1の位置に最も新しいデータ146が記録され、新たにデータが書き込まれる場合にはアドレス142がmの位置に書き込まれる。
【0048】
また、一度も送信されていないデータの中で最も古いデータ148のアドレスをnとすると、アドレス142がmからn−1の位置までのデータ150が送信済みであり、アドレス142がnの位置からデータが読み出される。
【0049】
図3は、本発明の実施の形態のEEPROM160のイベント記録テーブル170の構成の詳細を示す図である。
【0050】
イベント記録テーブル170には、パケット記録テーブル141と同様に、イベントのデータがアドレス171の小さい順に書き込まれ、アドレス171の最大値までデータが書き込まれると最小値(例えば1)から上書きされる。EEPROM160には書き換え回数に制限があるため、イベント記録テーブル170内部の書き換え頻度を等しくすることによって、フラッシュメモリと同様に、EEPROM160の寿命を長くすることができる。
【0051】
図3に示すイベント記録テーブル170では、アドレス171がiのデータ175に、最も古いデータが記録されている。したがって、アドレス171がi−1の位置に最も新しいデータ174が記録され、新たにデータが書き込まれる場合にはアドレス171がiの位置に書き込まれる。
【0052】
また、一度も送信されていないデータの中で、最も古いデータ176のアドレスをjとすると、アドレス171がiからj−1の位置までのデータ178が送信済みであり、アドレス171がjの位置からデータが読み出される。
【0053】
図4は、本発明の実施の形態のマイクロコンピュータ100のRAM110に記録されているデータの詳細を示す図である。
【0054】
RAM110は、送信用バッファ111、外部メモリ用バッファ112、選択イベントID113、イベント読出アドレス115、イベント書込アドレス114、ストレージ読出アドレス117、ストレージ書込アドレス116、無線通信状態119、有線接続状態120及び有線通信状態121を記憶する。
【0055】
送信用バッファ111は、無線送信用のデータを一時的に記録する領域である。具体的には、加速度センサ12、温度センサ14又は脈拍センサ13でセンシングされたデータを一時的に記録し、送信する容量に達するまで蓄積する領域である。例えば、無線規格をIEEE802.15.4とした場合には、1回の通信可能なデータ容量(パケット容量)と同じ100バイト程度とする。
【0056】
外部メモリ用バッファ112は、送信用バッファ111のデータが送信された後に、圧縮してストレージ140に記録するためのデータを格納する領域である。また、ストレージ140からデータを読み出して無線又は有線で送信する際に、読み出されたデータが格納される。
【0057】
本発明の実施の形態では、典型的な公知の圧縮方式を適用した場合、例えば、20ヘルツでサンプリングした最大3Gかつ最小−3Gの加速度の波形データであれば、平均で1/3程度の容量に圧縮することが可能である。そして、外部メモリ用バッファ112に1パケット容量分のデータが蓄積されると、ストレージ140にデータが格納される。このように、データを圧縮することによって、書込み頻度を削減することが可能となる。
【0058】
送信用バッファ111及び外部メモリ用バッファ112を有することによって、センシングされた直後のリアルタイムデータを外部機器に無線送信し、さらに送信データをストレージ140に記録する処理と、外部機器と無線又は有線で通信可能な場合にストレージ140及びEEPROM160から未送信データを送信する処理とを滞りなく実行することができる。
【0059】
選択イベントID113は、選択されたイベントの識別子である。選択イベントID113は、LCD11に表示されるアイコンに対応するイベントIDに対応する。
【0060】
ストレージ読出アドレス117は、無線又は有線通信可能時に送信すべき未送信データのストレージ140内部における位置を示す。ストレージ書込アドレス116は、ストレージ用バッファに記録されたストレージ140に書き込むためのデータを記録すべきストレージ140内部における位置を示す。したがって、ストレージ読出アドレス117とストレージ書込アドレス116が同じ値である場合には、送信すべき未送信データがストレージ140に存在しないことが判定できる。
【0061】
同様に、イベント読出アドレス115は、送信すべき未送信データのEEPROM160のイベント記録テーブル170内部における位置を示す。イベント書込アドレス114は、イベントデータをEEPROM160に書き込む際に記録すべきEEPROM160のイベント記録テーブル170内部における位置を示す。したがって、イベント読出アドレス115とイベント書込アドレス114とが同じ値である場合には、送信すべき未送信データがEEPROM160に存在しないことが判定できる。
【0062】
無線通信状態119は、無線通信が実行可能な状態であるか否かを示す情報が記録される。具体的には、センシングされたデータを送信した結果、すなわち、送信の成功又は失敗などの結果に基づいて値が記録される。
【0063】
有線接続状態120は、外部機器とUSBを介して接続されているか否かが記録される。有線通信状態121は、外部機器とUSBを介して接続され、かつ、外部機器がデータを受信できる状態であるか否かを示す情報が記録される。
【0064】
図5は、本発明の実施の形態のセンサノード1からセンサデータ及びイベントデータを収集し、行動履歴を生成及び表示するシステムの構成の一例を示す図である。
【0065】
図5に示すシステム形態では、センサデータから推定される行動と、任意のタイミングで記録されたイベントデータをユーザに提示することによって、ユーザが過去の重要なイベント又は行動に関する情報を追加入力することを支援し、正確な行動履歴を生成することを可能にする。図5に示すシステムには、パーソナルコンピュータ200、表示装置201、入力装置203及びゲートウェイ(GW)240が含まれる。
【0066】
ゲートウェイ240は、センサノード1と無線で通信する。ゲートウェイ240では、マイクロコンピュータ241によって無線通信部243が制御される。アンテナ244が受信した無線信号は、無線通信部243によってデジタルデータに変換され、マイクロコンピュータ241に認識される。
【0067】
マイクロコンピュータ241は、無線で受信したデータをUSB通信部242にシリアル通信によって送信する。USB通信部242は、受信したデータをパーソナルコンピュータ200に送信する。同様に、パーソナルコンピュータ200からUSB通信部242に送信されたデータは、マイクロコンピュータ241から無線通信部243に送信され、無線信号としてアンテナ244からセンサノード1に送信される。
【0068】
パーソナルコンピュータ200は、CPU236、メモリ237、端子238及びインタフェース239を備える。CPU236は、メモリ237に記憶されたプログラムを実行することによって各種演算処理を実行する。メモリ237は、CPU236によって実行されるプログラム及び処理を実行するために必要なデータを記憶する。端子238は、ゲートウェイ240及びセンサネット1に接続される。端子238は、例えば、USB端子である。インタフェース239は、ネットワークに接続される。
【0069】
パーソナルコンピュータ200のメモリ237には、行動履歴生成アプリケーション210、USBドライバ204及びネットワーク通信部205が記憶される。行動履歴生成アプリケーション210には、センサデータ及びイベントデータに基づいて行動履歴を生成及び収集するためのプログラム及びデータが格納される。USBドライバ204は、ゲートウェイ240と通信する際に用いられる。ネットワーク通信部205は、インターネット4に接続して通信するためのソフトウェアである。
【0070】
行動履歴生成アプリケーション210には、行動データ表示生成部211、行動入力部212、アイコン設定部213、データ解析部214、パケット送信部215、パケット受信部216、データベース差分生成/結合部217及びUSB通信部218が含まれる。行動データ表示生成部211、行動入力部212、アイコン設定部213、データ解析部214、パケット送信部215、パケット受信部216、データベース差分生成/結合部217及びUSB通信部218は、プログラムである。また、行動履歴生成アプリケーション210には、ユーザ行動データベース220及びセンサ波形データベース230が含まれる。
【0071】
行動データ表示生成部211は、ユーザ行動データベース220に格納されたユーザの行動履歴を表示するための処理を行う。行動入力部212は、収集されたイベントデータに対し、行動情報を追加入力する。データ解析部214は、センサノード1から受信したセンサデータ及びイベントデータを解析し、行動履歴を作成する。
【0072】
アイコン設定部213は、入力装置203を介して入力又は選択されたアイコンを、センサノード1に含まれるイベントリストテーブル161のアイコン163に設定する。したがって、ユーザは日常生活において使用する可能性が高いイベントアイコンを自由に設定し、生活環境の変化又は時間の経過に合わせて随時更新することができる。
【0073】
パケット送信部215は、USB通信部218を介してセンサノード1にデータを送信する。パケット受信部216は、USB通信部218を介してセンサノード1からデータを受信する。USB通信部218は、USBドライバ204を介してセンサノード1とデータを送受信する。
【0074】
ユーザ行動データベース220は、イベントデータを格納する。ユーザ行動データベース220には、日時221、イベント222及び行動223が含まれる。日時221は、イベントが発生した日時である。イベント222は、発生したイベントを識別する情報である。行動223は、ユーザの行動を示す情報が格納される。また、行動223には、推定224及び入力225が含まれる。推定224には、日時222によって特定される時刻におけるセンサデータなどに基づいて推定される行動内容が記録される。入力223は、イベント222及びセンサデータなどを参照してユーザに入力された行動内容である。
【0075】
センサ波形データベース230は、センサデータを格納する。センサ波形データベース230は、一例として、日時231、加速度232、温度233及び脈234を含む。日時231は、センサデータが取得された日時である。加速度232、温度233及び脈234は、それぞれ対応するセンサによって収集されたデータである。例に示したセンサ以外のセンサがセンサノード1に搭載されている場合には、対応するフィールドが追加される。
【0076】
ここで、センサノード1から収集されたデータに基づいて行動履歴を生成する手順について説明する。
【0077】
USB通信部218は、USBドライバ204を介してデータ列を受信し、センサノード1から送信されたパケットであることを判別すると、受信したパケットをパケット受信部216に送信する。また、USB通信部218は、センサノード1と有線通信する場合には、センサノード1から送信される通信確認コマンドに対し、レスポンスを送信する。センサノード1は、レスポンスを受信することによって、行動履歴生成アプリケーション210にデータを送信可能であると判定することができる。
【0078】
パケット受信部216は、USBドライバ204を介してセンサノード1のパケットを受信し、センサ波形データベース230又はユーザ行動データベース220に記録する。このとき、加速度センサ12のデータであればセンサ波形データベース230の加速度232に、脈拍センサ13のデータであればセンサ波形データベース230の脈234に、温度センサ14のデータであればセンサ波形データベース230の温度233に日時231とともに記録する。イベントデータであれば、ユーザ行動データベース220のイベント222に日時221とともに記録する。
【0079】
データ解析部214は、センサ波形データベース230にセンサデータが記録されたことが検出されると、センサ波形から各日時における行動、例えば、睡眠、歩行、仕事、安静又は運動などを推定し、ユーザ行動データベース220の行動223の推定224に記録する。そして、行動データ表示生成部211は、ユーザ行動データベース220の内容を表示装置201に表示する。
【0080】
ユーザは、表示装置201に表示されたユーザ行動データベース220の内容を参照することによって、1日の行動を大まかに把握することができる。そして、表示された内容を参照しながら、入力装置203を介して、より詳細な行動内容を入力することができる。例えば、センサデータから座っていると推定され、人と面会したイベントデータが履歴として表示されていれば、ユーザは面会した人を具体的に特定し、会議内容を思い出しやすくなり、情報を詳細に入力することができる。
【0081】
行動入力部212は、入力装置203を介して入力された情報をユーザ行動データベース220の行動223の入力225に記録する。以上の手順を繰り返すことによって、詳細かつ正確な行動履歴を生成することができる。また、イベントデータは、ユーザがイベント発生時にその場で自発的に入力した情報であることから、重要な出来事として漏れなく記録することができる。
【0082】
ユーザ行動データベース220及びセンサ波形データベース230は、パーソナルコンピュータ200の内部に格納するだけでなく、インターネット4を介して接続されたサーバに格納されるように構成してもよい。センサノード1から送信されたデータをサーバに送信し、サーバに格納されたデータを管理及び閲覧するようにしてもよい。また、サーバに記録されたイベントデータ及びセンサデータをインターネット4経由で受信し、ユーザ行動データベース220及びセンサ波形データベース230に記録するようにしてもよい。
【0083】
データベース差分生成/結合部217は、ユーザ行動データベース220及びセンサ波形データベース230に記録されている情報の中で、インターネット4を介して接続されたサーバに格納されたデータベースに記録されていないデータのみを抽出し、ネットワーク通信部205を介して送信する。また、サーバから受信したイベントデータ及びセンサデータを、データの内容及び日時に基づいて、ユーザ行動データベース220及びセンサ波形データベース230の適切な部分に記録する。すなわち、サーバに含まれるデータベースとパーソナルコンピュータに含まれるデータベースの内容を同期させることができるため、ユーザはインターネット4を介して別の場所で任意のタイミングで行動を入力することができる。したがって、別の場所におけるデータ入力を可能とすることによって、詳細な内容を忘れてしまう前に行動を追加してデータを入力することができる。
【0084】
図6は、本発明の実施の形態の複数のユーザの行動履歴を管理するシステムの構成例を示す図である。
【0085】
図6に示すシステム形態では、サーバ300によって複数のユーザの行動履歴が管理され、各ユーザがインターネットを介して行動履歴を閲覧し、データを追加入力することができる。
【0086】
サーバ300に格納されるソフトウェアには、データ解析部301、データ表示/入力部302、データベース(DB)差分生成/結合部303、ネットワーク通信部304、センサ波形データベース305及びユーザ行動データベース307が含まれる。
【0087】
以下、サーバ300によって提供されるWEBサービスに、ユーザ3がインターネット4を介してアクセスし、行動履歴を閲覧する手順について説明する。
【0088】
パーソナルコンピュータ200は、無線又は有線通信によってセンサノード1から送信されたセンサデータ及びイベントデータを受信する。パーソナルコンピュータ200で実行される行動履歴生成アプリケーションは、同じデータが何度も送信されないように、サーバ300に未送信のデータのみをインターネット4を介して送信する。
【0089】
サーバ300では、パーソナルコンピュータ200によって送信されたデータをネットワーク通信部304が受信し、データベース差分生成/結合部303に送信する。データベース差分生成/結合部303は、受信したデータがセンサデータであればセンサ波形データベース305に記録し、イベントデータであればユーザ行動データベース307に記録する。
【0090】
データ解析部301は、センサ波形データベース305に新しくセンサデータが記録されたことを検出すると、センサデータから時間ごとの行動を推定し、ユーザ行動データベース307に記録する。
【0091】
データ表示/入力部302は、ユーザ行動データベース307に記録された行動履歴を読み出し、表示するための情報を生成及び出力する。つまり、ユーザ3によって操作されるパーソナルコンピュータ200のWEBアクセス手段(典型的には一般的なWEBブラウザ)からによるリクエストを受信すると、ユーザ3の行動履歴の表示画面をパーソナルコンピュータ200に送信する。したがって、ユーザ3は、サーバ300によって提供されるWEBサイトにアクセス可能であれば、どこからでも自分の行動履歴を閲覧することができる。
【0092】
また、ユーザ3は、データ表示/入力部302に行動履歴の追加入力を要求することができる。すなわち、WEBサイトを介して行動履歴を追加で入力し、ユーザ行動データベース307に記録することができる。したがって、WEBアクセス可能な携帯電話などを利用して行動履歴を入力することが可能であるため、ユーザ3はパーソナルコンピュータ200を利用できない環境であっても行動履歴を追加して入力することが可能となり、重要なイベントの内容を随時記録することができる。
【0093】
図7は、本発明の実施の形態のパーソナルコンピュータ200にデータベースを備えないシステムの構成例を示す図である。
【0094】
図7に示すシステム形態では、サーバ300に格納されたデータベースのみでデータを管理する。したがって、パーソナルコンピュータ200に個人のデータを記録しないため、紛失時又は故障時においてもデータを損失することなく、第三者に取得されるおそれもないため、セキュリティーを向上させることができる。また、ゲートウェイ240及びサーバ300と通信するアプリケーションを外部ROM206に記録し、外部ROM206に記録されたプログラムを実行することによって、他人と共有するパーソナルコンピュータ200を使用することも可能である。
【0095】
パーソナルコンピュータ200には、ゲートウェイ240及びサーバ300と通信するための通信アプリケーション250、WEBブラウザ208、USBドライバ204及びネットワーク通信部205などのソフトウェアが含まれる。通信アプリケーション250は、前述のように、実行時にUSB接続の外部ROMから読み出されて処理することが可能であり、パーソナルコンピュータ200の内部に保持する必要はない。
【0096】
ここで、図7に示すシステム形態でセンサデータ及びイベントデータを収集する手順について説明する。ゲートウェイ240からUSB通信部218及びパケット受信部216に送信されたデータは、センサ波形送信部251に送信され、ユーザを識別するデータを付加した後に、インターネット4を介してサーバ300に送信される。すなわち、センサノード1から受信されたデータは、パーソナルコンピュータ200に保持されることなく、そのままサーバ300に送信される。
【0097】
サーバ300に記録されたデータは、サーバ300によって提供されるWEBサイトによって、インターネット4を介してWEBブラウザ208で閲覧することができる。また、行動履歴を追加して入力する場合には、WEBブラウザ208から追加する行動履歴を入力し、サーバ300に送信する。サーバ300は、送信されたデータをデータベースに記録する。このようにして、特定のパーソナルコンピュータ200を所有することなく、行動履歴を生成し、閲覧することができる。
【0098】
図8は、本発明の実施の形態のセンサノード1の外観を示す図である。
【0099】
図8に示すセンサノード1は、リストバンド2が両端に備えられ、典型的な腕時計と同様に腕に装着することができる。図8に示すように、バンド2によって腕に装着する場合に、脈拍センサ13を有する面がユーザの皮膚に接触する。脈拍センサ13は、公知の光学式測定方式であり、赤外線を生体表面に照射し、血管の脈動による反射光の変化から脈拍を推定する。脈拍センサ13は、ユーザの皮膚に接触していることが不可欠である。
【0100】
また、USB接続用の端子25は、脈拍センサ13が配置された装着面から見て側面に配置されていることから、有線通信及び充電中であってもユーザが常時装着することを可能とし、センシングを妨げない。端子25は、USBケーブルに対応し、電源端子及びデータ端子(送信、受信)によって外部機器と接続される。センサノード1は、端子25を介してデータを通信し、さらに、電源供給を受けることができる。
【0101】
LCD11には、時刻、電池残量及び無線通信状態などの情報が表示され、ユーザが常時参照することが可能である。また、LCD11にメニューを表示し、スイッチ20及び21を操作することによって、センシングの間隔又は無線チャネルなどの設定をユーザが変更することが可能である。
【0102】
図9は、本発明の実施の形態のセンサノード1のLCD11の表示内容の一例を示す図である。
【0103】
図9に示すLCD11には、センシング状態406、センサデータの波形情報407、時刻情報405、無線電波状態402、電池残量403及びメモリ残量404が表示される。ユーザ3は、センサノード1を装着中に、LCD11に表示された情報を確認することができる。
【0104】
無線電波状態402は、無線送信の結果を示しており、RAM110に記憶された無線通信状態119に基づいて情報が表示される。また、無線通信をまったく行わない場合には表示されない。
【0105】
電池残量403は、二次電池26の電圧を表示する。電池残量403を参照することによって、ユーザ3は充電が必要なタイミングを知ることができる。
【0106】
メモリ残量404は、ストレージ140に記録可能な未送信データの量を示しており、RAM110に記憶されたストレージ読出アドレス117とストレージ書込アドレス116との差に基づいて情報が表示される。メモリ残量404を参照することによって、ユーザ3は無線又は有線通信ができない環境において、ストレージ140に未送信データを記録可能な時間を推定することができる。
【0107】
図10は、本発明の実施の形態のセンサノード1のスイッチ(20、21)を操作することによって、イベントを選択又は記録する場合のLCD11の表示例を示す図である。
【0108】
図10に示す表示例では、イベントの選択及び記録をアイコンの選択のみで行うことから、日常生活で多忙な場合においても、短時間で容易に選択及び記録が可能である。
【0109】
図9に示した状態において、スイッチ20を操作すると、LCD11が表示411に切り替わる。スイッチ20が操作された時点をイベント発生時刻とし、リアルタイムクロック15から時刻情報が取得される。イベントIDが選択されていない状態のイベントIDを0とすると、イベントIDが0の場合には表示411の状態となる。特にイベントを分類する必要がない場合、又は選択している時間がない場合などはイベントIDに0を設定すればよい。
【0110】
さらにスイッチ20が操作されると、次のイベントIDに対応するアイコンが表示される。例えば、表示412は食事を示すアイコンであり、イベントIDを1とする。さらにスイッチ20が操作されると、表示413、表示414の順に切り替わる。表示413は車で移動中(イベントID=2)、表示414はランニング中(イベントID=3)を示すアイコンである。
【0111】
表示411〜414がLCD11に表示されている状態で、ユーザがスイッチ21を操作することによって、表示に対応するイベントIDをEEPROM160に記録することができる。
【0112】
図11は、本発明の実施の形態のセンサノード1におけるイベント記録処理P101の手順を示すフローチャートである。
【0113】
図11に示すフローチャートは、図10に示したイベント記録処理の手順を示している。イベント記録処理は、前述のように、スイッチを操作することによって開始される割り込み処理であり、他の処理の実行中であっても処理可能である。また、1回の割り込み発生時に必要な処理は、短くても10ミリ秒程度であるセンシング周期よりも十分に短い時間で完了できる処理であるため、センシング処理を阻害することはない。1回の割り込み発生時に必要な処理とは、例えば、アイコンが表示されているイベントの切替及び選択されたイベントの登録処理である。
【0114】
イベント記録処理P101は、スイッチ20又はスイッチ21が操作されたことによって、割込制御部106から送信された信号を受け付けて開始される(P102)。イベント記録処理P101は、イベント記録プログラム134がCPU101に処理されることによって実行される。
【0115】
マイクロコンピュータ100のCPU101は、操作されたスイッチがスイッチ20かスイッチ21かを判定する(P103)。操作されたスイッチがスイッチ20の場合には(P103の結果が「スイッチ20」)、イベント選択処理P110を実行する。一方、操作されたスイッチがスイッチ21の場合には(P103の結果が「スイッチ21」)、イベント決定処理P120を実行する。イベント選択処理P110又はイベント決定処理P120が完了すると、イベント記録処理が完了する(P104)。
【0116】
図12は、本発明の実施の形態のイベント選択処理P110の手順を示すフローチャートである。
【0117】
イベント選択処理P110では、ユーザがスイッチ20を操作して割り込み処理が開始された際に、イベントの選択前に直ちに時刻情報を取得し、先に記録する。また、イベントの決定前であっても、ユーザがスイッチを操作した場合以外は処理が実行されないため、センシングなどの他の処理を阻害しない。
【0118】
マイクロコンピュータ100のCPU101は、スイッチ20の操作を検出すると、イベント選択処理P110を開始する(P111)。
【0119】
マイクロコンピュータ100のCPU101は、まず、センサノード1の状態がイベント選択中であるか否かを判定する(P112)。イベント選択中であるか否かは、RAM110に記録された選択イベントID113の値を参照することによって判定することができる。例えば、選択イベントID113に無効な値(例えばNULL)が設定されている場合には、イベント選択中ではないと判定することができる。
【0120】
マイクロコンピュータ100のCPU101は、センサノード1の状態がイベント選択中でない場合には(P112の結果が「N」)、リアルタイムクロック15からシリアル通信によって時刻情報を取得し(P113)、EEPROM160に記録する(P114)。EEPROM160に時刻情報が記録されるアドレスは、RAM110に記憶されたイベント書込アドレス114を参照し、イベント書込アドレス114に記録されたアドレスiの位置に時刻情報を記録する。さらに、選択イベントID113の値を最初の有効なイベントID(例えば0)に更新する(P115)。
【0121】
一方、マイクロコンピュータ100のCPU101は、センサノード1の状態がイベント選択中の場合には(P112の結果が「Y」)、選択イベントID113に次のイベントIDを設定する(P116)。
【0122】
P116では、すでに時刻情報がEEPROM160に記録されているが、対応するイベントIDが決定されていない状況であり、ユーザが次のイベントを選択できるようにするため、選択イベントID113の値を次の有効な値に書き換える。
【0123】
マイクロコンピュータ100のCPU101は、P115又はP116の処理によって、選択イベントID113が更新されると、更新された選択イベントID113に基づいて、LCD11の表示を切り替える。具体的には、EEPROM160のイベントリストテーブル161を参照し、選択イベントID113に対応するアイコン163を読み出してLCD11に表示する。LCD11の表示の切り替えが完了すると、イベント選択処理を完了する(P118)。
【0124】
図13は、本発明の実施の形態のイベント決定処理P120の手順を示すフローチャートである。
【0125】
イベント決定処理P120では、図12に示したイベント選択処理P110によってEEPROM160にあらかじめ記録されたイベント発生の時刻情報に対し、簡易的に、かつ、イベントの内容を後から思い出せるようにユーザがアイコンを選択して付加することを特徴とする。
【0126】
マイクロコンピュータ100のCPU101は、スイッチ21の操作を検出すると、イベント決定処理P120を開始する(P121)。
【0127】
マイクロコンピュータ100のCPU101は、まず、センサノード1の状態がイベント選択中であるか否かを判定する(P122)。イベント選択中であるか否かは、図12のP112の処理と同様に判定することができる。イベント選択中でない場合には(P122の結果が「N」)、イベント決定処理P120を終了する(P126)。
【0128】
一方、マイクロコンピュータ100のCPU101は、センサノード1の状態がイベント選択中である場合には(P122の結果が「Y」)、イベント書込アドレス114が示すEEPROM160のイベント記録テーブル170のイベントID173に、RAM110に記録された選択イベントID113を記録する(P123)。
【0129】
さらに、マイクロコンピュータ100のCPU101は、EEPROM160にイベントIDが記録された後、イベント書込アドレス114を更新する(P124)。具体的には、イベント書込アドレス114の値に1加算する。イベント書込アドレス114によって示される位置がEEPROM160の記録可能な領域を超える場合には、最初のアドレス(例えば1)に更新する。
【0130】
マイクロコンピュータ100のCPU101は、イベント書込アドレス114の更新が完了すると、LCD11の表示を通常時の時計表示に切り替え(P125)、選択イベントID113を初期化し、本処理を終了する(P126)。
【0131】
図14は、本発明の実施の形態のセンサデータをパーソナルコンピュータ200に送信し、さらに、ストレージ140に格納する処理の手順を示すフローチャートである。
【0132】
P201〜P205の処理は、センシングプログラム132がCPU101に処理されることによって実行される。
【0133】
リアルタイムクロック15から信号を受信した割込制御部(103、104、106)による割り込みによって、P202〜214の処理が実行中であっても、直ちに割り込み処理を実行し、常に一定の周期でセンシングを開始し、又はイベント記録処理若しくは有線接続切り替え処理を開始することが可能である。
【0134】
マイクロコンピュータ100のCPU101は、前述のように、割込制御部103の割込みによって処理を開始し、加速度センサ12、温度センサ14及び脈拍センサ13の少なくとも一つによってセンシングされたデータを送信用バッファ111に記録する(P201)。
【0135】
マイクロコンピュータ100のCPU101は、送信用バッファ111にさらにセンサデータを記録可能な容量が残されているか否か、すなわち、送信用バッファ111がいっぱいになっているか否かを判定する(P202)。送信用バッファ111がいっぱいになっていない場合には(P202の結果が「N」)、P206以降の処理、すなわち、パーソナルコンピュータ200にデータを格納する処理を実行する。
【0136】
マイクロコンピュータ100のCPU101は、送信用バッファ111がいっぱいになった場合には(P202の結果が「Y」)、送信用バッファ111に記録されたデータを無線プロトコルに適合するパケットに変換し、所定のゲートウェイに無線送信する(P203)。さらに、無線送信の結果(成功、失敗等)を無線通信状態119に記録する。
【0137】
マイクロコンピュータ100のCPU101は、無線送信されたパケットのデータを公知の圧縮方式にて圧縮し、外部メモリ用バッファ112に記録する(P204)。適用する圧縮方式は、マイクロコンピュータ100のCPU101で処理を実行した場合に、リアルタイムクロック15が信号を生成する間隔よりも十分に短い時間で処理が完了することが望ましい。
【0138】
マイクロコンピュータ100のCPU101は、外部メモリ用バッファ112に1パケット容量分のデータが蓄積されていれば、蓄積されていたデータをストレージ140のパケット記録テーブル141に格納する(P205)。また、格納されるデータに未送信データが含まれる場合にはフラグを0に設定し、すべてのデータが送信済みの場合にはフラグを1に設定する。
【0139】
マイクロコンピュータ100のCPU101は、ストレージ140にデータを格納する場合には、RAM110に記憶されたストレージ書込アドレス116を参照して格納(書き込み)先の位置を取得する。そして、データの書き込み完了後、ストレージ書込アドレス116を次のアドレスに更新する。また、ストレージ読出アドレス117と更新前のストレージ書込アドレス116が同じ、かつ、フラグに1が設定されていた場合には、読み出すべき未送信データが存在しないため、ストレージ読出アドレス117も同時に更新する。
【0140】
続いて、EEPROM160及びストレージ140に格納された未送信データをパーソナルコンピュータ200に送信する手順について説明する。
【0141】
マイクロコンピュータ100のCPU101は、まず、RAM110に記録されたイベント読出アドレス115(i)とイベント書込アドレス114(j)が一致するか否かを判定する(P205)。すなわち、イベント読出アドレス115とイベント書込アドレス114が一致する場合には(P205の結果が「Y」)、イベント記録テーブル170に未送信データが含まれていない。したがって、ストレージ140に格納された未送信データを送信するP210以降の処理が実行される。
【0142】
マイクロコンピュータ100のCPU101は、イベント読出アドレス115とイベント書込アドレス114が一致しない場合には(P205の結果が「N」)、イベント記録テーブル170に未送信データが含まれているため、未送信データを有線又は無線で送信する。
【0143】
マイクロコンピュータ100のCPU101は、RAM110に記憶された有線接続状態120を参照し、有線接続がONであるか否かを判定する(P207)。
【0144】
マイクロコンピュータ100のCPU101は、有線接続がOFFの場合には(P207の結果が「N」)、イベントデータ無線送信処理を実行する(P208)。
【0145】
イベントデータ無線送信処理は、未送信のイベントデータを読み出して、無線パケットの形式に変換して送信する。送信が成功し、さらに未送信のイベントデータがEEPROM160に存在する場合には、読み出しと無線送信を繰り返し実行する。また、RAM110に記憶されたイベント読出アドレス115からデータの読み出しが開始される。イベントデータ無線送信処理は、無線送信に失敗した場合又はすべての未送信のイベントデータを送信した場合に終了する。また、他の割り込み処理が開始された場合には処理を中断する。
【0146】
マイクロコンピュータ100のCPU101は、有線接続がONの場合には(P207の結果が「Y」)、イベントデータ有線送信処理を実行する(P209)。
【0147】
イベントデータ有線送信処理は、未送信のイベントデータを読み出して、有線で送信する。有線通信が可能であり、さらに未送信のイベントデータがEEPROM160に存在する場合には、読み出しと有線送信を繰り返し実行する。また、RAM110に記憶されたイベント読出アドレス115からデータの読み出しが開始される。イベントデータ有線送信処理は、有線送信に失敗した場合又はすべての未送信のイベントデータを送信した場合に終了する。なお、他の割り込み処理が開始された場合には処理を中断する。
【0148】
イベントデータの送信処理が完了すると、ストレージ140に格納された未送信データを送信する処理が実行される。
【0149】
マイクロコンピュータ100のCPU101は、RAM110に記録されたストレージ読出アドレス117とストレージ書込アドレス116が一致するか否かを判定する(P210)。
【0150】
マイクロコンピュータ100のCPU101は、ストレージ読出アドレス117とストレージ書込アドレス116が一致しない場合には(P210の結果が「N」)、ストレージ140に未送信データが格納されているため、当該未送信データをパーソナルコンピュータ200に送信する。
【0151】
マイクロコンピュータ100のCPU101は、RAM110に記憶された有線接続状態120を参照し、有線接続がONであるか否かを判定する(P211)。
【0152】
マイクロコンピュータ100のCPU101は、有線接続がOFFの場合には(P211の結果が「N」)、ストレージデータ無線送信処理を実行する(P212)。
【0153】
ストレージデータ無線送信処理は、未送信のパケットデータを読み出して送信する。送信が成功し、さらに未送信のパケットデータがストレージ140に存在する場合には、読み出しと無線送信を繰り返し実行する。また、RAM110に記憶されたストレージ読出アドレス117からデータの読み出しが開始される。ストレージデータ無線送信処理は、無線送信に失敗した場合又はすべての未送信のパケットデータを送信した場合に終了する。また、他の割り込み処理が開始された場合には処理を中断する。
【0154】
マイクロコンピュータ100のCPU101は、有線接続がONの場合には(P211の結果が「Y」)、ストレージデータ有線送信処理を実行する(P213)。
【0155】
ストレージデータ有線送信処理は、未送信のパケットデータを読み出して、有線で送信する。有線通信が可能であり、さらに未送信のパケットデータがストレージ140に存在する場合には、読み出しと有線送信を繰り返し実行する。また、RAM110に記憶されたストレージ読出アドレス117からデータの読み出しが開始される。ストレージデータ有線送信処理は、有線送信に失敗した場合又はすべての未送信のパケットデータを送信した場合に終了する。なお、他の割り込み処理が開始された場合には処理を中断する。
【0156】
マイクロコンピュータ100のCPU101は、ストレージ140に格納された未送信のパケットデータの送信処理が完了した場合、又はストレージ読出アドレス117とストレージ書込アドレス116が一致する場合には(P210の結果が「Y」)、センサノード1をスタンバイ状態に移行させる(P214)。スタンバイ状態とは、マイクロコンピュータ100のクロック周波数を低速状態に移行することによって消費電力を低減させている状態である。マイクロコンピュータ100は、スタンバイ状態で割込制御部(103、104、106)から送信された割込み信号を受信すると、通常状態に復帰する。
【0157】
このように処理を実行する必要のない間にはスタンバイ状態に移行し、必要なタイミングのみ処理を実行することによって、消費電力を削減することができる。なお、RAM110に記憶された有線接続状態120を参照し、ONである場合には外部から電源供給を受けているため、スタンバイ状態に移行する必要はない。
【0158】
図15は、本発明の実施の形態のイベントデータ有線送信処理(P209)の詳細を示すプローチャートである。
【0159】
イベントデータ有線送信処理(P209)は、前述のように、EEPROM160に記録されたイベントデータを読み出して有線送信する処理である。図15に示す処理は、未送信のイベントデータがEEPROM160に存在する場合に実行され、未送信のイベントデータがなくなる、他の割込み処理が開始される、又はUSB接続が切断されるまで、データを読み出して有線送信する処理を連続して繰り返す。したがって、他の割り込み処理のタイミングに影響を与えることなく、可能な限り高速にデータを有線送信することができる。
【0160】
マイクロコンピュータ100のCPU101は、イベントデータ有線送信処理を開始し(P301)、RAM110に記憶された有線通信状態121がONであるか否かを判定する(P302)。有線通信状態121がONである場合には(P302の結果が「Y」)、P307の処理に移行し、データの読出しを開始する。
【0161】
マイクロコンピュータ100のCPU101は、有線通信状態121がONでない、すなわちOFFの場合には(P302の結果が「N」)、端子25から通信開始要求を有線送信し、所定の時間レスポンスを受信するために待機する。USB接続されている場合であっても、接続先となる外部機器が所定の受信動作をするPCなどでないために正しく受信できない可能性があるためである。例えば、センサノード1に充電するために、データを受信することはできないがUSB接続可能な外部機器に接続している場合である。
【0162】
マイクロコンピュータ100のCPU101は、外部機器から通信開始要求のレスポンスを受信したか否かを判定する(P304)。外部機器から通信開始要求のレスポンスを受信できなかった場合には(P304の結果が「N」)、RAM110に記憶された有線通信状態121をOFFに設定し(P313)、イベントデータ有線送信処理を終了する(P312)。
【0163】
マイクロコンピュータ100のCPU101は、外部機器から通信開始要求のレスポンスを受信した場合には(P304の結果が「Y」)、RAM110に記憶された有線通信状態121をONに設定する(P305)。したがって、所定の受信動作を行うことができるPCなどにのみデータを送信するため、無駄にデータ送信することを回避できる。その後、P307の処理に移行し、データの読出しを開始する。
【0164】
マイクロコンピュータ100のCPU101は、まず、EEPROM160から未送信のイベントデータを読み出す(P307)。具体的には、RAM110に記憶されたイベント読出アドレス115を参照し、イベント記録テーブル170に記録されたイベントデータを外部メモリ用バッファ112に読み出す。さらに、読み出されたイベントデータを外部機器に有線送信する(P308)。
【0165】
マイクロコンピュータ100のCPU101は、読み出されたイベントデータの有線送信が完了すると、RAM110に記憶された有線接続状態120を参照し、有線接続状態120がONであるか否かを判定する(P309)。このとき、有線接続が切断されていれば、有線接続状態120がOFFに更新されている。有線接続状態120がOFFの場合には(P309の結果が「N」)、イベントデータ有線送信処理を終了する(P312)。
【0166】
マイクロコンピュータ100のCPU101は、有線接続状態120がONの場合には(P309の結果が「Y」)、イベント読出アドレス115を更新する(P310)。そして、イベント読出アドレス115とイベント書込アドレス114が一致するか否かを判定する(P311)。RAM110に記憶されたイベント読出アドレス115とイベント書込アドレス114が一致する場合には(P311の結果が「Y」)、未送信データが存在しないため、イベントデータ有線送信処理を終了する(P312)。一方、イベント読出アドレス115とイベント書込アドレス114が異なる場合には(P311の結果が「N」)、残りの未送信データを送信するために、P307の処理を実行し、次のデータを読み出す。
【0167】
図16は、本発明の実施の形態のイベントデータ無線送信処理(P208)の詳細を示すプローチャートである。
【0168】
イベントデータ無線送信処理(P208)は、前述のように、EEPROM160に記録されたイベントデータを読み出して無線送信する処理である。図16に示す処理は、未送信のイベントデータがEEPROM160に存在する場合、リアルタイムクロック15から信号を受信して割り込みがかかる、又は無線送信が失敗するまで、データを読み出して無線送信する処理を連続して繰り返す。したがって、センシングのタイミングに影響を与えることなく、可能な限り高速にデータを無線送信することができる。
【0169】
マイクロコンピュータ100のCPU101は、イベントデータ無線送信処理を開始し(P501)、RAM110に記憶された無線通信状態119を参照して無線送信が成功しているか否かを判定する(P502)。無線送信が成功していない場合には(P502の結果が「N」)、イベントデータ無線送信処理を終了する(P508)。
【0170】
マイクロコンピュータ100のCPU101は、無線送信が成功している場合には(P502の結果が「Y」)、RAM110に記憶されたイベント読出アドレス115に指定されたアドレスからEEPROM160からイベントデータを読み出す(P503)。
【0171】
マイクロコンピュータ100のCPU101は、P503の処理で読み出されたデータを外部機器に無線送信する(P504)。さらに、外部機器から送信のレスポンスであるACKの受信を所定の時間待機し、ACKを受信したか否かを判定する(P505)。外部機器からACKを受信できなかった場合には(P505の結果が「N」)、イベントデータ無線送信処理を終了する(P508)。
【0172】
マイクロコンピュータ100のCPU101は、外部機器からACKを受信した場合には(P505の結果が「Y」)、イベント読出アドレス115の値を次の位置に更新する(P506)。さらに、イベント読出アドレス115とイベント書込アドレス114が一致するか否かを判定する(P507)。イベント読出アドレス115とイベント書込アドレス114が一致しない場合には(P507の結果が「N」)、残りの未送信データを送信するために、P503の処理を実行し、次のデータを読み出す。
【0173】
マイクロコンピュータ100のCPU101は、イベント読出アドレス115とイベント書込アドレス114が一致する場合には(P507の結果が「Y」)、すべての未送信データの送信が終了したため、イベントデータ無線送信処理を終了する(P508)。
【0174】
図17は、本発明の実施の形態のストレージデータ有線送信処理(P213)の詳細を示すプローチャートである。
【0175】
ストレージデータ有線送信処理(P213)は、前述のように、ストレージ140に記録されたデータを読み出して有線送信する処理である。図17に示す処理は、未送信データを含むパケットがストレージ140に存在する場合に実行され、未送信データを含むパケットがなくなる、他の割込み処理が開始される、又はUSB接続が切断されるまで、未送信データを含むパケットを読み出して有線送信する処理を連続して繰り返す。したがって、他の割り込み処理のタイミングに影響を与えることなく、可能な限り高速にデータを有線送信することができる。
【0176】
マイクロコンピュータ100のCPU101は、ストレージデータ有線送信処理を開始し(P401)、RAM110に記憶された有線通信状態121がONであるか否かを判定する(P402)。有線通信状態121がONである場合には(P402の結果が「Y」)、P407の処理に移行し、データの読出しを開始する。
【0177】
マイクロコンピュータ100のCPU101は、有線通信状態121がONでない、すなわちOFFの場合には(P402の結果が「N」)、端子25から通信開始要求を有線送信し、所定の時間レスポンスを受信するために待機する。
【0178】
マイクロコンピュータ100のCPU101は、外部機器から通信開始要求のレスポンスを受信したか否かを判定する(P404)。外部機器から通信開始要求のレスポンスを受信できなかった場合には(P404の結果が「N」)、RAM110に記憶された有線通信状態121をOFFに設定し(P413)、ストレージデータ有線送信処理を終了する(P411)。
【0179】
マイクロコンピュータ100のCPU101は、外部機器から通信開始要求のレスポンスを受信した場合には(P404の結果が「Y」)、RAM110に記憶された有線通信状態121をONに設定する(P405)。その後、P406の処理に移行し、データの読出しを開始する。
【0180】
マイクロコンピュータ100のCPU101は、ストレージ140から未送信データを含むパケットを読み出す(P406)。具体的には、RAM110に記憶されたストレージ読出アドレス117を参照し、パケット記録テーブル141に記録され、フラグの値が1のパケットを外部メモリ用バッファ112に読み出す。さらに、読み出されたデータに含まれるパケットを外部機器に有線送信する(P407)。
【0181】
マイクロコンピュータ100のCPU101は、読み出されたストレージデータの有線送信が完了すると、RAM110に記憶された有線接続状態120を参照し、有線接続状態120がONであるか否かを判定する(P408)。有線接続状態120がOFFの場合には(P408の結果が「N」)、ストレージデータ有線送信処理を終了する(P411)。
【0182】
マイクロコンピュータ100のCPU101は、有線接続状態120がONの場合には(P408の結果が「Y」)、ストレージ読出アドレス117を更新する(P409)。そして、RAM110に記憶されたストレージ読出アドレス117とストレージ書込アドレス116が一致するか否かを判定する(P410)。ストレージ読出アドレス117とストレージ書込アドレス116が一致する場合には(P410の結果が「Y」)、未送信データが存在しないため、ストレージデータ有線送信処理を終了する(P411)。一方、ストレージ読出アドレス117とストレージ書込アドレス116が異なる場合には(P410の結果が「N」)、残りの未送信データを送信するために、P406の処理を実行し、次のデータを読み出す。
【0183】
図18は、本発明の実施の形態のストレージデータ無線送信処理(P212)の詳細を示すプローチャートである。
【0184】
ストレージデータ無線送信処理(P208)は、前述のように、ストレージ140に記録されたデータを読み出して無線送信する処理である。図18に示す処理は、未送信データを含むパケットがストレージ140に存在する場合、割り込みがかかる又は無線送信が失敗するまで、データを読み出して無線送信する処理を連続して繰り返す。したがって、センシングのタイミングに影響を与えることなく、可能な限り高速にデータを無線送信することができる。
【0185】
マイクロコンピュータ100のCPU101は、ストレージデータ無線送信処理を開始し(P601)、RAM110に記憶された無線通信状態119を参照して無線送信が成功しているか否かを判定する(P602)。無線送信が成功していない場合には(P602の結果が「N」)、ストレージデータ無線送信処理を終了する(P608)。
【0186】
マイクロコンピュータ100のCPU101は、無線送信が成功している場合には(P602の結果が「Y」)、RAM110に記憶されたストレージ読出アドレス117に指定されたアドレスからストレージ140から未送信データを含むパケット、すなわち、フラグ143が0のパケットを読み出す(P603)。
【0187】
マイクロコンピュータ100のCPU101は、P603の処理で読み出されたデータを外部機器に無線送信する(P604)。さらに、外部機器から送信のレスポンスであるACKの受信を所定の時間待機し、ACKを受信したか否かを判定する(P605)。外部機器からACKを受信できなかった場合には(P605の結果が「N」)、ストレージデータ無線送信処理を終了する(P608)。
【0188】
マイクロコンピュータ100のCPU101は、外部機器からACKを受信した場合には(P605の結果が「Y」)、RAM110に記憶されたストレージ読出アドレス117を次の位置に更新する(P606)。具体的には、読み出しが終了したデータ以降であって、フラグ143が0である次のパケットの位置に設定する。
【0189】
さらに、マイクロコンピュータ100のCPU101は、RAM110に記憶されたストレージ読出アドレス117とストレージ書込アドレス116が一致するか否かを判定する(P607)。ストレージ読出アドレス117とストレージ書込アドレス116が一致しない場合には(P607の結果が「N」)、残りの未送信データを送信するために、P603の処理を実行し、次のデータを読み出す。
【0190】
マイクロコンピュータ100のCPU101は、ストレージ読出アドレス117とストレージ書込アドレス116が一致する場合には(P607の結果が「Y」)、すべての未送信データを含むパケットの送信が終了したため、ストレージデータ無線送信処理を終了する(P608)。
【0191】
図19は、本発明の実施の形態の有線接続状態を検出してセンサノード1の状態を切り替える有線接続検出/切替処理の手順を示すフローチャートである。
【0192】
有線接続検出/切替処理は、接続切替プログラム133がCPU101に処理されることによって実行される。また、有線接続検出/切替処理は、外部電源検出部18から信号を受信した割込制御部104の割込みによって、他の処理を中断して、RAM110に記録された有線接続状態120及び有線通信状態121の値のみを直ちに切替える。したがって、USBの接続を検出してから、実際に有線通信を開始するまでの時間を最小限にすることができる。
【0193】
マイクロコンピュータ100のCPU101は、割込制御部104からの割込みによって有線接続検出/切替処理を開始し(P701)、RAM110に記録されている有線接続状態120がONであるか否かを判定する(P702)。
【0194】
マイクロコンピュータ100のCPU101は、有線接続状態120がONの場合には(P702の結果が「Y」)、I/Oポート107に入力される外部電源検出部18の出力状態を取得し、外部電源が検出されているか否かを判定する(P703)。外部電源が検出されている場合には(P703の結果が「Y」)、状態を切り替える必要がないため、有線接続検出/切替処理を終了する(P707)。
【0195】
マイクロコンピュータ100のCPU101は、外部電源が検出されていない場合には(P703の結果が「N」)、マイクロコンピュータ100のクロック周波数を低速状態に移行させる(P705)。センサノード1に外部機器から電力が供給されておらず、内蔵された二次電池26から電力が供給されているため、消費電力を低減させる必要があるからである。さらに、RAM110に記憶された有線接続状態120及び有線通信状態121の値をOFFに設定する(P706)。
【0196】
一方、マイクロコンピュータ100のCPU101は、有線接続状態120がOFFである場合には(P702の結果が「N」)、P703の処理と同様に、I/Oポート107に入力される外部電源検出部18の出力状態を取得し、外部電源が検出されているか否かを判定する(P713)。有線接続状態120がOFFであって、外部電源が検出された場合とは、新たに有線接続が開始された場合である。外部電源が検出されなかった場合には(P713の結果が「N」)、RAM110に記憶された有線接続状態120及び有線通信状態121にOFFに設定し(P706)、有線接続検出/切替処理を終了する(P707)。
【0197】
マイクロコンピュータ100のCPU101は、外部電源が検出されている場合には(P713の結果が「Y」)、外部機器から電力が供給されているため、マイクロコンピュータ100のクロック周波数を高速状態に移行させる(P715)。USB接続で外部機器から電力が供給されている場合には、内部の二次電池26の消費を無視することができ、通信速度を最大化させるためである。さらに、RAM110に記憶された有線接続状態120にONを設定し(P716)、有線接続検出/切替処理を終了する(P707)。なお、有線接続検出/切替処理が終了すると(P707)、有線接続検出/切替処理によって中断されていた処理を再開する。
【0198】
図20は、本発明の実施の形態のセンサノード1を接続するためのクレードル500の外観の一例を示す図である。
【0199】
図20に示すクレードル500は、図8に示したセンサノード1の端子25に接触させる端子501を備え、センサノード1の上部を覆うように接続する形状である。センサノード1と接続した場合においても、側部に接続されたケーブル503及びUSB接続端子504によって、ユーザの動作を妨げることなく、外部機器のUSBポートに接続できることを特徴とする。
【0200】
クレードル500及びセンサノード1は、ツメのような形状の固定部502によって固定するため、センサノード1を身に付けたユーザが動いたり、ケーブル503を引っ張ったりした場合であっても容易に外れることがない。また、LCD11に接する上部は、LCD11の内容を視認するのを妨げることがないように、中心部を窓状に開口している。
【0201】
また、ケーブル503と反対側の側部においても、スイッチ(20、21)の操作を妨げない形状とする。したがって、クレードル500を接続中においても、センサノード1を身に付けたユーザは、センシング及び様々な操作を妨げられることなく、動作を継続することができる。
【0202】
図21は、本発明の実施の形態のクレードル500が接続された状態のセンサノード1をユーザ3が身に付けている状態を示す図である。
【0203】
図21には、センサノード1にクレードル500に接続し、パーソナルコンピュータ200のUSBポート207にUSB接続端子504を接続した状態を示している。図21に示すように、有線通信又は充電中においても、LCD11に表示される時刻情報405及び脈拍センサなどによってセンシングされた波形情報407などを視認できることを特徴とする。したがって、ユーザはクレードル500を接続している状態であってもセンサノード1の利用を継続することができる。
【0204】
本発明の実施の形態によれば、センサノードをユーザが日常生活で常時装着して使用する中で、ユーザの動作及び生体情報を示す連続したすべてのセンサデータを記録すると同時に、任意のタイミングで時刻情報を含むイベントデータを記録することができる。さらに、記録されたセンサデータとイベントデータに基づいて、日常生活における行動履歴を生成し、スケジュールの管理などに応用することができる。
【図面の簡単な説明】
【0205】
【図1】本発明の実施の形態のセンサノードを示すブロック図である。
【図2】本発明の実施の形態のストレージに格納されるパケット記録テーブルの構成の詳細を示す図である。
【図3】本発明の実施の形態のEEPROMのイベント記録テーブルの構成の詳細を示す図である。
【図4】本発明の実施の形態のマイクロコンピュータのRAM110に記録されているデータの詳細を示す図である。
【図5】本発明の実施の形態のセンサノードからセンサデータ及びイベントデータを収集し、行動履歴を生成及び表示するシステムの構成の一例を示す図である。
【図6】本発明の実施の形態の複数のユーザの行動履歴を管理するシステムの構成例を示す図である。
【図7】本発明の実施の形態のパーソナルコンピュータにデータベースを備えないシステムの構成例を示す図である。
【図8】本発明の実施の形態のセンサノードの外観を示す図である。
【図9】本発明の実施の形態のセンサノードのLCDの表示内容の一例を示す図である。
【図10】本発明の実施の形態のセンサノードのスイッチを操作することによって、イベントを選択又は記録する場合のLCDの表示例を示す図である。
【図11】本発明の実施の形態のセンサノードにおけるイベント記録処理の手順を示すフローチャートである。
【図12】本発明の実施の形態のイベント選択処理の手順を示すフローチャートである。
【図13】本発明の実施の形態のイベント決定処理の手順を示すフローチャートである。
【図14】本発明の実施の形態の送信バッファに格納されたデータをストレージ及びデータを収集するパーソナルコンピュータに送信する処理の手順を示すフローチャートである。
【図15】本発明の実施の形態のイベントデータ有線送信処理の詳細を示すプローチャートである。
【図16】本発明の実施の形態のイベントデータ無線送信処理の詳細を示すプローチャートである。
【図17】本発明の実施の形態のストレージデータ有線送信処理の詳細を示すプローチャートである。
【図18】本発明の実施の形態のストレージデータ無線送信処理の詳細を示すプローチャートである。
【図19】本発明の実施の形態の有線接続状態を検出してセンサノードの状態を切り替える有線接続検出/切替処理の手順を示すフローチャートである。
【図20】本発明の実施の形態のセンサノードを接続するためのクレードルの外観の一例を示す図である。
【図21】本発明の実施の形態のクレードルが接続された状態のセンサノードをユーザが身に付けている状態を示す図である。
【符号の説明】
【0206】
1 センサノード
2 リストバンド
4 インターネット
11 表示部
15 リアルタイムクロック(RTC)
16 無線通信部
17 USB通信部
18 外部電源検出部
19 充電/給電回路部
20、21 スイッチ
25 端子
26 二次電池
28 アンテナ
100 マイクロコンピュータ
101 CPU
103、104、106 割込制御部
107 I/Oポート
110 RAM
111 送信用バッファ
112 外部メモリ用バッファ
113 選択イベントID
114 イベント書込アドレス
115 イベント読出アドレス
116 ストレージ書込アドレス
117 ストレージ読出アドレス
119 無線通信状態
120 有線接続状態
121 有線通信状態
130 ROM
132 センシングプログラム
133 接続切替プログラム
134 イベント記録プログラム
140 ストレージ
141 パケット記録テーブル
142 アドレス
145 パケット
160 EEPROM
161 イベントリストテーブル
162 イベントID
163 アイコン
170 イベント記録テーブル
171 アドレス
172 日時
173 イベントID
200 パーソナルコンピュータ
201 表示装置
203 入力装置
205 ネットワーク通信部
207 USBポート
210 行動履歴生成アプリケーション
220、305 ユーザ行動データベース
230、307 センサ波形データベース
231 日時
240 ゲートウェイ
244 アンテナ
250 通信アプリケーション
300 サーバ
301 データ解析部
302 データ表示/入力部
303 データベース差分生成/結合部
304 ネットワーク通信部
402 無線電波状態
403 電池残量
404 メモリ残量
405 時刻情報
406 センシング状態
407 波形情報
411〜414 イベント表示
500 クレードル
501 端子
502 固定部
503 USBケーブル
504 USB端子

【特許請求の範囲】
【請求項1】
センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードであって、
前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第1の記憶部と、前記イベント情報を格納する第2の記憶部と、を備え、
前記制御部は、
前記センサから周期的にデータを収集し、
前記収集されたデータを前記第1の記憶部に格納し、
前記イベントが検出された場合には、前記イベント情報を前記第2の記憶部に格納し、
前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、
前記センサによって収集されたデータを前記第1の記憶部に格納した後に、前記イベント情報を格納する処理を再開することを特徴とするセンサノード。
【請求項2】
前記センサノードは、前記制御部に時間情報を提供する時計部をさらに備え、
前記時計部は、前記制御部に周期的に信号を送信し、
前記制御部は、前記時計部から送信された信号を受信した場合に、前記センサからデータを収集することを特徴とする請求項1に記載のセンサノード。
【請求項3】
前記センサノードは、前記イベントの発生の通知を受け付けるイベント通知受付部をさらに備え、
前記制御部は、前記イベント通知受付部によって通知されたイベントを、前記検出されたイベント情報として、前記第2の記憶部に格納することを特徴とする請求項1に記載のセンサノード。
【請求項4】
前記センサノードは、前記発生したイベントの選択を受け付けるイベント選択部をさらに備え、
前記制御部は、前記イベント選択部によって選択されたイベントの識別子を前記イベント情報として前記第2の記憶部に格納することを特徴とする請求項3に記載のセンサノード。
【請求項5】
前記センサノードは、前記イベントの種類を示す情報を表示する表示部をさらに備え、
前記制御部は、前記イベント通知受付部によって前記イベントの発生が通知された場合には、前記表示部に前記イベントの種類を示す情報を表示することを特徴とする請求項4に記載のセンサノード。
【請求項6】
前記センサノードは、計算機と通信可能なインタフェースをさらに備え、
前記制御部は、
前記イベントの種類を示す情報の更新データを前記計算機から受信し、
前記受信した更新データに基づいて、前記イベントの種類を示す情報を更新することを特徴とする請求項5に記載のセンサノード。
【請求項7】
前記センサノードは、計算機と通信可能なインタフェースをさらに備え、
前記制御部は、前記第1の記憶部に格納されたデータ及び前記第2の記憶部に格納されたイベント情報を前記計算機に送信することを特徴とする請求項1に記載のセンサノード。
【請求項8】
前記制御部は、前記センサからデータを収集した時に前記計算機と通信可能な場合には、前記センサから収集されたデータを前記計算機に送信することを特徴とする請求項7に記載のセンサノード。
【請求項9】
前記センサノードには、前記制御部が所定の周波数で動作する通常状態と、前記制御部のクロック周波数を前記所定の周波数よりも低く設定することによって消費電力を低減させるスタンバイ状態とがあり、
前記制御部は、
前記センサから収集されたデータを前記第1の記憶部に格納した後に、前記通常状態から前記スタンバイ状態に移行し、
前記センサから周期的にデータを収集する場合、又は前記イベントが検出された場合には、前記スタンバイ状態から前記通常状態に移行することを特徴とする請求項1に記載のセンサノード。
【請求項10】
前記第1の記憶部は、半導体記憶媒体によって構成され、
前記第1の記憶部には、前記センサによって収集されたデータを格納する複数の領域が割り当てられ、
前記制御部は、前記センサによって収集されたデータを、最後にデータが格納された領域に格納することを特徴とする請求項1に記載のセンサノード。
【請求項11】
センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードと、前記センサノードから前記データ及び前記イベント情報を受信する計算機とを含むセンサネットワークシステムであって、
前記センサノードは、前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第1の記憶部と、前記イベント情報を格納する第2の記憶部と、前記計算機と通信可能な第1のインタフェースと、を備え、
前記計算機は、前記センサノードに接続される第2のインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記センサノードは、
前記センサから周期的にデータを収集し、
前記収集されたデータを前記第1の記憶部に格納し、
前記イベントが検出された場合には、前記イベント情報を前記第2の記憶部に格納し、
前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、
前記センサによって収集されたデータを前記第1の記憶部に格納した後に、前記イベント情報を格納する処理を再開し、
前記第1の記憶部に格納されたデータ及び前記第2の記憶部に格納されたイベント情報を前記計算機に送信し、
前記計算機は、前記センサノードから送信されたデータ及びイベント情報を格納することを特徴とすることを特徴とするセンサネットワークシステム。
【請求項12】
前記センサノードは、前記制御部に時間情報を提供する時計部をさらに備え、
前記時計部は、前記制御部に周期的に信号を送信し、
前記センサノードは、前記時計部から送信された信号を受信した場合に、前記センサからデータを収集することを特徴とする請求項11に記載のセンサネットワークシステム。
【請求項13】
前記センサノードは、
前記イベントの発生の通知を受け付けるイベント通知受付部をさらに備え、
前記イベント通知受付部によって通知されたイベントを、前記検出されたイベント情報として、前記第2の記憶部に格納することを特徴とする請求項11に記載のセンサネットワークシステム。
【請求項14】
前記センサノードは、
前記イベントの種類を示す情報を表示する表示部をさらに備え、
前記イベント通知受付部によって前記イベントの発生が通知された場合には、前記表示部に前記イベントの種類を示す情報を表示し、
前記計算機は、
前記センサノードに表示される前記イベントの種類を示す情報を更新する場合には、前記イベントの種類を示す情報の更新データの入力を受け付け、
前記入力された更新データを前記センサノードに送信し、
前記センサノードは、前記計算機から送信された更新データに基づいて、前記イベントの種類を示す情報を更新することを特徴とする請求項13に記載のセンサネットワークシステム。
【請求項15】
前記センサノードには、前記制御部が所定の周波数で動作する通常状態と、前記制御部のクロック周波数を前記所定の周波数よりも低く設定することによって消費電力を低減させるスタンバイ状態とがあり、
前記センサノードは、
前記センサから収集されたデータを前記第1の記憶部に格納した後に、前記通常状態から前記スタンバイ状態に移行し、
前記センサから周期的にデータを収集する場合、及び前記イベントが検出された場合には、前記スタンバイ状態から前記通常状態に移行することを特徴とする請求項11に記載のセンサネットワークシステム。
【請求項16】
前記計算機は、前記センサによって収集されたデータ及び前記センサノードによって検出されたイベント情報に基づいて、前記センサノードを利用したユーザの行動履歴を推定することを特徴とする請求項11に記載のセンサネットワークシステム。
【請求項17】
前記計算機は、
前記行動履歴の推定結果を出力する行動履歴出力部をさらに備え、
前記行動履歴の推定結果を前記行動履歴出力部に出力し、
前記行動履歴の詳細情報の入力を受け付けることを特徴とする請求項16に記載のセンサネットワークシステム。
【請求項18】
前記センサネットワークシステムは、前記推定された行動履歴を収集するサーバを含み、
前記計算機は、前記行動履歴の推定結果を前記サーバに送信することを特徴とする請求項16に記載のセンサネットワークシステム。
【請求項19】
前記センサネットワークシステムは、前記センサによって収集されたデータ及び前記イベント情報を収集するサーバを含み、
前記計算機は、前記センサノードから受信した、前記センサによって収集されたデータ及び前記イベント情報を、前記サーバに送信することを特徴とする請求項11に記載のセンサネットワークシステム。
【請求項20】
センサによってデータを収集し、イベントを検出してイベント情報を記録するセンサノードと、前記センサノードから前記データ及び前記イベント情報を受信する計算機とを含むセンサネットワークシステムにおけるデータ収集方法であって、
前記センサノードは、前記センサと、前記センサを制御する制御部と、前記センサによって収集されたデータを格納する第1の記憶部と、前記イベント情報を格納する第2の記憶部と、前記計算機と通信可能な第1のインタフェースと、を備え、
前記計算機は、前記センサノードに接続される第2のインタフェースと、前記第2のインタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記方法は、
前記センサから周期的にデータを収集し、
前記収集されたデータを前記第1の記憶部に格納し、
前記イベントが検出された場合には、前記イベント情報を前記第2の記憶部に格納し、
前記イベントが検出されてから前記イベント情報を格納するまでの間に、前記センサからデータを収集した場合には、前記イベント情報を格納する処理を中断し、
前記センサによって収集されたデータを前記第1の記憶部に格納した後に、前記イベント情報を格納する処理を再開し、
前記第1の記憶部に格納されたデータ及び前記第2の記憶部に格納されたイベント情報を前記計算機に送信し、
前記センサノードから送信されたデータ及びイベント情報を格納することを特徴とすることを特徴とするデータ収集方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2010−125145(P2010−125145A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−304329(P2008−304329)
【出願日】平成20年11月28日(2008.11.28)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】