センサネットワークシステム及びその形成方法
【課題】
従来のような固有の中継ノードを不要とし、全てのセンサノードが検知機能及び中継機能を有するセンサネットワークシステムを得る。各センサノードの電波強度を容易に確認でき、センサノードの配置を容易に行う。
【解決手段】
ホストノード及び複数センサノードはお互いに無線接続してセンサネットワークを形成する。複数のセンサノードはそれぞれ、対象物或いは環境因子などを検知する1又は複数のセンサと、電池と、電池残量又は電波状態に関する監視情報又はセンサの検知情報を含むノード情報を作成するノード情報作成手段を有し、作成されたノード情報を上位のセンサノードを経由してホストノードへ送信する。ホストノードは、センサノードからの接続要求に応じてアドレスを生成して送信すると共に、複数のセンサノードから送信されるノード情報を受信する。
従来のような固有の中継ノードを不要とし、全てのセンサノードが検知機能及び中継機能を有するセンサネットワークシステムを得る。各センサノードの電波強度を容易に確認でき、センサノードの配置を容易に行う。
【解決手段】
ホストノード及び複数センサノードはお互いに無線接続してセンサネットワークを形成する。複数のセンサノードはそれぞれ、対象物或いは環境因子などを検知する1又は複数のセンサと、電池と、電池残量又は電波状態に関する監視情報又はセンサの検知情報を含むノード情報を作成するノード情報作成手段を有し、作成されたノード情報を上位のセンサノードを経由してホストノードへ送信する。ホストノードは、センサノードからの接続要求に応じてアドレスを生成して送信すると共に、複数のセンサノードから送信されるノード情報を受信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサネットワークシステム及びその形成方法に係り、特に、対象物や環境因子を検知する多数のセンサノードをマルチホップ型で無線接続してセンサネットワークを構成し、各センサで検知された情報を管理サーバで収集して管理する、センサネットワークシステム及びその形成方法に関するものである。
【背景技術】
【0002】
マルチホップを構成する無線センサネットワークとして、ZigBee(登録商標)が知られている。ZigBeeは、短距離無線通信規格の1つとしてIEEE802.15.4で規格化されており、データ転送速度は低速で安価(最高250kbps)、単3アルカリ乾電池2本で約2年間駆動(低消費電力)という特徴を持っている。
【0003】
ZigBeeの規格を利用した無線センサネットワークとして、従来から種々の技術が提案されている。例えば、特許文献1には、太陽電池による給電の信頼性を向上させた無線センサを使用する無線センサネットワークシステムが開示されている。また、特許文献2の図4には、ネズミ捕獲器11に設置されたセンサノード14から2個の中継ノード15、LANノード16を経由してセンサ情報を情報伝通信機器3に伝達し、公共通信インフラ17を利用して、建物外に設置された情報管理機器4に伝達するZigBee利用ネットワークが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−179411公報
【特許文献2】特開2008−259146公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ZigBeeの規格を用いた無線センサネットワークシステムにおいて、センサノードは、特許文献2の図4に記載のように、中継ノード15を介して接続される。そのため、ビルのオフィスや倉庫などに多数のセンサノードを配置しようとすると、それに応じてより多くの中継ノードが必要となる。中継ノードはセンサノードの機能が無く、中継機能しか持たない。そのため、中継機能のためにのみの目的で中継ノードの数が増えて、コスト高の一因となる。しかも、ネズミやゴキブリを検知する場合には、多くのセンサノードを家具の背後などの狭い場所に配置する必要があり、それに伴って中継ノードの配置も煩わしくなり、手間取る。
【0006】
また、センサノードの配置に際しては電波強度を測定する必要がある。例えば、部屋内の電子機器の背後や金属性の遮蔽物の付近にセンサノードが配置された場合、電波強度が弱く、そのセンサノードからの検知情報を、センタサーバのような管理装置が取得できないおそれがある。そのため、従来では、各センサノードの配置状況やその検知情報を管理する管理装置が、各センサノードの電波強度を逐一チェックした上でその配置を行っている。これでは、多数のセンサノードの配置に時間がかかり、効率的とは言えない。上記特許文献には、センサノードの迅速効率的な配置について言及されていない。また、上記特許文献には、センサノードの増設や撤去、移動などについて言及されていない。
【0007】
そこで、本発明は、従来のような固有の中継ノードを不要とし、全てのセンサノードが検知機能及び無線中継機能を有するセンサネットワークシステム及びその形成方法を実現することにある。
本発明はまた、他のセンサノードとの間の無線通信状況を確認してセンサノードの配置を容易に行うことを可能とする。
本発明はまた、センサノードの増設や撤去、移設などを容易に行うことができるセンサネットワークシステム及びその形成方法を実現することにある。
【課題を解決するための手段】
【0008】
本発明に係るセンサネットワークシステムは、好ましくは、センサノード間に無線のパスが形成されてツリー状に接続された複数のセンサノードと、該複数のセンサノードのうち最上位の1又は複数のセンサノードと無線接続され、全ての該センサノードから情報を収集することができるホストノードを有するセンサネットワークシステムであって、
該複数のセンサノードはそれぞれ、
該電池によって稼動されるプロセッサであって、プログラムの実行によって実現される、該センサによって検知されるセンサ情報を取得するセンサ情報取得手段と、該電池の残量又は他のセンサノード又はホストノードとの間の電波の状況を監視する状態監視手段と、該センサ情報取得手段によって検知されるセンサ情報、又は該状態監視手段によって監視される電池残量又は電波状況に関する状態情報を含むノード情報を作成するノード情報作成手段を有するプロセッサと、
時刻を計時するタイマーと、該ノード情報作成手段によって作成された該ノード情報、及び他のセンサノードから送信されるノード情報を他のセンサノード又は該ホストノードへ送信する送受信回路と、該送受信回路に接続され、少なくとも該ノード情報を無線通信するアンテナと、該センサノードを配置する際に作業者によって操作される操作手段を有し、
該ホストノードは;プロセッサでプログラムを実行することによって実現される、該センサノードからの要求に応じて、該センサノードに割り当てるアドレスを生成する手段と、複数の該センサノードから収集される前記ノード情報を外部の装置へ転送する転送手段とを有し、かつ、
該ホストノードにおいて該アドレス生成手段は、電池が装填されて、ある場所に配置されたあるセンサノード(第2センサノードという)からの要求に応じて、該第2センサノードのための第2アドレスを生成し、生成された第2アドレスを第2センサノードへ送信し、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、自らメモリに保持する自らのアドレス(第1アドレス)を第2センサノードへ送信し、かつ第2のセンサノードが取得した第2アドレスを取得して該メモリに記憶し、
第2センサノードは、受信した第1センサノードの第1アドレス及び第2アドレスを自らのメモリに記憶し、
第2センサノードは、該ノード情報作成手段によって該センサ情報又は電池残量又は電波状況に関する状態情報を含むノード情報に第2アドレスを付して第2ノード情報を作成して、第1センサノードへ送信し、
第1センサノードは、受信した第2のノード情報を、該ホストノード又はさらに上位のセンサノードがある場合には該上位のセンサノードへ送信する、ことを特徴とするセンサネットワークシステムとして構成される。
【0009】
好ましい例では、第1センサノードは、受信した第2のノード情報に、自らのノード情報作成手段によって作成されたノード情報に第1アドレスを付した情報(第1ノード情報)を追加して、さらなる上位のセンサノード又は該ホストノードへ送信すること、
を特徴とする請求項1に記載のセンサネットワークシステムとして構成される。
【0010】
また、好ましくは、前記タイマーが第1の時間間隔(t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、電池残量監視手段により該電池残量を監視し、該電池残量が警戒領域にある場合又は該センサ情報取得手段によるセンサ情報がある場合に、該電池容量又はセンサ情報を含むノード情報を作成し、
前記タイマーが第2の時間間隔(t2>t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、該電池残量監視手段から取得される該電池残量に関する情報、又は他のセンサノードとの間の電波強度を検知する電波強度検知手段から取得される電波状況に関する情報、又は該センサ情報取得手段により取得されるセンサ情報該センサ情報を含めて、該ノード情報を作成すること、を特徴とするセンサネットワークシステムとして構成される。
【0011】
また、好ましくは、ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、該アドレス生成手段によって生成したセンサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び第1センサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、を特徴とするセンサネットワークシステムとして構成される。
【0012】
また、好ましくは、前記センサノードは更に、該センサノードを配置する際に作業者によって操作される操作手段と、光学表示素子を有し、
前記プロセッサは更に、該操作手段が操作されたときに、該センサノードが他のセンサノードと無線接続するための接続要求メッセージをブロードキャスト送信する手段を有し、
該ブロードキャスト送信手段によって送信された該接続要求メッセージに対して、他のセンサノードからの応答が一定時間内に無い場合に、該プロセッサは該光学表示子の表示状態を変更するように制御すること、を特徴とするセンサネットワークシステムとして構成される。
【0013】
本発明に係る、センサネットワークシステムの形成方法は、好ましくは、電池稼動され、対象物や環境因子を検知するセンサを有する複数のセンサノードと、中継機能と有するホストノードとをマルチホップ型で無線接続してセンサネットワークシステムを形成するセンサネットワークシステム形成方法であって、
設置対象のセンサノードの内部機能を非稼動状態から稼動状態に遷移させた後、
該設置対象のセンサノードからの要求に応じて、該ホストノードは該設置対象センサノードのためのアドレスを生成して該設置対象センサノードへ送信するし、
該設置対象センサノードは、受信した該アドレスをメモリに記憶し、
該設置対象センサノードが無線接続される上位のセンサノード(上位センサノードという)は、該設置対象センサノードの該アドレスを自らのメモリに記憶し、
該上位センサノードは、自らのアドレス(上位ノードアドレスという)を該設置対象センサノードへ送信し、
該設置対象センサノードは、該上位センサノードから送信された上位ノードアドレスを受信してメモリに記憶し、
該設置対象センサノードは、該センサで検知したセンサ情報を含むノード情報に自らアドレスを付して、該上位センサノードへ送信することを可能とした、
を特徴とするセンサネットワークシステム形成方法として構成される。
【0014】
本発明に係る、センサネットワークシステムの形成方法の好ましい例では、ツリー状にお互いに無線接続される複数のセンサノードと、該複数のセンサノードに無線接続され、複数のセンサノードに関する情報を収集するホストノードを有するセンサネットワークシステムであって、該複数のセンサノードはそれぞれ、対象物或いは環境因子などを検知する1又は複数のセンサと、着脱自在に装填される電池と、該電池により稼動され、プロセッサでプログラムの実行によって、該センサによって検知されるセンサ情報と、該電池の残量又は電波強度に関する状態情報を含むノード情報を作成するノード情報作成手段と、該ノード情報作成手段によって作成された該ノード情報を送信又は受信する無線通信手段と、時刻を計時するタイマーと、該センサノードを配置する際に作業者によって操作される操作手段を有する、センサネットワークシステムを形成する方法であって、
配置対象の第2センサノードに電池が装填された後、該操作手段の操作に従って、該プロセッサが非稼動状態のスリープモードから稼動状態の稼動モードに遷移するステップと、
稼動モードに遷移した後、ある場所に置かれた第2センサノードからの要求に応じて、該ホストノードは該第2センサノードのための第2アドレスを生成して第2センサノードへ送信するステップと、
第2センサノードは、受信した第2アドレスをメモリに記憶するステップと、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、第2センサノードの第2アドレスをメモリに記憶するステップと、
該第1センサノードは、自らのメモリに保持する自らの第1アドレスを第2センサノードへ送信するステップと、
該第2センサノードは、該第1センサノードから送信され受信した、第1センサノードの第1アドレスをメモリに記憶するステップと、
該第2センサノードは、該ノード情報作成手段によって作成された、センサ情報又は該電池の残量を含むノード情報に第2アドレスを付して、該第1センサノードへ送信するステップと、
該第1センサノードは、該第2センサノードより送信され受信した該ノード情報を、さらに上位のセンサノードがある場合には該上位のセンサノードを経由して該ホストノードへ送信するステップとを有することを特徴とするセンサネットワークシステム形成方法として構成される。
【0015】
また、好ましくは、ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、生成した各センサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び直接接続される上位のセンサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、を特徴とするセンサネットワークシステム形成方法として構成される。
【0016】
また、好ましくは、前記稼動モードに遷移した後、第2センサノードは、接続先のノードを捜すために接続要求メッセージをブロードキャスト送信するステップと、
第2センサノードは、接続要求メッセージをブロードキャスト送信した後、一定時間内に応答があるかを判定するステップを有し、
該判定の結果、一定時間内に前記第1センサノードから応答があった場合、第2センサノードは前記第1センサノードに対して、該ホストノードによるアドレスの付与のための要求を送信するステップ、を有することを特徴とするセンサネットワークシステム形成方法として構成される。
【0017】
また、好ましくは、ツリー状に無線接続された複数のセンサノードに対して第3センサノードを増設する場合、
第3センサノードの該操作手段の操作に従って、第3センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第3センサノードが稼動モードに遷移した後、該ホストノードは第3センサノードからの要求に応じて第3センサノードのための第3アドレスを生成して第3センサノードへ送信し、
第3センサノードは、受信した第3アドレスを自らのメモリに記憶し、
第3センサノードに直接接続される、前記第1センサノードの操作手段の操作に従って、該第1センサノードのプロセッサはスリープモードから稼動モードに遷移し、
第1センサノードは、自らのメモリに保持する自らの第1アドレスを、及び自らのタイマーの計時時刻を第3センサノードへ送信し、
第3センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とするセンサネットワークシステム形成方法として構成される(センサノードの増設)。
【0018】
また、好ましくは、他のセンサノードに接続していた第4センサノードを、該他のセンサノードとの接続を外して第1センサノードに接続する場合、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードの該操作手段の操作に従って、第4センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードに直接接続される、第1センサノードは、自らのメモリに保持する自らの第1アドレス、及び自らのタイマーの計時時刻を第4センサノードへ送信し、
第4センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とするセンサネットワークシステム形成方法として構成される(センサノードの移設)。
【0019】
また、好ましくは、前記第1センサノードに接続された第2センサノードの接続先を維持したまま、更に第5センサノードを用いて、該ホストノードに直接又は間接的に接続された第6センサノードに接続する場合、
第5センサノードの該操作手段の操作に従って、第5センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第5センサノードは、該ホストノードが生成した第5センサノードのための第5アドレスを取得して自らのメモリに記憶し、
第5センサノードに直接接続される、第6センサノードは、自らのメモリに保持する自らの第6アドレス、及び自らのタイマーの計時時刻を第5センサノードへ送信し、
第5センサノードは、第6センサノードから送信され受信した、第6センサノードの第6アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定し、かつ
第5センサノードは、取得した自らの第5アドレスを第2センサノードへ送信し、
第2センサノードは、第5センサノードから送信され受信した、第5センサノードの第5アドレスを自らのメモリに追加して記憶すること、
を特徴とする請求項6乃至8のいずれかの項記載のセンサネットワークシステム形成方法として構成される(センサノードのバイパス形成)。
【0020】
また、好ましくは、前記第2センサノードに装填された電池を交換する場合、
電池を交換した後に第2センサノードの該操作手段の操作に従って、第2センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードは、第2センサノードからの接続要求に応じて、自らのタイマーの計時時刻を応答メッセージに付加して第2センサノードへ送信し、
第2センサノードは、受信した該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項6乃至8のいずれかの項記載のセンサネットワークシステム形成方法として構成される(センサノードの電池交換)。
【0021】
また、好ましくは、前記ホストノードは、定期的に外部より現在時刻情報を取得して、自らのタイマーに設定し、かつ全てのセンサノードに該現在時刻情報を送信し、
全ての該センサノードは、受信した該現在時刻情報を自らのタイマーに設定すること、
を特徴とする請求項6乃至12のいずれかの項記載のセンサネットワークシステム形成方法として構成される(時刻の一斉同期)。
【発明の効果】
【0022】
本発明によれば、従来のような固有の中継ノードを不要とし、全てのセンサノードが検知機能及び無線中継機能を有するセンサネットワークシステムを実現することができる。
また、配置対象のセンサノード自体で、ホストノード又は他のセンサノードと間の無線通信状況を確認してセンサノードの配置を容易に行うことができる。更に、センサノードと上位のセンサノード又はホストノード間の通信、操作によってセンサノードの増設や撤去、移設などを容易に行うことができる。
【図面の簡単な説明】
【0023】
【図1】一実施例によるセンサネットワークシステムの構成を示す図。
【図2】一実施例におけるセンサノードの構成を示す図。
【図3】一実施例におけるセンサノードで生成されるノード情報のデータ構成を示す図。
【図4】一実施例におけるセンサノード管理テーブルの構成を示す図。
【図5】一実施例におけるセンサノードマップの例を示す図。
【図6A】一実施例におけるセンサノードの敷設時の制御動作を示すチャート図。
【図6B】一実施例におけるセンサノードの敷設時の制御動作を示すチャート図。
【図6C】一実施例におけるセンサノードの敷設時の制御動作を示すチャート図。
【図7】一実施例におけるセンサノードの敷設時のセンサノード群を示す図。
【図8】一実施例における監視モード2のセンサノード群を示す図。
【図9】一実施例における監視モード2のノード情報の送信動作を示すチャート図。
【図10】一実施例における監視モード2のノード情報の送信の様子を模式的に示す図。
【図11】一実施例におけるセンサノードの増設時のセンサノード群を示す図。
【図12】一実施例におけるセンサノードの移設時のセンサノード群を示す図。
【図13】一実施例におけるセンサノードの電池交換時のセンサノード群を示す図。
【図14】一実施例におけるセンサノードのバイパス形成時のセンサノード群を示す図。
【図15】一実施例におけるセンサノードの撤去時のセンサノード群を示す図。
【図16】一実施例におけるセンサノードの故障時のセンサノード群を示す図。
【図17】一実施例におけるセンサノードの増設時の制御動作を示すチャート図。
【図18】一実施例におけるセンサノードの電池交換時の制御動作を示すチャート図。
【発明を実施するための形態】
【0024】
以下、図面を参照して、本発明の実施形態について説明する。
図1は、一実施例によるセンサネットワークシステムの構成を示す。
センサネットワークシステムは、多数のセンサノードから成るセンサノード群1と、管理サーバ3と、センサノード群1と管理サーバ3をインターネット等のネットワークを介して接続するホストノード2を有して構成される。なお、図1には、1つのホストノード2とその管理下のセンサノード群1が示されているが、実際には、管理サーバ3には複数のホストノード2とその管理下にあるセンサノード群1が接続される。
【0025】
センサノード群1は、多数のセンサノード101〜105(総じて符号10で示すことがある)が無線接続してセンサノードネットワークを形成される。ホストノード2は、センサノード群1内の各センサノード10を管理すると共に、各センサノード10を管理サーバ3と接続する機能を有する。
【0026】
センサノード群1は、最上位の1又は複数のセンサノード101と、最上位のセンサノード101に接続される次位のセンサノード102、更に下位のセンサノード103、104、105のように、多数のセンサが階層的(ツリー状)に無線接続される。センサノード群1のうち1又は複数の最上位のセンサノード101がホストノード2に無線接続される。ここで、センサノード10の階層構造について「深さ」なる概念を用い、センサノード101から105の方向に向かって「深さ1」〜「深さ5」のように表現する。即ち、ホストノード2は深さ「0」であり、ホストノードから遠ざかるほど深さが深くなり、本実施例では最大深さ「15」まで可能としている。図7の例では、センサノード103*の深さ「3」まで示している。
【0027】
一例では、1台のホストノード2に100台程度のセンサノードをツリー状に接続することができる。センサノード間又はセンサノード10とホストノード2間の電波強度は、同じ部屋はもちろんのこと、オフィスビルやホテル等において異なる階に配置された場合でもお互いに無線通信が可能である。
【0028】
センサノード10の構成については後で詳述するが、各センサノードは、目的とする対象物又は温度や湿度等の環境因子を検知する検知機能及び他のセンサノードから送信される検知信号やアドレス信号を、上位又は下位のセンサノードへ転送する転送機能を有している。センサノード10には単3アルカリ電池2本が搭載され、この電池によって約2年間その内部の諸機能を稼動させることができる。
【0029】
ホストノード2は、敷設される各センサノード10に固有のアドレスを付与するなどのセンサノードの管理機能、及び各センサノードからのノード情報をネットワーク9を介して管理サーバ3へ送信する転送機能を有する。ホストノード2には、インターネット上で識別されるアドレス(MACアドレス)が付与される。センサノード10が電池で駆動されるのに対して、ホストノード2はオフィスや倉庫等の一般の商用電源から給電を受ける。
【0030】
管理サーバ3は、所定のアプリケーションプログラムを実行するプロセッサ(CPU)31と、種々のデータを保管するデータベース(DB)32を有し、プロセッサ31で所定のプログラムを実行することで、センサノード10の配置状況やノード情報をDB32に保管して管理する。また、各センサノードの電波品質や電池の残量を管理すると共に、センサノードの配置及び検知情報をマップに作成する機能を有する。なお図示していないが、管理サーバ3は、情報の入力及び表示をする入力器及び表示器を有する。
【0031】
図2は一実施例によるセンサノードの構成を示す。
センサノード10は、プリント基板上に、1又は複数のセンサ111,112(センサ部11と総称する)、制御回路15及び2本の単3電池19を搭載して構成される。プリント基板の大きさは例えば50×100mm程度であり、家具の背後や下部に配置したり、或いは表面接着テープや取付け金具等の取付け手段を用いて壁や天井等に容易に取り付けることができる。
【0032】
センサ111,112は、対象物或いは環境因子等の検知の目的に応じて、圧力センサ、赤外線センサ、ジャイロセンサ、加速度センサ、温度/湿度センサ、照度センサ、発光素子及び受光素子から成る光学センサ、歪みセンサ、音声センサ、イメージセンサ、等の色々なセンサであってよい。図示の例では、ネズミや人などの移動物を光学的に検知する光学センサと赤外線センサの2種類のセンサを搭載している。
2本の単3電池19はコネクタ16を介して制御回路15に接続され、電源を供給する。電池の搭載は、周知の装着保持機構を用いて電池を自在に装着及び取り外すことができる。装着中は電極端子から電池が不用意に脱落しないような保持機構であればよい。
【0033】
制御回路15は、主としてセンサ部11から検知情報を収集し、IEEE802.15.4に基づいて送信データを作成する処理を行うプロセッサ(CPU)12と、無線信号を送信及び受信する送受信回路13と、送受信回路13に接続されるアンテナ14と、ボタン17及びLED(発光素子)18を備える。なお、CPU12はソフトウェアによるタイマーを有している。
【0034】
ボタン17はセンサノードの接続状態や、動作状態を切替えるため、及び電波強度をチェックするために、作業者により操作される操作スイッチである。その詳細については、後述するが、例えば、センサノード10をある場所に配置する場合、作業者がボタン17を予め定めた規則に従って押下すると、CPU12はホストノード2が生成する自らのアドレスを取得し、また接続される上位のセンサノードのアドレスを検知する。また、作業者がボタン17を予め定めた規則に従って操作すると、CPU12は当該センサノード10の周辺にある他のセンサノード10又はホストノード2との間の電波強度を検査しチェックする。チェックの結果、電波強度がIEEE802.15.4に基づく無線通信可能と判断すれば、LED18を点灯して、作業者にその場所は電波強度を充足している旨知らせる。
【0035】
ここで、ボタン17の押下げについての予め定めた規則について述べる。(a)ボタン17の1回押下は、子ノードを上位の親ノードに接続するときに操作するものであり、接続元センサノード(子ノード)が接続先センサノード(親ノード)に対して接続要求を発する。(b)ボタン17の連続2回の押下は、センサノード10のCPU12をスリープモードから稼動モードに強制的に遷移させる。稼動モードになった親ノードは、子ノードからの接続要求を受信する待ち状態となる。(c)ボタン17の長時間(例えば4秒以上)の押下は、センサノード10のCPU12(その中のメモリ含む)を初期化状態にする。なお、この操作の規則は、ホストノード2についても同様である。
【0036】
CPU12はセンサノード内における全ての制御及び処理を行うが、その主な機能としては、センサ部11を定期的に駆動してセンサの検知情報(センサ情報という)を収集する処理機能、電池の電圧(電池残量)及び電波状況を定期的に監視して情報を収集する処理機能、収集されたこれらの情報を含む所定の形式の送信データを作成する処理機能、他のセンサノードから送信される送信データを受信して、他のセンサノードへ転送する転送機能、新たなセンサノード10が配置される場合、その電波状況をチェックしてLED18を点灯制御する処理機能の諸機能を有する。
【0037】
CPU内のメモリ(図示せず)はRAMエリアとROMエリアを有し、ROMエリアには8バイトの製品番号が予め記憶されている。製品番号は、自センサノードを他から識別するためのもので、センサノードのボード或いはケースにも印刷されており、作業者はそれを見て当該センサノードを識別できる。ROMエリアにはまた、ホストノード2から配信される自センサノードのアドレス、及び親ノードのアドレス及び深さ情報が記憶される。RAMエリアには、ホストノード又は親ノードから転送された子ノードのアドレスを一時的に保持する。また、ホストノードへ転送するために、子ノードから転送された1又は複数の子ノードのノード情報を一時的に保持する。
【0038】
図3は、センサノードで生成されるノード情報のデータ構成を示す。
ノード情報は、IEEE802.15.4に基づく送信先及び送信元のID及びアドレスを含むMACヘッダ部41と、データフィールドを含むアプリケーションヘッダ部42と、データチェック用のチェックサム43により構成される。
アプリケーションヘッダ部42は、本発明に特徴的なデータ部分であり、センサノード10から取得されるセンサノードの状態を示す情報及びセンサで検知されたセンサ情報を含む。アプリケーションヘッダ部42に対して、ホストノード2で、IEEE802.15.4に基づく、送信先及び送信元のID及びアドレスを含むMACヘッダ部41が付加されて、管理サーバ3へ送信される。
【0039】
アプリケーションヘッダ部42は、2つの監視モード(監視モード1と監視モード2)のデータ形式から構成される(監視モードについては後述する)。いずれの監視モードのデータも、パケットタイプ421、センサノードに付与されたアドレス422、センサノードに装着された電池の残量423、センサノードの検知情報を示すセンサ情報424を有する。監視モード2は更に故障情報425を有する。パケットタイプ421は、データが監視モード1か又は監視モード2かを識別する。電池残量423は、2つの単3アルカリ電池の電圧を、3.0vから0vまで4段階(2ビット)に分け、例えば、電圧が3.0〜2.6v:「11」、2.6〜2.4v:「10」、2.0〜2.4:「01」、2.4〜0v:「00」で表す。電池残量が2.4v以下になった場合を警報領域と定義して、監視情報(「01」)を発する。
【0040】
センサ情報424は、センサノード10に最大2個のセンサが搭載されることを想定し、各センサの検知信号の有無を示す。2つのセンサの両方で対象物が検知された場合には、「11」となる。故障情報425は、電波強度の状態を示すデータ、及び現在の親ノードアドレス、自己ノードの深さ情報を含む。
電波強度は4段階(2ビット)に分け、例えば、−85dBm:「00」、−85〜−98dBm:「01」、−98〜−105dBm:「10」、−105dBm:「11」で表す。−98〜−105dBmの範囲を警報領域と定義して、この電波状態ではリトライを指示してセンサノードからのノード情報を再送させる。
【0041】
次にホストノード2の機能について説明する。
ホストノード2は、プロセッサ(CPU)、メモリ、送受信回路、アンテナ、及び商用電源コンセントから給電を受ける電源接続端子を有する。その構成については図示しないが、図2の単3電池19を電源接続端子に変えたものと理解できる。センサ部11は有してもよいが、この例では、センサ部11は無いものとする。ボタン17及びLED18を有するとする(便宜上、ボタン17及びLED18の符号を引用することがある)。なお、ここでホストノードは説明の都合上そのように呼ぶが、センサノードの1つとして特定センサノードと呼んでもよいであろう。
【0042】
ホストノード2はCPUでプログラムを実行して、センサノードに付与するアドレスの生成や抹消する機能を有する。即ち、ホストノード2の管理下におけるセンサノード10の設置や移動、撤去等に伴うセンサノードに対するアドレスの付与、変更、抹消の管理を行う。例えば、CPUが新たなセンサノード10の配置を検知すると、そのセンサノードに対して、アドレスを生成して送信する。センサノードに対するアドレスの付与は、CPUが例えばシーケンシャルな番号を逐次生成して、新たに接続されるセンサノードへ送信することで行われる。
【0043】
ホストノード2は、また管理サーバ2とセンサノード群1との間で情報の転送を中継する機能を有する。即ち、センサノード10のノード情報(電池残量、センサ情報、電波状況等のデータ(詳細は図4参照))を収集して、ネットワーク9を介して管理サーバ3へ送信する。
ホストノード2のCPUはメモリ(図示せず)を有し、自らに付与されたMACアドレスを格納したり、センサノードから収集されるノード情報を一時保管する。なお、ホストノード2は、商用電源を使用しているので、スリープモード(CPUの稼動を休止する動作をいう)は存在せず、常に、それに接続されたセンサノードから送信されるメッセージの受信待ち状態を維持する。
【0044】
次に、図4を参照して、センサノード管理テーブルの構成について説明する。
管理サーバ3のDB32で管理されるセンサノード管理テーブルは、全センサノード10及びそれらから収集されるノード情報を記憶する。
センサノード管理テーブルにおいて、「センサノードアドレス」は、ホストノード2によって生成される固有のアドレス(例えば2バイト)である(センサIDと言ってもよい)。「製品番号」は、センサノード10のボードやケースに予め印字された可視的な識別情報であり、作業者はこの製品番号を見て、当該センサノードを何れの場所に配置するかを判断することができる。センサアドレスと製品番号の対応関係は、管理者が管理サーバ3の表示器に表示されるこの管理テーブルを見ながら、入力器から製品番号を入力することで対応付ける。
【0045】
「フロアID」「フロア名」「設置場所」は、オフィスビル等にセンサノードを敷設するに先立ち、管理者がオフィスビルの配置図を見ながら、管理サーバ3の表示器と入力器を用いて入力することにより、この管理テーブルに登録される。
「親ノードアドレス」及び「ノード深さ」は、自センサノードに対して、接続される親ノードのアドレスと、ホストノード2からの自センサノードの深さを示す。この例で、最大深さは15である。親ノードと自センサノードの深さを管理することで、親ノードと子ノードとの接続関係が明確になり、センサノード間のツリー構造が描けることになる。
なお、センサノードアドレスと、親ノードアドレス及び深さは、センサノードが敷設されたときの、ホストノードによるアドレスの付与時に確定する。
【0046】
ここで、センサノードの敷設時に、複数の親ノードから応答があって複数の親ノードアドレス及びノード深さを取得した場合には、深さが最も浅い1の親ノードを選択して、図4のように登録する。深さが最も浅い親ノード以外については、例えば、センサノード「YA1116」(図5参照)が、親ノードのYB1118からの親ノードアドレスと深さ情報を取得した場合、センサアドレス「1002」の行の右端の欄外に(図4には示していないが)、迂回ルート用の親ノードアドレス「1003」深さ「3」を登録することになる。本実施例では、取得された他の親ノードについては最大4つのセンサノードまでを、迂回ルート用として、同様の方法でこの管理テーブルに登録する。
【0047】
更に、センサノード管理テーブルに保管される他の情報として、監視モード1又は監視モード2による逐次取得されるノード情報がある。即ち、各センサノードに付与されたセンサノードアドレス対応に、「ノード情報の取得年月日時間」、「センサノードからの信号(即ちノード情報)の有無」、「電池残量」、「電波状況」、「センサ1及びセンサ2の検知状態」、及び「センサ1及び2の種別」を記憶する。センサノードからの信号の有無は、電波の受信状態を示し、「1」が信号あり、「0」が信号なしを示す。電池残量は、その状態を4段階(「00」〜「11」)で示す。また、電波状況は、12段階(「0001」〜「1100」)で示す。センサの検知状態は、「1」が対象物の検知あり、「0」が検知無し、を示す。センサの種別とは、例えば設置可能な最大12種類のセンサを種別分けして、光学センサは「0001」、赤外線センサは「0010」で示す。
【0048】
各センサノードは8時間ごとに強制的に駆動されて(監視モード2)、そのノード情報はホストノード2を経由して管理サーバ3に収集され、この管理テーブルに蓄積される。更に、監視モード1として、各センサノードは1時間ごとに駆動されるが、もし電波状況や電池残量に異常状態があれば、ノード情報が取得されてそのノード情報が集積される。例えば、センサノードアドレス「1118」は、時間16:30に電池残量と電波状況が異常状態であったので、その1時間後の17:30には監視モード1のチェック時に同様の情報が収集されている。また、センサノードアドレス「1116」は、時間16:30に電池残量と電波状況はいずれも正常であったが、監視モード1のチェック時、21:30には電池残量が異常となったので、そのノード情報を取得している。
【0049】
管理サーバ3のプロセッサ(CPU)31は、センサノード管理テーブルに登録されたセンサ情報を用いて、予めDB内に用意したビルやオフィスの配置図に、センサノードの接続状態やセンサノードごとのノード情報をプロットして、センサノードマップ(トポロジー図という)を作成することができる。なお、センサノードマップに表示されるビルのフロアのレイアウト図と、ビルのフロアに配置されるセンサノードの関係は、管理者が管理サーバ3の入力器より入力して、予め指定しておく。マップとセンサノードの配置関係を示す情報は、DBの所定のエリアに保管される。
【0050】
図5は、管理サーバ3で作成されるセンサノードマップの一例を示す。
図示の例は、ビルの1Fから3Fの各フロアの3箇所に人を検知する赤外線センサを有するセンサノードを配置した場合の、センサノードの無線接続パス、センサノードの状態、及びノード情報を取得した時刻を示す。
ここで、各センサノード10から収集されるノード情報には、ノードアドレスが含まれているので、そのノードアドレスを基に、管理サーバ3のCPUはセンサノード管理テーブルのノードアドレスを参照して、センサノードアドレスに対応する製品番号、フロア名、設置場所、親ノードアドレス、ノード深さ、ノード情報取得年月日時間、電波状況、センサの検知状態、等を取得する。
【0051】
そしてまず、自ノードアドレスと親ノードアドレスとの関係を順次たどって、センサノードの接続関係を算出して、センサノード間の接続マップを作成する。次に、各センサノードで検知された電波状況を算出する。電波強度の算出に際しては、センサノード管理テーブル内の12段階に分けられた、電波状況の数値から、実際の電波強度を示すdB表示へと変換する。次に、フロア名、設置場所、取得年月日時間、センサの検知状態を、各センサノードに割り当てる。更に、算出した電波強度(dB)をセンサノード間に割り当てる。
【0052】
このような処理によって、センサノード群1におけるホストノード2から末端のセンサノードまでの接続ツリーに、上記の管理情報及びノード情報を付与した、センサノードマップを作成することができる。図示の、各センサノード内の数字(例えば、「YA1114」)は、そのセンサノードの製品番号を示し、センサノードの周辺に示した、「−65」、「−85」等の数字は、親ノードとの間の電波強度(dB)を示している。なお、図5は、センサが対象物である人を検知していない状態を示しているが、もしあるセンサノードのセンサ部11が人を検知した場合、例えばセンサノードYA1114の丸の表示色が赤色に変わって表示される。
【0053】
次に、センサノードの制御ないし処理動作について説明する。
センサノード10における制御には、主に(1)センサノード10を敷設する時の制御、(2)センサノードの状態を監視する時の制御、(3)センサノードの保守時等の制御、の3つがある。以下、それぞれの制御動作について述べる。
【0054】
(1)センサノードの敷設時の制御(システム形成)
図6A〜6Cのチャート図を参照して、センサノードの敷設時の制御動作について説明する。センサノードの敷設時の制御は、ボタン17の予め定められた規則に従った押下とそれに伴うCPU12による制御動作が関係する。敷設とは複数のセンサノードを1つ1つ配置していく動作であり、ここでは、図7に示すように、既に敷設済みのセンサノード1012に対して、センサノード1024を新たに敷設する場合を想定する。その下位のセンサノードは未敷設である。
概略理解のために言えば、センサノードの敷設時における関係情報の送受信制御は、大きく4つのフェーズに分かれる。第1は敷設対象のセンサノードがブロードキャスト送信して、親ノードを捜すフェーズ、第2はその親ノードを経由してホストノードが生成するアドレスを取得するフェーズ、第3は親ノードから親ノードアドレス及び深さ情報を取得するフェーズ、第4はホストノードから送信される敷設完了信号及び時刻同期信号を受信して自センサノードにセットして時間同期を取り、終了応答として自センサノードのアドレス及び深さ情報を親ノード経由でホストノードへ送信するフェーズ、である。
【0055】
以下、図6A〜6Cを参照して詳細に説明する。
ホストノード2は公衆電源が供給されており、常時、各センサノードからのメッセージの受信待ち状態にある(S101)。また、接続先となるセンサノード1012(親ノード)は、接続要求メッセージ或いは敷設完了信号の受信待ち状態にある(以下、この状態を接続先モードという)(S201)。なお、敷設対象ノードは自分の敷設が終わった段階で接続先モードに自動的に遷移している(図6BのS313の状態)ので、センサノード1012は既敷設ノードとして受信待ちの状態である。敷設対象の下位のセンサノードはあるが未だ敷設されていない状況である。
【0056】
未使用状態にある敷設対象のセンサノード1024に、作業者が単3電池2本を装着すると(S301)、パワーオンして、そのCPU12は稼動状態(以下、CPU稼動モードという)になる(S302)。CPU12の稼動により、メモリ等を含む内部の状態を初期化する(S303)。その後、CPU12はスリープモードとなる(S304)。なお、作業者は単3電池の装着をどこで行ってもよいが、以後の動作を考慮して、ホストノード2の付近で行うのが好ましい。
【0057】
作業者は、スリープモードにあるセンサノード1024のボタン17を1回押下すると、割り込みが発生してCPU稼動モードに遷移する(S305)。その後、作業者がボタン17を1回押下すると、CPU12はそれを検知して、センサノード1024を接続元モードの状態にする(S306)。そして、センサノード1024は、接続先のノードを捜すために、接続要求メッセージを生成して、ブロードキャスト送信する(S307)。ここで、接続要求メッセージには、自センサノードを識別してもらうための製品番号(8バイト)が含まれる。ブロードキャスト送信した後、センサノード1024は、1又は複数の接続先となる上位のセンサノード(親ノード)からの応答メッセージ待ちの状態となる。
【0058】
ブロードキャスト送信された接続要求メッセージは、当該センサノード1024の周辺(電波強度の受信範囲内)に在る1又は複数の他のセンサノード又はホストノードが受信する可能性がある。ここでは、センサノード1012が受信したとする。センサノード1012は、接続要求メッセージを受信すると、応答メッセージを送信する(S202)。センサノード1024は、センサノード1012から送信された応答メッセージを受信する(S308)。なお、この例ではセンサノード1012からの応答メッセージのみを受信するが、接続先の親ノードが複数ある場合には、それら複数の親ノードからの応答メッセージを受信し、それぞれについて、自センサノード1024の深さを知ることができる。
【0059】
センサノード1024は、ボタン17が1回押下された時にLED18を点灯される。また、CPU12は、接続要求メッセージをブロードキャスト送信した時点から、タイマー監視しており、一定時間(例えば5秒)以内に親ノードから応答メッセージを受信しなかったら、応答なし(タイムアウト)と判断して(S309:N)、点灯中のLEDを点滅させて、作業者に知らせる。作業者は、LED18の点滅を見て、当該場所では電波状況が悪いと判断し、そのセンサノード1024を他の場所に移して、ステップS304から同様の動作を行う。
【0060】
一方、センサノード1024が一定時間内に親ノードからの応答メッセージを受信すると(S309:Y)、センサノード1024は、ホストノード2から自アドレスを取得するためのアドレス払出し要求に自センサノードの製品番号を付与して、親ノードへ送信する(S310)。親ノードであるセンサノード1012は、受信したアドレス払出し要求を、更に上位の親ノードであるホストノード2へ送信する(S203)。
接続先モードにあるホストノード2は、アドレス払出し要求を受信すると、要求のあった当該センサノード1024に対するアドレスを生成し、送信する(S103)。ホストノード2におけるアドレス生成の管理は、例えば2バイトから成るシリアル番号のアドレスを生成するものであり、既に生成したシリアル番号をメモリに記憶しておき、アドレス払出し要求がある度に、順次生成する。ホストノード2は、センサノードのアドレス管理テーブルをメモリ内に有し、生成したアドレス(2バイト)と受信したセンサノードの製品番号(8バイト)と対応付けて、アドレス管理テーブルに記憶する。
【0061】
センサノード1012は、ホストノード2より払出されたアドレスを受信して、それを下位ノードであるセンサノード1024へ送信する(S204)。センサノード1024は、払出されたアドレスを受信すると、自センサノードのアドレスとして、メモリに登録する(S311)。以後、センサノード間の通信は、2バイトのアドレス(8バイトの製品番号ではなくて)を用いて行う。転送容量の軽減、引いてはセンサノードの節電のためである。
【0062】
次に、センサノード1024は、親ノードに対して、自センサノードに関する基本情報(親ノードのアドレス及び深さ情報)を交換するための情報交換要求メッセージを親ノードに対して送信する(S311)。
センサノード1012は、情報交換要求メッセージを受信すると、接続要求元のセンサノード1024のアドレスとその深さ情報を、子ノードとしてメモリに登録する(S205)。そして、自ノードのアドレスと深さ情報を子ノード1024に対して送信する。その後、センサノード1012は、他の子ノードからの次の接続要求メッセージ又は子ノード1024から敷設完了信号の受信を待つ(S206)。即ちステップS201に移る。なお、親ノードに複数の子ノードが接続される場合には、親ノードのメモリには、それら全ての子ノードのアドレスと深さ情報の対を記憶する。
【0063】
子ノードであるセンサノード1024は、親ノードから親ノードアドレス及び親ノードの深さ情報を取得すると、それを親ノードとして、メモリに登録する(S312)。この時点で、先に点灯していたLED18は消灯する。その後、センサノード1024は親ノードの状態になり得る。そして、もし新たな敷設対象のセンサノードから接続要求(他の接続要求)に対応するため、接続元モードからの接続先モードに遷移する(S313)。即ち、以後、ステップS1012の状態に遷移する。
【0064】
なお、この例では、子ノード1024は、上位のセンサノード1012からのみ、親ノードのアドレス及び深さ情報を取得しているが、もし複数の上位ノードからそれらの親ノードのアドレス及び深さ情報を取得した場合には、それらをメモリに登録する。そして、応答のあった上位のノードの中で、一番深い深さを持つ上位ノードを親ノードとして扱う。応答のあった上位のノードの深さが全て同じ場合は、受信感度の一番強い上位ノードを親ノードとして扱う。自ノードの深さは、取得した親ノードの深さに+1加算して求める。2番目以降に応答のあった他の上位ノードからのアドレスおよび深さ情報は、迂回ルートとして保持しておく。
【0065】
図6Cを参照する。作業者は、敷設対象のセンサノード1024のLED18が消灯したことを確認して、当該センサノードの敷設が正しく行われたと判断し、ホストノード2のボタン17(便宜上、図2の符号を引用する)を押下する(S104)。なお、敷設対象のセンサノードが複数ある場合には、作業者はそれらのセンサノードの敷設が正しく完了したことを判断して、ボタンを押下する。すると、ホストノード2のCPUはそれを検知して、接続された全てのセンサノードに対して敷設完了信号を送信する(S105)。この時、CPUはインターネットから現在時刻情報を取得し、その現在時刻情報と、センサノードを起動する時間間隔(即ち監視モード1及び2の起動時間間隔)を、敷設完了信号に付加して送信する(S105)。現在時刻情報は、全てのセンサノードの時刻同期用として使用される。
【0066】
センサノード1012は、ホストノード2から送信された敷設完了信号を受信すると、起動時間間隔をメモリに登録すると共に、現在時刻情報を自タイマーに設定する。併せて、同様の敷設完了信号、現在時刻情報及び起動時間間隔を、子ノードへ送信する(S207)。
センサノード1024は、上位のノードから送信された、敷設完了信号を受信すると、起動時間間隔をメモリに登録すると共に、現在時刻情報を自タイマーに設定する(S314)。そして、センサノード1024は、自ノードの親及び子ノードのノードアドレス及び深さ情報を終了信号に付加して、上位ノードに送信する(S315)。センサノード1024はその後、次に起動する時間(即ち監視モード1又は2で指定された時間間隔)をタイマーに設定して、CPUスリープモードに移る(S316)。
【0067】
上位のセンサノード1012は、子ノードから送信された、親及び子ノードのノードアドレス及び深さ情報を付加した終了信号を受信すると、更に自ノードの親ノードのノードアドレス及び深さ情報を付加し、それを終了信号として上位のホストノードへ送信する(S208)。センサノード1012はその後、次に起動する時間(即ち監視モード1又は2で指定された時間間隔)をタイマーに設定して、CPUスリープモードに移る(209)。
【0068】
ホストノード2は、接続された各々のセンサノードから送信される終了信号を受信すると、親及び子ノードのアドレス及び深さ情報を自らのメモリに登録する。併せて、管理サーバ2へ、取得した同様の情報を送信する(S106)。その後、各センサノードからのメッセージ受信待機状態に移る(S107)。これにより、ホストノード2は、その管理下にあるセンサノード群1内の全てのセンサノードのアドレス及び深さ情報を把握することになる。
また、管理サーバ3は、ホストノード2から送信された、親及び子ノードのアドレス及び深さ情報を受信して、センサノード管理テーブルのセンサアドレスに対応する、親センサノードアドレス及びノード深さの欄に登録する。これにより、管理サーバ3は、センサノード群1内の全てのセンサノードのアドレス及び深さ情報を更新して管理することができる。
【0069】
(2)センサノードの状態監視時の制御
センサノードの状態監視とは、自らのセンサノードの状態を定期的に監視して、得られたノード情報をホストノードを介して管理サーバへ送信する制御動作である(以下、監視モードという)。なお、監視の最中にセンサノードのセンサの検知情報を取得するので、換言すれば、センサの監視を伴う通常の検知モードとも言える。
【0070】
センサノード10は、自らのセンサノードの状態を定期的に監視する監視モードと、それ以外のモードに分けられる。監視モードでは、センサノードのCPUが稼動してアクティブになるので、アクティブモードともいうことがある。一方、監視モード時以外の大部分の時間は、省電力のためCPUは動作していない。この大部分の時間帯をスリープモードという(省電力モード又は非アクティブモードということもある)。
【0071】
以下、監視モードについて説明する。監視モードには、2つの監視モードがある。
[センサノードのノード情報の収集処理(監視モード1)]
監視モード1は、例えば1時間ごとにセンサノード10を駆動して、センサ部11より得られるセンサ情報及び電池残量の検知に伴う判断結果を示す情報をホストノード2へ送信する動作である。即ち、CPU12は自己のタイマーにより1時間ごとにセンサノード10の内部機能を駆動して、検知した電池残量が予め定めた警戒領域(警戒電圧範囲)になったか及びセンサが対象物を検知したかを判断し、電池残量が警戒領域になった場合又はセンサが対象物を検知した場合にのみ、これらの情報を監視モード1のデータ形式(図3参照)で送信する。しかし、電池残量が警戒領域に無い場合又はセンサ部11による対象物の検知が無い場合には、監視モード1のデータは作成されない。送信データ作成及び送信のため費やす電池残量の消耗を防ぐためである。ホストノード2は、受信したノード情報を管理サーバ3へ送信する。
なお、1時間ごとにセンサを駆動するのは電池の省電力化のためであり、電池残量の消耗を更に抑えたければ、センサ部の駆動タイミングを延ばし、逆に電池の省電力化よりもセンサ部の検知精度を上げたい場合には、その駆動タイミングを、30分ごと或いは15分ごとのように短くしてもよい。
【0072】
[センサノードのノード情報の収集処理(監視モード2)]
監視モード2は、例えば8時間ごとにセンサノード10の状態を監視して得られる情報、及びセンサ部11を駆動して得られるセンサ情報をノード情報として、ホストノード2を介して管理サーバ3へ送信する動作である。CPU12は、センサ情報、電池残量や電波状態、故障等のノードの状態を含むノード情報を監視モード2のデータ形式でホストノード2へ送信する。
監視モード1がセンサノード10のセンサ部11に対象物の検知がある場合又は電池残量が警戒領域になっている場合にのみノード情報をホストノード2へ送信するのに対して、監視モード2は全てのセンサノードを定期的に稼動して、全センサノードからノード情報を取得する。言わば、監視モード2は全センサノードの状態を強制的に収集するモードである。
管理サーバ3は、ノード情報を取得できなかったセンサノードを故障状態とみなすことができる。
【0073】
[センサノードからのノード情報の収集動作の説明]
ここでは、図8〜10を参照して、監視モード2におけるセンサノードからのノード情報を収集して送信する動作について説明する。なお、監視モード1による動作も同様であるので、監視モード1の説明は省略する。
【0074】
図8に示すように、例えば、センサノード1012の下位にある、センサノード1031と1032(深さ3)及びセンサノード1023(深さ2)で作成されたノード情報を、上位のセンサノード1012、ホストノード2へ送信する場合について述べる。
【0075】
図9のチャート図を参照する。
ホストノード2は、当初、センサノードからのメッセージを受信するための待機状態にある(S9101)。一方、センサノード1012、1023、1031及び1032のCPUは、通常時はそれぞれスリープモード(S9201〜S9401)にある。この状態で、例えば、各センサノードのタイマーが8時間ごとの時刻を計時すると、各センサノードのCPU12は稼動状態に遷移する(S9202〜S9402)。この時、上位のセンサノード1012,1023は下位のセンサノードからの受信可能状態となる。
【0076】
稼動状態では、全てのセンサノード1012〜1032は、監視モード2のプログラムを実行して、センサ部11からセンサ情報を取得し、かつ電池残量や電波強度の状態を取得して、ノード情報を作成する。そして、最下位のセンサノード1031,1032はそれぞれ、作成したノード情報を上位のセンサノード1023へ送信する(S9401)
センサノード1023は、下位のセンサノード1031、1032から送信されたノード情報を受信する(S9303)。更に自センサノード1023で作成したノード情報を、先の受信したノード情報に付加して、上位のセンサノードへ送信する(S9304)。
【0077】
上位のセンサノード1012は、同様にして、下位のセンサノード1023から送信されたノード情報(センサノード1023、1031及び1032のノード情報)を受信し(S9203)、更に自センサノード1012で作成したノード情報を、受信したノード情報に付加して、ホストノード2へ送信する(S9204)。
なお、センサノード1012及びその下位にあるセンサノード1023〜1032のCPU12は、一定時間経過後に、再びスリープモードに戻る(S9404、S9305、S9205)。
【0078】
このようにして、ホストノード2は、センサノード1012の下位にあるセンサノードからのノード情報を受信すると、それらを一旦メモリに格納する(S9102)。同様にして、他の系列にあるセンサノード1011(図8)の下位にあるセンサノードからノード情報を取得する。ホストノード2のCPUは、全てのセンサノードからノード情報を取得したと判断すると、それらの情報をパケット化し、更にMACヘッダ部41を付加して、ネットワーク9を介して管理サーバ3へ送信する。管理サーバ3は、受信したノード情報を順次DB32に記憶する。
【0079】
図10に模式的に示すように、下位のセンサノード1031,1032から上位のセンサノードへノード情報が送信されるときには、ノード情報にそのセンサノードのアドレスに付加されて送信される。上位のセンサノードが下位からのノード情報を受信する度に、それに、自センサノードのノード情報及びアドレスを付加して上位のノードへ送信する。このようして、ホストノードは、それに接続されるセンサノードとその下位にあるセンサノードのアドレス及びノード情報を取得することができる。
【0080】
以上、監視モード2におけるノード情報の収集動作について説明したが、監視ノード1においても、センサノードの稼動時間間隔及びノード情報の送信の適否が異なるが、送信動作は基本的に同様であるので、その動作説明は省略する。つまり、監視モード1では、センサノード10はそのタイマーの計時時刻に従って、例えば0時30分、1時30分、2時30分のように1時間ごとにCPU12で監視モード1のためのプログラムがされる。そして、センサ部11に対象物の検知がある場合又は電池残量が警戒領域になっている場合にのみ、監視モード1のデータ形式(図3(1))のノード情報を作成し、上位のセンサノードへと送信する。
【0081】
(3)センサノードの保守時等の制御(システムの形成、変更、保守)
センサノードの保守は、センサノードが敷設された後に、新たなセンサノードを増設する場合、あるセンサノードを移動したり、撤去する場合、更には他のセンサノードとの間にバイパスを形成する場合に作業者によって行われ、それに伴って関係するセンサノードのボタン17が操作されて所定の制御動作が実行される。以下、例示する。
【0082】
[センサノードの増設時の処理]
図11に示すように、センサノードの増設は、例えば、既設のセンサノード群1において、センサノード(増設ノードという)70を新たに設置する動作である。
【0083】
図17のチャート図を参照して、処理動作について説明する。
まず、作業者は増設ノード70をホストノード2に近づけて(電波の受信範囲内で)、ボタン17を1回押下する(S7301)。増設ノード70のCPUはそれを検知して割り込みを発生させ、CPU稼動モードに遷移する。そして、ホストノード2に対してアドレス払出し要求を送信する(S7302)。アドレス払出し要求の送信に際して、増設ノード70が持つ製品番号を付加して送信することは、上述したノード敷設時の場合と同様である。
ホストノード2は、アドレス払出し要求を受信すると、アドレスを生成して増設ノードへ送信する(S7101)。増設ノード70は、ホストノードから送信されたアドレスを直接受信して、メモリに登録する(S7303)。
【0084】
次に、作業者は、増設ノード70を接続したい1又は複数の上位ノード(例えば1021、1022,1031)のボタン17を押下する(S7201)。すると、CPUスリープモードにあった上位ノードはCPU稼動モードに遷移する(S7203)。そして、CPUはボタン2回押下を検知して割り込みを発生させて接続先モードに移り、接続要求メッセージの受信待ち状態となる(S7204)。なお、接続したい上位ノードとして、1つの上位ノードのボタンを操作してもよいが、もし電波状態が悪い場合には以後の動作を行えない。そのため、複数の上位ノードのボタンを操作して稼動状態し、最初に応答のあった上位ノードとの間で以後の動作を行うのが好ましい。
【0085】
上位ノードが受信待ち状態のとき、作業者は増設ノード70のボタンを1回押下すると(S7304)、増設ノード70のCPUはその押下を検知して割り込みを発生させ、増設ノード70は接続元モードに移る。そして、接続要求メッセージをブロードキャスト送信する(S7305)。この場合、増設ノード70は既に自ノードアドレスを取得しているので、上位ノードとの間の通信はノードアドレスが用いられる。
【0086】
上位ノード(例えば1021)は、接続要求元ノードから送信された接続要求メッセージを受信すると、自らが保持している現在時刻情報及び自ノード(親ノードとなる)のアドレス及び深さ情報を送信する(S7205)。増設ノード70は、送信された現在時刻情報及び親ノードのアドレス及び深さ情報を受信して、CPU内のメモリに登録する(S7306)。そして、自ノード70のCPUで自ノードの深さを算出して、自アドレスと共に親ノード1021へ送信する(S7306)。その後、増設ノード70はCPUスリープモードに移る(S7307)。
【0087】
親ノードとなった上位ノード1021は、接続元のノードから送信された子ノードのアドレス及び深さ情報を受信して、CPU内のメモリに登録する(S7206)。その後、上位ノード1201はCPUスリープモードに移る(S7207)。
【0088】
以上の動作により、増設ノード70は、当初ボタンを操作した複数の上位ノードのうち、最初に応答があった1つの上位ノード(例えば1021)をゲートウェイとして、更に上位センサノード乃至ホストノード2との間にパスが形成される。また、増設ノード70は既設のセンサノードとなり、以後、その下位に新たなセンサノードが増設される場合、親ノードとなり得る。
なお、センサノードの増設時にはホストノード2は関与していない。そのため、増設ノード70のアドレス及び深さ情報は、上記の監視モード1又は2によるノード情報の収集時に、ホストノード2へ送信されることになる。
【0089】
[センサノードの移設時の処理]
図12に示すように、センサノードの移設は、例えば、既設のセンサノード群1において、センサノード104を場所に移動して(移設ノード80となる)、他の親ノード(例えばセンサノード1021,1022)に接続する動作である。この場合、移設ノード80は既に自らに付与されたアドレスを保持しているので、ホストノード2から新たなアドレスを取得することは不要である。
【0090】
作業者は、移動先の場所で、希望する接続先のセンサノード1021、1022のボタン17を2回押下する。すると、接続先のセンサノードはCPUスリープモードからCPU稼動モードに遷移して、接続先モードに移り、接続元ノードから送信される接続要求メッセージの受信待ち状態となる。(親ノードとしての動作は上述した増設時と同様である)
次に、作用者は、移設ノード80のボタン17を1回押下すると、CPUスリープモードから稼動モードに遷移し、接続要求メッセージを親ノードへ送信する。以後の動作は、センサノードの増設時の動作と同様であるので詳説しない。結果的に、接続先センサノード(1021又は1022のいずれ)からノードアドレス及び深さ情報を取得して、自ノードのCPU12内メモリに登録し、かつ自ノードのアドレス及び深さ情報を上位の親ノードに送信して、そこに登録する。これにより、移設ノード80はセンサノード(1021又は1022)をゲートウェイとして、親ノードを順次経由してホストノード2までのパスが形成される。
【0091】
なお、移設ノード104に下位のセンサノード(子ノードという)が接続され、その子ノードが迂回ルートを持っていない場合には、子ノード以下に接続されているセンサノードは通信不能となる。この場合でも、通信不能となった子ノードを移設ノードとして扱い、他の親ノードとの間で上記と同様の動作を行うことで、他の親ノードとの間でパスを形成することができる。
【0092】
[電池交換時の処理]
図13に示すように、例えば既設のセンサノード1023(電池交換ノード1023という)の電池を交換する場合がある。
図18を参照するに、作業者はまず、CPUスリープモード中に、センサノード1023の旧い電池を抜いて、新しい電池に交換する。この場合、CPUへの給電は停止するので、CPUのタイマーの時刻は狂ってくる。そこで、電池交換ノードは上位ノードとの間で現在時刻を調整する必要がある。電池交換時の処理とは、要するに現在時刻の調整処理動作といえる。
【0093】
まず、作業者は、上位ノード1012のボタン17を2回押下する。すると、親ノード1012は、CPUスリープモードからCPU稼動モードへ遷移する(S8201,S8203)。CPUは、ボタンの2回押下を検知して割り込みを発生し、接続先モードに移って、接続要求メッセージの受信待ち状態となる(S8204)。
【0094】
作業者は次に、電池交換ノード1023のボタン17を1回押下する(S8301)。すると、電池交換ノード1023はCPUスリープモードからCPU稼動モードに遷移する(S8301、S8303)。CPUは、ボタンの1回押下を検知して割り込みを発生し、接続元先モードに移る。そして、上位ノードに対して接続要求メッセージをブロードキャスト送信する(S8304)。上位ノードはその後、CPUスリープモードに移る(S8206)。
【0095】
上位ノード1012は接続元ノードから送信された接続要求メッセージを受信すると、現在時刻情報を付加した応答メッセージを送信する(S8205)。電池交換ノード1023は、応答メッセージを受信して、その現在時刻情報を自ノードのタイマーに設定する(S8305)。その後、CPUスリープモードに移る(S8306)。
これにより、電池交換ノード1023はその親ノード1012と同じ時刻を計時できる。なお、電池交換されても、センサノード1023のメモリの記憶内容は消去されないので、自ノードアドレスや深さ情報はメモリに保持された状態であり、以後の監視モード1又は2によるノード情報の収集時に使用される。
【0096】
[バイパス形成時の処理]
図14に示すように、バイパスとは、例えばセンサノード1023をその上位ノード1012との接続を維持したまま、他の上位のセンサノード(例えば1011)に接続する場合、新たなバイパス用のセンサノード(バイパスノード)1400を用いて接続する動作である。つまり、増設ノードを用いてバイパス作りを行う動作である。
この動作は、上述したセンサノードの増設と同様であるので、詳細は省く。作業者は、バイパスノード1400をホストノード2に近づけて、ボタン17を1回押下して、バイパスノード1400の自アドレスを取得する。その後、バイパスノード1400をバイパス場所に設置して、希望する接続先ノード(センサノード1011)のボタンを2回押下する。これにより、バイパス元のノード1023は、バイパスノード1400を通して、バイパス先ノード1011を親ノードとするバイパスが形成される。この場合も増設時と同様にして、バイパスノード1400から上位となったセンサノードを順次経由してホストノード2までのパスが形成され、バイパスノード1400は上位のセンサノードのアドレス及び深さ情報を取得して、自らのCPU12内に記憶することができる。
なお、バイパスノード1400の自ノードアドレスや深さ情報はメモリに保持され、以後の監視モード1又は2におけるノード情報の収集時に使用される。
【0097】
[センサノードの撤去時の処理]
図15に示すように、センサノードの撤去は、例えば、既設のセンサノード群1において、センサノード1023(撤去ノードという)を撤去する動作である。
この場合、作業者は、撤去ノード1023のボタン17を長時間押下すると、これらのノードに付与されたアドレスや深さ等の諸情報はキャンセルされる。作業者は、当該センサノード1023をその場所から撤去する。
撤去ノード1023に子ノードが無い場合には問題ないが、子ノードが有る場合には問題である。図示の例では、撤去ノード1023に子ノード1031が有り、その子ノード1031には迂回ルートのノードが無いので、通信不能となる。そこで、子ノード1031は、新たに親ノード(例えば1012)との間でパスを形成する必要がある。そのパスの形成については、移設時の動作と同様であるので、説明は省く。
【0098】
[故障時の処理]
この動作は、図16に示すように、例えば既設のセンサノード1021、1023が故障した場合(故障ノードという)、新たなセンサノード(交換ノード1600)と交換する動作である。この場合、作業者は、故障ノードを撤去して、その場所に交換ノード1600を設置する。故障ノードが末端のノード1021の場合には、これで動作が終了する。撤去された末端の故障ノード1021の処理は、撤去時の動作と同様である。
【0099】
一方、撤去された故障ノード1023に対する交換ノードの設置動作は、上述した増設ノードの処理手順と同様である。即ち、交換ノード1600をホストノード2に近づけて、交換ノードのボタン17を2回押下して、ホストノード2から交換ノード1600用のアドレスを取得する。その後、交換ノード1600を、交換場所に移動して、接続先の親ノード(センサノード1012)のボタンを2回押下する。更に、交換ノード1600の子ノード1031のボタンを1回押下する。この動作は増設時と同様であるので詳細は省くが、これにより交換ノードとその親ノードとの間で、それぞれのアドレス及び深さ情報を取得して保持する。
なお、交換ノード1600の自ノードアドレスや深さ情報はメモリに保持され、以後の監視モード1又は2におけるノード情報の収集時に使用される。
【0100】
(4)その他:センサノードの時間の同期処理
この同期処理は、センサノードの敷設時や増設時にホストノード2から送信される現在時刻情報に基づく時間同期の動作と異なり、1日1回指定された時刻に全センサノードに対して行う、時間同期の動作である。
例えば、毎日午前零時0分に、管理サーバ3はインターネット9を介して外部から現在時刻情報を取得してホストノード2へ送信する。ホストノード2は、受信した時刻情報をその管理下にある全てのセンサノード10へ送信すると共に、自らのタイマーに設定して時刻の補正をする。
各センサノード10は、時刻情報を受信すると、自らのタイマーにそれを設定して時刻を補正すると共に、それを下流のセンサノードに送信する。この動作により、全てのセンサノード10の時刻の同期が取られる。
【0101】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されることなく、更に種々変形して実施し得る。
例えば、センサノードに搭載するセンサの種類や数は、その目的に応じて種々変更して使用できる。センサは省エネ関係や衛生関係、警備対応関係等、いろいろな分野に適用することができるが、例えば、省エネ関係で言えば、温度や湿度センサ、照度センサ、電力量センサを搭載することができる。また、農業分野で言えば、温度や湿度センサの他に、pHセンサ、CO2センサ等を用いることができる。
【0102】
また、図4に示したDB32のセンサノード管理テーブルは一例であって、他の情報を含めたり、テーブルを分割して使用することもできる。例えば、センサノード管理テーブルの項目の内、製品番号、フロアID、フロア名、設置場所等の情報は、管理者が管理サーバ3の入力器から入力する項目である。そのため、これらの情報は図4の管理テーブルから分けて、別のテーブルとして構成することができる。その場合、図4の管理テーブルとこの別テーブルとは、製品番号が両者のテーブルを関係付ける情報となる。
【0103】
また、上記実施例において、センサノードをスリープモードから稼動モードへ遷移させるなどの動作を行わせる操作手段である、センサノード10のボタン17は、1つのスイッチで3つの異なる操作機能(1回押下、2回押下、長時間押下)を実現しているが、変形例によれば、3つのボタンを設けて、それぞれの機能を個別に実現するようにしてもよい。
【0104】
以上、説明したように、本発明の好ましい実施例によれば、公衆電源が確保可能な場所にホストノードを配置し、多数の無線センサノードは単3電池で稼動することができるので、電源確保が難しい、ビルや畑、山間地にも敷設することが可能となる。センサノードを無線通信可能な任意の場所に容易に敷設することが出来るので、敷設時間を短縮できるので、センサネットワークシステムの構築が容易、柔軟になる。また、センサノードの増設や移設、撤去等が容易に行えるので、システムの運用性、保守性が向上する。
更に、管理サーバは、定期的に監視される各センサノードの電池残量や電波状況、及びセンサノ検知情報を取得して、その状況をセンサノードマップ(トポロジー図)に作成して表示することができるので、システムの管理者は、各センサノードの状態を容易に確認することができる。
【符号の説明】
【0105】
1:センサノード群 101〜105、10:センサノード
2:ホストノード 3:管理サーバ 31:プロセッサ 32:データベース
9:ネットワーク
11:センサ部 111、112:センサ 12:CPU 13:送受信回路 14:アンテナ 15:制御回路 16:コネクタ 17:ボタン 18:LED 19:単3電池。
【技術分野】
【0001】
本発明は、センサネットワークシステム及びその形成方法に係り、特に、対象物や環境因子を検知する多数のセンサノードをマルチホップ型で無線接続してセンサネットワークを構成し、各センサで検知された情報を管理サーバで収集して管理する、センサネットワークシステム及びその形成方法に関するものである。
【背景技術】
【0002】
マルチホップを構成する無線センサネットワークとして、ZigBee(登録商標)が知られている。ZigBeeは、短距離無線通信規格の1つとしてIEEE802.15.4で規格化されており、データ転送速度は低速で安価(最高250kbps)、単3アルカリ乾電池2本で約2年間駆動(低消費電力)という特徴を持っている。
【0003】
ZigBeeの規格を利用した無線センサネットワークとして、従来から種々の技術が提案されている。例えば、特許文献1には、太陽電池による給電の信頼性を向上させた無線センサを使用する無線センサネットワークシステムが開示されている。また、特許文献2の図4には、ネズミ捕獲器11に設置されたセンサノード14から2個の中継ノード15、LANノード16を経由してセンサ情報を情報伝通信機器3に伝達し、公共通信インフラ17を利用して、建物外に設置された情報管理機器4に伝達するZigBee利用ネットワークが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−179411公報
【特許文献2】特開2008−259146公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ZigBeeの規格を用いた無線センサネットワークシステムにおいて、センサノードは、特許文献2の図4に記載のように、中継ノード15を介して接続される。そのため、ビルのオフィスや倉庫などに多数のセンサノードを配置しようとすると、それに応じてより多くの中継ノードが必要となる。中継ノードはセンサノードの機能が無く、中継機能しか持たない。そのため、中継機能のためにのみの目的で中継ノードの数が増えて、コスト高の一因となる。しかも、ネズミやゴキブリを検知する場合には、多くのセンサノードを家具の背後などの狭い場所に配置する必要があり、それに伴って中継ノードの配置も煩わしくなり、手間取る。
【0006】
また、センサノードの配置に際しては電波強度を測定する必要がある。例えば、部屋内の電子機器の背後や金属性の遮蔽物の付近にセンサノードが配置された場合、電波強度が弱く、そのセンサノードからの検知情報を、センタサーバのような管理装置が取得できないおそれがある。そのため、従来では、各センサノードの配置状況やその検知情報を管理する管理装置が、各センサノードの電波強度を逐一チェックした上でその配置を行っている。これでは、多数のセンサノードの配置に時間がかかり、効率的とは言えない。上記特許文献には、センサノードの迅速効率的な配置について言及されていない。また、上記特許文献には、センサノードの増設や撤去、移動などについて言及されていない。
【0007】
そこで、本発明は、従来のような固有の中継ノードを不要とし、全てのセンサノードが検知機能及び無線中継機能を有するセンサネットワークシステム及びその形成方法を実現することにある。
本発明はまた、他のセンサノードとの間の無線通信状況を確認してセンサノードの配置を容易に行うことを可能とする。
本発明はまた、センサノードの増設や撤去、移設などを容易に行うことができるセンサネットワークシステム及びその形成方法を実現することにある。
【課題を解決するための手段】
【0008】
本発明に係るセンサネットワークシステムは、好ましくは、センサノード間に無線のパスが形成されてツリー状に接続された複数のセンサノードと、該複数のセンサノードのうち最上位の1又は複数のセンサノードと無線接続され、全ての該センサノードから情報を収集することができるホストノードを有するセンサネットワークシステムであって、
該複数のセンサノードはそれぞれ、
該電池によって稼動されるプロセッサであって、プログラムの実行によって実現される、該センサによって検知されるセンサ情報を取得するセンサ情報取得手段と、該電池の残量又は他のセンサノード又はホストノードとの間の電波の状況を監視する状態監視手段と、該センサ情報取得手段によって検知されるセンサ情報、又は該状態監視手段によって監視される電池残量又は電波状況に関する状態情報を含むノード情報を作成するノード情報作成手段を有するプロセッサと、
時刻を計時するタイマーと、該ノード情報作成手段によって作成された該ノード情報、及び他のセンサノードから送信されるノード情報を他のセンサノード又は該ホストノードへ送信する送受信回路と、該送受信回路に接続され、少なくとも該ノード情報を無線通信するアンテナと、該センサノードを配置する際に作業者によって操作される操作手段を有し、
該ホストノードは;プロセッサでプログラムを実行することによって実現される、該センサノードからの要求に応じて、該センサノードに割り当てるアドレスを生成する手段と、複数の該センサノードから収集される前記ノード情報を外部の装置へ転送する転送手段とを有し、かつ、
該ホストノードにおいて該アドレス生成手段は、電池が装填されて、ある場所に配置されたあるセンサノード(第2センサノードという)からの要求に応じて、該第2センサノードのための第2アドレスを生成し、生成された第2アドレスを第2センサノードへ送信し、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、自らメモリに保持する自らのアドレス(第1アドレス)を第2センサノードへ送信し、かつ第2のセンサノードが取得した第2アドレスを取得して該メモリに記憶し、
第2センサノードは、受信した第1センサノードの第1アドレス及び第2アドレスを自らのメモリに記憶し、
第2センサノードは、該ノード情報作成手段によって該センサ情報又は電池残量又は電波状況に関する状態情報を含むノード情報に第2アドレスを付して第2ノード情報を作成して、第1センサノードへ送信し、
第1センサノードは、受信した第2のノード情報を、該ホストノード又はさらに上位のセンサノードがある場合には該上位のセンサノードへ送信する、ことを特徴とするセンサネットワークシステムとして構成される。
【0009】
好ましい例では、第1センサノードは、受信した第2のノード情報に、自らのノード情報作成手段によって作成されたノード情報に第1アドレスを付した情報(第1ノード情報)を追加して、さらなる上位のセンサノード又は該ホストノードへ送信すること、
を特徴とする請求項1に記載のセンサネットワークシステムとして構成される。
【0010】
また、好ましくは、前記タイマーが第1の時間間隔(t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、電池残量監視手段により該電池残量を監視し、該電池残量が警戒領域にある場合又は該センサ情報取得手段によるセンサ情報がある場合に、該電池容量又はセンサ情報を含むノード情報を作成し、
前記タイマーが第2の時間間隔(t2>t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、該電池残量監視手段から取得される該電池残量に関する情報、又は他のセンサノードとの間の電波強度を検知する電波強度検知手段から取得される電波状況に関する情報、又は該センサ情報取得手段により取得されるセンサ情報該センサ情報を含めて、該ノード情報を作成すること、を特徴とするセンサネットワークシステムとして構成される。
【0011】
また、好ましくは、ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、該アドレス生成手段によって生成したセンサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び第1センサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、を特徴とするセンサネットワークシステムとして構成される。
【0012】
また、好ましくは、前記センサノードは更に、該センサノードを配置する際に作業者によって操作される操作手段と、光学表示素子を有し、
前記プロセッサは更に、該操作手段が操作されたときに、該センサノードが他のセンサノードと無線接続するための接続要求メッセージをブロードキャスト送信する手段を有し、
該ブロードキャスト送信手段によって送信された該接続要求メッセージに対して、他のセンサノードからの応答が一定時間内に無い場合に、該プロセッサは該光学表示子の表示状態を変更するように制御すること、を特徴とするセンサネットワークシステムとして構成される。
【0013】
本発明に係る、センサネットワークシステムの形成方法は、好ましくは、電池稼動され、対象物や環境因子を検知するセンサを有する複数のセンサノードと、中継機能と有するホストノードとをマルチホップ型で無線接続してセンサネットワークシステムを形成するセンサネットワークシステム形成方法であって、
設置対象のセンサノードの内部機能を非稼動状態から稼動状態に遷移させた後、
該設置対象のセンサノードからの要求に応じて、該ホストノードは該設置対象センサノードのためのアドレスを生成して該設置対象センサノードへ送信するし、
該設置対象センサノードは、受信した該アドレスをメモリに記憶し、
該設置対象センサノードが無線接続される上位のセンサノード(上位センサノードという)は、該設置対象センサノードの該アドレスを自らのメモリに記憶し、
該上位センサノードは、自らのアドレス(上位ノードアドレスという)を該設置対象センサノードへ送信し、
該設置対象センサノードは、該上位センサノードから送信された上位ノードアドレスを受信してメモリに記憶し、
該設置対象センサノードは、該センサで検知したセンサ情報を含むノード情報に自らアドレスを付して、該上位センサノードへ送信することを可能とした、
を特徴とするセンサネットワークシステム形成方法として構成される。
【0014】
本発明に係る、センサネットワークシステムの形成方法の好ましい例では、ツリー状にお互いに無線接続される複数のセンサノードと、該複数のセンサノードに無線接続され、複数のセンサノードに関する情報を収集するホストノードを有するセンサネットワークシステムであって、該複数のセンサノードはそれぞれ、対象物或いは環境因子などを検知する1又は複数のセンサと、着脱自在に装填される電池と、該電池により稼動され、プロセッサでプログラムの実行によって、該センサによって検知されるセンサ情報と、該電池の残量又は電波強度に関する状態情報を含むノード情報を作成するノード情報作成手段と、該ノード情報作成手段によって作成された該ノード情報を送信又は受信する無線通信手段と、時刻を計時するタイマーと、該センサノードを配置する際に作業者によって操作される操作手段を有する、センサネットワークシステムを形成する方法であって、
配置対象の第2センサノードに電池が装填された後、該操作手段の操作に従って、該プロセッサが非稼動状態のスリープモードから稼動状態の稼動モードに遷移するステップと、
稼動モードに遷移した後、ある場所に置かれた第2センサノードからの要求に応じて、該ホストノードは該第2センサノードのための第2アドレスを生成して第2センサノードへ送信するステップと、
第2センサノードは、受信した第2アドレスをメモリに記憶するステップと、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、第2センサノードの第2アドレスをメモリに記憶するステップと、
該第1センサノードは、自らのメモリに保持する自らの第1アドレスを第2センサノードへ送信するステップと、
該第2センサノードは、該第1センサノードから送信され受信した、第1センサノードの第1アドレスをメモリに記憶するステップと、
該第2センサノードは、該ノード情報作成手段によって作成された、センサ情報又は該電池の残量を含むノード情報に第2アドレスを付して、該第1センサノードへ送信するステップと、
該第1センサノードは、該第2センサノードより送信され受信した該ノード情報を、さらに上位のセンサノードがある場合には該上位のセンサノードを経由して該ホストノードへ送信するステップとを有することを特徴とするセンサネットワークシステム形成方法として構成される。
【0015】
また、好ましくは、ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、生成した各センサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び直接接続される上位のセンサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、を特徴とするセンサネットワークシステム形成方法として構成される。
【0016】
また、好ましくは、前記稼動モードに遷移した後、第2センサノードは、接続先のノードを捜すために接続要求メッセージをブロードキャスト送信するステップと、
第2センサノードは、接続要求メッセージをブロードキャスト送信した後、一定時間内に応答があるかを判定するステップを有し、
該判定の結果、一定時間内に前記第1センサノードから応答があった場合、第2センサノードは前記第1センサノードに対して、該ホストノードによるアドレスの付与のための要求を送信するステップ、を有することを特徴とするセンサネットワークシステム形成方法として構成される。
【0017】
また、好ましくは、ツリー状に無線接続された複数のセンサノードに対して第3センサノードを増設する場合、
第3センサノードの該操作手段の操作に従って、第3センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第3センサノードが稼動モードに遷移した後、該ホストノードは第3センサノードからの要求に応じて第3センサノードのための第3アドレスを生成して第3センサノードへ送信し、
第3センサノードは、受信した第3アドレスを自らのメモリに記憶し、
第3センサノードに直接接続される、前記第1センサノードの操作手段の操作に従って、該第1センサノードのプロセッサはスリープモードから稼動モードに遷移し、
第1センサノードは、自らのメモリに保持する自らの第1アドレスを、及び自らのタイマーの計時時刻を第3センサノードへ送信し、
第3センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とするセンサネットワークシステム形成方法として構成される(センサノードの増設)。
【0018】
また、好ましくは、他のセンサノードに接続していた第4センサノードを、該他のセンサノードとの接続を外して第1センサノードに接続する場合、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードの該操作手段の操作に従って、第4センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードに直接接続される、第1センサノードは、自らのメモリに保持する自らの第1アドレス、及び自らのタイマーの計時時刻を第4センサノードへ送信し、
第4センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とするセンサネットワークシステム形成方法として構成される(センサノードの移設)。
【0019】
また、好ましくは、前記第1センサノードに接続された第2センサノードの接続先を維持したまま、更に第5センサノードを用いて、該ホストノードに直接又は間接的に接続された第6センサノードに接続する場合、
第5センサノードの該操作手段の操作に従って、第5センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第5センサノードは、該ホストノードが生成した第5センサノードのための第5アドレスを取得して自らのメモリに記憶し、
第5センサノードに直接接続される、第6センサノードは、自らのメモリに保持する自らの第6アドレス、及び自らのタイマーの計時時刻を第5センサノードへ送信し、
第5センサノードは、第6センサノードから送信され受信した、第6センサノードの第6アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定し、かつ
第5センサノードは、取得した自らの第5アドレスを第2センサノードへ送信し、
第2センサノードは、第5センサノードから送信され受信した、第5センサノードの第5アドレスを自らのメモリに追加して記憶すること、
を特徴とする請求項6乃至8のいずれかの項記載のセンサネットワークシステム形成方法として構成される(センサノードのバイパス形成)。
【0020】
また、好ましくは、前記第2センサノードに装填された電池を交換する場合、
電池を交換した後に第2センサノードの該操作手段の操作に従って、第2センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードは、第2センサノードからの接続要求に応じて、自らのタイマーの計時時刻を応答メッセージに付加して第2センサノードへ送信し、
第2センサノードは、受信した該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項6乃至8のいずれかの項記載のセンサネットワークシステム形成方法として構成される(センサノードの電池交換)。
【0021】
また、好ましくは、前記ホストノードは、定期的に外部より現在時刻情報を取得して、自らのタイマーに設定し、かつ全てのセンサノードに該現在時刻情報を送信し、
全ての該センサノードは、受信した該現在時刻情報を自らのタイマーに設定すること、
を特徴とする請求項6乃至12のいずれかの項記載のセンサネットワークシステム形成方法として構成される(時刻の一斉同期)。
【発明の効果】
【0022】
本発明によれば、従来のような固有の中継ノードを不要とし、全てのセンサノードが検知機能及び無線中継機能を有するセンサネットワークシステムを実現することができる。
また、配置対象のセンサノード自体で、ホストノード又は他のセンサノードと間の無線通信状況を確認してセンサノードの配置を容易に行うことができる。更に、センサノードと上位のセンサノード又はホストノード間の通信、操作によってセンサノードの増設や撤去、移設などを容易に行うことができる。
【図面の簡単な説明】
【0023】
【図1】一実施例によるセンサネットワークシステムの構成を示す図。
【図2】一実施例におけるセンサノードの構成を示す図。
【図3】一実施例におけるセンサノードで生成されるノード情報のデータ構成を示す図。
【図4】一実施例におけるセンサノード管理テーブルの構成を示す図。
【図5】一実施例におけるセンサノードマップの例を示す図。
【図6A】一実施例におけるセンサノードの敷設時の制御動作を示すチャート図。
【図6B】一実施例におけるセンサノードの敷設時の制御動作を示すチャート図。
【図6C】一実施例におけるセンサノードの敷設時の制御動作を示すチャート図。
【図7】一実施例におけるセンサノードの敷設時のセンサノード群を示す図。
【図8】一実施例における監視モード2のセンサノード群を示す図。
【図9】一実施例における監視モード2のノード情報の送信動作を示すチャート図。
【図10】一実施例における監視モード2のノード情報の送信の様子を模式的に示す図。
【図11】一実施例におけるセンサノードの増設時のセンサノード群を示す図。
【図12】一実施例におけるセンサノードの移設時のセンサノード群を示す図。
【図13】一実施例におけるセンサノードの電池交換時のセンサノード群を示す図。
【図14】一実施例におけるセンサノードのバイパス形成時のセンサノード群を示す図。
【図15】一実施例におけるセンサノードの撤去時のセンサノード群を示す図。
【図16】一実施例におけるセンサノードの故障時のセンサノード群を示す図。
【図17】一実施例におけるセンサノードの増設時の制御動作を示すチャート図。
【図18】一実施例におけるセンサノードの電池交換時の制御動作を示すチャート図。
【発明を実施するための形態】
【0024】
以下、図面を参照して、本発明の実施形態について説明する。
図1は、一実施例によるセンサネットワークシステムの構成を示す。
センサネットワークシステムは、多数のセンサノードから成るセンサノード群1と、管理サーバ3と、センサノード群1と管理サーバ3をインターネット等のネットワークを介して接続するホストノード2を有して構成される。なお、図1には、1つのホストノード2とその管理下のセンサノード群1が示されているが、実際には、管理サーバ3には複数のホストノード2とその管理下にあるセンサノード群1が接続される。
【0025】
センサノード群1は、多数のセンサノード101〜105(総じて符号10で示すことがある)が無線接続してセンサノードネットワークを形成される。ホストノード2は、センサノード群1内の各センサノード10を管理すると共に、各センサノード10を管理サーバ3と接続する機能を有する。
【0026】
センサノード群1は、最上位の1又は複数のセンサノード101と、最上位のセンサノード101に接続される次位のセンサノード102、更に下位のセンサノード103、104、105のように、多数のセンサが階層的(ツリー状)に無線接続される。センサノード群1のうち1又は複数の最上位のセンサノード101がホストノード2に無線接続される。ここで、センサノード10の階層構造について「深さ」なる概念を用い、センサノード101から105の方向に向かって「深さ1」〜「深さ5」のように表現する。即ち、ホストノード2は深さ「0」であり、ホストノードから遠ざかるほど深さが深くなり、本実施例では最大深さ「15」まで可能としている。図7の例では、センサノード103*の深さ「3」まで示している。
【0027】
一例では、1台のホストノード2に100台程度のセンサノードをツリー状に接続することができる。センサノード間又はセンサノード10とホストノード2間の電波強度は、同じ部屋はもちろんのこと、オフィスビルやホテル等において異なる階に配置された場合でもお互いに無線通信が可能である。
【0028】
センサノード10の構成については後で詳述するが、各センサノードは、目的とする対象物又は温度や湿度等の環境因子を検知する検知機能及び他のセンサノードから送信される検知信号やアドレス信号を、上位又は下位のセンサノードへ転送する転送機能を有している。センサノード10には単3アルカリ電池2本が搭載され、この電池によって約2年間その内部の諸機能を稼動させることができる。
【0029】
ホストノード2は、敷設される各センサノード10に固有のアドレスを付与するなどのセンサノードの管理機能、及び各センサノードからのノード情報をネットワーク9を介して管理サーバ3へ送信する転送機能を有する。ホストノード2には、インターネット上で識別されるアドレス(MACアドレス)が付与される。センサノード10が電池で駆動されるのに対して、ホストノード2はオフィスや倉庫等の一般の商用電源から給電を受ける。
【0030】
管理サーバ3は、所定のアプリケーションプログラムを実行するプロセッサ(CPU)31と、種々のデータを保管するデータベース(DB)32を有し、プロセッサ31で所定のプログラムを実行することで、センサノード10の配置状況やノード情報をDB32に保管して管理する。また、各センサノードの電波品質や電池の残量を管理すると共に、センサノードの配置及び検知情報をマップに作成する機能を有する。なお図示していないが、管理サーバ3は、情報の入力及び表示をする入力器及び表示器を有する。
【0031】
図2は一実施例によるセンサノードの構成を示す。
センサノード10は、プリント基板上に、1又は複数のセンサ111,112(センサ部11と総称する)、制御回路15及び2本の単3電池19を搭載して構成される。プリント基板の大きさは例えば50×100mm程度であり、家具の背後や下部に配置したり、或いは表面接着テープや取付け金具等の取付け手段を用いて壁や天井等に容易に取り付けることができる。
【0032】
センサ111,112は、対象物或いは環境因子等の検知の目的に応じて、圧力センサ、赤外線センサ、ジャイロセンサ、加速度センサ、温度/湿度センサ、照度センサ、発光素子及び受光素子から成る光学センサ、歪みセンサ、音声センサ、イメージセンサ、等の色々なセンサであってよい。図示の例では、ネズミや人などの移動物を光学的に検知する光学センサと赤外線センサの2種類のセンサを搭載している。
2本の単3電池19はコネクタ16を介して制御回路15に接続され、電源を供給する。電池の搭載は、周知の装着保持機構を用いて電池を自在に装着及び取り外すことができる。装着中は電極端子から電池が不用意に脱落しないような保持機構であればよい。
【0033】
制御回路15は、主としてセンサ部11から検知情報を収集し、IEEE802.15.4に基づいて送信データを作成する処理を行うプロセッサ(CPU)12と、無線信号を送信及び受信する送受信回路13と、送受信回路13に接続されるアンテナ14と、ボタン17及びLED(発光素子)18を備える。なお、CPU12はソフトウェアによるタイマーを有している。
【0034】
ボタン17はセンサノードの接続状態や、動作状態を切替えるため、及び電波強度をチェックするために、作業者により操作される操作スイッチである。その詳細については、後述するが、例えば、センサノード10をある場所に配置する場合、作業者がボタン17を予め定めた規則に従って押下すると、CPU12はホストノード2が生成する自らのアドレスを取得し、また接続される上位のセンサノードのアドレスを検知する。また、作業者がボタン17を予め定めた規則に従って操作すると、CPU12は当該センサノード10の周辺にある他のセンサノード10又はホストノード2との間の電波強度を検査しチェックする。チェックの結果、電波強度がIEEE802.15.4に基づく無線通信可能と判断すれば、LED18を点灯して、作業者にその場所は電波強度を充足している旨知らせる。
【0035】
ここで、ボタン17の押下げについての予め定めた規則について述べる。(a)ボタン17の1回押下は、子ノードを上位の親ノードに接続するときに操作するものであり、接続元センサノード(子ノード)が接続先センサノード(親ノード)に対して接続要求を発する。(b)ボタン17の連続2回の押下は、センサノード10のCPU12をスリープモードから稼動モードに強制的に遷移させる。稼動モードになった親ノードは、子ノードからの接続要求を受信する待ち状態となる。(c)ボタン17の長時間(例えば4秒以上)の押下は、センサノード10のCPU12(その中のメモリ含む)を初期化状態にする。なお、この操作の規則は、ホストノード2についても同様である。
【0036】
CPU12はセンサノード内における全ての制御及び処理を行うが、その主な機能としては、センサ部11を定期的に駆動してセンサの検知情報(センサ情報という)を収集する処理機能、電池の電圧(電池残量)及び電波状況を定期的に監視して情報を収集する処理機能、収集されたこれらの情報を含む所定の形式の送信データを作成する処理機能、他のセンサノードから送信される送信データを受信して、他のセンサノードへ転送する転送機能、新たなセンサノード10が配置される場合、その電波状況をチェックしてLED18を点灯制御する処理機能の諸機能を有する。
【0037】
CPU内のメモリ(図示せず)はRAMエリアとROMエリアを有し、ROMエリアには8バイトの製品番号が予め記憶されている。製品番号は、自センサノードを他から識別するためのもので、センサノードのボード或いはケースにも印刷されており、作業者はそれを見て当該センサノードを識別できる。ROMエリアにはまた、ホストノード2から配信される自センサノードのアドレス、及び親ノードのアドレス及び深さ情報が記憶される。RAMエリアには、ホストノード又は親ノードから転送された子ノードのアドレスを一時的に保持する。また、ホストノードへ転送するために、子ノードから転送された1又は複数の子ノードのノード情報を一時的に保持する。
【0038】
図3は、センサノードで生成されるノード情報のデータ構成を示す。
ノード情報は、IEEE802.15.4に基づく送信先及び送信元のID及びアドレスを含むMACヘッダ部41と、データフィールドを含むアプリケーションヘッダ部42と、データチェック用のチェックサム43により構成される。
アプリケーションヘッダ部42は、本発明に特徴的なデータ部分であり、センサノード10から取得されるセンサノードの状態を示す情報及びセンサで検知されたセンサ情報を含む。アプリケーションヘッダ部42に対して、ホストノード2で、IEEE802.15.4に基づく、送信先及び送信元のID及びアドレスを含むMACヘッダ部41が付加されて、管理サーバ3へ送信される。
【0039】
アプリケーションヘッダ部42は、2つの監視モード(監視モード1と監視モード2)のデータ形式から構成される(監視モードについては後述する)。いずれの監視モードのデータも、パケットタイプ421、センサノードに付与されたアドレス422、センサノードに装着された電池の残量423、センサノードの検知情報を示すセンサ情報424を有する。監視モード2は更に故障情報425を有する。パケットタイプ421は、データが監視モード1か又は監視モード2かを識別する。電池残量423は、2つの単3アルカリ電池の電圧を、3.0vから0vまで4段階(2ビット)に分け、例えば、電圧が3.0〜2.6v:「11」、2.6〜2.4v:「10」、2.0〜2.4:「01」、2.4〜0v:「00」で表す。電池残量が2.4v以下になった場合を警報領域と定義して、監視情報(「01」)を発する。
【0040】
センサ情報424は、センサノード10に最大2個のセンサが搭載されることを想定し、各センサの検知信号の有無を示す。2つのセンサの両方で対象物が検知された場合には、「11」となる。故障情報425は、電波強度の状態を示すデータ、及び現在の親ノードアドレス、自己ノードの深さ情報を含む。
電波強度は4段階(2ビット)に分け、例えば、−85dBm:「00」、−85〜−98dBm:「01」、−98〜−105dBm:「10」、−105dBm:「11」で表す。−98〜−105dBmの範囲を警報領域と定義して、この電波状態ではリトライを指示してセンサノードからのノード情報を再送させる。
【0041】
次にホストノード2の機能について説明する。
ホストノード2は、プロセッサ(CPU)、メモリ、送受信回路、アンテナ、及び商用電源コンセントから給電を受ける電源接続端子を有する。その構成については図示しないが、図2の単3電池19を電源接続端子に変えたものと理解できる。センサ部11は有してもよいが、この例では、センサ部11は無いものとする。ボタン17及びLED18を有するとする(便宜上、ボタン17及びLED18の符号を引用することがある)。なお、ここでホストノードは説明の都合上そのように呼ぶが、センサノードの1つとして特定センサノードと呼んでもよいであろう。
【0042】
ホストノード2はCPUでプログラムを実行して、センサノードに付与するアドレスの生成や抹消する機能を有する。即ち、ホストノード2の管理下におけるセンサノード10の設置や移動、撤去等に伴うセンサノードに対するアドレスの付与、変更、抹消の管理を行う。例えば、CPUが新たなセンサノード10の配置を検知すると、そのセンサノードに対して、アドレスを生成して送信する。センサノードに対するアドレスの付与は、CPUが例えばシーケンシャルな番号を逐次生成して、新たに接続されるセンサノードへ送信することで行われる。
【0043】
ホストノード2は、また管理サーバ2とセンサノード群1との間で情報の転送を中継する機能を有する。即ち、センサノード10のノード情報(電池残量、センサ情報、電波状況等のデータ(詳細は図4参照))を収集して、ネットワーク9を介して管理サーバ3へ送信する。
ホストノード2のCPUはメモリ(図示せず)を有し、自らに付与されたMACアドレスを格納したり、センサノードから収集されるノード情報を一時保管する。なお、ホストノード2は、商用電源を使用しているので、スリープモード(CPUの稼動を休止する動作をいう)は存在せず、常に、それに接続されたセンサノードから送信されるメッセージの受信待ち状態を維持する。
【0044】
次に、図4を参照して、センサノード管理テーブルの構成について説明する。
管理サーバ3のDB32で管理されるセンサノード管理テーブルは、全センサノード10及びそれらから収集されるノード情報を記憶する。
センサノード管理テーブルにおいて、「センサノードアドレス」は、ホストノード2によって生成される固有のアドレス(例えば2バイト)である(センサIDと言ってもよい)。「製品番号」は、センサノード10のボードやケースに予め印字された可視的な識別情報であり、作業者はこの製品番号を見て、当該センサノードを何れの場所に配置するかを判断することができる。センサアドレスと製品番号の対応関係は、管理者が管理サーバ3の表示器に表示されるこの管理テーブルを見ながら、入力器から製品番号を入力することで対応付ける。
【0045】
「フロアID」「フロア名」「設置場所」は、オフィスビル等にセンサノードを敷設するに先立ち、管理者がオフィスビルの配置図を見ながら、管理サーバ3の表示器と入力器を用いて入力することにより、この管理テーブルに登録される。
「親ノードアドレス」及び「ノード深さ」は、自センサノードに対して、接続される親ノードのアドレスと、ホストノード2からの自センサノードの深さを示す。この例で、最大深さは15である。親ノードと自センサノードの深さを管理することで、親ノードと子ノードとの接続関係が明確になり、センサノード間のツリー構造が描けることになる。
なお、センサノードアドレスと、親ノードアドレス及び深さは、センサノードが敷設されたときの、ホストノードによるアドレスの付与時に確定する。
【0046】
ここで、センサノードの敷設時に、複数の親ノードから応答があって複数の親ノードアドレス及びノード深さを取得した場合には、深さが最も浅い1の親ノードを選択して、図4のように登録する。深さが最も浅い親ノード以外については、例えば、センサノード「YA1116」(図5参照)が、親ノードのYB1118からの親ノードアドレスと深さ情報を取得した場合、センサアドレス「1002」の行の右端の欄外に(図4には示していないが)、迂回ルート用の親ノードアドレス「1003」深さ「3」を登録することになる。本実施例では、取得された他の親ノードについては最大4つのセンサノードまでを、迂回ルート用として、同様の方法でこの管理テーブルに登録する。
【0047】
更に、センサノード管理テーブルに保管される他の情報として、監視モード1又は監視モード2による逐次取得されるノード情報がある。即ち、各センサノードに付与されたセンサノードアドレス対応に、「ノード情報の取得年月日時間」、「センサノードからの信号(即ちノード情報)の有無」、「電池残量」、「電波状況」、「センサ1及びセンサ2の検知状態」、及び「センサ1及び2の種別」を記憶する。センサノードからの信号の有無は、電波の受信状態を示し、「1」が信号あり、「0」が信号なしを示す。電池残量は、その状態を4段階(「00」〜「11」)で示す。また、電波状況は、12段階(「0001」〜「1100」)で示す。センサの検知状態は、「1」が対象物の検知あり、「0」が検知無し、を示す。センサの種別とは、例えば設置可能な最大12種類のセンサを種別分けして、光学センサは「0001」、赤外線センサは「0010」で示す。
【0048】
各センサノードは8時間ごとに強制的に駆動されて(監視モード2)、そのノード情報はホストノード2を経由して管理サーバ3に収集され、この管理テーブルに蓄積される。更に、監視モード1として、各センサノードは1時間ごとに駆動されるが、もし電波状況や電池残量に異常状態があれば、ノード情報が取得されてそのノード情報が集積される。例えば、センサノードアドレス「1118」は、時間16:30に電池残量と電波状況が異常状態であったので、その1時間後の17:30には監視モード1のチェック時に同様の情報が収集されている。また、センサノードアドレス「1116」は、時間16:30に電池残量と電波状況はいずれも正常であったが、監視モード1のチェック時、21:30には電池残量が異常となったので、そのノード情報を取得している。
【0049】
管理サーバ3のプロセッサ(CPU)31は、センサノード管理テーブルに登録されたセンサ情報を用いて、予めDB内に用意したビルやオフィスの配置図に、センサノードの接続状態やセンサノードごとのノード情報をプロットして、センサノードマップ(トポロジー図という)を作成することができる。なお、センサノードマップに表示されるビルのフロアのレイアウト図と、ビルのフロアに配置されるセンサノードの関係は、管理者が管理サーバ3の入力器より入力して、予め指定しておく。マップとセンサノードの配置関係を示す情報は、DBの所定のエリアに保管される。
【0050】
図5は、管理サーバ3で作成されるセンサノードマップの一例を示す。
図示の例は、ビルの1Fから3Fの各フロアの3箇所に人を検知する赤外線センサを有するセンサノードを配置した場合の、センサノードの無線接続パス、センサノードの状態、及びノード情報を取得した時刻を示す。
ここで、各センサノード10から収集されるノード情報には、ノードアドレスが含まれているので、そのノードアドレスを基に、管理サーバ3のCPUはセンサノード管理テーブルのノードアドレスを参照して、センサノードアドレスに対応する製品番号、フロア名、設置場所、親ノードアドレス、ノード深さ、ノード情報取得年月日時間、電波状況、センサの検知状態、等を取得する。
【0051】
そしてまず、自ノードアドレスと親ノードアドレスとの関係を順次たどって、センサノードの接続関係を算出して、センサノード間の接続マップを作成する。次に、各センサノードで検知された電波状況を算出する。電波強度の算出に際しては、センサノード管理テーブル内の12段階に分けられた、電波状況の数値から、実際の電波強度を示すdB表示へと変換する。次に、フロア名、設置場所、取得年月日時間、センサの検知状態を、各センサノードに割り当てる。更に、算出した電波強度(dB)をセンサノード間に割り当てる。
【0052】
このような処理によって、センサノード群1におけるホストノード2から末端のセンサノードまでの接続ツリーに、上記の管理情報及びノード情報を付与した、センサノードマップを作成することができる。図示の、各センサノード内の数字(例えば、「YA1114」)は、そのセンサノードの製品番号を示し、センサノードの周辺に示した、「−65」、「−85」等の数字は、親ノードとの間の電波強度(dB)を示している。なお、図5は、センサが対象物である人を検知していない状態を示しているが、もしあるセンサノードのセンサ部11が人を検知した場合、例えばセンサノードYA1114の丸の表示色が赤色に変わって表示される。
【0053】
次に、センサノードの制御ないし処理動作について説明する。
センサノード10における制御には、主に(1)センサノード10を敷設する時の制御、(2)センサノードの状態を監視する時の制御、(3)センサノードの保守時等の制御、の3つがある。以下、それぞれの制御動作について述べる。
【0054】
(1)センサノードの敷設時の制御(システム形成)
図6A〜6Cのチャート図を参照して、センサノードの敷設時の制御動作について説明する。センサノードの敷設時の制御は、ボタン17の予め定められた規則に従った押下とそれに伴うCPU12による制御動作が関係する。敷設とは複数のセンサノードを1つ1つ配置していく動作であり、ここでは、図7に示すように、既に敷設済みのセンサノード1012に対して、センサノード1024を新たに敷設する場合を想定する。その下位のセンサノードは未敷設である。
概略理解のために言えば、センサノードの敷設時における関係情報の送受信制御は、大きく4つのフェーズに分かれる。第1は敷設対象のセンサノードがブロードキャスト送信して、親ノードを捜すフェーズ、第2はその親ノードを経由してホストノードが生成するアドレスを取得するフェーズ、第3は親ノードから親ノードアドレス及び深さ情報を取得するフェーズ、第4はホストノードから送信される敷設完了信号及び時刻同期信号を受信して自センサノードにセットして時間同期を取り、終了応答として自センサノードのアドレス及び深さ情報を親ノード経由でホストノードへ送信するフェーズ、である。
【0055】
以下、図6A〜6Cを参照して詳細に説明する。
ホストノード2は公衆電源が供給されており、常時、各センサノードからのメッセージの受信待ち状態にある(S101)。また、接続先となるセンサノード1012(親ノード)は、接続要求メッセージ或いは敷設完了信号の受信待ち状態にある(以下、この状態を接続先モードという)(S201)。なお、敷設対象ノードは自分の敷設が終わった段階で接続先モードに自動的に遷移している(図6BのS313の状態)ので、センサノード1012は既敷設ノードとして受信待ちの状態である。敷設対象の下位のセンサノードはあるが未だ敷設されていない状況である。
【0056】
未使用状態にある敷設対象のセンサノード1024に、作業者が単3電池2本を装着すると(S301)、パワーオンして、そのCPU12は稼動状態(以下、CPU稼動モードという)になる(S302)。CPU12の稼動により、メモリ等を含む内部の状態を初期化する(S303)。その後、CPU12はスリープモードとなる(S304)。なお、作業者は単3電池の装着をどこで行ってもよいが、以後の動作を考慮して、ホストノード2の付近で行うのが好ましい。
【0057】
作業者は、スリープモードにあるセンサノード1024のボタン17を1回押下すると、割り込みが発生してCPU稼動モードに遷移する(S305)。その後、作業者がボタン17を1回押下すると、CPU12はそれを検知して、センサノード1024を接続元モードの状態にする(S306)。そして、センサノード1024は、接続先のノードを捜すために、接続要求メッセージを生成して、ブロードキャスト送信する(S307)。ここで、接続要求メッセージには、自センサノードを識別してもらうための製品番号(8バイト)が含まれる。ブロードキャスト送信した後、センサノード1024は、1又は複数の接続先となる上位のセンサノード(親ノード)からの応答メッセージ待ちの状態となる。
【0058】
ブロードキャスト送信された接続要求メッセージは、当該センサノード1024の周辺(電波強度の受信範囲内)に在る1又は複数の他のセンサノード又はホストノードが受信する可能性がある。ここでは、センサノード1012が受信したとする。センサノード1012は、接続要求メッセージを受信すると、応答メッセージを送信する(S202)。センサノード1024は、センサノード1012から送信された応答メッセージを受信する(S308)。なお、この例ではセンサノード1012からの応答メッセージのみを受信するが、接続先の親ノードが複数ある場合には、それら複数の親ノードからの応答メッセージを受信し、それぞれについて、自センサノード1024の深さを知ることができる。
【0059】
センサノード1024は、ボタン17が1回押下された時にLED18を点灯される。また、CPU12は、接続要求メッセージをブロードキャスト送信した時点から、タイマー監視しており、一定時間(例えば5秒)以内に親ノードから応答メッセージを受信しなかったら、応答なし(タイムアウト)と判断して(S309:N)、点灯中のLEDを点滅させて、作業者に知らせる。作業者は、LED18の点滅を見て、当該場所では電波状況が悪いと判断し、そのセンサノード1024を他の場所に移して、ステップS304から同様の動作を行う。
【0060】
一方、センサノード1024が一定時間内に親ノードからの応答メッセージを受信すると(S309:Y)、センサノード1024は、ホストノード2から自アドレスを取得するためのアドレス払出し要求に自センサノードの製品番号を付与して、親ノードへ送信する(S310)。親ノードであるセンサノード1012は、受信したアドレス払出し要求を、更に上位の親ノードであるホストノード2へ送信する(S203)。
接続先モードにあるホストノード2は、アドレス払出し要求を受信すると、要求のあった当該センサノード1024に対するアドレスを生成し、送信する(S103)。ホストノード2におけるアドレス生成の管理は、例えば2バイトから成るシリアル番号のアドレスを生成するものであり、既に生成したシリアル番号をメモリに記憶しておき、アドレス払出し要求がある度に、順次生成する。ホストノード2は、センサノードのアドレス管理テーブルをメモリ内に有し、生成したアドレス(2バイト)と受信したセンサノードの製品番号(8バイト)と対応付けて、アドレス管理テーブルに記憶する。
【0061】
センサノード1012は、ホストノード2より払出されたアドレスを受信して、それを下位ノードであるセンサノード1024へ送信する(S204)。センサノード1024は、払出されたアドレスを受信すると、自センサノードのアドレスとして、メモリに登録する(S311)。以後、センサノード間の通信は、2バイトのアドレス(8バイトの製品番号ではなくて)を用いて行う。転送容量の軽減、引いてはセンサノードの節電のためである。
【0062】
次に、センサノード1024は、親ノードに対して、自センサノードに関する基本情報(親ノードのアドレス及び深さ情報)を交換するための情報交換要求メッセージを親ノードに対して送信する(S311)。
センサノード1012は、情報交換要求メッセージを受信すると、接続要求元のセンサノード1024のアドレスとその深さ情報を、子ノードとしてメモリに登録する(S205)。そして、自ノードのアドレスと深さ情報を子ノード1024に対して送信する。その後、センサノード1012は、他の子ノードからの次の接続要求メッセージ又は子ノード1024から敷設完了信号の受信を待つ(S206)。即ちステップS201に移る。なお、親ノードに複数の子ノードが接続される場合には、親ノードのメモリには、それら全ての子ノードのアドレスと深さ情報の対を記憶する。
【0063】
子ノードであるセンサノード1024は、親ノードから親ノードアドレス及び親ノードの深さ情報を取得すると、それを親ノードとして、メモリに登録する(S312)。この時点で、先に点灯していたLED18は消灯する。その後、センサノード1024は親ノードの状態になり得る。そして、もし新たな敷設対象のセンサノードから接続要求(他の接続要求)に対応するため、接続元モードからの接続先モードに遷移する(S313)。即ち、以後、ステップS1012の状態に遷移する。
【0064】
なお、この例では、子ノード1024は、上位のセンサノード1012からのみ、親ノードのアドレス及び深さ情報を取得しているが、もし複数の上位ノードからそれらの親ノードのアドレス及び深さ情報を取得した場合には、それらをメモリに登録する。そして、応答のあった上位のノードの中で、一番深い深さを持つ上位ノードを親ノードとして扱う。応答のあった上位のノードの深さが全て同じ場合は、受信感度の一番強い上位ノードを親ノードとして扱う。自ノードの深さは、取得した親ノードの深さに+1加算して求める。2番目以降に応答のあった他の上位ノードからのアドレスおよび深さ情報は、迂回ルートとして保持しておく。
【0065】
図6Cを参照する。作業者は、敷設対象のセンサノード1024のLED18が消灯したことを確認して、当該センサノードの敷設が正しく行われたと判断し、ホストノード2のボタン17(便宜上、図2の符号を引用する)を押下する(S104)。なお、敷設対象のセンサノードが複数ある場合には、作業者はそれらのセンサノードの敷設が正しく完了したことを判断して、ボタンを押下する。すると、ホストノード2のCPUはそれを検知して、接続された全てのセンサノードに対して敷設完了信号を送信する(S105)。この時、CPUはインターネットから現在時刻情報を取得し、その現在時刻情報と、センサノードを起動する時間間隔(即ち監視モード1及び2の起動時間間隔)を、敷設完了信号に付加して送信する(S105)。現在時刻情報は、全てのセンサノードの時刻同期用として使用される。
【0066】
センサノード1012は、ホストノード2から送信された敷設完了信号を受信すると、起動時間間隔をメモリに登録すると共に、現在時刻情報を自タイマーに設定する。併せて、同様の敷設完了信号、現在時刻情報及び起動時間間隔を、子ノードへ送信する(S207)。
センサノード1024は、上位のノードから送信された、敷設完了信号を受信すると、起動時間間隔をメモリに登録すると共に、現在時刻情報を自タイマーに設定する(S314)。そして、センサノード1024は、自ノードの親及び子ノードのノードアドレス及び深さ情報を終了信号に付加して、上位ノードに送信する(S315)。センサノード1024はその後、次に起動する時間(即ち監視モード1又は2で指定された時間間隔)をタイマーに設定して、CPUスリープモードに移る(S316)。
【0067】
上位のセンサノード1012は、子ノードから送信された、親及び子ノードのノードアドレス及び深さ情報を付加した終了信号を受信すると、更に自ノードの親ノードのノードアドレス及び深さ情報を付加し、それを終了信号として上位のホストノードへ送信する(S208)。センサノード1012はその後、次に起動する時間(即ち監視モード1又は2で指定された時間間隔)をタイマーに設定して、CPUスリープモードに移る(209)。
【0068】
ホストノード2は、接続された各々のセンサノードから送信される終了信号を受信すると、親及び子ノードのアドレス及び深さ情報を自らのメモリに登録する。併せて、管理サーバ2へ、取得した同様の情報を送信する(S106)。その後、各センサノードからのメッセージ受信待機状態に移る(S107)。これにより、ホストノード2は、その管理下にあるセンサノード群1内の全てのセンサノードのアドレス及び深さ情報を把握することになる。
また、管理サーバ3は、ホストノード2から送信された、親及び子ノードのアドレス及び深さ情報を受信して、センサノード管理テーブルのセンサアドレスに対応する、親センサノードアドレス及びノード深さの欄に登録する。これにより、管理サーバ3は、センサノード群1内の全てのセンサノードのアドレス及び深さ情報を更新して管理することができる。
【0069】
(2)センサノードの状態監視時の制御
センサノードの状態監視とは、自らのセンサノードの状態を定期的に監視して、得られたノード情報をホストノードを介して管理サーバへ送信する制御動作である(以下、監視モードという)。なお、監視の最中にセンサノードのセンサの検知情報を取得するので、換言すれば、センサの監視を伴う通常の検知モードとも言える。
【0070】
センサノード10は、自らのセンサノードの状態を定期的に監視する監視モードと、それ以外のモードに分けられる。監視モードでは、センサノードのCPUが稼動してアクティブになるので、アクティブモードともいうことがある。一方、監視モード時以外の大部分の時間は、省電力のためCPUは動作していない。この大部分の時間帯をスリープモードという(省電力モード又は非アクティブモードということもある)。
【0071】
以下、監視モードについて説明する。監視モードには、2つの監視モードがある。
[センサノードのノード情報の収集処理(監視モード1)]
監視モード1は、例えば1時間ごとにセンサノード10を駆動して、センサ部11より得られるセンサ情報及び電池残量の検知に伴う判断結果を示す情報をホストノード2へ送信する動作である。即ち、CPU12は自己のタイマーにより1時間ごとにセンサノード10の内部機能を駆動して、検知した電池残量が予め定めた警戒領域(警戒電圧範囲)になったか及びセンサが対象物を検知したかを判断し、電池残量が警戒領域になった場合又はセンサが対象物を検知した場合にのみ、これらの情報を監視モード1のデータ形式(図3参照)で送信する。しかし、電池残量が警戒領域に無い場合又はセンサ部11による対象物の検知が無い場合には、監視モード1のデータは作成されない。送信データ作成及び送信のため費やす電池残量の消耗を防ぐためである。ホストノード2は、受信したノード情報を管理サーバ3へ送信する。
なお、1時間ごとにセンサを駆動するのは電池の省電力化のためであり、電池残量の消耗を更に抑えたければ、センサ部の駆動タイミングを延ばし、逆に電池の省電力化よりもセンサ部の検知精度を上げたい場合には、その駆動タイミングを、30分ごと或いは15分ごとのように短くしてもよい。
【0072】
[センサノードのノード情報の収集処理(監視モード2)]
監視モード2は、例えば8時間ごとにセンサノード10の状態を監視して得られる情報、及びセンサ部11を駆動して得られるセンサ情報をノード情報として、ホストノード2を介して管理サーバ3へ送信する動作である。CPU12は、センサ情報、電池残量や電波状態、故障等のノードの状態を含むノード情報を監視モード2のデータ形式でホストノード2へ送信する。
監視モード1がセンサノード10のセンサ部11に対象物の検知がある場合又は電池残量が警戒領域になっている場合にのみノード情報をホストノード2へ送信するのに対して、監視モード2は全てのセンサノードを定期的に稼動して、全センサノードからノード情報を取得する。言わば、監視モード2は全センサノードの状態を強制的に収集するモードである。
管理サーバ3は、ノード情報を取得できなかったセンサノードを故障状態とみなすことができる。
【0073】
[センサノードからのノード情報の収集動作の説明]
ここでは、図8〜10を参照して、監視モード2におけるセンサノードからのノード情報を収集して送信する動作について説明する。なお、監視モード1による動作も同様であるので、監視モード1の説明は省略する。
【0074】
図8に示すように、例えば、センサノード1012の下位にある、センサノード1031と1032(深さ3)及びセンサノード1023(深さ2)で作成されたノード情報を、上位のセンサノード1012、ホストノード2へ送信する場合について述べる。
【0075】
図9のチャート図を参照する。
ホストノード2は、当初、センサノードからのメッセージを受信するための待機状態にある(S9101)。一方、センサノード1012、1023、1031及び1032のCPUは、通常時はそれぞれスリープモード(S9201〜S9401)にある。この状態で、例えば、各センサノードのタイマーが8時間ごとの時刻を計時すると、各センサノードのCPU12は稼動状態に遷移する(S9202〜S9402)。この時、上位のセンサノード1012,1023は下位のセンサノードからの受信可能状態となる。
【0076】
稼動状態では、全てのセンサノード1012〜1032は、監視モード2のプログラムを実行して、センサ部11からセンサ情報を取得し、かつ電池残量や電波強度の状態を取得して、ノード情報を作成する。そして、最下位のセンサノード1031,1032はそれぞれ、作成したノード情報を上位のセンサノード1023へ送信する(S9401)
センサノード1023は、下位のセンサノード1031、1032から送信されたノード情報を受信する(S9303)。更に自センサノード1023で作成したノード情報を、先の受信したノード情報に付加して、上位のセンサノードへ送信する(S9304)。
【0077】
上位のセンサノード1012は、同様にして、下位のセンサノード1023から送信されたノード情報(センサノード1023、1031及び1032のノード情報)を受信し(S9203)、更に自センサノード1012で作成したノード情報を、受信したノード情報に付加して、ホストノード2へ送信する(S9204)。
なお、センサノード1012及びその下位にあるセンサノード1023〜1032のCPU12は、一定時間経過後に、再びスリープモードに戻る(S9404、S9305、S9205)。
【0078】
このようにして、ホストノード2は、センサノード1012の下位にあるセンサノードからのノード情報を受信すると、それらを一旦メモリに格納する(S9102)。同様にして、他の系列にあるセンサノード1011(図8)の下位にあるセンサノードからノード情報を取得する。ホストノード2のCPUは、全てのセンサノードからノード情報を取得したと判断すると、それらの情報をパケット化し、更にMACヘッダ部41を付加して、ネットワーク9を介して管理サーバ3へ送信する。管理サーバ3は、受信したノード情報を順次DB32に記憶する。
【0079】
図10に模式的に示すように、下位のセンサノード1031,1032から上位のセンサノードへノード情報が送信されるときには、ノード情報にそのセンサノードのアドレスに付加されて送信される。上位のセンサノードが下位からのノード情報を受信する度に、それに、自センサノードのノード情報及びアドレスを付加して上位のノードへ送信する。このようして、ホストノードは、それに接続されるセンサノードとその下位にあるセンサノードのアドレス及びノード情報を取得することができる。
【0080】
以上、監視モード2におけるノード情報の収集動作について説明したが、監視ノード1においても、センサノードの稼動時間間隔及びノード情報の送信の適否が異なるが、送信動作は基本的に同様であるので、その動作説明は省略する。つまり、監視モード1では、センサノード10はそのタイマーの計時時刻に従って、例えば0時30分、1時30分、2時30分のように1時間ごとにCPU12で監視モード1のためのプログラムがされる。そして、センサ部11に対象物の検知がある場合又は電池残量が警戒領域になっている場合にのみ、監視モード1のデータ形式(図3(1))のノード情報を作成し、上位のセンサノードへと送信する。
【0081】
(3)センサノードの保守時等の制御(システムの形成、変更、保守)
センサノードの保守は、センサノードが敷設された後に、新たなセンサノードを増設する場合、あるセンサノードを移動したり、撤去する場合、更には他のセンサノードとの間にバイパスを形成する場合に作業者によって行われ、それに伴って関係するセンサノードのボタン17が操作されて所定の制御動作が実行される。以下、例示する。
【0082】
[センサノードの増設時の処理]
図11に示すように、センサノードの増設は、例えば、既設のセンサノード群1において、センサノード(増設ノードという)70を新たに設置する動作である。
【0083】
図17のチャート図を参照して、処理動作について説明する。
まず、作業者は増設ノード70をホストノード2に近づけて(電波の受信範囲内で)、ボタン17を1回押下する(S7301)。増設ノード70のCPUはそれを検知して割り込みを発生させ、CPU稼動モードに遷移する。そして、ホストノード2に対してアドレス払出し要求を送信する(S7302)。アドレス払出し要求の送信に際して、増設ノード70が持つ製品番号を付加して送信することは、上述したノード敷設時の場合と同様である。
ホストノード2は、アドレス払出し要求を受信すると、アドレスを生成して増設ノードへ送信する(S7101)。増設ノード70は、ホストノードから送信されたアドレスを直接受信して、メモリに登録する(S7303)。
【0084】
次に、作業者は、増設ノード70を接続したい1又は複数の上位ノード(例えば1021、1022,1031)のボタン17を押下する(S7201)。すると、CPUスリープモードにあった上位ノードはCPU稼動モードに遷移する(S7203)。そして、CPUはボタン2回押下を検知して割り込みを発生させて接続先モードに移り、接続要求メッセージの受信待ち状態となる(S7204)。なお、接続したい上位ノードとして、1つの上位ノードのボタンを操作してもよいが、もし電波状態が悪い場合には以後の動作を行えない。そのため、複数の上位ノードのボタンを操作して稼動状態し、最初に応答のあった上位ノードとの間で以後の動作を行うのが好ましい。
【0085】
上位ノードが受信待ち状態のとき、作業者は増設ノード70のボタンを1回押下すると(S7304)、増設ノード70のCPUはその押下を検知して割り込みを発生させ、増設ノード70は接続元モードに移る。そして、接続要求メッセージをブロードキャスト送信する(S7305)。この場合、増設ノード70は既に自ノードアドレスを取得しているので、上位ノードとの間の通信はノードアドレスが用いられる。
【0086】
上位ノード(例えば1021)は、接続要求元ノードから送信された接続要求メッセージを受信すると、自らが保持している現在時刻情報及び自ノード(親ノードとなる)のアドレス及び深さ情報を送信する(S7205)。増設ノード70は、送信された現在時刻情報及び親ノードのアドレス及び深さ情報を受信して、CPU内のメモリに登録する(S7306)。そして、自ノード70のCPUで自ノードの深さを算出して、自アドレスと共に親ノード1021へ送信する(S7306)。その後、増設ノード70はCPUスリープモードに移る(S7307)。
【0087】
親ノードとなった上位ノード1021は、接続元のノードから送信された子ノードのアドレス及び深さ情報を受信して、CPU内のメモリに登録する(S7206)。その後、上位ノード1201はCPUスリープモードに移る(S7207)。
【0088】
以上の動作により、増設ノード70は、当初ボタンを操作した複数の上位ノードのうち、最初に応答があった1つの上位ノード(例えば1021)をゲートウェイとして、更に上位センサノード乃至ホストノード2との間にパスが形成される。また、増設ノード70は既設のセンサノードとなり、以後、その下位に新たなセンサノードが増設される場合、親ノードとなり得る。
なお、センサノードの増設時にはホストノード2は関与していない。そのため、増設ノード70のアドレス及び深さ情報は、上記の監視モード1又は2によるノード情報の収集時に、ホストノード2へ送信されることになる。
【0089】
[センサノードの移設時の処理]
図12に示すように、センサノードの移設は、例えば、既設のセンサノード群1において、センサノード104を場所に移動して(移設ノード80となる)、他の親ノード(例えばセンサノード1021,1022)に接続する動作である。この場合、移設ノード80は既に自らに付与されたアドレスを保持しているので、ホストノード2から新たなアドレスを取得することは不要である。
【0090】
作業者は、移動先の場所で、希望する接続先のセンサノード1021、1022のボタン17を2回押下する。すると、接続先のセンサノードはCPUスリープモードからCPU稼動モードに遷移して、接続先モードに移り、接続元ノードから送信される接続要求メッセージの受信待ち状態となる。(親ノードとしての動作は上述した増設時と同様である)
次に、作用者は、移設ノード80のボタン17を1回押下すると、CPUスリープモードから稼動モードに遷移し、接続要求メッセージを親ノードへ送信する。以後の動作は、センサノードの増設時の動作と同様であるので詳説しない。結果的に、接続先センサノード(1021又は1022のいずれ)からノードアドレス及び深さ情報を取得して、自ノードのCPU12内メモリに登録し、かつ自ノードのアドレス及び深さ情報を上位の親ノードに送信して、そこに登録する。これにより、移設ノード80はセンサノード(1021又は1022)をゲートウェイとして、親ノードを順次経由してホストノード2までのパスが形成される。
【0091】
なお、移設ノード104に下位のセンサノード(子ノードという)が接続され、その子ノードが迂回ルートを持っていない場合には、子ノード以下に接続されているセンサノードは通信不能となる。この場合でも、通信不能となった子ノードを移設ノードとして扱い、他の親ノードとの間で上記と同様の動作を行うことで、他の親ノードとの間でパスを形成することができる。
【0092】
[電池交換時の処理]
図13に示すように、例えば既設のセンサノード1023(電池交換ノード1023という)の電池を交換する場合がある。
図18を参照するに、作業者はまず、CPUスリープモード中に、センサノード1023の旧い電池を抜いて、新しい電池に交換する。この場合、CPUへの給電は停止するので、CPUのタイマーの時刻は狂ってくる。そこで、電池交換ノードは上位ノードとの間で現在時刻を調整する必要がある。電池交換時の処理とは、要するに現在時刻の調整処理動作といえる。
【0093】
まず、作業者は、上位ノード1012のボタン17を2回押下する。すると、親ノード1012は、CPUスリープモードからCPU稼動モードへ遷移する(S8201,S8203)。CPUは、ボタンの2回押下を検知して割り込みを発生し、接続先モードに移って、接続要求メッセージの受信待ち状態となる(S8204)。
【0094】
作業者は次に、電池交換ノード1023のボタン17を1回押下する(S8301)。すると、電池交換ノード1023はCPUスリープモードからCPU稼動モードに遷移する(S8301、S8303)。CPUは、ボタンの1回押下を検知して割り込みを発生し、接続元先モードに移る。そして、上位ノードに対して接続要求メッセージをブロードキャスト送信する(S8304)。上位ノードはその後、CPUスリープモードに移る(S8206)。
【0095】
上位ノード1012は接続元ノードから送信された接続要求メッセージを受信すると、現在時刻情報を付加した応答メッセージを送信する(S8205)。電池交換ノード1023は、応答メッセージを受信して、その現在時刻情報を自ノードのタイマーに設定する(S8305)。その後、CPUスリープモードに移る(S8306)。
これにより、電池交換ノード1023はその親ノード1012と同じ時刻を計時できる。なお、電池交換されても、センサノード1023のメモリの記憶内容は消去されないので、自ノードアドレスや深さ情報はメモリに保持された状態であり、以後の監視モード1又は2によるノード情報の収集時に使用される。
【0096】
[バイパス形成時の処理]
図14に示すように、バイパスとは、例えばセンサノード1023をその上位ノード1012との接続を維持したまま、他の上位のセンサノード(例えば1011)に接続する場合、新たなバイパス用のセンサノード(バイパスノード)1400を用いて接続する動作である。つまり、増設ノードを用いてバイパス作りを行う動作である。
この動作は、上述したセンサノードの増設と同様であるので、詳細は省く。作業者は、バイパスノード1400をホストノード2に近づけて、ボタン17を1回押下して、バイパスノード1400の自アドレスを取得する。その後、バイパスノード1400をバイパス場所に設置して、希望する接続先ノード(センサノード1011)のボタンを2回押下する。これにより、バイパス元のノード1023は、バイパスノード1400を通して、バイパス先ノード1011を親ノードとするバイパスが形成される。この場合も増設時と同様にして、バイパスノード1400から上位となったセンサノードを順次経由してホストノード2までのパスが形成され、バイパスノード1400は上位のセンサノードのアドレス及び深さ情報を取得して、自らのCPU12内に記憶することができる。
なお、バイパスノード1400の自ノードアドレスや深さ情報はメモリに保持され、以後の監視モード1又は2におけるノード情報の収集時に使用される。
【0097】
[センサノードの撤去時の処理]
図15に示すように、センサノードの撤去は、例えば、既設のセンサノード群1において、センサノード1023(撤去ノードという)を撤去する動作である。
この場合、作業者は、撤去ノード1023のボタン17を長時間押下すると、これらのノードに付与されたアドレスや深さ等の諸情報はキャンセルされる。作業者は、当該センサノード1023をその場所から撤去する。
撤去ノード1023に子ノードが無い場合には問題ないが、子ノードが有る場合には問題である。図示の例では、撤去ノード1023に子ノード1031が有り、その子ノード1031には迂回ルートのノードが無いので、通信不能となる。そこで、子ノード1031は、新たに親ノード(例えば1012)との間でパスを形成する必要がある。そのパスの形成については、移設時の動作と同様であるので、説明は省く。
【0098】
[故障時の処理]
この動作は、図16に示すように、例えば既設のセンサノード1021、1023が故障した場合(故障ノードという)、新たなセンサノード(交換ノード1600)と交換する動作である。この場合、作業者は、故障ノードを撤去して、その場所に交換ノード1600を設置する。故障ノードが末端のノード1021の場合には、これで動作が終了する。撤去された末端の故障ノード1021の処理は、撤去時の動作と同様である。
【0099】
一方、撤去された故障ノード1023に対する交換ノードの設置動作は、上述した増設ノードの処理手順と同様である。即ち、交換ノード1600をホストノード2に近づけて、交換ノードのボタン17を2回押下して、ホストノード2から交換ノード1600用のアドレスを取得する。その後、交換ノード1600を、交換場所に移動して、接続先の親ノード(センサノード1012)のボタンを2回押下する。更に、交換ノード1600の子ノード1031のボタンを1回押下する。この動作は増設時と同様であるので詳細は省くが、これにより交換ノードとその親ノードとの間で、それぞれのアドレス及び深さ情報を取得して保持する。
なお、交換ノード1600の自ノードアドレスや深さ情報はメモリに保持され、以後の監視モード1又は2におけるノード情報の収集時に使用される。
【0100】
(4)その他:センサノードの時間の同期処理
この同期処理は、センサノードの敷設時や増設時にホストノード2から送信される現在時刻情報に基づく時間同期の動作と異なり、1日1回指定された時刻に全センサノードに対して行う、時間同期の動作である。
例えば、毎日午前零時0分に、管理サーバ3はインターネット9を介して外部から現在時刻情報を取得してホストノード2へ送信する。ホストノード2は、受信した時刻情報をその管理下にある全てのセンサノード10へ送信すると共に、自らのタイマーに設定して時刻の補正をする。
各センサノード10は、時刻情報を受信すると、自らのタイマーにそれを設定して時刻を補正すると共に、それを下流のセンサノードに送信する。この動作により、全てのセンサノード10の時刻の同期が取られる。
【0101】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されることなく、更に種々変形して実施し得る。
例えば、センサノードに搭載するセンサの種類や数は、その目的に応じて種々変更して使用できる。センサは省エネ関係や衛生関係、警備対応関係等、いろいろな分野に適用することができるが、例えば、省エネ関係で言えば、温度や湿度センサ、照度センサ、電力量センサを搭載することができる。また、農業分野で言えば、温度や湿度センサの他に、pHセンサ、CO2センサ等を用いることができる。
【0102】
また、図4に示したDB32のセンサノード管理テーブルは一例であって、他の情報を含めたり、テーブルを分割して使用することもできる。例えば、センサノード管理テーブルの項目の内、製品番号、フロアID、フロア名、設置場所等の情報は、管理者が管理サーバ3の入力器から入力する項目である。そのため、これらの情報は図4の管理テーブルから分けて、別のテーブルとして構成することができる。その場合、図4の管理テーブルとこの別テーブルとは、製品番号が両者のテーブルを関係付ける情報となる。
【0103】
また、上記実施例において、センサノードをスリープモードから稼動モードへ遷移させるなどの動作を行わせる操作手段である、センサノード10のボタン17は、1つのスイッチで3つの異なる操作機能(1回押下、2回押下、長時間押下)を実現しているが、変形例によれば、3つのボタンを設けて、それぞれの機能を個別に実現するようにしてもよい。
【0104】
以上、説明したように、本発明の好ましい実施例によれば、公衆電源が確保可能な場所にホストノードを配置し、多数の無線センサノードは単3電池で稼動することができるので、電源確保が難しい、ビルや畑、山間地にも敷設することが可能となる。センサノードを無線通信可能な任意の場所に容易に敷設することが出来るので、敷設時間を短縮できるので、センサネットワークシステムの構築が容易、柔軟になる。また、センサノードの増設や移設、撤去等が容易に行えるので、システムの運用性、保守性が向上する。
更に、管理サーバは、定期的に監視される各センサノードの電池残量や電波状況、及びセンサノ検知情報を取得して、その状況をセンサノードマップ(トポロジー図)に作成して表示することができるので、システムの管理者は、各センサノードの状態を容易に確認することができる。
【符号の説明】
【0105】
1:センサノード群 101〜105、10:センサノード
2:ホストノード 3:管理サーバ 31:プロセッサ 32:データベース
9:ネットワーク
11:センサ部 111、112:センサ 12:CPU 13:送受信回路 14:アンテナ 15:制御回路 16:コネクタ 17:ボタン 18:LED 19:単3電池。
【特許請求の範囲】
【請求項1】
センサノード間に無線のパスが形成されてツリー状に接続された複数のセンサノードと、該複数のセンサノードのうち最上位の1又は複数のセンサノードと無線接続され、全ての該センサノードから情報を収集することができるホストノードを有するセンサネットワークシステムであって、
該複数のセンサノードはそれぞれ、
該電池によって稼動されるプロセッサであって、プログラムの実行によって実現される、該センサによって検知されるセンサ情報を取得するセンサ情報取得手段と、該電池の残量又は他のセンサノード又はホストノードとの間の電波の状況を監視する状態監視手段と、該センサ情報取得手段によって検知されるセンサ情報、又は該状態監視手段によって監視される電池残量又は電波状況に関する状態情報を含むノード情報を作成するノード情報作成手段を有するプロセッサと、
時刻を計時するタイマーと、該ノード情報作成手段によって作成された該ノード情報、及び他のセンサノードから送信されるノード情報を他のセンサノード又は該ホストノードへ送信する送受信回路と、該送受信回路に接続され、少なくとも該ノード情報を無線通信するアンテナと、該センサノードを配置する際に作業者によって操作される操作手段を有し、
該ホストノードは;プロセッサでプログラムを実行することによって実現される、該センサノードからの要求に応じて、該センサノードに割り当てるアドレスを生成する手段と、複数の該センサノードから収集される前記ノード情報を外部の装置へ転送する転送手段とを有し、かつ、
該ホストノードにおいて該アドレス生成手段は、電池が装填されて、ある場所に配置されたあるセンサノード(第2センサノードという)からの要求に応じて、該第2センサノードのための第2アドレスを生成し、生成された第2アドレスを第2センサノードへ送信し、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、自らメモリに保持する自らのアドレス(第1アドレス)を第2センサノードへ送信し、かつ第2のセンサノードが取得した第2アドレスを取得して該メモリに記憶し、
第2センサノードは、受信した第1センサノードの第1アドレス及び第2アドレスを自らのメモリに記憶し、
第2センサノードは、該ノード情報作成手段によって該センサ情報又は電池残量又は電波状況に関する状態情報を含むノード情報に第2アドレスを付して第2ノード情報を作成して、第1センサノードへ送信し、
第1センサノードは、受信した第2のノード情報を、該ホストノード又はさらに上位のセンサノードがある場合には該上位のセンサノードへ送信する、
ことを特徴とするセンサネットワークシステム。
【請求項2】
第1センサノードは、受信した第2のノード情報に、自らのノード情報作成手段によって作成されたノード情報に第1アドレスを付した情報(第1ノード情報)を追加して、さらなる上位のセンサノード又は該ホストノードへ送信すること、
を特徴とする請求項1に記載のセンサネットワークシステム。
【請求項3】
前記タイマーが第1の時間間隔(t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、電池残量監視手段により該電池残量を監視し、該電池残量が警戒領域にある場合又は該センサ情報取得手段によるセンサ情報がある場合に、該電池容量又はセンサ情報を含むノード情報を作成し、
前記タイマーが第2の時間間隔(t2>t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、該電池残量監視手段から取得される該電池残量に関する情報、又は他のセンサノードとの間の電波強度を検知する電波強度検知手段から取得される電波状況に関する情報、又は該センサ情報取得手段により取得されるセンサ情報該センサ情報を含めて、該ノード情報を作成すること、
を特徴とする請求項1又は2に記載のセンサネットワークシステム。
【請求項4】
ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、該アドレス生成手段によって生成したセンサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び第1センサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、
を特徴とする請求項1乃至3のいずれかの項記載のセンサネットワークシステム。
【請求項5】
前記センサノードは更に、
該センサノードを配置する際に作業者によって操作される操作手段と、光学表示素子を有し、
前記プロセッサは更に、該操作手段が操作されたときに、該センサノードが他のセンサノードと無線接続するための接続要求メッセージをブロードキャスト送信する手段を有し、
該ブロードキャスト送信手段によって送信された該接続要求メッセージに対して、他のセンサノードからの応答が一定時間内に無い場合に、該プロセッサは該光学表示子の表示状態を変更するように制御すること、
を特徴とする請求項1乃至4のいずれかの項記載のセンサネットワークシステム。
【請求項6】
電池稼動され、対象物や環境因子を検知するセンサを有する複数のセンサノードと、中継機能と有するホストノードとをマルチホップ型で無線接続してセンサネットワークシステムを形成するセンサネットワークシステム形成方法であって、
設置対象のセンサノードの内部機能を非稼動状態から稼動状態に遷移させた後、
該設置対象のセンサノードからの要求に応じて、該ホストノードは該設置対象センサノードのためのアドレスを生成して該設置対象センサノードへ送信するし、
該設置対象センサノードは、受信した該アドレスをメモリに記憶し、
該設置対象センサノードが無線接続される上位のセンサノード(上位センサノードという)は、該設置対象センサノードの該アドレスを自らのメモリに記憶し、
該上位センサノードは、自らのアドレス(上位ノードアドレスという)を該設置対象センサノードへ送信し、
該設置対象センサノードは、該上位センサノードから送信された上位ノードアドレスを受信してメモリに記憶し、
該設置対象センサノードは、該センサで検知したセンサ情報を含むノード情報に自らアドレスを付して、該上位センサノードへ送信することを可能とした、
を特徴とするセンサネットワークシステム形成方法。
【請求項7】
ツリー状にお互いに無線接続される複数のセンサノードと、該複数のセンサノードに無線接続され、複数のセンサノードに関する情報を収集するホストノードを有するセンサネットワークシステムであって、該複数のセンサノードはそれぞれ、対象物或いは環境因子などを検知する1又は複数のセンサと、着脱自在に装填される電池と、該電池により稼動され、プロセッサでプログラムの実行によって、該センサによって検知されるセンサ情報と、該電池の残量又は電波強度に関する状態情報を含むノード情報を作成するノード情報作成手段と、該ノード情報作成手段によって作成された該ノード情報を送信又は受信する無線通信手段と、時刻を計時するタイマーと、該センサノードを配置する際に作業者によって操作される操作手段を有する、センサネットワークシステムを形成する方法であって、
配置対象の第2センサノードに電池が装填された後、該操作手段の操作に従って、該プロセッサが非稼動状態のスリープモードから稼動状態の稼動モードに遷移するステップと、
稼動モードに遷移した後、ある場所に置かれた第2センサノードからの要求に応じて、該ホストノードは該第2センサノードのための第2アドレスを生成して第2センサノードへ送信するステップと、
第2センサノードは、受信した第2アドレスをメモリに記憶するステップと、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、第2センサノードの第2アドレスをメモリに記憶するステップと、
該第1センサノードは、自らのメモリに保持する自らの第1アドレスを第2センサノードへ送信するステップと、
該第2センサノードは、該第1センサノードから送信され受信した、第1センサノードの第1アドレスをメモリに記憶するステップと、
該第2センサノードは、該ノード情報作成手段によって作成された、センサ情報又は該電池の残量を含むノード情報に第2アドレスを付して、該第1センサノードへ送信するステップと、
該第1センサノードは、該第2センサノードより送信され受信した該ノード情報を、さらに上位のセンサノードがある場合には該上位のセンサノードを経由して該ホストノードへ送信するステップと
を有することを特徴とするセンサネットワークシステム形成方法。
【請求項8】
ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、生成した各センサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び直接接続される上位のセンサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、
を特徴とする請求項7のセンサネットワークシステム形成方法。
【請求項9】
前記稼動モードに遷移した後、第2センサノードは、接続先のノードを捜すために接続要求メッセージをブロードキャスト送信するステップと、
第2センサノードは、接続要求メッセージをブロードキャスト送信した後、一定時間内に応答があるかを判定するステップを有し、
該判定の結果、一定時間内に前記第1センサノードから応答があった場合、第2センサノードは前記第1センサノードに対して、該ホストノードによるアドレスの付与のための要求を送信するステップ、
を有することを特徴とする請求項7又は8項記載のセンサネットワークシステム形成方法。
【請求項10】
ツリー状に無線接続された複数のセンサノードに対して第3センサノードを増設する場合、
第3センサノードの該操作手段の操作に従って、第3センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第3センサノードが稼動モードに遷移した後、該ホストノードは第3センサノードからの要求に応じて第3センサノードのための第3アドレスを生成して第3センサノードへ送信し、
第3センサノードは、受信した第3アドレスを自らのメモリに記憶し、
第3センサノードに直接接続される、前記第1センサノードの操作手段の操作に従って、該第1センサノードのプロセッサはスリープモードから稼動モードに遷移し、
第1センサノードは、自らのメモリに保持する自らの第1アドレスを、及び自らのタイマーの計時時刻を第3センサノードへ送信し、
第3センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項11】
他のセンサノードに接続していた第4センサノードを、該他のセンサノードとの接続を外して第1センサノードに接続する場合、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードの該操作手段の操作に従って、第4センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードに直接接続される、第1センサノードは、自らのメモリに保持する自らの第1アドレス、及び自らのタイマーの計時時刻を第4センサノードへ送信し、
第4センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項12】
前記第1センサノードに接続された第2センサノードの接続先を維持したまま、更に第5センサノードを用いて、該ホストノードに直接又は間接的に接続された第6センサノードに接続する場合、
第5センサノードの該操作手段の操作に従って、第5センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第5センサノードは、該ホストノードが生成した第5センサノードのための第5アドレスを取得して自らのメモリに記憶し、
第5センサノードに直接接続される、第6センサノードは、自らのメモリに保持する自らの第6アドレス、及び自らのタイマーの計時時刻を第5センサノードへ送信し、
第5センサノードは、第6センサノードから送信され受信した、第6センサノードの第6アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定し、かつ
第5センサノードは、取得した自らの第5アドレスを第2センサノードへ送信し、
第2センサノードは、第5センサノードから送信され受信した、第5センサノードの第5アドレスを自らのメモリに追加して記憶すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項13】
前記第2センサノードに装填された電池を交換する場合、
電池を交換した後に第2センサノードの該操作手段の操作に従って、第2センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードは、第2センサノードからの接続要求に応じて、自らのタイマーの計時時刻を応答メッセージに付加して第2センサノードへ送信し、
第2センサノードは、受信した該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項14】
前記ホストノードは、定期的に外部より現在時刻情報を取得して、自らのタイマーに設定し、かつ全てのセンサノードに該現在時刻情報を送信し、
全ての該センサノードは、受信した該現在時刻情報を自らのタイマーに設定すること、
を特徴とする請求項7乃至13のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項1】
センサノード間に無線のパスが形成されてツリー状に接続された複数のセンサノードと、該複数のセンサノードのうち最上位の1又は複数のセンサノードと無線接続され、全ての該センサノードから情報を収集することができるホストノードを有するセンサネットワークシステムであって、
該複数のセンサノードはそれぞれ、
該電池によって稼動されるプロセッサであって、プログラムの実行によって実現される、該センサによって検知されるセンサ情報を取得するセンサ情報取得手段と、該電池の残量又は他のセンサノード又はホストノードとの間の電波の状況を監視する状態監視手段と、該センサ情報取得手段によって検知されるセンサ情報、又は該状態監視手段によって監視される電池残量又は電波状況に関する状態情報を含むノード情報を作成するノード情報作成手段を有するプロセッサと、
時刻を計時するタイマーと、該ノード情報作成手段によって作成された該ノード情報、及び他のセンサノードから送信されるノード情報を他のセンサノード又は該ホストノードへ送信する送受信回路と、該送受信回路に接続され、少なくとも該ノード情報を無線通信するアンテナと、該センサノードを配置する際に作業者によって操作される操作手段を有し、
該ホストノードは;プロセッサでプログラムを実行することによって実現される、該センサノードからの要求に応じて、該センサノードに割り当てるアドレスを生成する手段と、複数の該センサノードから収集される前記ノード情報を外部の装置へ転送する転送手段とを有し、かつ、
該ホストノードにおいて該アドレス生成手段は、電池が装填されて、ある場所に配置されたあるセンサノード(第2センサノードという)からの要求に応じて、該第2センサノードのための第2アドレスを生成し、生成された第2アドレスを第2センサノードへ送信し、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、自らメモリに保持する自らのアドレス(第1アドレス)を第2センサノードへ送信し、かつ第2のセンサノードが取得した第2アドレスを取得して該メモリに記憶し、
第2センサノードは、受信した第1センサノードの第1アドレス及び第2アドレスを自らのメモリに記憶し、
第2センサノードは、該ノード情報作成手段によって該センサ情報又は電池残量又は電波状況に関する状態情報を含むノード情報に第2アドレスを付して第2ノード情報を作成して、第1センサノードへ送信し、
第1センサノードは、受信した第2のノード情報を、該ホストノード又はさらに上位のセンサノードがある場合には該上位のセンサノードへ送信する、
ことを特徴とするセンサネットワークシステム。
【請求項2】
第1センサノードは、受信した第2のノード情報に、自らのノード情報作成手段によって作成されたノード情報に第1アドレスを付した情報(第1ノード情報)を追加して、さらなる上位のセンサノード又は該ホストノードへ送信すること、
を特徴とする請求項1に記載のセンサネットワークシステム。
【請求項3】
前記タイマーが第1の時間間隔(t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、電池残量監視手段により該電池残量を監視し、該電池残量が警戒領域にある場合又は該センサ情報取得手段によるセンサ情報がある場合に、該電池容量又はセンサ情報を含むノード情報を作成し、
前記タイマーが第2の時間間隔(t2>t1)に関する時刻を計時したときに、該プロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移して、
前記ノード情報作成手段は、該電池残量監視手段から取得される該電池残量に関する情報、又は他のセンサノードとの間の電波強度を検知する電波強度検知手段から取得される電波状況に関する情報、又は該センサ情報取得手段により取得されるセンサ情報該センサ情報を含めて、該ノード情報を作成すること、
を特徴とする請求項1又は2に記載のセンサネットワークシステム。
【請求項4】
ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、該アドレス生成手段によって生成したセンサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び第1センサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、
を特徴とする請求項1乃至3のいずれかの項記載のセンサネットワークシステム。
【請求項5】
前記センサノードは更に、
該センサノードを配置する際に作業者によって操作される操作手段と、光学表示素子を有し、
前記プロセッサは更に、該操作手段が操作されたときに、該センサノードが他のセンサノードと無線接続するための接続要求メッセージをブロードキャスト送信する手段を有し、
該ブロードキャスト送信手段によって送信された該接続要求メッセージに対して、他のセンサノードからの応答が一定時間内に無い場合に、該プロセッサは該光学表示子の表示状態を変更するように制御すること、
を特徴とする請求項1乃至4のいずれかの項記載のセンサネットワークシステム。
【請求項6】
電池稼動され、対象物や環境因子を検知するセンサを有する複数のセンサノードと、中継機能と有するホストノードとをマルチホップ型で無線接続してセンサネットワークシステムを形成するセンサネットワークシステム形成方法であって、
設置対象のセンサノードの内部機能を非稼動状態から稼動状態に遷移させた後、
該設置対象のセンサノードからの要求に応じて、該ホストノードは該設置対象センサノードのためのアドレスを生成して該設置対象センサノードへ送信するし、
該設置対象センサノードは、受信した該アドレスをメモリに記憶し、
該設置対象センサノードが無線接続される上位のセンサノード(上位センサノードという)は、該設置対象センサノードの該アドレスを自らのメモリに記憶し、
該上位センサノードは、自らのアドレス(上位ノードアドレスという)を該設置対象センサノードへ送信し、
該設置対象センサノードは、該上位センサノードから送信された上位ノードアドレスを受信してメモリに記憶し、
該設置対象センサノードは、該センサで検知したセンサ情報を含むノード情報に自らアドレスを付して、該上位センサノードへ送信することを可能とした、
を特徴とするセンサネットワークシステム形成方法。
【請求項7】
ツリー状にお互いに無線接続される複数のセンサノードと、該複数のセンサノードに無線接続され、複数のセンサノードに関する情報を収集するホストノードを有するセンサネットワークシステムであって、該複数のセンサノードはそれぞれ、対象物或いは環境因子などを検知する1又は複数のセンサと、着脱自在に装填される電池と、該電池により稼動され、プロセッサでプログラムの実行によって、該センサによって検知されるセンサ情報と、該電池の残量又は電波強度に関する状態情報を含むノード情報を作成するノード情報作成手段と、該ノード情報作成手段によって作成された該ノード情報を送信又は受信する無線通信手段と、時刻を計時するタイマーと、該センサノードを配置する際に作業者によって操作される操作手段を有する、センサネットワークシステムを形成する方法であって、
配置対象の第2センサノードに電池が装填された後、該操作手段の操作に従って、該プロセッサが非稼動状態のスリープモードから稼動状態の稼動モードに遷移するステップと、
稼動モードに遷移した後、ある場所に置かれた第2センサノードからの要求に応じて、該ホストノードは該第2センサノードのための第2アドレスを生成して第2センサノードへ送信するステップと、
第2センサノードは、受信した第2アドレスをメモリに記憶するステップと、
第2センサノードと該ホストノードとの間に形成される無線のパス上の、第2センサノードに最も近い上位のセンサノード(第1センサノードという)がある場合、第1センサノードは、第2センサノードの第2アドレスをメモリに記憶するステップと、
該第1センサノードは、自らのメモリに保持する自らの第1アドレスを第2センサノードへ送信するステップと、
該第2センサノードは、該第1センサノードから送信され受信した、第1センサノードの第1アドレスをメモリに記憶するステップと、
該第2センサノードは、該ノード情報作成手段によって作成された、センサ情報又は該電池の残量を含むノード情報に第2アドレスを付して、該第1センサノードへ送信するステップと、
該第1センサノードは、該第2センサノードより送信され受信した該ノード情報を、さらに上位のセンサノードがある場合には該上位のセンサノードを経由して該ホストノードへ送信するステップと
を有することを特徴とするセンサネットワークシステム形成方法。
【請求項8】
ツリー状に接続された前記複数のセンサノードは、該ホストノードに接続されるパス上の該ホストノードから遠くなるほど深さが深くなるように定義され、
前記ホストノードは、生成した各センサノードのアドレスと、該センサノードの深さの情報を対応付けてメモリに記憶し、
パス上のセンサノードは、自らの深さ及び直接接続される上位のセンサノードの深さの情報を、それぞれのアドレスに対応付けてメモリに記憶すること、
を特徴とする請求項7のセンサネットワークシステム形成方法。
【請求項9】
前記稼動モードに遷移した後、第2センサノードは、接続先のノードを捜すために接続要求メッセージをブロードキャスト送信するステップと、
第2センサノードは、接続要求メッセージをブロードキャスト送信した後、一定時間内に応答があるかを判定するステップを有し、
該判定の結果、一定時間内に前記第1センサノードから応答があった場合、第2センサノードは前記第1センサノードに対して、該ホストノードによるアドレスの付与のための要求を送信するステップ、
を有することを特徴とする請求項7又は8項記載のセンサネットワークシステム形成方法。
【請求項10】
ツリー状に無線接続された複数のセンサノードに対して第3センサノードを増設する場合、
第3センサノードの該操作手段の操作に従って、第3センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第3センサノードが稼動モードに遷移した後、該ホストノードは第3センサノードからの要求に応じて第3センサノードのための第3アドレスを生成して第3センサノードへ送信し、
第3センサノードは、受信した第3アドレスを自らのメモリに記憶し、
第3センサノードに直接接続される、前記第1センサノードの操作手段の操作に従って、該第1センサノードのプロセッサはスリープモードから稼動モードに遷移し、
第1センサノードは、自らのメモリに保持する自らの第1アドレスを、及び自らのタイマーの計時時刻を第3センサノードへ送信し、
第3センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項11】
他のセンサノードに接続していた第4センサノードを、該他のセンサノードとの接続を外して第1センサノードに接続する場合、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードの該操作手段の操作に従って、第4センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第4センサノードに直接接続される、第1センサノードは、自らのメモリに保持する自らの第1アドレス、及び自らのタイマーの計時時刻を第4センサノードへ送信し、
第4センサノードは、第1センサノードから送信され受信した、第1センサノードの第1アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項12】
前記第1センサノードに接続された第2センサノードの接続先を維持したまま、更に第5センサノードを用いて、該ホストノードに直接又は間接的に接続された第6センサノードに接続する場合、
第5センサノードの該操作手段の操作に従って、第5センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第5センサノードは、該ホストノードが生成した第5センサノードのための第5アドレスを取得して自らのメモリに記憶し、
第5センサノードに直接接続される、第6センサノードは、自らのメモリに保持する自らの第6アドレス、及び自らのタイマーの計時時刻を第5センサノードへ送信し、
第5センサノードは、第6センサノードから送信され受信した、第6センサノードの第6アドレスを自らのメモリに記憶し、かつ該計時時刻を自らのタイマーに設定し、かつ
第5センサノードは、取得した自らの第5アドレスを第2センサノードへ送信し、
第2センサノードは、第5センサノードから送信され受信した、第5センサノードの第5アドレスを自らのメモリに追加して記憶すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項13】
前記第2センサノードに装填された電池を交換する場合、
電池を交換した後に第2センサノードの該操作手段の操作に従って、第2センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードの該操作手段の操作に従って、第1センサノードのプロセッサは非稼動状態のスリープモードから稼動状態の稼動モードに遷移し、
第1センサノードは、第2センサノードからの接続要求に応じて、自らのタイマーの計時時刻を応答メッセージに付加して第2センサノードへ送信し、
第2センサノードは、受信した該計時時刻を自らのタイマーに設定すること、
を特徴とする請求項7乃至9のいずれかの項記載のセンサネットワークシステム形成方法。
【請求項14】
前記ホストノードは、定期的に外部より現在時刻情報を取得して、自らのタイマーに設定し、かつ全てのセンサノードに該現在時刻情報を送信し、
全ての該センサノードは、受信した該現在時刻情報を自らのタイマーに設定すること、
を特徴とする請求項7乃至13のいずれかの項記載のセンサネットワークシステム形成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−83847(P2012−83847A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−227612(P2010−227612)
【出願日】平成22年10月7日(2010.10.7)
【出願人】(397065952)ベーステクノロジー株式会社 (10)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成22年10月7日(2010.10.7)
【出願人】(397065952)ベーステクノロジー株式会社 (10)
【Fターム(参考)】
[ Back to top ]