(57)【要約】【課題】  センサノードがネットワークの切り替えに伴って、様々なアプリケーションを切り替えて処理し、体重計等の機器から得られるデータを、センシングデータと同様に、所定のモニタＰＣへ無線送信するセンサノードおよびセンサネットワークシステムを提供する。【解決手段】  本発明のセンサノードは、生体情報を測定するセンサと、データを送信する無線通信部とを備えたセンサノードであって、無線通信部を駆動して異なる無線機器と通信する複数の固有プログラムと、固有プログラムに依存せずにセンサを駆動して測定する共有プログラムと、データを記録する不揮発記憶部とを更に備えて成ることを特徴とする。【選択図】  図１
2009065306.tif 000002
【特許請求の範囲】
【請求項１】
生体情報を測定するセンサと、データを送信する無線通信部とを備えたセンサノードであって、
前記無線通信部を駆動して異なる無線機器と通信する複数の固有プログラムと、
前記固有プログラムに依存せずにセンサを駆動して測定する共有プログラムと、
前記データを記録する不揮発記憶部と
を更に備えて成ることを特徴とするセンサノード。
【請求項２】
請求項１において、
前記固有プログラムに、それぞれ対応する無線機器と通信する際に、前記無線通信部を駆動するのに必要なネットワーク情報を、個別に備えることを特徴とするセンサノード。
【請求項３】
請求項１において、
通信する無線機器を切り替える際に、前記固有プログラムに備えたネットワーク情報を切り替えて前記無線通信部を制御することを特徴とするセンサノード。
【請求項４】
請求項１において、
通信する無線機器に対応して、前記固有プログラムを切り替えて処理することを特徴とするセンサノード。
【請求項５】
請求項１において、
前記固有プログラムの通信により得られたデータと、前記センサで測定したデータを前記不揮発記憶部にすべて記録することを特徴とするセンサノード。
【請求項６】
請求項１において、
前記データを記録する際に、送信単位であるパケット毎に、送信が必要な相手無線機器に送信済みか、未送信かを識別するフラグを付けて管理することを特徴とするセンサノード。
【請求項７】
請求項１において、
前記データを収集するための所定の無線機器と通信可能な場合、前記不揮発記憶部から前記データを読み出して送信することを特徴とするセンサノード。
【請求項８】
請求項１において、
前記不揮発記憶部からデータを読み出す際に、初めにフラグのみを読み出した後、未送信データのみを判別して読み出すことを特徴とするセンサノード。
【請求項９】
請求項１において、
リアルタイムクロックの割り込みで処理を開始し、空き時間は処理を停止する間欠動作を行うことを特徴とするセンサノード。
【請求項１０】
請求項１において、
リアルタイムクロックの割り込みで前記固有プログラムの処理を一時中断すると共に、前記共有プログラムで前記センサを駆動して前記データを取り込むことを特徴とするセンサノード。
【請求項１１】
請求項１において、
ボタンをトリガとして、前記ネットワーク情報と前記固有プログラムとを切り替えることを特徴とするセンサノード。
【請求項１２】
センサノードと、前記センサノードと無線通信可能に構成された基地局とを含んで成るセンサネットワークシステムであって、
前記センサノードは、生体情報を測定するセンサと、データを送信する無線通信部とを備え、
前記無線通信部を駆動して異なる無線機器と通信する複数の固有プログラムと、前記固有プログラムに依存せずにセンサを駆動して測定する共有プログラムと、前記データを記録する不揮発記憶部とを更に備えて成る
ことを特徴とするセンサネットワークシステム。
【請求項１３】
請求項１２において、
前記固有プログラムに、それぞれ対応する無線機器と通信する際に、前記無線通信部を駆動するのに必要なネットワーク情報を、個別に備えることを特徴とするセンサネットワークシステム。
【請求項１４】
請求項１２において、
通信する無線機器を切り替える際に、前記固有プログラムに備えたネットワーク情報を切り替えて前記無線通信部を制御することを特徴とするセンサネットワークシステム。
【請求項１５】
請求項１２において、
通信する無線機器に対応して、前記固有プログラムを切り替えて処理することを特徴とするセンサネットワークシステム。
【請求項１６】
請求項１２において、
前記固有プログラムの通信により得られたデータと、前記センサで測定したデータを前記不揮発記憶部にすべて記録することを特徴とするセンサネットワークシステム。
【請求項１７】
請求項１２において、
前記データを記録する際に、送信単位であるパケット毎に、送信が必要な相手無線機器に送信済みか、未送信かを識別するフラグを付けて管理することを特徴とするセンサネットワークシステム。
【請求項１８】
請求項１２において、
前記データを収集するための所定の無線機器と通信可能な場合、前記不揮発記憶部から前記データを読み出して送信することを特徴とするセンサネットワークシステム。
【請求項１９】
請求項１２において、
前記不揮発記憶部からデータを読み出す際に、初めにフラグのみを読み出した後、未送信データのみを判別して読み出すことを特徴とするセンサネットワークシステム。
【請求項２０】
請求項１２において、
リアルタイムクロックの割り込みで処理を開始し、空き時間は処理を停止する間欠動作を行うことを特徴とするセンサネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動可能な小型の無線機能付きセンサ端末などに用いられる、無線及びセンサの制御技術に関する。
【背景技術】
【０００２】
非特許文献１では、Ｍｏｔｅと呼ばれる、小型のセンサノードが紹介されている。このセンサノードでは、センシングや無線通信が必要なタイミングでのみ起動し、それ以外では電源を切って消費電力を削減する間欠動作により、小型の内蔵電池で長時間動作しながら、直径３ｃｍと小型であり、人が身に付けることも容易である。
【０００３】
また、非特許文献２には、センサノード等の無線端末で用いられる無線規格が開示されている。この規格は、伝送速度や通信距離を抑える代わりに、消費電力の低い無線規格となっている。  特許文献１は、移動したセンサノードが無線圏外になると、センサのデータを内蔵メモリに蓄えて、無線圏内に移動した時点で蓄えたデータを送信するという方法を開示している。
【０００４】
特許文献２は、このような移動する無線機器において、複数のネットワーク情報を予め無線端末の不揮発メモリに記録し、移動後にそれを手動で、又は自動で判断して選択することによって、ネットワーク加入のプロセスを省略してネットワークの切り替えを容易にする方法を開示している。
【０００５】
特許文献３は、ボタンや電源投入等による外部トリガに応じてネットワークを切り替えるだけでなく、切り替えた接続先に応じて、予め設定した任意のプログラムに従って動作する制御方法を開示している。
【０００６】
特許文献４は、ネットワークを切り替える際に元のネットワーク情報をメモリに記録しておき、新たな接続先との通信を試みた後に元のネットワークに自動的に復帰するネットワーク装置について開示している。
【０００７】
特許文献５は、特許文献３および４と同様の技術を開示している。
【０００８】
【特許文献１】特開２００７−１８４７５４号公報
【特許文献２】特開２００５−０２０１１２号公報
【特許文献３】特開２００６−１０９０７６号公報
【特許文献４】特開２００５−０７９８９６号公報
【特許文献５】特開２００６−１０１４１６号公報
【非特許文献１】「無線センサネットワークＭＯＴＥ−２００７」カタログ、クロスボー株式会社、「平成１９年５月１日検索」、インターネット＜ＵＲＬ：http://www.xbow.jp/mote2dot.pdf＞
【非特許文献２】「ＩＥＥＥ  Ｓｔａｎｄａｒｄｓ  ８０２．１５．４」仕様書、ＩＥＥＥ、「平成１９年８月２０日検索」、インターネット＜ＵＲＬ：http://standards.ieee.org/getieee802/download/802.15.4-2003.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
近年、小型で電池を内蔵した、無線機能付センサ端末（センサノード）が開発されている。センサノードは、屋内外の建造物等に設置され、温度、湿度等の環境情報の測定に利用されている。さらに、小型化が進んだことにより、人が日常生活において負荷なく身に付けることも可能となり、動きや居場所の検知等に応用されている。
【００１０】
例えば非特許文献１では、Ｍｏｔｅと呼ばれる、小型のセンサノードが紹介されている。このセンサノードでは、センシングや無線通信が必要なタイミングでのみ起動し、それ以外では電源を切って消費電力を削減する間欠動作により、小型の内蔵電池で長時間動作しながら、直径３ｃｍと小型であり、人が身に付けることも容易である。
【００１１】
このセンサノードを人が身につけて、例えば加速度センサで人の動きを常時測定し、記録することで、日常生活における歩行等の動作や姿勢等の状態を判定することができる。これを応用して、ユーザの健康状態をモニタするセンサネットシステムを構築するためには、典型的には、センサは１秒当たり数十回にわたって測定（センシング）する。また、このセンシングデータを蓄積、及び解析するために、典型的には、ユーザのパーソナルコンピュータ（ＰＣ）に接続された基地局（ゲートウェイ）にセンシングデータを送信し、収集することを基本動作としている。
【００１２】
このようなセンサノード等の無線端末では、例えばＩＥＥＥ８０２．１５．４（非特許文献２）のように、伝送速度や通信距離を抑える代わりに、消費電力の低い無線規格が用いられている。ＩＥＥＥ８０２．１５．４の通信距離は、典型的には５０メートル程度であるため、センサノードを人が身に付けている場合には、１つの基地局が管理するネットワークの無線通信範囲から離れることが容易に想定される。このため、複数の基地局間の移動をサポートする仕組みとして、アソシエーション（加入）とディスアソシエーション（離脱）というプロセスが規定されている。アソシエーションのプロセスでは、ネットワークの探索、アソシエーション要求の送信、応答の受信等で構成される。アソシエーションの応答では、基地局からセンサノードに２バイトのＳｈｏｒｔＡｄｄｒｅｓｓが割り当てられる。ＳｈｏｒｔＡｄｄｒｅｓｓとは、すべての機器で固有な８バイトのＭａｃＡｄｄｒｅｓｓが製造時に割り当てられるのに対し、そのネットワーク内でのみ固有なＩＤであり、送信するパケットに付加して、送信元の判別に用いられる。ここで、ＳｈｏｒｔＡｄｄｒｅｓｓを付加することにより、ＭａｃＡｄｄｒｅｓｓを付加する場合と比べ、送信するデータ容量を抑え、送信に必要な消費電力を削減している。これにより、人が移動した場合にも、データを無線で収集することを実現している。
【００１３】
一方で、上記のセンサノードでは測定できない、体重や血圧等も健康状態を知るのに不可欠である。これらの値を日常生活の中で記録し続けるために、家庭や病院、スポーツジム等の外出先で使用する測定機器や運動機器に無線機能があり、測定データをモニタ用のＰＣ等で容易に取り込めることが望ましい。これを実現するには、上記のセンサノード上で、ネットワークを一時的に切り替えると同時に、通信するアプリケーションもネットワークにある無線機器に合わせて切り替える方法がある。
【００１４】
しかしながら、ネットワークの切り替えに伴うアソシエーションを頻繁に繰り返すと、無線の送受信の処理が毎回必要になり、余計に電力を消費し、電池寿命が短くなっていた。無線ＬＡＮ（ＩＥＥＥ８０２．１１）においては、特許文献２で開示されている方法により、予めメモリに記録したネットワーク情報に切り替えることで、アソシエーションのプロセスが不要となり、この間の消費電力を削減できる方法を開示している。
【００１５】
しかしながら、第１の課題として、上記の方法でネットワークを切り替えることができても、センサノードの様々なアプリケーションで受信したデータを、センシングの場合と同様に、所定のモニタＰＣに収集することができない。例えば、特許文献２と特許文献４に開示された方法により、ネットワークを切り替えて体重計等の機器から測定データを受信することは可能である。しかしながら、測定データを内蔵センサのデータとともに、モニタＰＣに送信することは不可能である。特許文献１には、データを内蔵メモリに蓄える方法を開示しているが、蓄えるかどうかの判定を送信時にＡｃｋが返ってくるかどうかで判断するため、ＩＥＥＥ８０２．１５．４の無線プロトコルを使用すると、モニタＰＣに送信すべきデータも、ネットワーク切り替え中に相手基地局が受信に失敗した場合にしか蓄えることができない。
【００１６】
一方で、第２の課題として、センシングを基本動作としていたセンサノードに、他の複数のアプリケーションを追加すると、センシング以外のアプリケーションに切り替えて処理する間、センシングデータが収集できなくなる。例えば、センサノードを身に付けた状態でスポーツジム等を利用する場合においては、センサノードでセンシングした運動中のデータが重要である。それと同時に、利用中の運動器具（例えば、ウエイトトレーニングマシン、ランニングマシン等）に無線機能があれば、個人別の運動強度や利用履歴等のデータを通信する利用方法が考えられる。この状況において、ネットワークを切り替えて通信するため、センサノードのアプリケーションを切り替えていると、センシングデータが収集できず、後からその時のユーザの活動状態を知ることができない。
【００１７】
従って、ネットワークの切り替えに伴って、様々なアプリケーションを切り替えても、センシングデータは途絶えずに収集できる必要がある。特許文献２及び特許文献３では、ネットワークの切り替えに伴って、予め指定したアプリケーションの処理を開始する方法を開示しているが、それと並行してネットワークの切り替えに関係なくセンシング処理を続ける方法は開示していない。
【００１８】
本発明は、上記問題点に鑑みてなされたものであり、センサノードがネットワークの切り替えに伴って、様々なアプリケーションを切り替えて処理し、体重計等に機器から得られるデータを、センシングデータと同様に、所定のモニタＰＣへ無線送信することを目的とする。さらに、ネットワークとアプリケーションが切り替わる場合においても、センシングは一定の時間周期で確実に処理して、後から連続したセンシングデータを収集することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の代表的なものの一例を示せば以下の通りである。すなわち、本発明のセンサノードは、生体情報を測定するセンサと、データを送信する無線通信部とを備えたセンサノードであって、前記無線通信部を駆動して異なる無線機器と通信する複数の固有プログラムと、前記固有プログラムに依存せずにセンサを駆動して測定する共有プログラムと、前記データを記録する不揮発記憶部とを更に備えて成ることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、センサノードを持つユーザが移動し、ネットワークを切り替えて複数の無線機器と通信した場合においても、元のネットワーク（センサのデータを送信するネットワーク）に復帰してからストレージに記録したデータをまとめて送信することで、所定のモニタＰＣですべてのデータを一括して収集することができる。
【発明を実施するための最良の形態】
【００２１】
本発明では、生体情報を測定するセンサと、前記センサのデータを無線で送信し、また受信する無線通信部（ＲＦ）と、前記センサのデータ、及び体重計等の機器から得たデータを保持する不揮発記憶媒体（ストレージ）と、前記センサと前記無線通信部を制御するマイクロコンピュータとを有するセンサノードにおいて、前記マイクロコンピュータは、個々のアプリケーションの処理とは独立して、一定の時間周期で前記センサの測定を開始し、測定したデータを前記ストレージにすべて記録する。
【００２２】
さらに、前期無線通信部が通信するネットワークの切り替えに対応して、前期マイクロコンピュータで複数の前記アプリケーションを切り替えて処理し、前記センサで測定したデータ、及び前記アプリケーションの処理で発生するデータを、前記ストレージに一度記録した上で、所定のネットワークに切り替えて送信する。
【００２３】
また、前記ストレージに記録する前期アプリケーションのデータ、及び前期センサで測定したデータには、そのデータが未送信であるかを判別する値（フラグ）が付属し、後から未送信のデータのみを前記ストレージから読み出し、前記無線通信部において再送する。
【００２４】
以下、本発明に係わる実施例について添付図面を参照しながら説明する。
【００２５】
図１は第１の実施例であり、本発明を適用したセンサノードのブロック図を示す。図１はおいては、第１、第２の課題を解決するため、マイクロコンピュータで処理されるソフトウェアが、個々のアプリケーションに依存部と、依存しない共通部に分けて構成することを特徴とする。特に、共通部分には、アプリケーション依存部の処理とは独立してセンサで絶えず測定し、無線通信するため、センシングプログラムと無線通信プロトコルから構成される。さらに、各アプリケーションのデータとセンシングデータを欠かさずストレージに記録するため、ストレージ制御プログラムはこのセンシングプログラムには含まれる。また、ネットワークの切り替えを容易にするため、固有部のアプリケーションはそれぞれ個別に対応するネットワーク情報を保持することを特徴とする。以下、個々について説明する。
【００２６】
センサノード１、ゲートウェイ（基地局）と通信を行うアンテナ９を備えた無線通信部（ＲＦ）７と、センサ６と、センサ６及び無線通信部７を制御するマイクロコンピュータ２と、マイクロコンピュータ２に一定間隔でトリガをかけるためのタイマとして機能するリアルタイムクロック（ＲＴＣ）４と、不揮発な記憶媒体であるストレージ５と、文字や波形、グラフ等を表示するＬＣＤ８と、マイクロコンピュータ２に対してトリガをかけることができる複数のボタン３を含んで構成されている。
【００２７】
ストレージ５は、例えばフラッシュメモリとすると、一般的に書き換えは数十バイト〜数百バイトとまとまった容量でしか書き換えができない。この書き換えの最小単位をページと呼び、その位置を示す識別番号をページ番号とする。
【００２８】
マイクロコンピュータ２は、演算処理を実行するＣＰＵ２１と、ＣＰＵ２１で実行するプログラムなどを記録するＲＯＭ２５と、データなどを記録するＲＡＭ２２と、センサ６から出力されたアナログ信号をデジタル信号に変換するＡ／Ｄコンバータ２４と、リアルタイムクロック４とストレージ５と無線通信部７とＬＣＤ８の間でシリアル信号にて信号の送受信を行うシリアルコミュニケーションインターフェース（ＳＣＩ）２３とを含んで構成される。
【００２９】
ＲＯＭ２５には、無線通信部７を制御する無線通信プロトコル３６と、Ａ／Ｄコンバータ２４を制御してセンサ６の出力値をＲＡＭ２２やストレージ５に記録するセンシングプログラム３５と、他の無線機器と通信し、データをＲＡＭ２２やストレージ５から読み出し、及び記録することができるアプリケーション３２〜３４と、ＭａｃＡｄｄｒｅｓｓ３１を予め記録している。ＭａｃＡｄｄｒｅｓｓ３１は他のセンサノードと重ならない値が予め割り当てられており、一度記録した後は変更されない。
【００３０】
アプリケーション３２〜３４はそれぞれの対応するネットワークにおける通信手段であるプロトコル４１〜４３を有し、プロトコル４１〜４３には対応するネットワークにおける通信に必要なネットワーク情報４７〜４９を有する。
【００３１】
第１の実施例では、アプリケーション３２はＰＣにセンシングデータを送信して健康状態をモニタするアプリ１、アプリケーション３３は無線機能付き体重計から測定データを受信して収集するアプリ２、アプリケーション３４はスポーツジムにある無線機能付きトレーニングマシンから運動データを受信して収集するアプリ３とする。センサノード１は、通常はアプリケーション３２が選択されて処理され、ユーザによるボタン３押しをトリガとして、アプリケーション３３，３４に切り替えることができる。さらに、アプリケーション３３，３４の処理が完了すると、再度アプリケーション３２にもどる。例えば、アプリケーション３２が選択されている状態で、さらに周囲にネットワーク情報４８、４９に対応するネットワークが存在する場合、ネットワークを切り替えることができる。
【００３２】
しかしながら、ネットワークを切り替える際に、前述のＩＥＥＥ８０２．１５．４のアソシエーションを用いると、余計に電力消費が増加する問題がある。典型的には秒単位の処理時間を必要とし、この処理を１時間に５回程度実行すると、１時間単位の消費電力が約１０パーセント増加する。
【００３３】
このネットワーク切り替えの問題を解決するため、ＲＯＭ２５にあるアプリケーション３２〜３４のネットワーク情報を読み出して、ＲＡＭ２２内でネットワーク情報を切り替える。この場合、典型的に処理時間はミリ秒単位であり、上記のアソシエーション時と比較して約１／１０００となる。従って、ネットワーク切り替えに伴う消費電力は無視できる程度になる。
【００３４】
第１の課題を解決するため、センシングプログラム３５は、センシングデータとアプリケーション３３，３４のデータを欠かさずストレージに記録する、ストレージ制御プログラム４４を含むことを特徴とする。ストレージ制御プログラム４４では、アプリケーション３３、３４の処理で得られるデータ、及びセンシングプログラム３５の処理で測定したデータを一度ストレージ５に記録し、所定のモニタＰＣに送信するため、特許文献１で開示されている方法とは異なり、すべてのパケットに付けたフラグによって、ストレージ５を管理する。フラグは、ストレージ５に記録する時点で、そのパケットがモニタＰＣへ送信済みであるか、未送信であるかを示す。また、送信先が異なるアプリケーションが複数存在する場合には、それらのアプリケーション毎にフラグをつけて管理する。例えば、モニタＰＣが自宅と勤務先にあったとしても、双方で同様のデータを収集してモニタすることもできる。
【００３５】
また、ストレージ制御プログラム４４の記録処理に必要な時間は、例えばストレージ５の１ページの容量を１キロバイトとし、データ転送速度を１Ｍｂｐｓ（メガビット／秒）とすると、典型的には１回の処理当たり約１０ミリ秒である。これは、上記の割り込み周期５０ミリ秒と比較して短い上、１ページの記録が必要な周期は、３軸加速度（各１バイト）を測定するのであれば典型的には３０秒に１回程度である。
【００３６】
従って、ストレージ制御プログラム４４は、他の処理を遅らせることなく、センシングプログラム３５やアプリケーション３３、３４のデータを欠かさずストレージ５に記録することができる。
【００３７】
センシングプログラム３５はストレージ５に記録するセンシングデータの容量を削減する、公知の圧縮方式を用いた圧縮プログラム４６を使用することも可能である。例えば、人の動きを３軸加速度センサ（各１バイト）で５０ミリ秒毎に測定し、データを圧縮して記録する。この場合、１日あたりのデータ量は、３（バイト）×２０（サンプル／秒）×６０（秒）×６０（分）×２４（時間）で約５メガバイトとなる。これを安価で入手可能な低コストマイコンの処理で圧縮すると、人の動きの加速度データの場合、典型的には５ミリ秒以下の処理で約１／３に圧縮できる。従って、１日当たり約１．７メガバイトのデータ量となるため、安価で入手可能な１６メガバイトのフラッシュメモリであれば、１週間以上のデータを記録できる。
【００３８】
さらに、第１の課題を解決するため、ストレージ５やＲＡＭ２２に記録された未送信のデータを読み出して送信する再送制御プログラム４５を無線通信プロトコル３６に含むことを特徴とする。
【００３９】
無線通信プロトコル３６は、センシングプログラム３５、及びアプリケーション３２〜３４から通信要求を受け、指定されたパケット形式のデータを通信中のネットワークにあるゲートウェイに送信し、ゲートウェイからデータを受信できる。
【００４０】
再送制御プログラム４５は、ストレージ５に記録したフラグのみを、順に読み出していくことで、過去の未送信データを割り出すことできる。しかしながら、上記方法で読み出して再送に成功しても、ストレージ５はページ単位でしか消去／書き換えできないため、フラグのみを送信済みに書き換えることができない。つまり、何度も同じデータを送信する可能性がある。そこで、すべてのデータの送信が完了したページの内、最後に読み出したページ位置７２をＲＡＭ２２に記憶しておき、これを次の読み出し位置とすることで、ストレージ５のデータを重複なく読み出して再送できる。
【００４１】
例えば、上記方法によるストレージ５からのデータ読み出しと送信（１００バイト）に必要な時間は、ＩＥＥＥ８０２．１５．４では、典型的には約８ミリ秒程度である。つまり、再送制御プログラム４５は、センシングプログラム３５やアプリケーション３２の処理に影響を与えず、１秒間に１０キロバイト以上のデータを送信できる。従って、上記フラッシュメモリに記録した１週間の加速度データであれば、典型的には２０分以内ですべて無線送信できる。
【００４２】
従って、アプリケーション３３、３４が選択されていない状態でも、ＲＡＭ２２やストレージ５に記録したアプリケーション３３、３４のデータは、アプリケーション３２が再送制御プログラム４５を呼び出して実行することにより、センシングデータと同様にモニタＰＣで収集することができる。
【００４３】
第２の課題を解決するため、アプリケーション３２〜３４は、センシングプログラム３５を開始するトリガであるリアルタイムクロック４の割り込みが入ると、処理を一時中断してセンシングプログラム３５の処理を開始することを特徴とする。センシングプログラム３５は、一定の時間周期で発生するリアルタイムクロック４からの割り込みをトリガとしてセンサ６の測定を開始し、測定データをＲＡＭ２２に記録する。このとき、例えばリアルタイムクロック４の割り込み周期を、前述したように人の健康状態（例えば、脈拍や歩行数）の測定に必要な５０ミリ秒とすると、センシングプログラムがセンサ６の出力値をＡ／Ｄ変換してＲＡＭ２２に取り込むのに必要な時間は１ミリ秒に満たない。従って、アプリケーション３２〜３４は、センシングプログラム３５の処理間は一時的に中断しても、処理速度の低下は２パーセント以下である。また、センシングプログラム３５の処理中は割り込み禁止とするが、割り込みの周期に対してセンシングプログラム３５の処理時間は十分に短いため、アプリケーション３２〜３４の処理への影響は無視できる。つまり、センシングプログラム３５の処理はアプリケーション３２〜３４に対して実質的に優先して処理できるため、センサ６の測定データはアプリケーション３２〜３４の切り替えに影響されず、必ず一定の時間周期で記録することができる。
【００４４】
図２は上記センサノード１で特徴的な処理の流れをフローチャートで示す。
【００４５】
特に、課題１を解決するため、アプリ１〜３の処理（ステップ１０３、１２０）後にストレージ記録処理（ステップ１０４）を必ず実行している。さらに、課題２を解決するため、割り込みでアプリケーションの処理（ステップ１０３、ステップ１２０）を一時中断してセンシングの処理（ステップ１０１）が開始し、実行途中のアプリケーションを検出（ステップ１０２）して再開することで、実質的にセンシングの処理（ステップ１０１）を優先させながら、同時に他のアプリケーション（ステップ１０３、ステップ１２０）も処理可能としている。
【００４６】
ステップ１０１の詳細は図５に、ステップ１０３の詳細は図７に、ステップ１２０の詳細は図６に、ステップ１０４の詳細は図１１に示す。以下、個々の処理について説明する。
【００４７】
センサノード１は必要なときだけ起動する間欠動作により、消費電力を削減する。このため、ステップ１００では、リアルタイムクロック４の割り込み時に、マイクロコンピュータ２が消費電力を抑えるスタンバイモードであれば、起動する。さらに、最後の処理であるステップ１０５で、センサノード１のマイクロコンピュータ２をスタンバイモードに以降する。従って、ステップ１０５から割り込みが入るまでの消費電力を削減できる。
【００４８】
また、ステップ１１０のボタン３の割り込みでは、ステップ１０３に示すアプリケーション３３，３４の処理を開始する。このとき、ステップ１００と同様にスタンバイモードであれば起動する。これにより、ユーザがネットワークとアプリケーションを切り替えたい場合には、ボタン３を押すだけで即座に切り替え処理を開始することができる。
【００４９】
図３は本発明においてＲＡＭ２２に記録されるデータの構成を示しており、ネットワーク切り替えの問題を解決するため、ネットワーク情報を退避可能なアプリ１〜３のネットワーク情報６７〜６９を含むことを特徴とする。
【００５０】
ＲＡＭ２２は、無線通信プロトコル３６のパラメータ５１と、パラメータ５２と、センシングデータを格納するバッファ７５、アプリケーション３３，３４が受信したデータを格納するバッファ７６、無線送信用のパケット８２、及びパケットに付加するフラグ８１を含んで構成される。
【００５１】
無線通信プロトコル３６が使用するパラメータ５１は、ＩＥＥＥ８０２．１５．４では、無線周波数を示すチャネル（ＲＦＣｈ）６２とネットワークを識別するＩＤ（ＰＡＮ  ＩＤ）６３とセンサノード１に割り当てられたＳｈｏｒｔＡｄｄｒｅｓｓ６４から構成される通信中のネットワーク情報６１と、アプリケーション３２〜３４に対応するネットワーク情報６７〜６９と、周辺にあるネットワークを探索した際に検出したネットワーク情報６５から構成される。これらは、他の無線プロトコルでも同様に含まれる。
【００５２】
ネットワーク情報６７〜６９は予めＲＯＭ２５の各アプリケーションにプログラムされたネットワーク情報４７〜４９から読み出され、通信中のネットワーク情報６１を切り替え、また退避することができる。従って、センサノード１で通信可能なネットワークにのみ、容易に切り替えることが可能である。
【００５３】
ストレージ制御プログラム４４でストレージ５にデータを記録する位置を管理するため、パラメータ５２には、ストレージ５にデータを書き込む際に書き換えるページを示す書き換えページ番号７２と、送信するパケットに付加する最新パケット番号７１を含む。また、再送制御プログラム４５がデータを読み出すため、最後に再送を完了したページ番号７４を含むと、最後に再送したパケット番号（未送信パケット番号）７３を含む。
【００５４】
また、パケットの形式にセンシングデータをセットする前に（または、圧縮する前に）、一時的にデータを蓄えるため、バッファ７５には、センシングプログラム３５の処理によりセンサ６の出力値が格納される。バッファ７５は、１回の無線送信で送信可能な容量まで確保される。例えばＩＥＥＥ８０２．１５．４ではパケットに約１００バイトのデータをセットできるため、バッファ７５のサイズはこれに制限される。バッファ７５にセンシングデータが最大に近い容量までセットされ、これ以上格納できなくなると、それまでにバッファ７５に記録していたデータを、パケット８２のセンシングデータ領域８５にセットしてから、新しいセンシングデータをバッファ７５に上書きしてセットする。
【００５５】
同様に、アプリケーション３３、３４が受信したデータはバッファ７６に格納される。アプリケーション３３、３４は、必ずどちらかのみに切り替わるため、アプリケーション３３、３４でバッファ７６は共通である。このため、アプリケーション３３、３４の処理がすべて完了すると、バッファ７６のデータはパケット８３のアプリケーションデータ領域８６にセットされる。
【００５６】
パケット８２にバッファ７５、或いはバッファ７６からデータがセットされると、センシングプログラム３５はリアルタイムクロック４から現在の時刻データ８４を取得し、パケット８２にセットする。さらに、ＲＡＭ２２の最新パケット番号７１からパケット８２のパケット番号８３にセットする。
【００５７】
上記の処理により、データが送信されるタイミングに関わらず、そのデータをセンシングした時刻を知ることができる。また、パケット番号８３から、データの受信漏れがないかを後から確認することができる。
【００５８】
図４はストレージ５に記録されるデータの構成を示しており、第１、第２の課題を解決するため、ストレージ５に記録したセンシングデータとアプリケーションのデータから、フラグ１８１と、読み出しページ番号７２と、書き換えページ番号７４を用いて、未送信データのみを即座に読み出せることを特徴とする。以下、個々を説明する。
【００５９】
ストレージ５の書き換え単位であるページ９２は、それぞれのページ９２にはページ番号９１が０から順に割り当てられている。ページ９２には、ＲＡＭ２２にあるフラグ８１とパケット８２が転送されたフラグ１８１とパケット１８２と、読み出しページ番号９４が記録される。読み出しページ番号９４は、そのページ９２が書き換えられた時点でＲＡＭ２２にあった読み出しページ番号７４を示している。
【００６０】
ＲＡＭ２２等から転送されたデータは、書き換えページ番号７４が示すページ９４を書き換える。また、未送信パケットから読み出すためには、読み出しページ番号７２が示すページ９４を読み出す。
【００６１】
一方で、電池切れやリセットでＲＡＭ２２にあるストレージ制御プログラム４４のパラメータ５２が消去される場合がある。この問題を解決するため、以下にパラメータ５２を復元する手順を示す。
【００６２】
起動時には、すべてのパケット番号１８３のみを読み出し、読み出したパケット番号１８３の非連続となる１つ前のページ９２が、最後に書き換えられたページ９２であると判断される。そこで、この最後に書き換えられたページ番号９１に１加えた値（最大ページ数を超える場合は０）を、ＲＡＭ２２の書き換えページ番号７２に復元する。次に、非連続となる１つまえのパケット番号に１加えた値（最大値を超える場合は０）を、ＲＡＭ２２の最新パケット番号７１として復元することができる。
【００６３】
次に、この最後に書き換えられたページ９２に記録されている読み出しページ番号９４を読み出す。この値を、消去直前にＲＡＭ２２にあった読み出しページ番号７４であるとして、ＲＡＭ２２に復元する。次に、読み出しページ番号７４の示すページにあるフラグ１８１を読み出し、フラグ１８１が１で、かつ最も時間の古いパケット８２のパケット番号８３を読み出し、１差し引いた値（０以下になる場合は最大値）をＲＡＭ２２の未送信パケット番号７３として復元できる。
【００６４】
上記処理により、ストレージ５に記録されたデータを読み出すだけで、ＲＡＭ２２のデータが消去されても、パラメータ５２を復元することができる。
【００６５】
また、同様に電池切れやリセット時にネットワーク情報６７〜６９を元の状態に復元するため、ストレージのページ９２の１つには、ＲＡＭ２２のパラメータを記録するパラメータ領域が確保できる。例えば、ＲＡＭ２２に記録されたネットワーク情報６７〜６９と同じネットワーク情報９３〜９６をバックアップすることができる。
【００６６】
図５は、図２のステップ１０１を詳細に示しており、上記センシングプログラム３５の処理の流れをフローチャートで説明している。本フローチャートでは、バッファ７５を活用してパケットに最大限のセンシングデータをセットすることを特徴とする。
【００６７】
ステップ２０１ではセンサ６の出力値をＡ／Ｄコンバータ２４によってＡＤ変換し、変換した値であるセンシングデータを、ＲＡＭ２２のバッファ７５にセットする。バッファ７５にセットされたセンシングデータを、ステップ２０２で圧縮プログラム４６の処理によって圧縮することも可能である。バッファ７５にセットされたセンシングデータがバッファ７５の容量を超える場合、ステップ２０３からステップ２０４に進み、バッファ７５のセンシングデータをパケット８２にセットする。また、超えない場合はステップ２０７に進んで、バッファ７５にデータを残した状態で処理を完了する。
【００６８】
上記処理の結果、一回の送信データ量を最大化して送信回数を減らし、無線通信部７が起動している時間を短くすることによって、消費電力を削減できる。
【００６９】
さらに、図６では、図２のステップ１２０の詳細を示しており、上記アプリケーション３２の処理の流れをフローチャートで説明している。本フローチャートでは、上記図１４の処理で作成されたセンシングデータを送信する（ステップ５０２）。その後、再送制御プログラム４５を呼び出し、送信成功時にはパケットのフラグ８１を０とし（ステップ５０４）、さらに同じネットワーク上でストレージ５に記録された未送信データを再送する（ステップ５０５）ことを特徴とする。また、送信失敗時には、パケットのフラグ８１を１とする（ステップ５１１）。以下、その他の処理を個々に説明する。
【００７０】
ステップ５０３では、ステップ５０２の送信結果を、Ａｃｋの有無で判断し、Ａｃｋがあれば成功としてステップ５０４に進み、Ａｃｋがなければ失敗としてステップ５１１に進む。ステップ５０６では、アプリケーション３２の処理を完了し、ステップ１２０に戻る。
【００７１】
上記処理の結果、センシングデータの送信と同じネットワーク上で、ストレージ５の未送信データを送信することで、モニタＰＣに一括して収集することができる。
【００７２】
図７は、図２のステップ１０３を詳細に示しており、上記アプリケーション３３，３４の処理の流れをフローチャートで説明している。本フローチャートでは、その場にあるネットワークに対応してアプリケーションを切り替えるため、ＲＡＭ２２に記録したネットワーク情報の切り替え（ステップ４１３）と、選択したネットワークに伴うアプリケーションの切り替え（ステップ４２２）を組み合わせて処理することを特徴とする。以下、その他の処理を個々に説明する。
【００７３】
各アプリケーションは、処理中に割り込みが発生して処理を中断した場合でも、センシング後に処理を再開させるため、ステップ４０１、４０２、４１０では、処理の進行状態を保持し、不要な処理をパスしている。ステップ４０１では、直前のボタン３の割り込み後に、通信中のネットワークが、アプリケーション３２，３３に対応するネットワークに切り替えられていたら、ネットワーク切り替えの処理をパスしてステップ４０２に進み、切り替えられていなければステップ４１０に進んでネットワーク切り替えの処理を開始する。ステップ４１０では、さらにネットワーク探索が完了しているか、不要であればパスしてステップ４１１に進み、完了していなければステップ４２０に進んでネットワーク探索を開始する。また、ステップ４０２では、ネットワーク切り替え後に、アプリケーション３３、３４で固有のＲＦ送信/受信が既に完了していればパスしてステップ４０３に進み、未完であればステップ４２２に進む。
【００７４】
ステップ４１１〜ステップ４２１では、本発明の特徴であるネットワーク切り替え処理の流れについて、フローチャートで示す。
【００７５】
ステップ４２０では、無線通信プロトコル３６により、その場にあるネットワークを探索し、結果をＲＡＭ２２の周辺ネットワーク情報６５にセットする。セットされた周辺ネットワーク情報６５に通信可能なネットワークが１つでもあれば、ステップ４１１からステップ４１２に進み、なければステップ４０５に進んで、アプリケーションの処理を完了する。上記ステップ４１２では、周辺ネットワーク情報６５に通信可能なネットワークが複数あれば、ステップ４２１に進み、ユーザのボタン操作により選択されたアプリケーションに対応するネットワークを選択する。
【００７６】
切り替えるネットワークが選択されると、ステップ４１３で通信中のネットワーク情報６１をＲＡＭ２２のネットワーク情報６７〜６９に退避し、ステップ４２１で選択されたネットワーク情報を通信中のネットワーク情報６１にセットし、ネットワークを切り替える。
【００７７】
さらに、ステップ４０３では、ステップ４１３の処理とは反対に、通信中のネットワーク情報６１に、切り替え前のネットワーク情報を戻し、元のネットワークに復帰し、アプリケーションの処理を完了する。
【００７８】
上記処理により、最小限の操作でその場で必要なアプリケーションの切り替えを可能としている。
【００７９】
図８は、アプリケーション３３により、体重計で測定したデータを受信した際の、ユーザによる具体的な操作の例を示す。測定した体重データをユーザ３００が確認するため、センサノード１のＬＣＤ８に表示する。この表示された結果をユーザ３００がストレージ８に記録したい場合は、「ＯＫ」に対応するボタン３を押す。「ＯＫ」が選択されると、アプリケーション３３は、ストレージ８に体重データを記録し、処理を完了する。また、記録したくない場合には「Ｃａｎｃｅｌ」に対応するボタン３を押す。「Ｃａｎｃｅｌ」が選択されると、アプリケーション３３は、受信した体重データを消去して、処理を完了する。
【００８０】
上記の処理により、モニタＰＣに収集する前に、その場で、データを記録するかをユーザ３００が選択することができる。従って、体重計、または無線通信部の不具合で、不正なデータが送信された場合においても、それを除くことができる。
【００８１】
また、図９では、アプリケーション３３の処理で、体重を再測定するかユーザ３００が選択する操作の例を示す。例えば、図８でユーザ３００が体重データを記録しなかった場合に、再測定することも可能である。「ＯＫ」を選択した場合、アプリケーション３３の処理を完了せず、体重データの受信処理を繰り返し実行する。例えば、体重の測定には、典型的には数秒は必要なため、１０秒後に受信処理を実行する。「Ｃａｎｃｅｌ」を選択した場合、アプリケーション３３の処理を完了する。
【００８２】
上記の処理により、ユーザが適正なデータを受信できるまで、アプリケーションの処理を続けることができる。従って、繰り返し測定する場合においても、毎回アプリケーションを切り替える必要がないため、マイクロコンピュータ２の処理を減らし、消費電力を削減できる。
【００８３】
図１０は、図６のステップ５０５を詳細に示しており、上記再送制御プログラム４５の処理の流れについて、フローチャートで説明している。特に、ストレージ５から未送信データのみを即座に読み出すため、ストレージ５（またはＲＡＭ２２）に未送信データがあるかを判定するステップ３０１と、ストレージ５の読み出し位置にあるパケット１８２が未送信かをフラグ１８１で判定するステップ３１０を組み合わせて処理することを特徴とする。
【００８４】
初めに、最新ページ番号７１と未送信パケット番号７２を比較し（ステップ３０１）、異なる場合は未送信パケット番号７２の示すフラグ８１、１８１をＲＡＭ２２、またはストレージ５から読み出す（ステップ３１０）。
【００８５】
フラグ８１，１８１が１であれば対応するパケット８２，１８２を読み出し（ステップ３１１）、送信する（ステップ３１２）。ステップ３１２の送信が成功であれば、未送信パケット番号７２に１加えて更新する（ステップ３１４）。ただし、パケット番号が最大値に達する場合は０にする。ここで読み出したページ内のデータが、すべて送信済みとなったら、読み出しページ番号も１加えて更新する（ステップ３１５）。ただし、最大ページ数に達した場合は０とする。
【００８６】
また、ステップ３１０でフラグ８１，１８１が０の場合は、そのパケット８２，１８２は送信せずに、未送信パケット番号の更新処理（ステップ３１４）に進む。
【００８７】
これらの処理を、ステップ３０１で最新ページ番号７１と未送信パケット番号７２が同じになるか、ステップ３１３で送信が失敗するまで繰り返す。また、割り込みが入った場合は、上記処理を完了する。
【００８８】
上記処理の結果、ストレージ５から未送信データのみを効率的に読み出しことを可能とし、モニタＰＣに接続したゲートウェイと無線通信が可能な環境では、連続的に読み出したデータを送信することができる。
【００８９】
図１１は、図２のステップ１０４を詳細に示しており、上記ストレージ制御プログラム４４の処理の流れをフローチャートで説明している。特に、ストレージ５の書き換え回数を最小化するため、ステップ６０１で１ページ分のデータがＲＡＭ２２に蓄積されたことを判定し、１ページ分が蓄積された状態でストレージへデータを転送し、書き換えを処理すること（ステップ６０２）を特徴としている。
【００９０】
また、書き換え後はステップ６０３で書き換えページ番号７２を１加えて更新する。ただし、最大ページ数を超える場合は０にする。
【００９１】
上記処理の結果、ストレージ５の書き換えに必要な電力を削減した上、さらに各ページへの書き換え回数を平均化することで、ストレージ５の書き換え寿命を最長化できる。
【００９２】
図１２は本発明にけるセンサネットシステムの構成を示している。特に、ゲートウェイ１００において、ネットワークを切り替えて通信するセンサノード１から受信したパケットで、センサノード１のＭａｃＡｄｄｒｅｓｓ３１を判別可能とするため、アドレステーブル１１３に予めＳｈｏｒｔＡｄｄｒｅｓｓ６４との対応を割り当てた予約領域１１７と、不特定のノードが使用可能なゲストアドレス１１６を含むことを特徴とする。以下、個々について説明する。
【００９３】
センサネットシステムは、例えば、センサノード１と、ＰＣ１０１に接続されたゲートウェイ１００と、体重計２２０やトレーニングマシン２３０等に接続されたゲートウェイ２０２、２０３から構成される。
【００９４】
ゲートウェイ１００は無線通信部７とマイクロコンピュータ２を含んで構成される。マイクロコンピュータ２はＣＰＵ２１，ＲＯＭ２５，ＲＡＭ２２，シリアルコミュニケーションインターフェース２３を含んで構成される。ＲＡＭ２２にはゲートウェイ１００が管理するネットワークの情報（ネットワーク管理情報）１１０が記録されている。
【００９５】
ネットワーク管理情報１１０は、ＲＦＣｈ６２、ＰＡＮＩＤ６３、アドレステーブル１１１から構成される。アドレステーブル１１１はそのネットワーク内におけるＭａｃＡｄｄｒｅｓｓ３１とＳｈｏｒｔＡｄｄｒｅｓｓ６４の対応を示している。
【００９６】
ゲートウェイ１００では、受信したパケットのＳｈｏｒｔＡｄｄｒｅｓｓ６４からアドレステーブル１１１によってＭａｃＡｄｄｒｅｓｓ３１がわかり、送信元のセンサノード１を識別することができる。アドレステーブル１１１は、一般的には、書き換え可能な領域１１８を有し、ＩＥＥＥ８０２．１５．４の定義内では、センサノード１からのＭａｃＡｄｄｒｅｓｓ３１を含むアソシエーション要求を受信したときに、センサノード１に未割り当てのＳｈｏｒｔＡｄｄｒｅｓｓ６４を加入要求のレスポンスとして送信し、割り当てることで作成される。また、ディスアソシエーション要求を受信した場合には、その送信元のＳｈｏｒｔＡｄｄｒｅｓｓ６４をアドレステーブル１１１から削除する。
【００９７】
一方、特徴的である予約領域１７では、予めＰＣ１０１から操作して割り当てを決めることができ、書き換えることがない。
【００９８】
また、ＭａｃＡｄｄｒｅｓｓ３１をアドレステーブル１１１に登録しない、不特定のセンサノード１からのパケットをゲートウェイ１００が受け付けるため、センサノード１はゲストアドレス１１６を使用することもできる。
【００９９】
図１２に例示したセンサネットシステムについて詳細を以下に示す。
【０１００】
センサノード１は通常、アプリケーション３２の処理により、センシングデータをセットしたパケットを、一定間隔（例えば１秒に１回）で送信する。また、送信に成功し、これまでに未送信のデータがセンサノード１のストレージ５やＲＡＭ２２に存在する場合、次に未送信のデータを送信し、未送信のデータがなくなるか、送信が失敗するまで繰り返す。
【０１０１】
センサノード１から送信されたセンシングデータのパケットは、ゲートウェイ１００で受信され、ＰＣ１０１に転送される。パケット１８２にセットされているセンシングデータ１８５と時刻１８４は、ＰＣ内部のストレージ（例えばハードディスク等）１０２に記録される。センサノードから送信されたすべてのセンシングデータは、同じパケット１８２にセットされていた時刻１８４によって時系列で並び替えられる。したがって、センサノード１に未送信のデータがなくなれば、ＰＣ１０１にはセンサノード１がセンシングした、すべての連続したセンシングデータが記録されることになる。
【０１０２】
また、センサノード１は様々なアプリケーション３３，３４の通信により、体重計２２０で測定した体重データや、トレーニングマシン２３０で運動した結果である運動データを受信することができる。
【０１０３】
そこで、図１３と図１４は、図１２に示すセンサネットシステムにおいて、第１、第２の課題を解決する手段を例示している。
【０１０４】
図１３は、上記手段で特徴的な、その場にあるネットワークに合わせてアプリケーションを切り替え、アプリケーションのデータと、その間のセンシングデータをストレージに欠かさず記録する手順を具体的に示す。センサノード１は、例えば自宅にあるネットワーク１５０から離れて、体重計２０２とゲートウェイ２２０の近くに移動した状態である。まず、ユーザ３００がボタン３を押すことによって、ネットワークを探索すると、ネットワーク２５２が検出される。例えば、このネットワーク２５２のネットワーク情報がＲＡＭ２２にあるアプリ２のネットワーク情報６８と同じ場合、通信中のネットワーク情報６１はアプリ１のネットワーク情報６７に退避され、アプリ２のネットワーク情報６８に切り替わる。即ち、通信中のネットワークがネットワーク２５２となる。
【０１０５】
ネットワークが切り替わった後、このネットワーク２５２に対応するアプリケーション３３の処理を開始する。アプリケーション３３はプロゲートウェイ２０２と通信し、体重計２２０で測定した体重データを受信する。受信した体重データはＲＡＭ２２に記憶された後、ストレージ５に記録される。アプリケーション３３の処理が完了すると、通信中のネットワーク情報６１にアプリ１のネットワーク情報６７をセットし、元のネットワーク１００に復帰する。
【０１０６】
さらに、図１４では、上記方法で特徴的な、ストレージ５に記録されたデータから未送信のデータ読み出して、モニタＰＣ１０１で収集する手順を具体的に示す。
【０１０７】
センサノード１は、元のネットワーク１５０内に移動すると、アプリケーション３２と無線通信プロトコル３６の処理により、ＲＡＭ２２とストレージ５に記録された未送信のパケットをゲートウェイ１００に送信する。このデータには、図１３で示したネットワーク切り替え中にセンシングしたデータ、及びアプリケーション３３，３４のデータ（例えば、受信した体重データ）を含む。
【０１０８】
従って、受信した体重データ、及びセンシングデータは、ゲートウェイ１００から所定のモニタＰＣ１０１に送信され、それぞれストレージ１０２、１０３に記録することができる。
【０１０９】
上記の処理により、例えばセンサノード１を身に付けたユーザ３００が自宅から外出した先で体重を測定するという場合に、ユーザ３００はボタン押しだけの簡単な操作で体重データを受信し、他に操作を加えることなく帰宅時には自動的にモニタＰＣ１０１で収集できる。また、これらの処理を、ネットワークの切り替えをしない場合と同様の処理時間と消費電力で実現できる。さらに、このようなアプリケーション切り替えを含む外出間のセンシングデータも、欠けることなく収集することができる。上記のデータはすべてストレージ５に記録されていくので、モニタＰＣ１０１への送信に限らず様々活用方法がある。例えば、ストレージ５内のデータをセンサノード１のＬＣＤ８に表示して閲覧する他、モニタＰＣ１０１がない場所で、他の機器に記録したデータを送信することもできる。
【０１１０】
図１５と図１６と図１７は、センサノード１の周辺に複数のネットワーク２５２、２５３がある場合に、ユーザが最適なアプリケーションを選択する特徴的な手段について示す。
【０１１１】
図１５は、センサノード１の周辺に複数のゲートウェイ２０２、２０３が存在する状態を示す。従って、センサノード１がネットワークを探索すると、複数のネットワーク２５２、２５３が検出される。
【０１１２】
次に図１６では、センサノード１のＲＡＭ２２にセットされるデータを示す。検出ネットワーク情報６５には、無線通信プロトコル３６の処理により、検出されたネットワークの無線チャネル６７とネットワークのＩＤ（ＰＡＮＩＤ）６８がセットされる。セットされた検出ネットワーク情報６５と、ＲＡＭ２２にセットされていたアプリケーションのネットワーク情報６７〜６９を比較し、一致するものがあるか（通信可能であるか）判別する。
【０１１３】
さらに図１７では、ユーザが複数のアプリケーションのうち１つを選択する手段を示す。図１６でネットワーク２５２、２５３に対応したアプリケーション３３、３４の名称をセンサノード１のＬＣＤ８に表示し、ユーザ３００は、センサノード１のボタン３の操作で、選択と決定ができる。ユーザ３００の決定により、アプリケーション３３が選択されると、図１３と同様の状態に移行する。
【０１１４】
上記処理により、ユーザは複数のアプリケーションが使用可能な環境でも、その場で使いたいアプリケーションを容易に選択できる。
【０１１５】
図１８には、アプリケーション３３の機能の一例であり、ストレージ５に記録したデータをモニタＰＣ１０１がない場所で確認するため、センサノード１のＬＣＤ８に履歴データを表示することを特徴とする。これは、ユーザ３００がボタン３を操作することで起動可能であり、体重計２０２で測定し、ゲートウェイ２２０から受信した体重データを、ストレージ５から読み出し、過去の体重履歴を日時とともにＬＣＤ８に表示することができる。
【０１１６】
さらに図１９は、図１８の体重データの長期的な変化を確認するため、グラフ表示することを特徴とする。図１８と同様に、ストレージ５から読み出した体重履歴を、日時をもとに並べ替え、体重値の変化をＬＣＤ８にグラフ表示することができる。
【０１１７】
以上、本発明の上記実施例によれば、センサノードを持つユーザが移動し、ネットワークを切り替えて複数の無線機器と通信した場合においても、元のネットワーク（センサのデータを送信するネットワーク）に復帰してからストレージに記録したデータをまとめて送信することで、所定のモニタＰＣですべてのデータを一括して収集することができる。
【０１１８】
また、ネットワークの切り替えに伴って、処理するアプリケーションが切り替えられた場合においても、欠けることなく確実に、連続したセンサのデータをモニタＰＣで収集することができる。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施形態であるセンサノードのブロック図である。
【図２】本発明の一実施形態であるセンサノードの全動作フローチャートである。
【図３】本発明の一実施形態であるセンサノードのＲＡＭに記録するデータの構成を示す図である。
【図４】本発明の一実施形態であるセンサノードのストレージに記録するデータの構成を示す図である。
【図５】本発明の一実施形態であるセンサノードにおける図２のステップ１０１のセンシング処理について、詳細に説明するフローチャートである。
【図６】本発明の一実施形態であるセンサノードにおける図２のステップ１０２のアプリ２，３の処理について、詳細に説明するフローチャートである。
【図７】本発明の一実施形態であるセンサノードにおける図２のステップ１２０のアプリ１の処理について、詳細に説明するフローチャートである。
【図８】本発明の一実施形態であるセンサノードにおける図６のステップ５０５の未送信データ再送処理について、詳細に説明するフローチャートである。
【図９】本発明の一実施形態であるセンサノードが受信した体重データを、ユーザが確認し、記録するか選択する操作について示す図である。
【図１０】本発明の一実施形態であるセンサノードにおけるユーザが体重を再測定し、センサノードで体重データを再受信するか選択する操作について示す図である。
【図１１】本発明の一実施形態であるセンサノードにおける図２のステップ１０４のストレージ記録処理について、詳細に説明するフローチャートである。
【図１２】本発明の一実施形態であるセンサネットワークシステムのブロック図である。
【図１３】本発明の一実施形態であるセンサネットワークシステムにおけるセンサノードのユーザが移動した後に、ゲートウェイに接続した体重計で測定し、センサノードのネットワークを切り替えて体重データを受信する状態を示す図である。
【図１４】本発明の一実施形態であるセンサネットワークシステムにおけるセンサノードが図１１のネットワークから元のネットワークに復帰し、ゲートウェイに接続したモニタＰＣの近くでセンシングデータ、及び体重データを送信する状態を示す図である。
【図１５】本発明の一実施形態であるセンサネットワークシステムにおけるセンサノードの周辺に、複数のネットワークが存在する状態を示す図である。
【図１６】本発明の一実施形態であるセンサネットワークシステムにおけるセンサノードの図１３でネットワークを探索した後に、ＲＡＭにあるネットワーク情報を示す図である。
【図１７】本発明の一実施形態であるセンサネットワークシステムにおけるユーザがセンサノードを操作して、複数の選択可能なアプリケーションの中から１つを選択する手段を示す図である。
【図１８】本発明の一実施形態であるセンサネットワークシステムにおけるセンサノードのアプリケーションで、体重履歴表示機能について示す図である。
【図１９】本発明の一実施形態であるセンサネットワークシステムにおけるセンサノードのアプリケーションで、体重履歴のグラフ表示機能について示す図である。
【符号の説明】
【０１２０】
１  センサノード
２  マイクロコンピュータ
４  リアルタイムクロック
７  無線通信部
８  ＬＣＤ
９  アンテナ
２３  シリアルコミュニケーションインターフェース
２４  Ａ／Ｄコンバータ
６２  無線チャネル
８１，１８１  フラグ
１００、２０２〜２０３  ゲートウェイ
１０１  パーソナルコンピュータ
Ｓ１００〜５０４  処理。
【図１】
2009065306.tif 000003
【図２】
2009065306.tif 000004
【図３】
2009065306.tif 000005
【図４】
2009065306.tif 000006
【図５】
2009065306.tif 000007
【図６】
2009065306.tif 000008
【図７】
2009065306.tif 000009
【図８】
2009065306.tif 000010
【図９】
2009065306.tif 000011
【図１０】
2009065306.tif 000012
【図１１】
2009065306.tif 000013
【図１２】
2009065306.tif 000014
【図１３】
2009065306.tif 000015
【図１４】
2009065306.tif 000016
【図１５】
2009065306.tif 000017
【図１６】
2009065306.tif 000018
【図１７】
2009065306.tif 000019
【図１８】
2009065306.tif 000020
【図１９】
2009065306.tif 000021