(57)【要約】【課題】  一定周期で生体情報の測定とデータの記録を行い続けるとともに、センサノードに蓄積されたデータを送信する。【解決手段】  センサは生体情報を測定してセンシングデータを取得し、無線通信部はセンシングデータをサーバに無線送信を行い、第１のメモリはセンシングデータをバックアップとして記録する。制御部は、センサによる測定、無線通信部による無線送信、バックアップとして記録されたセンシングデータのサーバへの送信を実行する。さらに、割込制御部は、所定の間隔で信号を生成するクロックに基づいて第１の割込み信号を発生し、制御部は第１の割り込み信号を受けると、バックアップとして記録されたセンシングデータの送信に優先してセンサによる測定を実行する。【選択図】  図７
2010004903.tif 000002
【特許請求の範囲】
【請求項１】
生体情報を測定してセンシングデータを取得するセンサと、
上記センシングデータをサーバへ無線送信を行う無線通信部と、
上記センシングデータをバックアップとして記録する第１のメモリと、
上記センサによる測定、上記無線通信部による無線送信、及び上記バックアップとして記録されたセンシングデータの上記サーバへの送信を実行する制御部と、
所定の間隔で信号を生成するクロックと、
上記クロックに基づいて第１の割り込み信号を発生する割込制御部と、を備え、
上記制御部は、上記第１の割り込み信号を受けると、上記バックアップとして記録されたセンシングデータの送信に優先して上記センサによる測定を実行するセンサノード。
【請求項２】
請求項１に記載のセンサノードにおいて、
上記制御部は、上記センサによる測定を妨げることなく、上記バックアップとして記録されたセンシングデータの送信を実行するセンサノード。
【請求項３】
請求項１に記載のセンサノードにおいて、
上記制御部は、上記第１の割り込み信号を受けると、上記バックアップとして記録されたセンシングデータの送信を中断して上記センサによる測定を実行するセンサノード。
【請求項４】
請求項１に記載のセンサノードにおいて、
上記割込制御部が上記第１の割り込み信号を発生するタイミングは、上記無線通信部による無線送信のタイミングと重複しないセンサノード。
【請求項５】
請求項１に記載のセンサノードにおいて、
複数回の上記センシングデータの取得後、上記無線通信部は上記センシングデータを複数回分まとめて無線送信するセンサノード。
【請求項６】
請求項１に記載のセンサノードにおいて、
外部機器との有線接続を検出する外部接続検出部と有線通信部とをさらに備え、
上記有線接続が検出されている場合には、上記制御部は上記有線通信部による上記バックアップとして記録されたセンシングデータの上記外部機器への送信を実行し、
上記有線接続が検出されていない場合には、上記制御部は上記無線通信部による上記バックアップとして記録されたセンシングデータの上記サーバへの無線送信を実行するセンサノード。
【請求項７】
請求項６に記載のセンサノードにおいて、
上記制御部は、上記有線接続の検出に基づく第２の割り込み信号を受けると、上記有線通信部を介して通信開始要求を上記外部機器に送信し、上記外部機器から応答信号を受信した場合に、上記有線通信部による上記バックアップとして記録されたセンシングデータの上記外部機器への送信を開始するセンサノード。
【請求項８】
請求項６に記載のセンサノードにおいて、
上記有線接続が検出された場合、上記センサノードに供給する電源を、上記センサノードが内蔵する電池が供給する電源から上記外部機器が供給する電源に切り換える電源切替部をさらに備えるセンサノード。
【請求項９】
請求項６に記載のセンサノードにおいて、
上記外部機器と接続するための端子及び上記センサノードを皮膚に固定するバンドをさらに備え、
上記センサノードが上記皮膚に固定された場合、上記センサは上記皮膚に接触する面に配置され、上記端子は上記バンドが付随していない側面に配置されるセンサノード。
【請求項１０】
請求項１に記載のセンサノードにおいて、
上記センサノードの動作を規定するパラメータと、上記第１のメモリに記録されたセンシングデータのうち上記無線通信部による送信失敗を示すセンシングデータの格納位置を示す読出アドレスと、上記センシングデータを記録すべき格納位置を示す書込アドレスと、を格納する第２のメモリをさらに備えるセンサノード。
【請求項１１】
腕時計型のセンサノードであって、
生体情報を測定してセンシングデータの取得するセンサと、
上記センシングデータの送信先となる外部機器と有線接続するための端子と、
上記腕時計の表面に配置される表示装置と、を備え、
上記センサは、上記表示装置が存在する面と反対の面に配置され、
上記端子は、上記表示装置が存在する面に対して側面に配置されるセンサノード。
【請求項１２】
請求項１１に記載のセンサノードであって、
上記センサノードが左腕に装着された場合、上記端子は左側の側面に配置されるセンサノード。
【請求項１３】
請求項１１に記載のセンサノードであって、
上記センサノードは、上記表面を覆うクレードルと接続され、上記クレードルの側部に配置される接続端子とケーブルを介して、上記外部機器と有線接続するセンサノード。
【請求項１４】
生体情報を測定してセンシングデータを取得するセンサと、上記センシングデータをサーバへ無線送信を行う無線通信部と、上記センシングデータをバックアップとして記録するメモリと、上記センサによる測定、上記無線通信部による無線送信、及び上記バックアップとして記録されたセンシングデータの上記サーバへの送信を実行する制御部と、所定の間隔で信号を生成するクロックと、上記クロックに基づいて第１の割り込み信号を発生する割込制御部と、を有するセンサノードと、
上記無線通信部によるセンシングデータの無線送信を受信し、第１の外部機器を介して上記サーバに送信する基地局と、
受信する上記第１の外部機器からのセンシングデータ及び上記バックアップとして記録されたセンシングデータを解析するサーバと、を備え、
上記制御部は、上記第１の割り込み信号を受けると、上記バックアップとして記録されたセンシングデータの送信に優先して上記センサによる測定を実行するセンサネットワークシステム。
【請求項１５】
請求項１４に記載のセンサネットワークシステムにおいて、
上記制御部は、上記センサによる測定を妨げることなく、上記バックアップとして記録されたセンシングデータの送信を実行するセンサネットワークシステム。
【請求項１６】
請求項１４に記載のセンサネットワークシステムにおいて、
上記制御部は、上記第１の割り込み信号を受けると、上記バックアップとして記録されたセンシングデータの送信を中断して上記センサによる測定を実行するセンサネットワークシステム。
【請求項１７】
請求項１４に記載のセンサネットワークシステムにおいて、
上記割込制御部が上記第１の割り込み信号を発生するタイミングは、上記無線通信部による無線送信のタイミングと重複しないセンサネットワークシステム。
【請求項１８】
請求項１４に記載のセンサネットワークシステムにおいて、
上記センサノードは、第２の外部機器との有線接続を検出する外部接続検出部と有線通信部をさらに備え、
上記有線接続が検出されている場合には、上記制御部は上記有線通信部による上記バックアップとして記録されたセンシングデータの上記第２の外部機器への送信を実行し、
上記有線接続が検出されていない場合には、上記制御部は上記無線通信部による上記バックアップとして記録されたセンシングデータの上記基地局への無線送信を実行するセンサネットワークシステム。
【請求項１９】
請求項１８に記載のセンサネットワークシステムにおいて、
上記第１の外部機器と上記第２の外部機器は同一のものであるセンサネットワークシステム。
【請求項２０】
請求項１８に記載のセンサネットワークシステムにおいて、
上記制御部は、上記有線接続の検出に基づく第２の割り込み信号を受けると、上記有線通信部を介して通信開始要求を上記第２の外部機器に送信し、上記第２の外部機器から応答信号を受信した場合に、上記有線通信部による上記バックアップとして記録されたセンシングデータの上記第２の外部機器への送信を開始するセンサネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動可能な小型の無線機能付きセンサ端末などに用いられる、通信とセンシングの制御技術に関する。
【背景技術】
【０００２】
近年、小型で電池を内蔵した、無線機能付センサ端末（センサノード）が開発されている。センサノードは、屋内外の建造物等に設置され、温度、湿度等の環境情報の測定に利用されている。このセンサノードを用いて、現実世界の様々な情報をリアルタイムに情報処理装置に取り込むネットワークシステム（以下、センサネットワークシステムという）が検討されている。
【０００３】
センサノードは、センシングや無線通信が必要なタイミングでのみ起動し、それ以外では電源を切って消費電力を削減する間欠動作を行う。小型の内蔵電池で長時間動作しながら、直径３ｃｍ程度と小型であり、人が身に付けることも容易である。
【０００４】
また、センサノードに用いる最適な無線通信手段として無線規格ＩＥＥＥ８０２．１５．４が知られている。この規格は、伝送速度や通信距離を抑える代わりに、消費電力の低い無線規格となっている。
【０００５】
特許文献１は、人の腕などに付ける形態のセンサ装置が、センサのデータを内蔵メモリに蓄えた後、無線または有線による接続で、ＰＣやサーバ等の解析装置に蓄えたデータを送信する技術を開示している。
【０００６】
特許文献２は、センサを有する検出装置が、無線又は有線で接続される送信機を介して、受信機にセンサデータを無線送信する技術を開示している。
【０００７】
【特許文献１】特表２００４−５００９４９号公報
【特許文献２】特開２００６−２８９０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
人がセンサノードを身につけて、例えば加速度センサで人の動きを測定し、測定したデータを記録・解析することで、日常生活における歩行等の動作や姿勢等の状態を判定することができる。これを応用して、ユーザの健康状態や生活行動履歴などをモニタするセンサネットワークシステムを構築するためには、典型的には、センサは１秒当たり数十回にわたって絶えず測定（センシング）することが必要である。センシングが行われなかった場合、センシングが行われた時間帯のデータのみを用いて判定することになるため、ユーザの健康状態や生活行動履歴などを正確に把握することが困難となるからである。
【０００９】
また、サーバにおいてセンシングデータを蓄積、解析するために、センサノードは、基地局を介してサーバにセンシングデータを無線送信することを基本動作としている。
【００１０】
センサノード等の無線端末では、例えばＩＥＥＥ８０２．１５．４のように、伝送速度や通信距離を抑える代わりに、消費電力の低い無線規格が用いられている。ＩＥＥＥ８０２．１５．４の通信距離は、典型的には５０メートル程度であるため、センサノードを人が身に付けている場合には、１つの基地局が管理するネットワークの無線通信範囲から離れることが容易に想定される。さらには、基地局とサーバ間の通信不備も想定される。このような場合、サーバはセンシングデータを受信することができず、センシングデータを収集することができない。そのため、センサノードは自身のメモリにセンシングデータをバックアップとして蓄積しておく必要がある。そして、蓄積されたセンシングデータを基地局を介してサーバに転送しなければならない。
【００１１】
さらに、センサノードでは、１つのマイコンによる制御でセンサやメモリ等のデバイスと通信するため、センシングとメモリに蓄積されたセンシングデータの無線による転送を同時に行うことには限界がある。
【００１２】
このように、日常生活におけるユーザの生体情報を取得して健康状態等をモニタするセンサネットワークシステムの構築には、センサノードの性能を考慮しつつ、一定間隔で連続的に行うセンシングを阻害することなく、蓄積されたセンシングデータをサーバに転送する機構が必須となる。
【００１３】
特許文献１及び特許文献２では、センシングデータをメモリに記録した後、まとめてサーバ等に送信する技術を開示しているが、メモリに記録されたデータを連続して送信している間も、一定の周期でセンシングを行い、センシングデータを絶えずメモリに記録する制御方法を開示していない。
【００１４】
一方で、センサノードが、例えば数十メガバイトの不揮発メモリを有する場合、メモリに記録されたデータを送信するためには、センサノードに適用される無線の通信速度は十分ではない。例えば、上記ＩＥＥＥ８０２．１５．４を適用した場合には、メモリに記録されたすべてのデータを送信し終わるまで、数十分から数時間かかることが容易に想定される。
【００１５】
また、センサノードは前記間欠動作によって消費電力を削減しているため、長時間にわたって連続してデータを送信すると、電池寿命が大幅に短縮される問題がある。例えば、センサノードに内蔵可能な小型電池の容量を典型的な１００ｍＡｈ程度とすると、ＩＥＥＥ８０２．１５．４を用いて1時間以上連続で無線送信すると、電池容量の約半分を消費することになる。
【００１６】
さらに、メモリに記録されたデータを有線接続されるＰＣ等の外部機器に出力しようとした場合、センサノードと接続相手となるＰＣ等との有線接続形態が問題となる。具体的には、有線接続中であってもユーザの生体情報をセンシングし続けるためのセンサノードの構造や形状が必要となる。さらには、有線接続中であっても、例えばＰＣ作業など人の日常活動を妨げない構造や形状が必要となる。
【００１７】
特許文献１及び特許文献２は、ユーザが定期的にセンサ装置を充電しながら、同時に有線通信でデータを収集する方法を開示しているが、その具体的な構造や形状については開示されていない。特許文献１のセンサ装置では、通信及び充電用クレードルに接続する際は、人の体から外して接続しており、センシングとデータの記録処理を妨げることなく、データを送信することはできない。
【課題を解決するための手段】
【００１８】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。センサノードは、センサと、無線通信部と、第１のメモリと、制御部と、クロックと、割込制御部とを有する。センサは生体情報を測定してセンシングデータを取得し、無線通信部はセンシングデータをサーバに無線送信を行い、第１のメモリはセンシングデータをバックアップとして記録する。制御部は、センサによる測定、無線通信部による無線送信、バックアップとして記録されたセンシングデータのサーバへの送信を実行する。さらに、割込制御部は、所定の間隔で信号を生成するクロックに基づいて第１の割込み信号を発生し、制御部は第１の割り込み信号を受けると、バックアップとして記録されたセンシングデータの送信に優先してセンサによる測定を実行する。
【発明の効果】
【００１９】
本発明によれば、センサノードは一定周期で生体情報の測定とセンシングデータの記録を行い続ける。そして、蓄積されたセンシングデータを送信するため、ユーザは欠けることのないデータを収集することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明に係わる実施例について添付図面を参照しながら説明する。
【００２１】
図１は第１の実施例であり、本発明を適用したセンサノード１のブロック図を示す。図１はおいては、課題を解決するため、リアルタイムクロック１３８からの周期的な信号をトリガとして任意の周期でセンシングしてデータをＲＡＭ１１０に取り込み、ストレージ１６０に記録するセンシングプログラム１２２と、外部接続検出部１３２でＵＳＢを介したパーソナルコンピュータ等の外部機器との接続をトリガとして、ストレージ１６０からデータを読み出して外部機器に有線送信を開始する有線通信プログラム１２３に従って、センサノード１を制御することを特徴とする。以下、個々について説明する。
【００２２】
センサノード１は、ゲートウェイ（基地局）と通信を行うアンテナ１５０を備えた無線通信部（ＲＦ）１３１と、加速度センサ１３５、温度センサ１３６、脈拍センサ１３７と、マイクロコンピュータ１００と、マイクロコンピュータ１００に一定間隔でトリガをかけるためのタイマとして機能するリアルタイムクロック（ＲＴＣ）１３８と、不揮発な記憶媒体であるストレージ１６０と、文字や波形、グラフ等を表示するＬＣＤ１３４と、マイクロコンピュータ１００に対してトリガをかけることができる複数のスイッチ１４１、１４２と、端子１７０への外部機器からのＵＳＢ接続を検出してマイクロコンピュータ１００にトリガをかけ、その状態をマイクロコンピュータ１００に出力する外部接続検出部１３２と、マイクロコンピュータ１００からのシリアル通信によって送信されたデータをＵＳＢ接続の外部機器に転送するＵＳＢ通信部１３３と、マイクロコンピュータ１００からの信号でＵＳＢ通信部１３３との信号線を遮断するスイッチ１４４と、２次電池１４７と、外部機器とのＵＳＢ接続を介して供給される電源で２次電池１４７を充電する充電部１３９と、２次電池１４７の電圧をマイクロコンピュータ１００に出力する電圧検出部１４０と、レギュレータ１４６と、レギュレータ１４６に供給する電源を２次電池１４７とＵＳＢを介した外部電源とで切替える電源切替部１４５と、ＵＳＢケーブルを接続する端子１７０と、リセット端子１４５を接地した場合に２次電池１４７からの電源供給を遮断するリセット用のスイッチ１４３を含んで構成されている。なお、本実施形態では、生体情報を取得するためのセンサとして加速度センサ、温度センサ、脈拍センサを示すが、上記センサに限定されない。
【００２３】
マイクロコンピュータ１００は、演算処理を実行するＣＰＵ１０１と、ＣＰＵ１０１で実行するプログラム１２１などを記録するＲＯＭ１２０と、データなどを一時的に記録するＲＡＭ１１０と、外部から入力されるアナログ信号をデジタル信号に変換するＡ／Ｄコンバータ１０４と、外部からデジタル信号を入力し、又は外部に出力するＩ／Ｏポート１０５と、リアルタイムクロック１３８とストレージ１６０とＬＣＤ１３４と加速度センサ１３５と温度センサ１３６と脈拍センサ１３７でシリアル信号にて信号の送受信を行うシリアル通信部１０３と、無線通信部７でシリアル信号にて信号の送受信を行うシリアル通信部１０８と、ＣＰＵ１０１を介さずにシリアル通信部１０３を制御し、シリアル通信にて受信したデータをＲＡＭ１１０に取り込むＤＭＡＣ１０２と、外部からの信号をトリガとしてプログラム１２１を実行中のＣＰＵ１０１に割込みをかける割込制御部１０６、１０７とを含んで構成される。
【００２４】
ＲＯＭ１２０に予め記録されているプログラム１２１には、センシングプログラム１２２と有線通信プログラム１２３を含む。センシングプログラム１２２に記述される処理はＣＰＵ１０１にて実行され、リアルタイムクロック１３８の信号をトリガとして、シリアル通信部１０３を介して加速度センサ１３５、温度センサ１３６及び脈拍センサ１３７でセンシングしたデータをＲＡＭ１１０に取り込み、無線通信部１３１を制御してＲＡＭ１１０に取り込んだデータを所定のゲートウェイに無線送信し、さらにストレージ１６０に書き込んで記録する。
【００２５】
有線通信プログラム１２３に記述される処理もまたＣＰＵ１０１にて実行され、外部接続検出部１３２からの信号をトリガとして有線通信を開始し、シリアル通信部１０３を介してストレージ１６０に記録され、かつ無線または有線通信により外部に送信されていないデータ（未送信データ）を読み出し、ＵＳＢ通信部１３３に送信し、ＵＳＢ通信部１３３から外部機器に有線送信する。また、有線通信プログラム１２３の処理では、無線及び有線で一度送信されたデータ（送信済データ）を再度送ることもできる。
【００２６】
また、有線通信プログラム１２３は、ＤＭＡＣ１０２を制御して、ＣＰＵ１０１で処理を実行することなく、ストレージ１６０のデータを読出し、ＲＡＭ１１０に記録できる。従って、ストレージ１６０を読出している間も、ＣＰＵ１０１は別の処理を実行できるため、ＲＡＭ１００からＵＳＢ通信部１３３にデータを送信することができる。このＵＳＢ通信部１３３への送信においても、ＤＭＡＣ１０２を制御して、ＣＰＵ１０１を介さず、データをＲＡＭ１１０から転送することができる。
【００２７】
ＲＡＭ１１０は書き換え可能な値である、パラメータ１１１と、無線通信状態１１２と、有線接続状態１１３と、有線通信状態１１４と、無線送信用のデータを一時的に記録する送信用バッファ１１５と、ストレージ１６０から読み出したデータ、及び書き込むデータを一時的に記録するストレージ用バッファ１１６と、ストレージ１６０から未送信データを読み出す際にストレージ１６０におけるデータの位置を示す読出アドレス１１７と、センシングしたデータを書き込む際にストレージ１６０における書込み位置を示す書込アドレス１１８を有する。
【００２８】
パラメータ１１１は、センサノード１の動作を規定する値であり、ユーザによって変更可能である。無線通信部１３１を制御して無線通信する際に用いる無線周波数を示す無線チャネルや、センサノードを識別する固有のＩＤ等を記録する。
【００２９】
無線通信状態１１２はセンシングしたデータを送信した結果、つまり送信成功、失敗等の結果を記録する。
【００３０】
有線接続状態１１３は、外部機器とＵＳＢを介して接続されているか否かを記録する。有線通信状態１１４は、外部機器とＵＳＢを介して接続されている上、相手の外部機器がデータを受け取れる状態か否かを記録する。
【００３１】
送信用バッファ１１５は加速度センサ１３５、温度センサ１３６、脈拍センサ１３７でセンシングしたデータを一時的に記録して、送信する容量に達するまで蓄積する領域である。例えば無線規格をＩＥＥＥ８０２．１５．４とした場合、一度に送信できるデータ容量（パケット容量）と同じく１００バイト程度とする。
【００３２】
ストレージ用バッファ１１６は、送信用バッファ１１５のデータを送信後に、圧縮してストレージ１６０に送信して記録するデータの領域である。また、ストレージ１６０からデータを読み出して無線、または有線で送信する際に、読み出したデータを記録する領域でもある。典型的な公知の圧縮方式を適用した場合、例えば日常動作における人の腕の動きを表すのに十分な最大３Ｇ，最小で−３Ｇの加速度を２０ヘルツでサンプリングした波形データであれば、平均で１／３程度に圧縮できる。本実施形態では、例えばストレージ用バッファ１１６に１パケット容量分の圧縮データが蓄積された後に、ストレージ１６０に記録する。この結果、ストレージ１６０への書込み頻度も削減できる。
【００３３】
このように、送信用バッファ１１５とストレージ用バッファ１１６を両方持つ特徴により、センシングした直後のリアルタイムデータは無線で送信してストレージ１６０に記録し、外部機器と無線または有線で通信可能であればストレージ１６０から未送信データを読み出して送信するという両方の処理を滞りなく実行することができる。
【００３４】
読出アドレス１１７は、無線または有線通信可能時に送信すべき未送信データのストレージ１６０内部における位置を示す。
【００３５】
書込アドレス１１８は、ストレージ用バッファ１１６に記録されたデータをストレージ１６０に書き込む場合に、記録すべきストレージ１６０内部における位置を示す。つまり、読出アドレス１１７と書込アドレス１１８が同じ値である場合、送信すべき未送信データがストレージ１６０に存在しないことが判定できる。
【００３６】
ストレージ１６０には、センシングしたデータを記録するためのデータテーブル１６１を含む。データテーブルに記録されるデータは、無線通信部１３１から送信する際の１パケットごとに可変長で区切る。これにより、ストレージ１６０から読み出した１パケット分のデータをストレージ用バッファ１１６に一時的に記録した後、そのままデータを加工することなく無線または有線送信可能とすることで、処理を減らすことができる。
【００３７】
１つのパケットは、対応するアドレスが示す位置に記録されており、フラグ、長さも同時にデータテーブル１６１に記録される。アドレスはデータテーブル１６１内で一意に割り振られており、1つのアドレスで、1つの対応するデータの位置を示している。フラグは、対応するパケットが一度送信成功したか否かを示している。長さは、対応するパケットのデータ長を示している。ストレージ１６０はマイクロコンピュータ１００からシリアル通信にて読出し、または書込みコマンド内に含まれるアドレスを参照して、ストレージ１６０に記録された任意の位置のデータを読出し、または書き込むことができる。
【００３８】
長さは対応するパケットのデータ長を示している。つまり、対応するパケットのアドレスに長さ分を足すことで、次に記録されたパケットのアドレスを割り出すことができる。
【００３９】
フラグは、そのデータが送信用バッファ１１５に記録された後に送信された際に、すべて送信成功であった場合には１を、送信失敗のデータを含んでいれば０を書き込んでいる。つまり、後からストレージ１６０のパケットを読み出した際に、未送信データを含むか否かを判断することができ、未送信データのみを効率的に、残さず読み出すことを可能にする。
【００４０】
ＲＡＭ１１０の書込アドレス１１８の示すパケット１６２は、データテーブル１６１内で最後に記録された最も古いパケットを示している。最も古いデータから書き換えていくことで、ストレージ１６０内のすべての記録単位（メモリの1セル）において書き換え回数を均等化し、書き換え頻度を削減する。この結果、ストレージ１６０に書き換え寿命の短いフラッシュメモリを適用しても、実用的な寿命を確保できる。
【００４１】
ＲＡＭ１１０の読出アドレス１１７の示すパケット１６４はデータテーブル１６１内で最後に記録された未送信データを含むパケットを示している。パケット１６４は未送信データを含むので、フラグは必ず０である。つまり。読出アドレス１１７の示すパケットからフラグが０のパケットを読み出すだけで、未送信データを残さず読み出すことができる。パケット１６３は、フラグが１であり、過去に一度は送信成功したパケットである。
【００４２】
リアルタイムクロック１３８は一定の周期でマイクロコンピュータ１００の割込制御部１０６に割込み信号を生成する。この周期は、シリアル通信のコマンドによって変更することができる。この割込み信号によって、マイクロコンピュータ１００ではセンシングプログラム１２２に記述されたセンシングの処理を、他の処理の実行状態に影響を受けることなく、一定の周期で開始することができる。
【００４３】
リアルタイムクロック１３８は、外部入力端子を持つことが望ましい。つまり、外部入力端子にボタンであるスイッチ１４１、１４２を接続することで、センサノード１のユーザによりボタンが押された場合にも同様にマイクロコンピュータ１００に割込みをかけることができる。これらの入力状態は、シリアル通信によってマイクロコンピュータ１００に読み出すことができ、ボタンの種類や、押されている長さを検知することができる。このスイッチ１４１、１４２の操作を利用して、パラメータ１１１の設定変更等を実行できる。
【００４４】
外部接続検出部１３２は、端子１７０の電源端子１７１が接続されたことを検出する。つまり、電源を有するＵＳＢを介した外部機器との接続を検出できる。接続が検出されると、外部接続検出部１３２はマイクロコンピュータ１００の割込制御部１０７に対し割込み信号を生成し、Ｉ／Ｏポート１０５に対しデジタル信号の１を出力する。また切断を検出した場合も割込み信号を生成し、Ｉ／Ｏポート１０５に対しデジタル信号の０を出力する。つまり、マイクロコンピュータ１００では、端子１７０への接続状態の変化を直ちに検出し、ＵＳＢ通信部１３３を介したＵＳＢ通信を開始、または停止できる。さらにマイクロコンピュータ１００からＩ／Ｏポート１０５の出力によりスイッチ１４４を制御することで、通信停止時には直ちにシリアル信号の通信線を遮断できる。これは、端子１７０が非接続時には、ＵＳＢ通信部１３３には電源が供給されないため、信号線を通じてマイクロコンピュータ１００からＵＳＢ通信部１３３に流れる電流漏れを抑える役割である。
【００４５】
ＵＳＢ通信部１３３はマイクロコンピュータ１００とのシリアル通信の信号を、ＵＳＢのデータ端子（送信、受信）１７２、１７３を介したＵＳＢ規格の信号に変換する。従って、マイクロコンピュータ１００の制御では、外部機器へ送信するデータのみをシリアル通信でＵＳＢ通信部１３３に送信するだけで、自動的にＵＳＢ規格のデータに変換し、外部機器に送信できる。また、ＵＳＢ通信部１３３の電源は電源端子１７１を介して外部機器からのみ供給されるため、ＵＳＢ接続時には余計な電力を消費しない。
【００４６】
電源切替部１４５はレギュレータ１４６に供給する電源を、ＵＳＢの非接続時には２次電池１４７から供給される電源とし、ＵＳＢ接続時には電源端子１７１を介して外部機器から供給される電源とで切替える。従って、ＵＳＢ接続時に有線通信を連続的に利用した場合においても、２次電池１４７を消費しない。グランド１４８は２次電池１４７に接続された回路の基準電圧となる点を示す。
【００４７】
図２は、本発明を適用したセンサノード１の外観を示す。図２においては、センサノード１のＵＳＢ接続用の端子１７０が、脈拍センサ１３７のある装着面とは異なる面に配置されることから、有線通信及び充電中もユーザが常時装着することができ、センシングを妨げないことを特徴とする。また、端子１７０が、装着面あるいはＬＣＤが存在する面に対して側面に配置されており、スイッチ１４１，１４２が覆われておらず操作可能であることから、有線接続中であってもＰＣ作業など人の日常作業を妨げないことを特徴とする。さらに、日常作業を妨げないことを考慮し、センサノードを左腕に装着した場合を想定すれば、端子１７０は左側の側面に存在するように配置することが望ましく、右腕に装着した場合を想定すれば、端子１７０は右側の側面に存在するように配置することが望ましい。センサノード１には、リストバンド２が両端に付随しており、典型的な腕時計と同様に腕に装着することができる。図２のバンド２の構造からもわかるように、装着時に脈拍センサ１３７を有する面がユーザの皮膚に接触する。脈拍センサ１３７は公知の光学式測定方式であり、赤外線を生体表面に照射し、血管の脈動による反射光の変化から脈拍を推定可能とする。つまり、脈拍センサ１３７はユーザの皮膚に接触していることが不可欠である。
【００４８】
端子１７０は脈拍センサ１３７のある装着面とは異なる側面にある。
【００４９】
ここで、装着面とは、センサノードを腕に装着した場合（皮膚に固定した場合）、皮膚と接触する面をいう。言い換えれば、図２のＬＣＤが存在する面の反対の面、又は、センサノードの表面とした場合の裏面である。また、側面とは、リストバンドが付随していない何れかの面を示す。
【００５０】
端子１７０はＵＳＢケーブルと対応しており、電源端子１７１、データ端子（送信、受信）１７２、１７３、グランド端子１７４によってＵＳＢに対応する外部機器と接続し、通信及び電源供給が可能である。また、リセット端子１７５とグランド端子１７４を短絡することにより、外部から内部の電源を遮断し、リセットをかけることができる。端子１７０は各電極のみが露出しており、防水加工も可能である。
【００５１】
また、ＬＣＤ１３４には、ユーザが常時見ることのできる時刻や電池残量、無線通信状態等を表示することができる。ＬＣＤ１３４にメニューを表示し、スイッチ１４１，１４２を操作することにより、センシングの間隔や、無線チャネル等の設定をユーザが変更することが可能である。また、スイッチ１４１、１４２が押されたことをトリガとして、通常とは異なるセンシングや無線通信の処理を実行することも可能である。
【００５２】
図３は本発明を適用したクレードル３の外観を示す。クレードルとは、センサノード本体に接続して固定可能な拡張機器であり、ＰＣとの通信、及びセンサノード１の充電を可能にする。図３においては、図２に示したセンサノード１の端子１７０に接触する端子３００〜３０４を有し、センサノード１の上部を覆う形状である。センサノード１と接続した場合においても、側部から延びるケーブル３０５と、ＵＳＢ接続端子３０７によって、ユーザの動作を妨げることなく、外部機器のＵＳＢポートに接続できることを特徴とする。クレードル２とセンサノード１は、ツメのような形状である固定部３０６によって固定するため、センサノード１を身に付けたユーザが動いたり、ケーブル３０５を引っ張った場合においても容易に外れることがない。また、ＬＣＤに接する上部は、ＬＣＤの内容を視認するのを妨げることがないように、中心部を窓状に開ける。
【００５３】
また、ケーブル３０５と反対側の側部においても、スイッチ１４１、１４２の操作を妨げることがないように、中心部を空けた形状とする。従って、クレードル３で接続中においても、センサノード１を身に付けたユーザは、センシングや様々な操作を妨げられることなく、日常動作を続けることができる。
【００５４】
図４は本発明を適用したクレードル３を、センサノード１と接続した場合の外観を示す。図４においては、図３で示したように、クレードル３が、リストバンド２によるユーザの装着、脈拍センサ１３７によるセンシング、スイッチ１４１，１４２の操作、ＬＣＤ１３４の表示を妨げることなく接続されることを特徴とする。また、クレードル３の寸法は、センサノード１と比べて１割程度大きいだけであり、ユーザへの負担は、センサノード１のみを装着する場合と変わらない。
【００５５】
図５は、図４に示したクレードル３を接続した状態のセンサノード１を身に付けた場合の外観を示している。図５においては、センサノード１にクレードル３をセットし、パーソナルコンピュータ５のＵＳＢポート７にＵＳＢ接続端子３０７を接続した状態で、有線通信または充電中においても、ＬＣＤ１３４に表示される現在時刻４０１や、脈拍センサ等でセンシングした波形４０２、センシング中を示す記号４０３等を視認できることを特徴とする。つまり、ユーザ１０からのセンサノード１の利用は、クレードル２を接続していても阻害されない。
【００５６】
図６は、センサノード１、センシングデータを受信可能な所定のパーソナルコンピュータ５、及びゲートウェイ５１０のブロック図である。図６においては、所定のパーソナルコンピュータ５において、センサノードから基地局に無線送信されるデータとセンサノードから有線送信されるデータを受信し、いずれのデータも同様に、データベース５０２に格納し、データ解析／表示部５０１にて処理可能であることを特徴とする。
【００５７】
パーソナルコンピュータ５は、ＵＳＢで通信可能な機器を接続するＵＳＢポート５０５、５０６を備え、ＵＳＢポート５０５、５０６を介してアプリケーションが通信することを容易にするＵＳＢドライバ５０４と、ＵＳＢドライバを介して受信したデータをデータベース５０２に記録し、必要があればデータ解析／表示部５０１に送信する無線／有線通信部５０３と、すべてのセンシングデータに時刻情報を付加して記録するデータベース５０２と、人の活動をセンシングしたデータを解析して、人の健康状態等を導き出し、ユーザに表示可能なデータ解析／表示部５０１から構成される。ケーブル３０５によって、センサノード１とパーソナルコンピュータ５が接続されると、センサノード１は通信開始要求を送信し、無線／有線通信部５０３はレスポンスを返すことにより、センサノード１側からデータを確実に送信できることを確認した上で、有線通信を開始する。
【００５８】
パーソナルコンピュータ５に、センサノードから基地局に無線送信されるデータを受信してデータを取り込むには、ゲートウェイ５１０をＵＳＢで接続する。ゲートウェイ５１０はアンテナ５２０を介して無線でセンサノード１と通信する無線通信部５１１と、受信したデータが圧縮データであれば解凍し、ＵＳＢ通信部５１３に送信するマイクロコンピュータ５１２と、マイクロコンピュータ５１２からシリアル通信にて受信したデータを、ＵＳＢ規格で外部機器に送信し、またはＵＳＢ規格で受信したデータをシリアル通信にて送信するＵＳＢ通信部５１３で構成される。
【００５９】
図７は、図１のＲＯＭ１２０に記録されたプログラム１２１に記述されるセンサノード１の処理のフローチャートを示しており、特に処理Ｐ１０１〜Ｐ１０５はセンシングプログラム１２２に記述され、処理Ｐ１１０は有線通信プログラム１２３に記述されている。Ｐ１０６はＲＡＭ１１０から読み出して、読出アドレス１１７と読出アドレス１１８が一致しているか判定し、Ｐ１０７は有線接続状態１１３から有線接続中であるか判定する。Ｐ１０８ではストレージ１６０からデータを読み出して無線送信し、Ｐ１１０では有線送信する。
【００６０】
図７においては、リアルタイムクロック１３８から信号を受けた割込制御部１０６からの割込みにより、他の処理Ｐ１０７〜１１０を実行中であっても、直ちに処理Ｐ１０１を実行し、常に一定の周期でセンシングできることを特徴とする。つまり、割込制御部からの割り込み信号を受けて、他の処理を中断してセンシングを実行する。言い換えれば、連続的なセンシングを阻害することなく、蓄積されるセンシングデータの送信を可能とする。また、図１２で説明するように、割り込み信号の発生タイミングと処理Ｐ１０２〜Ｐ１０５が重複しないように設定することにより、センシング、センシングデータの無線送信を確実に実行することができる。これにより、サーバはセンシングデータをリアルタイムに収集することが可能となる。
【００６１】
処理Ｐ１０１は、割込制御部１０６の割込みによって処理を開始し、加速度センサ１３５、温度センサ１３６、脈拍センサ１３７のいずれか、または複数でセンシングし、センシングしたデータをＲＡＭ１１０の送信バッファ１１５に記録する。処理完了後、処理Ｐ１０２に移行する。
【００６２】
処理Ｐ１０２は、送信用バッファ１１５にさらにセンシングしたデータを記録できる容量があるかを判定する。記録できない状態になった場合は処理Ｐ１０３に移行し、送信用バッファ１１５に記録されたデータを無線プロトコルに適合するパケットに変換して、所定のゲートウェイ５１０に無線送信する。このように、送信用バッファにセンシングデータを一時的に記録し、送信容量に達してから無線送信する。言い換えれば、複数回センシングしたあと、複数個のセンシングデータをまとめて送信する。これにより、無線送信による消費電力を大幅に削減することが可能となる。なお、１回のセンシングごとに無線送信することが可能であることはいうまでもない。
【００６３】
処理完了後、処理Ｐ１０４に移行する。無線送信の結果（成功、失敗等）を無線通信状態１１２に記録する。無線送信の結果の判定は、基地局から当該無線送信を受信したことを示す信号（ＡＣＫ）を受信するか否かにより判断することができる。記録できる容量が残っている場合には、処理Ｐ１０６に移行する。
【００６４】
処理Ｐ１０４は、無線送信したパケットのデータを公知の圧縮方式にて圧縮し、ストレージ用バッファ１１６に記録する。適用する圧縮方式は、マイクロコンピュータ１００のＣＰＵ１０１で処理を実行した場合に、リアルタイムクロック１３８が信号を生成する間隔よりも十分に短い処理時間であることが望ましい。これは、圧縮処理中のためにセンシングができないことを防ぐためである。
【００６５】
次に、処理Ｐ１０５は、ストレージ用バッファ１１６に１パケット容量分のデータが蓄積されていれば、ストレージ１６０に記録する。また、未送信データを含む場合にはフラグを０とし、それ以外は１として書き込む。ストレージ１６０における書き込み先の位置は、ＲＡＭ１１０の書込アドレス１１８を参照し、書き込み完了後、書込アドレス１１８を次のアドレスに更新する。また、読出アドレス１１７は、送信すべき未送信データのストレージ１６０の内部における位置を示すため、読出アドレス１１７と更新前の書込アドレス１１８が同じで、書込んだフラグが１の場合には、読出すべき未送信データがないことになる。そのため、同時に読出アドレス１１７も更新する。処理完了後、処理Ｐ１０６に移行する。
【００６６】
処理Ｐ１０６は、ＲＡＭ１１０に記録された読出アドレス１１７と書込アドレス１１８を比較する。アドレスが異なれば処理Ｐ１０７に移行し、同じであれば処理Ｐ１０９に移行する。つまり、未送信データを含むパケットがあるかを判定しており、読出アドレス１１７と書込アドレス１１８が同じであれば、ストレージ１６０に記録されたすべてのパケットが送信済みであると判断できる。
【００６７】
処理Ｐ１０７は、ＲＡＭ１１０の有線接続状態１１３を参照する。有線接続がＯＮであれば処理Ｐ１０８に移行し、ＯＦＦであれば処理Ｐ１１０に移行する。
【００６８】
処理Ｐ１０８は、未送信データを含むパケットを読み出して、パケットに対応するフラグが０であれば無線で送信する。送信が成功し、さらに未送信データを含むパケットがストレージ１６０に存在する場合は、読み出しと無線送信を繰りかえし実行する。読み出すパケットの位置はＲＡＭ１１０の読出アドレス１１７を参照する。処理Ｐ１０８は無線送信が失敗するか、ストレージ１６０に未送信データを含むパケットが存在しなくなった場合、処理Ｐ１０９に進む。また、処理Ｐ１０８の実行中に割込制御部１０６の割込みが入った場合、処理を中止して処理Ｐ１０１を開始する。
【００６９】
処理Ｐ１１０は、未送信データを含むパケットを読み出して、パケットに対応するフラグが０であれば有線で送信する。有線通信が可能であり、さらに未送信データを含むパケットがストレージ１６０に存在する場合は、読み出しと有線送信を繰り返し実行する。読み出すパケットの位置はＲＡＭ１１０の読出アドレス１１７を参照する。処理Ｐ１１０は有線送信ができないか、ストレージ１６０に未送信データを含むパケットが存在しなくなった場合、処理Ｐ１０９に進む。また、処理Ｐ１１０の実行中に割込制御部１０６の割込みが入った場合、処理を中止して処理Ｐ１０１を開始する。
【００７０】
処理Ｐ１０９は、マイクロコンピュータ１１０のクロックを停止して、低電力なスタンバイ状態にする。スタンバイ状態では割込制御部１０６、１０７からの割込みによって起動することができる。従って、必要な処理のない時間をスタンバイにし、処理に必要なタイミングのみ起動することで、消費電力を大幅に削減できる。ただし、ＲＡＭ１１０の有線接続状態１１３を参照し、ＯＮであれば外部から電源供給を受けているため、スタンバイにする必要はない。これは、電池１４７を消費しないからである。
【００７１】
なお、本実施例では、無線送信できなかったデータをセンサノードが自発的に送信する例について説明した。センサノードがサーバからコマンドをうけることにより、あるいは、センサノードのスイッチを介してユーザが指定することにより無線送信できなかったデータを送信することも可能である。また、本実施例では、無線送信できなかったデータを送信する例について説明したが、例えばサーバから無線送信に成功したデータの再送を要求された場合であっても、上述したフローと同様に、成功したデータを無線通信あるいは有線通信により送信できる。
【００７２】
図８は、図１のＲＯＭ１２０の有線通信プログラム１２３に記述される、有線接続状態を検出する処理のフローチャートを示している。図８においては、外部接続検出部１３２から信号を受けた割込制御部１０７の割込みによって、他の処理を中断して、ＲＡＭ１１０に記録された有線接続状態１１３及び有線通信状態１１４の値のみを直ちに切替えることを特徴とする。つまり、ＵＳＢの接続/非接続を検出して、外部機器とＵＳＢを介して接続されているか否か（有線接続状態）、および、外部機器とＵＳＢを介して接続されている上、相手の外部機器がデータを受け取れる状態か否か（有線通信状態）を判定して、その判定結果を記録することを特徴とする。従って、データを有線通信により送信する際に接続を検出する処理を行う必要がないため、ＵＳＢの接続を検出してから実際に有線通信を開始するまでの時間を短縮することができる。この結果、データを収集する一連の動作に必要な時間を短縮できる。
【００７３】
処理Ｐ２０１は、割込制御部１０７からの割込みによって開始し、処理Ｐ２０２は、ＲＡＭ１１０に記録されている有線接続状態１１３を参照する。有線接続中であれば処理Ｐ２０３に移行し、有線接続中でなければ処理Ｐ２１３に移行する。
【００７４】
処理Ｐ２０３は、Ｉ／Ｏポート１０５に入力される外部接続検出部の出力状態を参照し、外部電源が検出されている状態であれば処理Ｐ２０７に移行し（Ｙ）、外部電源が検出されていなければ処理Ｐ２０４に移行する（Ｎ）。
【００７５】
処理Ｐ２１３は、処理Ｐ２０３と同様にして、Ｉ／Ｏポート１０５に入力される外部接続検出部の出力状態を参照し、外部電源が検出されている状態であれば処理Ｐ２１４に移行し（Ｙ）、外部電源が検出されていなければ処理Ｐ２０６に移行する（Ｎ）。
【００７６】
処理Ｐ２０４は、Ｉ／Ｏポート１０５の出力を制御して、スイッチ１４４を制御して、ＵＳＢ通信部１３３とのシリアル通信の信号線を遮断し、電流リークを防止する。処理完了後、処理Ｐ２０５に移行する。
【００７７】
処理Ｐ２１４は、処理Ｐ２０４とは反対に、外部電源検出後に、Ｉ／Ｏポート１０５の出力を制御して、スイッチ１４４を制御して、ＵＳＢ通信部１３３とのシリアル通信の信号線を接続し、通信可能な状態にする。処理完了後、処理Ｐ２１５に移行する。
【００７８】
処理Ｐ２０５は、マイクロコンピュータ１００のクロック周波数を低速状態にする。これは、ＵＳＢ非接続で、内部の２次電池１４７から電力を供給する場合に、消費電力を下げるためである。処理完了後、処理Ｐ２０６に移行する。
【００７９】
処理Ｐ２１５は、マイクロコンピュータ１００のクロック周波数を高速状態にする。これは、ＵＳＢ接続で、外部機器から電力を供給する場合には、内部の２次電池１４７の消費を無視できるため、通信速度を最大化するためである。処理完了後、処理Ｐ２１６に移行する。
【００８０】
処理Ｐ２１６は、ＲＡＭ１１０の有線接続状態１１３にＯＮを書き込み、処理Ｐ２０７に移行する。
【００８１】
処理Ｐ２１７は、ＲＡＭ１１０の有線接続状態１１３と有線通信状態１１４にＯＦＦを書き込み、処理Ｐ２０７に移行する。
【００８２】
処理Ｐ２０７では、処理Ｐ２０１開始前の中断している処理に戻る。
【００８３】
図９は、図７の処理Ｐ１１０を詳細に示しており、ストレージ１６０に記録されたデータを読出して有線送信する処理である。図９においては、未送信データを含むパケットがストレージ１６０に存在する場合、リアルタイムクロック１３８から信号を受けて割込制御部１０６から割込みがかかるか、ＵＳＢが切断されるまで、データを読み出して有線送信する処理を連続して繰り返すことを特徴とする。つまり、センシングのタイミングに影響を与えることなく、可能な限り高速にデータを有線送信することができる。
【００８４】
処理Ｐ３０１からストレージデータ有線送信処理を開始し、処理Ｐ３０２に移行する。
【００８５】
処理Ｐ３０２は、ＲＡＭ１１０の有線通信状態１１４を参照し、ＯＮであれば処理Ｐ３０６に移行し、データの読出しを開始する。ＯＦＦであれば処理Ｐ３０３に移行する。
【００８６】
処理Ｐ３０３は、通信開始要求を有線送信し、処理Ｐ３０４まで接続相手となる外部機器からのレスポンスを待つ。これは、たとえＵＳＢが接続されていても、相手となる外部機器が所定の受信動作をするパーソナルコンピュータ５でないと、正しく受信することができない可能性があるためである。
【００８７】
処理Ｐ３０４は、通信開始要求のレスポンスがある場合にのみ有線通信を開始するため、処理Ｐ３０５に移行する。従って、データを受信できない外部機器にデータを送信することはなく所定のパーソナルコンピュータ５にのみデータを送信できるため、無駄にデータ送信することを回避できる。これにより、収集すべきデータを欠損することがない。レスポンスがない場合には、処理Ｐ３１３に移行し、ＲＡＭ１１０の有線通信状態１１４をＯＦＦに書き換え、ストレージデータ有線送信処理を完了する（Ｐ３１２）。
【００８８】
処理Ｐ３０５は、ＲＡＭ１１０の有線通信状態１１４にＯＮを書き込み、処理Ｐ３０６に移行してデータの読出しを開始する。
【００８９】
処理Ｐ３０６は、ストレージ１６０から未送信データを含むパケットを読み出す。ＲＡＭ１１０の読出アドレス１１７を参照し、対応フラグが０のパケットのみを読み出し、処理Ｐ３０７に移行する。
【００９０】
処理Ｐ３０７は、ＤＭＡＣ１０２を制御し、次のパケットの読出しを開始する。処理Ｐ３０８に移行して有線送信を開始する前に、次のパケットの読み出しを開始することにより、有線送信とパケットの読み出しを同時に実行する。有線送信がパケットの読み出し完了待ちに律速されることがないため、データの送信速度を最大化することができる。
【００９１】
処理Ｐ３０９は、処理Ｐ３０８完了後にＲＡＭ１１０の有線接続状態１１３を参照する。途中で接続が切断されていれば、図７に示される割込み処理によって、有線接続状態１１３にＯＦＦを書き換えられているため、検出することができる。有線接続状態１１３がＯＮであれば、処理Ｐ３１０にて読出アドレス１１７を更新して、処理Ｐ３１１に移行する。ＯＦＦであれば、処理Ｐ３１２に移行してストレージデータ有線送信処理を完了する。
【００９２】
処理Ｐ３１１では、ＲＡＭ１１０の読出アドレス１１７と書込アドレス１１８を参照して、同じであればストレージ１６０に未送信データがないと見なして、処理Ｐ３１２に移行してストレージデータ有線送信処理を完了する。異なる場合には、処理Ｐ３０７に移行して次のデータの読出しを開始する。
【００９３】
図１０は、図７の処理Ｐ１０８を詳細に示しており、ストレージ１６０に記録されたデータを読出して無線送信する処理である。図１０においては、未送信データを含むパケットがストレージ１６０に存在する場合、リアルタイムクロック１３８から信号を受けて割込制御部１０６から割込みがかかるか、無線送信が失敗するまで、データを読み出して無線送信する処理を連続して繰り返すことを特徴とする。つまり、センシングのタイミングに影響を与えることなく、可能な限り高速にデータを無線送信することができる。
【００９４】
処理Ｐ４０１からストレージデータ無線送信処理を開始して処理Ｐ４０２に移行し、ＲＡＭ１１０の無線通信状態１１２を参照する。無線通信状態１１２が成功であれば処理Ｐ４０３に移行し、ストレージから未送信データを含むパケットを読み出す。読出し位置は、ＲＡＭ１１０の読出アドレス１１７を参照し、対応するフラグが０のパケットのみを読み出す。処理完了後、処理Ｐ４０４に移行する。また、無線通信状態１１２が失敗であれば、処理Ｐ４０８に移行してストレージデータ無線送信処理を完了する。
【００９５】
処理Ｐ４０４は、処理Ｐ４０３で読出したパケットを無線送信する。送信完了後、処理Ｐ４０５に移行して送信に対するレスポンスである基地局からのＡＣＫの受信を待ち、ＡＣＫを受信した場合は処理Ｐ４０６に移行して、ＲＡＭ１１０の読出アドレス１１７を対応するフラグが０である次のパケットの位置まで進め、処理Ｐ４０７に移行する。ＡＣＫを受信できなかった場合には、処理Ｐ４０８に移行して、ストレージデータ無線送信処理を完了する。
【００９６】
処理Ｐ４０７は、ＲＡＭ１１０の読出アドレス１１７と書込アドレス１１８を参照して比較する。アドレスが異なれば、処理Ｐ４０３に移行してストレージから次のデータを読出し、同じであれば処理Ｐ４０８に移行して、ストレージデータ無線送信処理を完了する。
【００９７】
図１１は、センサノード１とパーソナルコンピュータ５が有線通信する際の通信フローを示している。図１１においては、センサノード１とパーソナルコンピュータ５の間で、通常のＵＳＢ機器と同様の接続処理を実行するだけでなく、独自の通信開始要求を交わすことによって、確実にパーソナルコンピュータ５の所定のアプリケーションにデータを送信できることを特徴とする。
【００９８】
センサノード１とパーソナルコンピュータ５をステップ６０１にてＵＳＢを介して接続すると、パーソナルコンピュータ５のＵＳＢドライバ５０４が、センサノード１のＵＳＢ通信部１３３を認識する（ステップ６０２）。次にセンサノード１がＵＳＢを介してパーソナルコンピュータ５から電源供給されることをトリガとして、外部接続検出部１３２からマイクロコンピュータ１００に信号が送られ、マイクロコンピュータ１００で割込みがかかる（ステップ６０３）。マイクロコンピュータ１００は割込みをトリガとして、ＵＳＢ通信部１３３に通信開始要求をシリアル通信にて送信する（ステップ６０４）。通信開始要求はステップ６０５にてパーソナルコンピュータ５のＵＳＢドライバ５０４に転送され、さらにステップ６０６にて無線／有線通信部５０３に転送される。無線／有線通信部５０３はステップ６０６の通信開始要求を受信すると、レスポンスを送信する（ステップ６０７）。レスポンスはステップ６０８にてＵＳＢドライバ５０４からセンサノード１のＵＳＢ通信部１３３に転送され、ステップ６０９にてマイクロコンピュータ１００に転送される。この結果、マイクロコンピュータ１００では、データを確実に有線通信可能であると判定できる。また、レスポンスがない場合は、一定周期（例えば１秒周期）で通信開始要求を再送する。従って、ＰＣ側で有線通信可能になった場合、直ちに通信を開始できる。
【００９９】
マイクロコンピュータ１００は、通信可能状態と判定すると、ステップ６１０にてストレージ１６０に読出し位置を指定した読出しコマンドを送信し、次にステップ６１１にてパケットの読出しを開始する。ステップ６１２でマイクロコンピュータ１００はＤＭＡＣ１０２を制御し、次のパケットの読出コマンドを送信し、ステップ６１３にて読出しを開始する。ステップ６１３の読出しはＤＭＡＣ１０２によって実行され、マイクロコンピュータ１００は同時にステップ６１１で読出したパケットをＵＳＢ通信部１３３に送信開始する（ステップ６１４）。ＵＳＢ通信部１３３で受信したパケットはステップ６１５にてパーソナルコンピュータ５のＵＳＢドライバ５０４に転送され、ステップ６１６にて無線／優先通信部５０３に転送される。ストレージ１６０に未送信データを含むパケットが存在し、ＵＳＢが切断されていない場合は、同様にステップ６１７〜６２１にてデータの有線送信を繰り返し実行する。この結果、無線／優先通信部５０３はセンサノード１でセンシングしたデータを受信することができ、データベース５０２への記録や、さらに所定のアプリケーションに転送することも可能になる。
【０１００】
図１２〜１４は、リアルタイムクロック１３８の割込み信号７０１、２次電池１４７から流れる電流７０２、パーソナルコンピュータ５で受信するデータの信号７０３を同じ時系列で示している。図１２〜１４においては、有線通信にてセンサノード１からデータを送信した場合の、電力消費、及び通信速度についての優位な特徴を示している。
【０１０１】
図１２は、加速度センサ１３５によって２０ヘルツの頻度でセンシングし、センシングした３軸加速度データ（各１バイト）をＲＡＭ１１０の送信用バッファ１１５に最大限記録したのちに無線送信した場合を例示している。ただし、ストレージ１６０に未送信データがないものとしている。これらの条件では無線送信は１秒周期となる。
【０１０２】
リアルタイムクロック１３８からの割込み信号７０１は、２０ヘルツの頻度、即ち５０ミリ秒周期で生成される。１回のセンシング（Ｐ１０１）に要する時間は、拡大表示７１０に示されるように、典型的には１ミリ秒以下で可能である。一方で拡大表示７２０に示されるように、無線送信（Ｐ１０３）は、ＩＥＥＥ８０２．１５．４に従うと、典型的には１００バイトの１パケットあたり１０ミリ秒程度を要する。同じタイミングで、センシング（Ｐ１０１）と圧縮（Ｐ１０４）とストレージ１６０への書込み（Ｐ１０５）を実行すると、典型的には１５ミリ秒を要する。これは、送信周期の１秒に対して十分に小さい。従って、消費する電流は平均すると１ミリアンペア以下となり、典型的な小型の２次電池でも数日は動作することができる。７０３は無線送信されたデータを示す信号であり、基地局で受信し、基地局からＰＣに送信され、ＰＣで受信した信号である。
【０１０３】
図１３は、図１２と同様であるが、ストレージ１６０に未送信データを含む場合を例示している。この場合、無線送信が可能な環境においては、ストレージ１６０の未送信データを含むパケットをすべて送信し終わるまで連続で読み出して送信するため、この間の電流７０２は平均して１０ミリアンペア以上となる。これは図１２の場合と比較して一桁以上大きいため、電池寿命への影響が大きい。また、拡大表示７３０に示すように、未送信データを含むパケットをストレージ１６０からの読出し（処理４０３）、無線送信（処理４０４）するのに１２ミリ秒程度を要する。したがって、１パケットの最短無線送信周期は１２ミリ秒に制限される。
【０１０４】
図１４は、図１３と同様であるが、ＵＳＢでゲートウェイ１とパーソナルコンピュータ５を接続した場合を例示しており、図１２、１３とは異なり外部電源からの電流７０４も示している。ＵＳＢ接続時には、外部電源からの電流７０４が供給されるため、内部の２次電池１４７からの電流７０２は消費しない。従って、図１３に示したストレージ１６０からの未送信データを含むパケットの読出し、及び送信に伴う電流の消費は問題にならない。
【０１０５】
図１５に示す図１４からの拡大表示７４０では、ストレージ１６０からの読出しと、ストレージ用バッファ１１６への格納、ＵＳＢ通信部１３３からの送信について詳細に示している。図１５においては、ＤＭＡＣ１０２を利用することによって、ストレージ１６０からのデータ読出しとＵＳＢ通信部１３３からの送信を並行して実行することが可能になり、ＵＳＢ通信がデータの読み出しを待つ必要がないため、通信速度を最大化している。この結果、ＵＳＢの通信速度を１メガビット／秒とし、ストレージ１６０とマイクロコンピュータ１００のシリアル通信クロックを１メガヘルツ以上という典型的な値に設定すると、１パケットの送信周期は１．５ミリ秒程度にまで短縮できる。これは、図１３において説明した無線通信を利用した場合と比較して約１／８に短縮できる。
【０１０６】
図１６は、無線パケット８００と有線パケット８１０の構造を示している。図１６においては、有線パケットは可変長である圧縮データを、想定される最大の長さで固定して送信することを特徴としている。これは、ストレージ１６０からデータを読出してＵＳＢ通信部１３３に転送する処理を、ＤＭＡＣ１０２を利用して実行する場合においては、長さの情報を読出して転送するデータ長を調整する処理を省いた方が高速に処理できるからである。また、固定長にして送信データ量が増加することに伴う送信時間の増加は、データ長を調整する処理の時間と比較して十分に小さいため、結果的に毎回固定長で読み出した方が高速である。
【０１０７】
また、有線パケット８１０に付加されるヘッダ部（例えば、プリアンブル８１１と同期８１２）は、無線パケットに付加されるヘッダ部（例えば、ＰＨＹヘッダ８０１とＭＡＣヘッダ８０２）と比較して半分以下の長さであり、実質的に送信するデータ量は削減できる。
【０１０８】
図１７は、図１に示したブロック図における電源切替部１４５の詳細な構成について示す。電源切替部１４５では、外部電源が接続されていない状態では、スイッチ１９１を２次電池１４７とレギュレータ１４６の接続状態にする。さらに、ダイオード１９２、１９３により２次電池１４７からの電流リークを防ぐ。外部電源を接続すると、スイッチ１９１を遮断し、ダイオード１９３を通して外部電源からレギュレータ１４６に電力を供給する。
【０１０９】
図１８は、センサノード１からセンシングデータを収集して、解析するセンサネットワークシステムについて示す。図１８においては、センサノード１を身に付けたユーザ１０は、無線または有線通信によってデータをパーソナルコンピュータ５に収集し、さらにインターネット５６０を介して、複数のユーザの情報を管理するサーバ５５０で収集することを特徴とする。
【０１１０】
なお、Ｐ１０３により無線送信されるセンシングデータを受信する基地局と、Ｐ１０８により無線送信されるストレージデータを受信する基地局は、同一であっても異なっていてもよい。また、基地局と有線接続されるＰＣと、センサノードと有線接続されるＰＣは、同一であっても異なっていてもよい。
【０１１１】
サーバ５５０は、複数のユーザのセンシングデータ５５２を記録するデータベース５５１と、データベース５５１から任意の情報を読出して解析し、健康状態等を導き出すデータ解析部５５３と、解析結果やデータベース５５１の情報をユーザに表示可能なデータ表示部５５４から構成される。データ表示部５５４の生成する表示画面は、インターネット５６０を介して、ユーザのパーソナルコンピュータ５から一般的なウェブブラウザ等を介して閲覧することができる。
【０１１２】
図１９は、ＵＳＢ非接続時におけるセンサノード１のＬＣＤ１３４の表示について示している。ユーザ１０はセンサノード１を装着中に、センシングデータの波形表示４０２、時刻情報４０３、無線電波状態４０４、電池残量４０５、メモリ残量４０６を確認することができる。モード表示４０１は、現在実行中のモードを表しており、図１９では脈拍測定中を示している。
【０１１３】
無線電波状態４０４は、即ち無線送信の結果を示しており、ＲＡＭ１１０の無線通信状態１１２に基づいて表示される。また、無線通信を全く使わない場合には表示されない。
【０１１４】
電池残量４０５は、電圧検出部１４０によって検出される２次電池１４７の電圧を、Ａ／Ｄコンバータ１０４でデジタル値に変換した値に基づいて表示される。これにより、ユーザ１０はＵＳＢ接続によって充電が必要なタイミングを知ることができる。
【０１１５】
メモリ残量４０６は、ストレージ１６０に記録可能な未送信データの量を示しており、ＲＡＭ１１０の読出アドレス１１７と書込アドレス１１８の差に基づいて表示される。これにより、ユーザ１０は無線または有線通信ができない環境において、ストレージ１６０に未送信データを記録できる時間を推定することができる。
【０１１６】
図２０は、ＵＳＢ接続時におけるセンサノード１のＬＣＤ１３４の表示について示している。ユーザ１０はセンサノード１を装着中に、センシングデータの波形表示４０２、時刻情報４０３、ＵＳＢ通信状態４０７、給電状態４０８、メモリ残量４０６を確認することができる。
【０１１７】
ＵＳＢ通信状態４０７は、ＵＳＢを介して有線送信中であることを示しており、ＲＡＭ１１０の有線通信状態１１４に基づいて表示される。
【０１１８】
給電状態４０８は、ＵＳＢを介して外部から電源が供給されていることを示しており、ＲＡＭ１１０の有線接続状態１１３に基づいて表示される。
【０１１９】
図２１は、第２の実施例であり、本発明を適用したセンサノード１のブロック図を示す。図２１においては、図１のブロック図の構成に加え、ストレージ１６０に適用する大容量のフラッシュメモリ等と異なり、バイト単位で書き換え可能で書き換え寿命の長いＥＥＰＲＯＭ１８０を備えており、ＲＡＭ１１０に記録した情報をバックアップできることを特徴とする。
【０１２０】
これにより、２次電池１４７の電圧低下に伴いＲＡＭ１１０の情報が消えた場合においても、充電後にバックアップした情報をＥＥＰＲＯＭ１８０から読出して復旧することができる。これらのバックアップはフラッシュメモリ等を適用するストレージ１６０に記録することができるが、大容量のフラッシュメモリは書き換え単位が大きく、書き換え寿命が短いことから、小容量のデータを頻繁に書き換える用途には適さない。
【０１２１】
本構成では、ＥＥＰＲＯＭ１８０にパラメータ１１１と、読出アドレス１１７と、書込アドレス１１８をバックアップする。読出アドレス１１７と書込アドレス１１８が保持されない場合、ストレージ１６０の全データから、未送信データを含むパケットや記録した順序を探索する必要がある。従って、ＥＥＰＲＯＭ１８０の追加によって、センサノード１の電池切れ後の起動時間を大幅に短縮できる。
【０１２２】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものでなく、種々変形実施可能であり、上述した各実施形態を適宜組み合わせることが可能であることは、当業者に理解されよう。
【産業上の利用可能性】
【０１２３】
本発明によれば、一定周期で生体情報の測定とセンシングデータの記録を行い続けることができるので、ユーザの健康状態や生活行動履歴などを把握するために、連続的なセンシングデータの取得を要求されるセンサノードに適用することができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の一実施形態であるセンサノードのブロック図の一例。
【図２】本発明の一実施形態であるセンサノードの外観図の一例。
【図３】本発明の一実施形態であるセンサノードと有線接続するクレードルの外観図の一例。
【図４】本発明の一実施形態であるセンサノードにクレードルを装着した外観図の一例。
【図５】本発明の一実施形態であるセンサノードにクレードルを装着し、センシングする外観図の一例。
【図６】本発明の一実施形態であるセンサノード、パーソナルコンピュータ、及びゲートウェイのブロック図の一例。
【図７】本発明の一実施形態であるセンサノードの基本動作のフローチャートの一例。
【図８】本発明の一実施形態であるセンサノードの有線接続の切替処理のフローチャートの一例。
【図９】本発明の一実施形態であるセンサノードにおけるストレージからデータを読み出して有線送信する処理のフローチャートの一例。
【図１０】本発明の一実施形態であるセンサノードにおけるストレージからデータを読み出して無線送信する処理のフローチャートの一例。
【図１１】本発明の一実施形態であるセンサノードとパーソナルコンピュータ間で有線通信する場合の通信フローを示す図の一例。
【図１２】本発明の一実施形態であるセンサノードで、ストレージに未送信データがない場合の動作における消費電流、及び通信の時間変化を示す図の一例。
【図１３】本発明の一実施形態であるセンサノードで、ストレージに未送信データがある場合で、有線非接続時の動作における消費電流、及び通信の時間変化を示す図の一例。
【図１４】本発明の一実施形態であるセンサノードで、ストレージに未送信データがある場合で、有線接続時の動作における消費電流、及び通信の時間変化を示す図の一例。
【図１５】本発明の一実施形態であるセンサノードで、ストレージに未送信データがある場合における有線通信の詳細を示す図の一例。
【図１６】本発明の一実施形態であるセンサノードにおける、有線及び無線パケットの構造を示す図の一例。
【図１７】本発明の一実施形態であるセンサノードにおける、電源切替部の構成の詳細を示す図の一例。
【図１８】本発明の一実施形態であるセンサネットワークシステムの構成を示す図の一例。
【図１９】本発明の一実施形態であるセンサノードにおける、有線非接続時のＬＣＤ表示の一例。
【図２０】本発明の一実施形態であるセンサノードにおける、有線接続時のＬＣＤ表示の一例。
【図２１】本発明の一実施形態であるセンサノードのブロック図の一例。
【符号の説明】
【０１２５】
１  センサノード
２  リストバンド
３  クレードル
５  パーソナルコンピュータ
１０１  中央演算部
１０２  ダイレクトメモリアクセスコントローラ
１３８  リアルタイムクロック
１４１〜１４４、１９１  スイッチ
１４５  電源切替部
１４６  レギュレータ
１５０  アンテナ
１９２、１９３  ダイオード
３００〜３０４  ＵＳＢ端子
３０５  ＵＳＢケーブル
３０６  ＵＳＢ端子
５０２  データベース
【図１】
2010004903.tif 000003
【図２】
2010004903.tif 000004
【図３】
2010004903.tif 000005
【図４】
2010004903.tif 000006
【図５】
2010004903.tif 000007
【図６】
2010004903.tif 000008
【図７】
2010004903.tif 000009
【図８】
2010004903.tif 000010
【図９】
2010004903.tif 000011
【図１０】
2010004903.tif 000012
【図１１】
2010004903.tif 000013
【図１２】
2010004903.tif 000014
【図１３】
2010004903.tif 000015
【図１４】
2010004903.tif 000016
【図１５】
2010004903.tif 000017
【図１６】
2010004903.tif 000018
【図１７】
2010004903.tif 000019
【図１８】
2010004903.tif 000020
【図１９】
2010004903.tif 000021
【図２０】
2010004903.tif 000022
【図２１】
2010004903.tif 000023