以下、例示的な実施形態を図面に基づいて詳細に説明する。
図1は、無線通信システム100の概略図である。無線通信システム100は、データステーション10と、複数の中継機20と、複数のセンサ30とを有している。データステーション10、中継機20、センサ30は、通信端末であり、互いに無線通信を行い、自律的にネットワークを構築する。無線通信システム100においては、マルチホップ無線ネットワークが形成される。データステーション10は、親機として機能し、中継機20及びセンサ30は、子機として機能する。基本的には、データステーション10は、中継機20と通信を行い、センサ30は、中継機20と通信を行う。センサ30の個数は、中継機20に比べて多い。データステーション10及び中継機20は、データステーション10を頂点(最上位)とするツリー型のネットワークトポロジを有している。本明細書では、ネットワークにおいてデータステーション10側を上流側又は上位とし、ツリーの末端側を下流側又は下位とする。また、データステーション10、中継機20、センサ30を区別しない場合には、単に通信端末と称する場合がある。また、各中継機20を区別する場合には、符号「20」の後にアルファベットを付して区別する。同様に、各センサ30を区別する場合には、符号「30」の後にアルファベットを付して区別する。
無線通信システム100においては、センサ30が対象物の所定の物理量を検出し、その検出値、即ち、検出データが中継機20を介してデータステーション10に収集される。本開示における例では、無線通信システム100は、蒸気システムを有する工場内に設置されている。蒸気システムは、複数のスチームトラップT(図1では1つだけ図示)を有している。対象物は、スチームトラップTである。センサ30は、スチームトラップTの振動数及び温度を検出する。
〈データステーションの構成〉
図2は、データステーション10のブロック図である。データステーション10は、無線通信システム100の通信経路の確立やセンサ30の検出値の収集及び管理を行う。また、データステーション10は、図示を省略するが、外部ネットワーク等を介して上位のサーバ90に接続される。データステーション10は、必要に応じて、センサ30の検出値をサーバ90に転送する。
データステーション10は、CPU11と、メモリ12と、記憶部13と、無線通信回路14と、計時回路15と、上位インターフェース部16と、電源回路17とを有している。
記憶部13には、各種プログラム及び各種情報が記憶されている。CPU11は、記憶部13から各種プログラムを読み込み、実行することにより、様々な処理を行う。例えば、記憶部13には、ネットワークの通信経路を形成するためのプログラム、センサ30の検出値を収集するためのプログラム、ネットワークのツリー構造を規定するツリーテーブル、各センサ30がどの中継機20に接続されているかを規定したセンサテーブル、最終送信先へのルートを規定するルーティングテーブル、ツリーテーブルからルーティングテーブルを作成するためのプログラム、中継機20と通信を行うスケジュールを規定したスケジュール情報、及び、収集した検出値等が記憶されている。
無線通信回路14は、中継機20等の他の通信端末と無線通信を行う。無線通信回路14は、CPU11の制御によって動作し、各種信号を符号化・変調等の処理により無線信号に変換し、アンテナを介して送信する。また、無線通信回路14は、アンテナを介して受信した信号を復調・複合化等の処理により適切な信号に変換する。さらに、無線通信回路14は、受信した信号に基づいて受信信号強度(RSSI:Received Signal Strength Indicator)を計測する。
計時回路15は、所定のクロックを発生し、データステーション10の基準となる時刻を計時する。上位インターフェース部16は、サーバ90との間のインターフェース処理を行う。電源回路17は、外部電源(図示省略)が接続されており、データステーション10の各要素に電力を供給する。
〈中継機の構成〉
図3は、中継機20のブロック図である。中継機20は、データステーション10の指令に応じて、センサ30の検出値をデータステーション10へ送信する。
中継機20は、CPU21と、メモリ22と、記憶部23と、無線通信回路24と、計時回路25と、電源回路26と、電池27とを有している。
記憶部23には、各種プログラム及び各種情報が記憶されている。CPU21は、記憶部23から各種プログラムを読み込み、実行することにより、様々な処理を行う。例えば、記憶部23には、ネットワークの通信経路を形成するためのプログラム、センサ30の検出値を中継するためのプログラム、ツリーテーブル、ルーティングテーブル、ツリーテーブルからルーティングテーブルを作成するためのプログラム、繋がっているセンサ30を特定するセンサ接続情報及び、センサ30から取得した検出値等が記憶されている。
また、記憶部23には、電池27の残量を推定するためのプログラムも記憶されている。CPU21は、該プログラムを実行することによって、各種処理に応じた消費電力を積算し、電池27の残量を推定する。
無線通信回路24は、他の通信端末と無線通信を行う。無線通信回路24は、CPU21の制御によって動作し、各種信号を符号化・変調等の処理により無線信号に変換し、アンテナを介して送信する。また、無線通信回路24は、アンテナを介して受信した信号を復調・複合化等の処理により適切な信号に変換する。さらに、無線通信回路24は、受信した信号に基づいて受信信号強度を計測する。
計時回路25は、所定のクロックを発生し、中継機20の基準となる時刻を計時する。電源回路26には、電池27が接続されている。電源回路26は、中継機20の各要素に電力を供給する。
中継機20は、他の通信端末との信号の送受信等の様々な処理を実行できるアクティブ状態と、信号の送受信等の処理が実行できないが、アクティブ状態に比べて消費電力が抑制されたスリープ状態とを切り替え可能に構成されている。中継機20がアクティブ状態からスリープ状態となる際には、CPU21は、アクティブ状態になるべき時刻を計時回路25に設定し、非アクティブ状態となる。スリープ状態においては、計時回路25は、計時を継続する。設定された時刻になると、計時回路25は、CPU21に時刻の到来を通知し、この通知を受けたCPU21は、非アクティブ状態からアクティブ状態となる。こうして、中継機20は、スリープ状態からアクティブ状態となる。
〈センサの構成〉
図4は、センサ30のブロック図である。センサ30は、スチームトラップTの振動数及び温度を検出し、その検出値を対応する中継機20に送信する。センサ30は、対象物の所定の物理量を検出するセンサ部40と、センサ部40の検出値を他の通信端末に送信する処理部50とを有している。
センサ部40は、振動センサ及び温度センサを含んでおり、スチームトラップTの振動数及び温度を検出する。センサ部40は、スチームトラップTのケーシング(例えば、蒸気及びドレンが流入する流入部)に接触するように設置され、接触した部分の振動数及び温度を検出する。センサ部40は、検出した振動数及び温度に対応する電気信号を処理部50に出力する。
処理部50は、CPU51と、メモリ52と、記憶部53と、無線通信回路54と、計時回路55と、センサインターフェース部56と、電源回路57と、電池58とを有している。
記憶部53には、各種プログラム及び各種情報が記憶されている。CPU51は、記憶部53から各種プログラムを読み込み、実行することにより、様々な処理を行う。例えば、記憶部53には、ネットワークの通信経路を形成するためのプログラム、センサ部40から振動数及び温度を取得し、検出値として中継機20に送信するためのプログラム、繋がっている中継機20を特定する中継機接続情報、及び、検出値等が記憶されている。
また、記憶部53には、電池58の残量を推定するためのプログラムも記憶されている。CPU51は、該プログラムを実行することによって、各種処理に応じた消費電力を積算し、電池58の残量を推定する。
無線通信回路54は、他の通信端末と無線通信を行う。無線通信回路54は、CPU51の制御によって動作し、各種信号を符号化・変調等の処理により無線信号に変換し、アンテナを介して送信する。また、無線通信回路54は、アンテナを介して受信した信号を復調・複合化等の処理により適切な信号に変換する。さらに、無線通信回路54は、受信した信号に基づいて受信信号強度を計測する。
計時回路55は、所定のクロックを発生し、センサ30の基準となる時刻を計時する。センサインターフェース部56は、センサ部40との間のインターフェース処理を行う。電源回路57には、電池58が接続されている。電源回路57は、センサ30の各要素に電力を供給する。
センサ30は、中継機20と同様に、他の通信端末との信号の送受信等の様々な処理を実行できるアクティブ状態と、信号の送受信等の処理が実行できないが、アクティブ状態に比べて消費電力が抑制されたスリープ状態とを切り替え可能に構成されている。
〈通信端末の接続関係〉
無線通信システム100では、各通信端末の接続先が定められており、その接続関係に基づいて信号の伝搬が行われる。無線通信システム100は、データステーション10、中継機20及びセンサ30の接続関係として、ツリーテーブル、ルーティングテーブル、センサテーブル、センサ接続情報及び中継機接続情報を保持している。
ツリーテーブルは、無線通信システム100のツリー構造を規定するテーブルであり、各中継機20の上位の通信端末を規定している。ツリーテーブルは、無線通信システム100で1つ作成され、データステーション10及び全ての中継機20は、共通のツリーテーブルを保持している。図5は、図1の無線通信システム100に対応するツリーテーブルである。ツリーテーブルの上欄には、対象となる中継機20が記載され、下欄には、各中継機20が接続される上位側の通信端末(データステーション10又は中継機20)が規定されている。
ルーティングテーブルは、或る通信端末から全ての到達可能な最終送信先の通信端末と或る通信端末から該最終送信先までの通信経路における次の(1ホップ先の)通信端末との対応関係、即ち、最終送信先までの通信経路における或る通信端末から1ホップだけ下位の通信端末を規定している。ルーティングテーブルは、ツリーテーブルに基づいて作成される。データステーション10及び各中継機20がそれぞれに固有のルーティングテーブルを保持している。図6は、図1の無線通信システム100における中継機20aのルーティングテーブルである。ルーティングテーブルの上欄には、対象となる最終送信先が記載され、下欄には、中継機20aを起点とする場合の1ホップ先の中継機20が規定されている。中継機20aからは、中継機20b,20c,20d,20e,20f,20g,20h,20iに到達可能であるので、それらの中継機20までの通信経路上の中継機20aから1ホップだけ下位の中継機20がそれぞれ規定されている。中継機20j,20kは、中継機20aからは到達できないので、中継機20aのルーティングテーブルにおいては、最終送信先を中継機20j,20kとした場合の1ホップ先の中継機20は規定されていない。
センサテーブルは、センサ30と中継機20との接続関係(即ち、各センサ30がどの中継機20に接続されているか)を規定している。センサテーブルは、無線通信システム100で1つ作成され、データステーション10が保持している。図7は、図1の無線通信システム100に対応するセンサテーブルである。センサテーブルの上欄には、対象となるセンサ30が記載され、下欄には、各センサ30が接続される中継機20が規定されている。
センサ接続情報は、中継機20がそれぞれ保持する情報であって、各中継機20に接続されたセンサ30を特定する情報(例えば、センサ30の通信アドレス)である。
中継機接続情報は、センサ30のそれぞれが保持する情報であって、各センサ30が接続される中継機20を特定する情報(例えば、中継機20の通信アドレス)である。
無線通信システム100では、これらの接続関係を用いて信号の伝搬が行われる。
まず、信号がデータステーション10からダウンリンク方向に送信される場合について説明する。例えば、データステーション10がセンサ30gへ信号を送信する場合、データステーション10は、センサテーブルに基づいて、センサ30gが繋がっている中継機20hを割り出す。そして、データステーション10は、自身のルーティングテーブルに基づいて、最終送信先が中継機20hである場合の1ホップ先の中継機20が中継機20aであることを割り出す。データステーション10は、最終送信先に中継機20hを設定し、1ホップ先の送信先に中継機20aを設定した信号を送信する。以下、この信号を受信した各中継機20は、自身のルーティングテーブルに基づいて、1ホップ先の中継機20を変更し、該信号を中継機20hまで伝搬する。具体的には、中継機20aは、中継機20dを1ホップ先の送信先に設定して、該信号を転送する。該信号を受信した中継機20dは、中継機20gを1ホップ先の送信先に設定して、該信号を転送する。該信号を受信した中継機20gは、中継機20hを1ホップ先の送信先に設定して、該信号を転送する。最終送信先である中継機20hは、該信号を受信すると、自身のセンサ接続情報に基づいて、最終送信先及び1ホップ先の送信先の両方をセンサ30gに設定し、該信号を送信する。こうして、該信号は、最終的にセンサ30gによって受信される。
次に、信号がデータステーション10へアップリンク方向に送信される場合について説明する。例えば、センサ30gがデータステーション10へ信号を送信する場合、センサ30gは、自身の中継機接続情報に基づいて、最終送信先及び1ホップ先の送信先の両方を中継機20hに設定した信号を送信する。該信号は、中継機20hによって受信される。中継機20hは、ツリーテーブルに基づいて、1ホップだけ上位の中継機20が中継機20gであることを割り出す。中継機20hは、最終送信先にデータステーション10を設定し、1ホップ先の送信先に中継機20gを設定した信号を送信する。以下、この信号を受信した各中継機20は、ツリーテーブルに基づいて、1ホップ先の中継機20を変更し、該信号をデータステーション10まで伝搬する。具体的には、中継機20gは、1ホップ先の送信先に中継機20dを設定して、該信号を転送する。中継機20dは、1ホップ先の送信先に中継機20aを設定して、該信号を転送する。中継機20aは、1ホップ先の送信先にデータステーション10を設定して、該信号を転送する。こうして、該信号は、最終的にデータステーション10によって受信される。
このようにデータステーション10、中継機20及びセンサ30は、通信端末の接続関係(ツリーテーブル、ルーティングテーブル、ツリーテーブル、センサ接続情報及び中継機接続情報)に基づいて信号を送信する。
〈通信スケジュール〉
このように構成された無線通信システム100は、通常の運転動作として、センサ30の検出値をデータステーション10に収集する収集処理を行う。データステーション10は、図8に示す通信スケジュールに従って各中継機20と通信を行い、各中継機20に対応する、即ち、繋がっているセンサ30の検出値を収集する。
図8の通信スケジュールは、収集処理の1サイクルを示しており、図8の通信スケジュールが繰り返し実行される。通信スケジュールは、複数のタイムスロットに分割されている。各中継機20には、特定のタイムスロットが割り当てられている。各中継機20は、対応するタイムスロットにおいてデータステーション10と通信を行い、該中継機20に繋がったセンサ30からの検出値をデータステーション10に送信する(以下、この処理を「返信処理」ともいう)。基本的には、各中継機20は、割り当てられた特定のタイムスロット(以下、「特定スロット」とも称する)においてアクティブ状態となり、特定スロット以外のときはスリープ状態となる。ただし、他の中継機20とデータステーション10との通信経路上に存在する中継機20は、下位の中継機20がデータステーション10と通信する場合に中継処理を行う必要があるため、下位の中継機20に割り当てられたタイムスロット(以下、「中継スロット」とも称する)においてもアクティブ状態となって中継処理を実行する。また、センサ30は、繋がっている中継機20の特定スロットにおいて該中継機20へ検出値を送信するので、該中継機20の特定スロットにおいてアクティブ状態となっている。センサ30は、中継機20へ検出値を送信する必要がないときには、基本的にはスリープ状態となっている。
図8の通信スケジュールでは、タイムスロットがマトリックス状に規定されている。基本的には、ツリー構造の通信経路の階層に従ってタイムスロットが割り当てられている。詳しくは、列ごとにツリー構造の階層が割り当てられる。例えば、列L0には、データステーション10が割り当てられ、列L1には、第1階層(即ち、ホップ数が1)が割り当てられ、列L2には、第2階層(即ち、ホップ数が2)が割り当てられる。第3階層以降についても同様である。
通常、各中継機20には、何れか1つのタイムスロットが割り当てられる。第1階層の中継機20a,20jには、列L1のタイムスロットが割り当てられる。第2階層の中継機20b,20c,20d,20kには、列L2のタイムスロットが割り当てられる。第3階層の中継機20e,20f,20gには、列L3のタイムスロットが割り当てられる。第4階層の中継機20h,20iには、列L4のタイムスロットが割り当てられる。一方、データステーション10は、中継機20に比べて処理内容が多いので、1つのタイムスロットではなく、複数のタイムスロット(図8では、列L0の全てのタイムスロット)がデータステーション10に割り当てられる。尚、列に含まれるタイムスロットの数と各階層に含まれる中継機20の数は異なる(通常、列に含まれるタイムスロットの数の方が多い)ので、列に含まれるタイムスロットには、中継機が割り当てられていないものも存在する。
また、前述の如く、或る中継機20の特定スロットにおいては、該中継機20に繋がるセンサ30もアクティブ状態となるので、実質的に、各センサ30にも特定のタイムスロットが割り当てられていることになる。ただし、中継機20には複数のセンサ30が繋がり得るので、そのような場合には、該中継機20の特定スロットには、複数のセンサ30が割り当てられていることになる。例えば、図8の例では、列L3、行N1のタイムスロットには中継機20eが割り当てられている。中継機20eには2つのセンサ30が繋がっているので(図1参照)、列L3、行N1のタイムスロットには実質的に該2つのセンサ30が割り当てられていることになる。
通信スケジュールでは、タイムスロットの処理は、列方向に進んでいく。例えば、或る列(例えば、列L1)において、行番号に関して昇順(即ち、行N1からNmの順)にタイムスロットの処理が進んでいき、当該行の最後の行番号(行Nm)のタイムスロットの処理が終了すると、次の列(例えば、列L2)の最初の行番号(行N1)のタイムスロットから同様の順序で処理が進められていく。
〈接続関係の確定及びタイムスロットの割り当て〉
データステーション10は、ネットワークの通信経路を確立する際に、通信端末の接続関係を確定すると共に、タイムスロットの割り当てを行って通信スケジュールを完成させる。
例えば、データステーション10は、どの通信端末同士が繋がるか、即ち、データステーション10、中継機20及びセンサ30の接続関係を確定させ、ツリーテーブル及びセンサテーブルを作成する。さらに、データステーション10は、ツリーテーブルに基づいてルーティングテーブルを作成する。こうして、接続関係が確定されると、データステーション10は、各中継機20にタイムスロットを割り当て、通信スケジュールを完成させる。データステーション10は、ツリーテーブル、センサテーブル、ルーティングテーブル及び通信スケジュール(即ち、中継機20へのタイムスロットの割り当て)を記憶部13に保存する。
データステーション10は、タイムスロットの割り当てが完了すると、各中継機20にツリーテーブル及び特定スロットのスロット番号を通知する。このとき、下位の中継機20の中継処理を行う必要がある中継機20には、それ自身の特定スロットのスロット番号に加えて、下位の中継機20の特定スロット、即ち、中継スロットのスロット番号も通知される。また、データステーション10は、センサテーブルに基づいて、各中継機20にセンサ接続情報を、各センサ30に中継機接続情報を通知する。
各中継機20は、ツリーテーブルに基づいてルーティングテーブルを作成する。また、中継機20は、繋がっているセンサ30に該中継機20の特定スロットのスロット番号を通知する。中継機20は、特定スロット及び中継スロットのスロット番号、ツリーテーブル、ルーティングテーブル及びセンサ接続情報を記憶部23に保存する。
センサ30は、繋がっている中継機20の特定スロットのスロット番号及び中継機接続情報を記憶部53に保存する。
〈システムの動作〉
−収集処理−
収集処理においては、データステーション10は、通信スケジュールに従って処理を進める。具体的には、データステーション10は、それ自身に割り当てられたタイムスロットにおいて、データステーション10に必要な処理を行う。続いて、データステーション10は、タイムスロットの順番で、タイムスロットに割り当てられた中継機20と順次、通信を行う。このとき、データステーション10から各中継機20に送られる信号には、少なくとも、センサ30の検出値の返信を要求するリクエスト信号が含まれている。
一方、中継機20は、通信スケジュールに従って、特定スロットのタイミングでアクティブ状態となって、データステーション10からのリクエスト信号を待機する。また、中継機20は、特定スロットに応じて、該中継機20に繋がっているセンサ30から検出値を取得する。中継機20は、リクエスト信号を受信すると、センサ30からの検出値をリクエスト信号に対する応答としてデータステーション10へ返信する。また、中継機20は、中継スロットでもアクティブ状態となって、データステーション10と下位の中継機20との間の中継処理を行う。
センサ30は、接続される中継機20の特定スロットに応じてアクティブ状態となって検出値を該中継機20に送信する。一の中継機20に複数のセンサ30が接続されている場合には、一の中継機20の特定スロットの少なくとも開始時点において、該複数のセンサ30の全てがアクティブ状態となっている。複数のセンサ30は、順番に、中継機20からリクエスト信号を受け取り、検出値を中継機20へ送信する。複数のセンサ30は、中継機20への検出値の送信が完了した順にスリープ状態となる。
このように、収集処理の基本的な処理においては、データステーション10は、通信スケジュールに従って各特定スロットにおいて該特定スロットに対応するセンサ30の検出値を収集することによって、全てのセンサ30の検出値を収集する。
−接続先の更新−
前述の如く、無線通信システム100では、通信端末の接続関係が定められており、この接続関係に基づいて信号の伝搬が行われる。ところで、中継機20及びセンサ30の間では、動作頻度のバラツキやアクティブ状態となっている時間のバラツキ等があるので、中継機20及びセンサ30の電池寿命にも偏りが生じてしまう。そこで、データステーション10は、中継機20及びセンサ30の接続先を電池寿命が平滑化されるように更新する。以下、中継機20及びセンサ30の接続先の更新処理について詳細に説明する。
まず、中継機20及びセンサ30は、その周囲の通信状態をスキャンするスキャン処理を実行する。図9にスキャン処理のフローチャートを示す。
具体的には、データステーション10は、ステップSa1において、所定のスキャン条件が成立したか否かを判定する。例えば、スキャン条件は、所定のスキャン周期が到来することである。スキャン周期は、例えば、6時間である。
尚、スキャン条件は、それ以外の条件であってもよい。スキャン条件は、パケットエラーレート(PER:Packet Error Rate)が所定の判定レートを上回った場合、又は、受信信号強度が所定の判定強度を下回った場合であってもよい。つまり、前述の収集処理時にはパケットエラーレート及び受信信号強度が計測されている。収集処理においては、データステーション10は、タイムスロットに従って、対応する中継機20から検出値を収集するが、対応する中継機20から検出値が返ってこない場合もある。データステーション10は、(検出値の返信が無かった回数)/(検出値の返信を要求した回数)をPERとして、収集処理中に中継機20ごとのPERを測定している。また、各中継機20は、収集処理時に自身の特定スロットにおいて検出値の返信処理を行う際に、上位の通信端末(中継機20)及び下位の通信端末(センサ30)と信号を送受信する際にその受信信号強度を計測し、その測定結果をセンサ30の検出値と併せてデータステーション10に返信している。こうして、データステーション10は、収集処理中に、センサ30の検出値だけでなく、各中継機20の、上位及び下位の通信端末との間の受信信号強度も収集している。データステーション10は、こうして収集されたPERが判定レートを上回った場合又は、受信信号強度が判定強度を下回った場合に、スキャン条件が成立したと判定してもよい。
スキャン条件が成立していない場合には、データステーション10は、ステップSa1を繰り返して、スキャン条件の成立を待機する。スキャン条件が成立している場合には、データステーション10は、ステップSa2へ進む。
ステップSa2では、データステーション10は、全ての中継機20及びセンサ30にスキャン信号を送信する。データステーション10は、収集処理と並行してスキャン信号を送信する。具体的には、データステーション10は、各タイムスロットにおいて対応する中継機20に検出値のリクエスト信号と共にスキャン信号も送信する。
尚、スキャン条件がPER又は受信信号強度に関するものである場合には、PER又は受信信号強度が悪化した中継機20又はセンサ30だけにスキャン信号を送信してもよい。
スキャン信号を受信した中継機20及びセンサ30は、スキャン動作を実行する。詳しくは、中継機20は、特定スロットだけでなく、それ以外のタイムスロットにおいてもアクティブ状態となり、他の通信端末からの信号を待機する。通常、中継機20が特定スロットにおいて行う処理に同期信号の送信がある。中継機20は、特定スロットにおいて同期信号をブロードキャストし、該同期信号を受信した他の中継機20又はセンサ30と同期を行う。スキャン動作を行う中継機20は、自身の特定スロット以外のタイムスロットにおいて、他の通信端末(データステーション10及び中継機20)からの同期信号を待機する。中継機20は、同期信号を受信できた場合には、その受信信号強度を計測する。中継機20は、この処理を通信スケジュールの1サイクルの間行うことによって、特定スロット以外の全てのタイムスロットにおける同期信号の受信の可否(即ち、通信の可否)と受信信号強度とを取得する。中継機20は、タイムスロットのスロット番号と、同期信号の受信の可否と、同期信号の受信信号強度とを関連づけたデータをスキャンデータとして記憶部23に保存する。
さらに詳しくは、各中継機20が同期信号を送信するタイミングは、各特定スロット内で決まっている。つまり、中継機20は、特定スロットにおける所定のタイミング(例えば、特定スロットの終盤)で同期信号を送信する。そこで、スキャン動作を行う中継機20は、自身の特定スロット以外のタイムスロットにおいて、同期信号が送信されるタイミングを含む一部の期間だけアクティブ状態となって同期信号を待機し、該一部の期間以外はスリープ状態となる。これにより、スキャン動作における消費電力を低減することができる。
センサ30も、中継機20と同様のスキャン動作を行う。センサ30は、繋がっている中継機20の特定スロット以外のタイムスロットにおいて、同期信号が送信されるタイミングを含む一部の期間だけアクティブ状態となり、同期信号を待機する。センサ30は、同期信号を受信できた場合には、その受信信号強度を計測する。タイムスロットにおける該一部の期間以外は、センサ30は、スリープ状態となる。センサ30は、この処理を通信スケジュールの1サイクルの間行う。センサ30は、繋がっている中継機20の特定スロットにおいても同期信号の受信の可否を判定し且つ同期信号の受信信号強度を計測する。こうして、センサ30は、全てのタイムスロットにおける同期信号の受信の可否と受信信号強度とを取得する。センサ30は、タイムスロットのスロット番号と、同期信号の受信の可否と、同期信号の受信信号強度とを関連づけたデータをスキャンデータとして記憶部53に保存する。
続いて、データステーション10は、ステップSa3において、中継機20及びセンサ30にスキャンデータの返信信号を送信する。データステーション10は、ステップSa2でスキャン信号を送信してから通信スケジュールの1サイクルが経過した後に、全ての中継機20及びセンサ30へ返信信号をタイムスロットに従って順次送信する。尚、データステーション10は、ステップSa2において特定の中継機20又はセンサ30だけにスキャン信号を送信していた場合には、スキャン信号を送信した中継機20又はセンサ30だけに返信信号を送信する。
返信信号を受信した中継機20及びセンサ30は、例えば、スキャンデータのうち受信信号強度が高い上位5個のタイムスロットに関するスキャンデータをデータステーション10へ返信する。尚、中継機20及びセンサ30は、全てのスキャンデータをデータステーション10へ返信してもよい。データステーション10は、スキャンデータを受信すると、スキャンデータを記憶部13に保存する。
スキャンデータを受け取ったデータステーション10は、スキャンデータを記憶部13に保存する(ステップSa4)。
データステーション10は、以上の処理を繰り返すことによって、中継機20及びセンサ30のスキャンデータを蓄積していく。
続いて、データステーション10は、中継機20又はセンサ30の接続先を更新する更新処理を実行する。図10に更新処理のフローチャートを示す。
具体的には、データステーション10は、ステップSb1において、所定の更新条件が成立したか否かを判定する。例えば、更新条件は、所定の更新周期が到来することである。更新周期は、例えば、1日であり、スキャン周期以上の長さである。
尚、更新条件は、それ以外の条件であってもよい。更新条件は、何れかの中継機20及びセンサ30の電池残量が所定の判定残量を下回ることであってもよい。つまり、前述の収集処理時には、中継機20及びセンサ30において、電池残量が推定されている。収集処理時に、各中継機20は、センサ30から電池残量を受け取り、中継機20自身の電池残量及びセンサ30の電池残量を、センサ30の検出値と併せてデータステーション10に返信している。こうして、データステーション10は、収集処理中に、センサ30の検出値だけでなく、各中継機20及びセンサ30の電池残量も収集している。データステーション10は、複数の中継機20及びセンサ30の少なくとも1つの電池残量が判定残量を下回った場合に、更新条件が成立したと判定する。あるいは、更新条件は、全ての中継機20の間での電池残量のバラツキ(例えば、最大値と最小値の差、分散若しくは標準偏差)、又は、全てのセンサ30の間での電池残量のバラツキ(例えば、最大値と最小値との差、分散若しくは標準偏差)が所定の判定閾値を上回ることであってもよい。データステーション10は、収集処理中に収集した各中継機20及びセンサ30の電池残量に基づいて、中継機20の間での電池残量のバラツキ又はセンサ30の間での電池残量のバラツキを求め、求めたバラツキが判定閾値を上回った場合に、更新条件が成立したと判定する。
更新条件が成立していない場合には、データステーション10は、ステップSb1を繰り返して、更新条件の成立を待機する。更新条件が成立している場合には、データステーション10は、ステップSb2へ進む。
ステップSb2では、データステーション10は、中継機20及びセンサ30の電池残量を考慮して、中継機20及びセンサ30の新たな接続先を決定する。ここで、「新たな接続先」とは、上位側の新たな接続先を意味し、即ち、互いに接続される或る2つの通信端末において上位側となる通信端末を意味する。
図11は、接続先の決定のサブルーチンのフローチャートである。データステーション10は、まず、センサ30の接続先を決定し、続いて、中継機20の接続先を決定する。
データステーション10は、ステップSc1においては、所定の基準よりも電池残量が少ないセンサ30を抽出する。具体的には、データステーション10は、全てのセンサ30の中から電池残量が少ない下位から所定割合(例えば、10%)のセンサ30を接続先を更新する対象のセンサ30として抽出する。データステーション10は、記憶部13に保存されたセンサ30の最新の電池残量に基づいて、更新対象のセンサ30を抽出する。
尚、ここでは、「電池残量が少ない下位から所定割合」が所定の基準として設定されている。ただし、所定の基準は、任意に設定することができ、固定値であっても、変動値であってもよい。例えば、変動値の所定の基準としては、全センサ30の電池残量の平均値に所定割合(例えば、70%)を乗じた値であってもよい。つまり、平均値の70%未満の電池残量のセンサ30が抽出される。
そして、ステップSc2において、データステーション10は、抽出されたセンサ30のそれぞれについて新たな接続先となる候補の中継機20を抽出する。例えば、データステーション10は、各センサ30との通信状態に基づいて、候補の中継機20を抽出する。データステーション10は、スキャンデータに基づいて通信状態を判定し得る。スキャンデータは、前述の如く、スロット番号と、同期信号の受信の可否と、同期信号の受信信号強度とを関連づけた、中継機20ごと、及び、センサ30ごとのデータであるので、スキャンデータからは、或るセンサ30の周囲に存在する、通信可能な中継機20がどれで、その受信信号強度がどのくらいかがわかる。
詳しくは、データステーション10は、記憶部13に保存しているスキャンデータのうち過去1週間分のスキャンデータに基づいて、各センサ30について候補の中継機20を抽出する。尚、参照するスキャンデータは、過去1週間分に限られず、任意に設定することができる。データステーション10は、各センサ30に関し、その周囲の各中継機20との間のスキャン時のPER、及び、その周囲の各中継機20との間の受信信号強度の平均値をスキャンデータから求める。スキャン時のPERとは、各センサ30とその周囲の各中継機20との間での、スキャン処理時のPERであって、(同期信号を受信できなかった回数)/(スキャンの回数)である。受信信号強度の平均値は、各センサ30とその周囲の各中継機20との間で同期信号を受信できた場合の受信信号強度の平均値である。
データステーション10は、求めたスキャン時のPER及び受信信号強度の平均値に基づいて候補の中継機20を抽出する。具体的には、データステーション10は、スキャン時のPERが所定の判定レート以上であり且つスキャン時の受信信号強度の平均値が所定の判定強度以上の中継機20を候補の中継機20として抽出する。ここでの「判定レート」及び「判定強度」は、高品質の通信を実現できるレベルではなく、通信端末間での通信を維持できる程度のレベルであってもよい。こうして抽出される候補の中継機20の個数は、対象の通信端末によっては、1つかもしれないし、複数個かもしれない。尚、データステーション10は、スキャン時のPER及び受信信号強度に基づく通信状態が上位の所定個数(例えば、3個)の中継機20を候補の中継機20として抽出してもよい。
ステップSc3において、データステーション10は、各センサ30について候補の中継機20の中から新たな接続先となる中継機20を決定する。データステーション10は、センサ30の電池残量に基づいて、より詳しくは、センサ30の今後の電池残量が節約されるように、新たな接続先となる中継機20を決定する。具体的には、データステーション10は、候補の中継機20の中から、直接的に(1ホップで)接続されたセンサ30の総数(以下、「センサ接続数」という)が最も少ない中継機20を新たな接続先に決定する。このとき、更新対象のセンサ30は、どの中継機20にも接続されていないものとして、センサ接続数がカウントされる。
これにより、電池残量が少ないセンサ30は、センサ接続数がより少ない中継機20に接続されることになる。前述の如く、センサ30は、接続される中継機20の特定スロットにおいてアクティブ状態となり、該中継機20への検出値の送信が完了するとスリープ状態となるので、中継機20のセンサ接続数が多くなればなるほど、センサ30のアクティブ状態での待機時間が長くなり、ひいては、センサ30の消費電力が多くなる。センサ30が、センサ接続数のより少ない中継機20に接続されることによって、即ち、中継機20のセンサ接続数を低減することによって、センサ30の消費電力を低減することができる。その結果、当該センサ30の電池残量の減少量が小さくなるので、センサ30全体での電池残量が平滑化される。
新たな接続先がセンサ接続数で決まらない場合、即ち、センサ接続数が最も少ない中継機20が複数ある場合には、中継機20の電池残量に基づいて新たな接続先が決定される。これにより、中継機20の電池残量が平滑化される。つまり、センサ接続数が増えるほど、中継機20の消費電力は増加する。電池残量が多い中継機20は、センサ接続数が増えることにより消費電力が増加するのに対し、センサ30の元の接続先であった中継機20は、センサ接続数が減るので消費電力が減少する。その結果、複数の中継機20の間で電池残量が平滑化される。
新たな接続先がセンサ接続数及び電池残量でも決まらない場合には、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数に基づいて新たな接続先が決定される。これらスキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数は、通信状態を示す指標であり、PERが小さいほど、受信信号強度の平均値が大きいほど、ホップ数が小さいほど通信が安定している。つまり、センサ30の電池残量及び中継機20の電池残量に基づいても候補の中継機20の優劣を付けることができない場合には、通信状態に基づいて新たな接続先が決定される。
このように、センサ30の新たな接続先は、センサ接続数、電池残量、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定される。
センサ30の新たな接続先が決定されると、続いて、データステーション10は、中継機20の新たな接続先を決定する。中継機20については、全ての中継機20の新たな接続先を決定する。ステップSc4において、中継機20のそれぞれについて新たな接続先となる候補の中継機20を抽出する。候補の中継機20の抽出は、センサ30についての候補の中継機20の抽出と同様である。つまり、データステーション10は、スキャンデータから求められたスキャン時のPER及び受信信号強度の平均値に基づいて候補の中継機20を抽出する。
そして、ステップSc5において、データステーション10は、各中継機20について候補の中継機20の中から新たな接続先となる中継機20を決定する。具体的には、データステーション10は、候補の中継機20の中から、電池残量が最も多い中継機20を新たな接続先に決定する。中継機20は、下位に直接的又は間接的に接続される中継機20が増加すると、中継処理が増加するため、消費電力が大きくなる。候補の中継機20の中から電池残量が最も多い中継機20を新たな接続先とすることによって、電池残量が多い中継機20の消費電力が増加する一方、中継機20の元の接続先であった中継機20の消費電力が低下する。その結果、複数の中継機20の間で電池残量が平滑化される。
新たな接続先が電池残量で決まらない場合には、下位に包含する通信端末(中継機20及びセンサ30)の総数(以下、「端末接続数」という)に基づいて新たな接続先が決定される。ここで、下位に包含する通信端末とは、一の中継機20の下位側に直接的(1ホップで)又は間接的(複数ホップで)に接続された中継機20及びセンサ30を意味する。これにより、複数の中継機20の間で電池残量が平滑化される。つまり、端末接続数が増加すると、前述の如く、中継処理やセンサ30との信号の送受信が増加するので、中継機20の消費電力が大きくなる。候補の中継機20の中から端末接続数が最も少ない中継機20を新たな接続先とすることによって、複数の中継機20の間で消費電力が平滑化され、ひいては、電池残量が平滑化される。
新たな接続先が電池残量及び端末接続数でも決まらない場合には、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数に基づいて新たな接続先が決定される。これらスキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数は、通信状態を示す指標であり、PERが小さいほど、受信信号強度の平均値が大きいほど、ホップ数が小さいほど通信が安定する。つまり、中継機20の電池残量に基づいても候補の中継機20の優劣を付けることができない場合には、通信状態に基づいて新たな接続先が決定される。
このように、中継機20の新たな接続先は、電池残量、端末接続数、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定される。
データステーション10は、中継機20の新たな接続先の決定を、下位の中継機20から順に、即ち、ホップ数が多い中継機20から順に全ての中継機20に対して行う。前述の如く、新たな接続先を決定する際に考慮する事項の1つに下位の端末接続数が含まれているので、下位の中継機20から順に新たな接続先を決定していくことによって、下位の端末接続数を正確に評価することができる。
データステーション10は、中継機20及びセンサ30の新たな接続先の決定が完了すると、図9の更新処理のフローチャートのステップSb3に戻る。データステーション10は、ステップSb3において、新たな接続先を中継機20及びセンサ30に通知する。具体的には、データステーション10は、新たな接続先に基づいてツリーテーブル及びセンサテーブルを更新し、更新したツリーテーブルを全ての中継機20に通知する。
センサ30の接続先が更新された場合には、データステーション10は、新たなセンサ30が接続された中継機20に、センサ接続情報、即ち、接続されたセンサ30を特定する情報を通知すると共に、接続先が変更されたセンサ30に中継機接続情報、即ち、繋がる中継機20を特定する情報及び該中継機20のスロット番号を通知する。さらに、データステーション10は、ツリーテーブルに基づいてルーティングテーブルを更新する。
更新されたツリーテーブルを受信した中継機20は、ツリーテーブルを記憶部23に保存すると共に、ツリーテーブルに基づいてルーティングテーブルを更新する。 また、新たなセンサ接続情報を受信した中継機20は、センサ接続情報を更新する。該中継機20は、以降の処理(例えば、収集処理)では新たに接続されたセンサ30に対して処理を実行する。
新たな中継機接続情報及び新たなスロット番号を受信したセンサ30は、中継機接続情報及びスロット番号を更新する。該センサ30は、新たな中継機20の特定スロットに応じてアクティブ状態となり、検出値を該中継機20に送信する。
こうして、通信端末の接続先の更新が完了する。
以下、図1を用いて中継機20及びセンサ30の接続先の更新の具体例を説明する。
まず、データステーション10は、センサ30の接続先を更新する。データステーション10は、全てのセンサ30の中から電池残量が下位から所定割合のセンサ30を抽出する。例えば、抽出されたセンサ30の1つがセンサ30iであるとする。センサ30iは、スキャン処理において、その周囲の中継機20g,20h,20iからの同期信号を受信できたとすると、センサ30iについては、中継機20g,20h,20iのそれぞれとの間でのスキャンデータが取得される。
データステーション10は、センサ30iと中継機20gとの間のスキャン時のPER、センサ30iと中継機20hとの間のスキャン時のPER、及び、センサ30iと中継機20iとの間のスキャン時のPERを求める。センサ30iがスキャン処理のたびに同期信号を受信できるか、スキャン処理の際に同期信号を受信できない場合があるかは、センサ30iと中継機20g,20h,20iのそれぞれとの間の通信環境に依存する。そのため、各中継機20との間のスキャン時のPERは、それぞれ異なり得る。
さらに、データステーション10は、センサ30iと中継機20gとの間の受信信号強度の平均値、センサ30iと中継機20hとの間の受信信号強度の平均値、及び、センサ30iと中継機20iとの間の受信信号強度の平均値を求める。各中継機20との間の受信信号強度は、センサ30iと中継機20g,20h,20iのそれぞれとの間の通信環境に依存する。
データステーション10は、中継機20g,20h,20iの中からセンサ30iについての候補の中継機20を抽出する。ここでは、中継機20h,20iのスキャン時のPERが所定の判定レート以上であり且つ、中継機20h,20iのスキャン時の受信信号強度の平均値が所定の判定強度以上であるものとする。そうすると、中継機20h,20iが候補の中継機20として抽出される。
続いて、データステーション10は、候補の中継機20の中からセンサ接続数が最も少ない中継機20を新たな接続先に決定する。この例では、中継機20hのセンサ接続数が2であり、中継機20iのセンサ接続数が1であるので、中継機20iが新たな接続先として決定される(図1に破線で示す)。
尚、中継機20hのセンサ接続数と中継機20iのセンサ接続数が同じ場合には、中継機20h,20iの電池残量、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数がこの優先順で考慮され、新たな接続先が決定される。
データステーション10は、このような新たな接続先の決定を抽出された全てのセンサ30のそれぞれについて実行する。
続いて、データステーション10は、中継機20の接続先を更新する。ここでは、中継機20iを例に説明する。中継機20iは、スキャン処理において、その周囲の中継機20d,20g,20h,20kからの同期信号を受信できたとすると、中継機20iについては、中継機20d,20g,20h,20kのそれぞれとの間でのスキャンデータが取得される。
データステーション10は、中継機20iと中継機20dとの間のスキャン時のPER、中継機20iと中継機20gとの間のスキャン時のPER、中継機20iと中継機20hとの間のスキャン時のPER、及び、中継機20iと中継機20kとの間のスキャン時のPERを求める。中継機20iがスキャン処理のたびに同期信号を受信できるか、スキャン処理の際に同期信号を受信できない場合があるかは、中継機20iと中継機20d,20g,20h,20kのそれぞれとの間の通信環境に依存する。そのため、各中継機20との間のスキャン時のPERは、それぞれ異なり得る。
さらに、データステーション10は、中継機20iと中継機20dとの間の受信信号強度の平均値、中継機20iと中継機20gとの間の受信信号強度の平均値、中継機20iと中継機20hとの間の受信信号強度の平均値、及び、中継機20iと中継機20kとの間の受信信号強度の平均値を求める。各中継機20との間の受信信号強度は、中継機20iと中継機20d,20g,20h,20kのそれぞれとの間の通信環境に依存する。
データステーション10は、中継機20d,20g,20h,20kの中から中継機20iについての候補の中継機20を抽出する。ここでは、中継機20g,20h,20kのスキャン時のPERが所定の判定レート以上であり且つ、中継機20g,20h,20kのスキャン時の受信信号強度の平均値が所定の判定強度以上であるものとする。そうすると、中継機20g,20h,20kが候補の中継機20として抽出される。
続いて、データステーション10は、候補の中継機20の中から電池残量が最も多い中継機20を新たな接続先に決定する。この例では、中継機20kの電池残量が最も多いとすると、中継機20kが新たな接続先として決定される(図1に破線で示す)。
尚、電池残量では中継機20g,20h,20kの優劣が決まらない場合には、端末接続数、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数がこの優先順で考慮され、新たな接続先が決定される。例えば、中継機20h,20kの電池残量が同じで且つ中継機20gの電池残量よりも多い場合には、中継機20h,20kのうち端末接続数が多い方が新たな接続先となる。中継機20hの端末接続数は2であり(先のセンサ30の接続先の更新により、中継機20hの端末接続数は3から2に変更されている)、中継機20kの端末接続数は2であるので、両者の端末接続数は同じである。この場合、中継機20h,20kのうち、スキャン時のPERが小さい方、スキャン時の受信信号強度の平均値が大きい方、及び、ホップ数が少ない方が順に評価され、新たな接続先が決定される。
データステーション10は、このような新たな接続先の決定を全ての中継機20のそれぞれについて実行する。
データステーション10は、中継機20及びセンサ30の新たな接続先の決定が完了すると、新たな接続先を中継機20及びセンサ30に通知する。
まず、データステーション10は、ツリーテーブル、ルーティングテーブル及びセンサテーブルを更新する。図12に更新後のツリーテーブルを、図13に更新後のセンサテーブルを示す。図12,13では、更新された情報に下線が付されている。図12では、中継機20iの接続先が中継機20kに更新されている。図13では、センサ30iの接続先が中継機20iに更新されている。
データステーション10は、更新したツリーテーブルを全ての中継機20に通知すると共に、接続されるセンサ30が変更になった中継機20h,20iに新たなセンサ接続情報を通知する。つまり、中継機20hには、センサ30g,30hの通信アドレスが通知され、中継機20iには、センサ30i,30jの通信アドレスが通知される。さらに、データステーション10は、接続先が変更されたセンサ30iに中継機接続情報(中継機20kの通信アドレス)及び中継機20kのスロット番号を通知する。
更新されたツリーテーブルを受信した中継機20は、ツリーテーブルを記憶部23に保存すると共に、ツリーテーブルに基づいてルーティングテーブルを更新する。図14に、中継機20aの更新後のルーティングテーブルを示す。図14では、更新された情報に下線が付されている。更新後は中継機20aから中継機20iへは信号が到達しないので、最終送信先が中継機20iの場合の1ホップ先の送信先が空白となっている。一方、図示は省略するが、中継機20jのルーティングテーブルにおいては、最終送信先が中継機20iの場合の1ホップ先の送信先に中継機20kが新たに規定されている。
このように、データステーション10は、電池残量の少ないセンサ30の消費電力が低減されるように、且つ、中継機20の電池残量が平滑化されるように中継機20及びセンサ30の接続先を更新する。これにより、無線通信システム100全体の電池寿命の偏りを低減することができる。
以上のように、無線通信システム100は、無線通信により互いに接続されるデータステーション10、中継機20及びセンサ30(複数の通信端末)を備え、データステーション10、中継機20及びセンサ30の間では、信号を送受信する互いの接続先が規定されており、中継機20及びセンサ30(複数の通信端末の少なくとも一部)は、電池駆動されており、データステーション10、中継機20及びセンサ30は、接続先を更新する更新処理を行うように構成され、更新処理においては、中継機20及びセンサ30の電池残量に基づいて新たな接続先が決定される。
この構成によれば、中継機20及びセンサ30の接続先を更新する際に中継機20又はセンサ30の電池残量が考慮されるので、中継機20の間での電池残量の偏り、及び、センサ30の間での電池残量の偏りが低減するように中継機20及びセンサ30の接続先を更新することができる。その結果、無線通信システム100全体での電池寿命の偏りを低減することができる。
また、複数の通信端末は、データステーション10(親機)と、データステーション10を最上位として接続されてツリー型のネットワークを構成する複数の中継機20(子機)とを含み、複数の中継機20は、電池駆動されており、更新処理では、新たな接続先となる候補の中継機20の中から、候補の中継機20の電池残量が平滑化されるように新たな接続先が決定される。
この構成によれば、中継機20の間での電池残量が平滑化されるように、新たな接続先が決定される。その結果、中継機20の間での電池寿命を平滑化することができる。
さらに、更新処理では、候補の中継機20のうち電池残量が多い中継機20が新たな接続先に決定される。
この構成によれば、候補の中継機20のうち電池残量が多い中継機20に接続される中継機20が増加する。そのため、電池残量が多い中継機20の消費電力が増加するので、中継機20の間での電池残量のバラツキが低減されていく。その結果、中継機20の間での電池寿命を平滑化することができる。
また、更新処理では、候補の中継機20のうち、端末接続数(下位に包含する子機の総数)が少ない中継機20が新たな接続先に決定される。
この構成によれば、中継機20の間で端末接続数が平滑化される。端末接続数が多いと、中継機20の処理が増えるので消費電力も増加する。つまり、中継機20の間で端末接続数が平滑化されると、消費電力も平滑化され、ひいては、電池寿命を平滑化することができる。
また、複数の通信端末は、データステーション10と、データステーション10を最上位として接続されてツリー型のネットワークを構成する複数の中継機20と、中継機20に接続されて所定の物理量を検出するセンサ30とを含み、中継機20及びセンサ30は、電池駆動されており、一の中継機20に複数のセンサ30が接続される場合には、複数のセンサ30は、中継機20と順番に信号の送受信を行い、信号の送受信が完了するとスリープ状態となるように構成され、更新処理では、センサ30の接続先を更新することによって、電池残量が所定の基準よりも少ないセンサ30が接続される中継機20のセンサ接続数(接続されるセンサ30の総数)が更新前よりも低減される。
この構成によれば、電池残量が少ないセンサ30は、中継機20との信号の送受信を早期に完了させ、スリープ状態となることができる。つまり、一の中継機20に複数のセンサ30が接続されている場合には、該中継機20との信号の送受信はセンサ30ごとに順番に行われるので、センサ接続数が多い場合には中継機20との信号の送受信を行うまでの待機時間も長くなってしまう。それに対し、センサ接続数が少ない場合には、中継機20との信号の送受信を行うまでの待機時間が短く、信号の送受信を早期に完了させ、スリープ状態になることができる。ひいては、電池残量が少ないセンサ30の消費電力を低減することができる。その結果、センサ30の間での電池寿命を平滑化することができる。
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
前記実施形態について、以下のような構成としてもよい。
例えば、無線通信システム100は、蒸気システム以外に適用してもよい。また、センサ30は、スチームトラップTの振動数及び温度を検出しているが、これ以外の物理量(例えば、電力等)を検出してもよい。
また、無線通信システム100は、センサ30を含んでいなくてもよい。つまり、中継機20は、センサ30の検出値以外のデータをデータステーション10へ送信するものであってもよい。さらに、無線通信システム100は、データステーション10を含んでいなくてもよい。すなわち、無線通信システム100は、少なくとも複数の中継機20を含んでいればよい。
データステーション10は、通信スケジュールに従って中継機20と通信を行い、中継機20にセンサ30の検出値を返信するように要求しているが、これに限られるものではない。例えば、データステーション10は、センサ30のそれぞれを最終送信先として通信を行い、センサ30に指令を直接送信する構成であってもよい。
データステーション10と中継機20とは、通信スケジュールに従って通信を行わなくてもよい。
また、通信スケジュールは、タイムスロットがマトリックス状に規定されていなくてもよい。中継機20へのタイムスロットの割り当ては、ネットワークの階層ごとでなくてもよい。また、1つの中継機20に1つの特定スロットが割り当てられているが、1つの中継機20に2以上の特定スロットが割り当てられていてもよい。
前記実施形態では、中継機20及びセンサ30の他の通信端末との通信状態、並びに、中継機20及びセンサ30の電池残量をデータステーション10が収集し、データステーション10がそれらに基づいて中継機20及びセンサ30の接続先を更新する。しかしながら、中継機20及びセンサ30のそれぞれが、他の通信端末との通信状態及び他の通信端末の電池残量も収集し、それらに基づいて接続先を更新してもよい。
また、中継機20及びセンサ30は、データステーション10からの指令ではなく、自発的にスキャン処理を実行してもよい。特に、定期的にスキャン処理を実行する場合には、中継機20及びセンサ30自身がスキャン処理を実行する周期を計時し、スキャン処理を実行し、スキャンデータをデータステーション10へ送信してもよい。あるいは、上位又は下位の通信端末との受信信号強度に基づいてスキャン処理を実行するか否かが判定される場合にも、中継機20及びセンサ30自身がスキャン処理を実行するか否かを判定し、自発的にスキャン処理を実行してもよい。
また、中継機20及びセンサ30は、通信状態として、通信の可否及び受信信号強度以外のものを取得してもよい。その場合、データステーション10は、通信の可否及び受信信号強度以外の通信状態を表す指標に基づいて、候補の中継機20を抽出したり、新たな接続先を決定したりしてもよい。
また、中継機20及びセンサ30は、他の通信端末(データステーション10、中継機20及びセンサ30)が送信する同期信号に基づいて、通信の可否及び受信信号強度を取得しているが、同期信号以外の信号に基づいて通信の可否受信信号強度を取得してもよい。
スキャン処理は、更新処理と独立してではなく、更新処理の一環として行われてもよい。つまり、更新条件が成立した場合に、データステーション10は、スキャン処理を1回又は複数回行ってもよい。そして、データステーション10は、そのスキャンデータから新たな接続先の候補を抽出するようにしてもよい。ただし、スキャン処理を更新処理とは別に実行しておくことによって、或る程度の期間にわたる複数回のスキャンデータに基づいて通信端末間の通信状態を判定することができる。
また、接続先を更新するセンサ30は、全てのセンサ30の中から電池残量が少ない下位から所定割合のセンサ30に限られない。例えば、更新条件がセンサ30の間での電池残量のバラツキが判定閾値を上回ることである場合には、電池残量が少なく且つバラツキが大きいセンサ30の接続先のみを更新してもよい。
同様に、全ての中継機20の接続先を更新しなくてもよい。例えば、更新条件が中継機20の間での電池残量のバラツキが判定閾値を上回ることである場合には、電池残量が少なく且つバラツキが大きい中継機20の接続先のみを更新してもよい。
さらに、中継機20及びセンサ30の両方の接続先を更新しなくてもよい。例えば、センサ30の接続先のみを更新してもよい。あるいは、中継機20の接続先のみを更新してもよい。
中継機20及びセンサ30の新たな接続先となる候補の中継機20は、スキャン時にPER及び受信信号強度の平均値の両方に基づいて抽出されているが、これに限られるものではない。例えば、候補の中継機20は、スキャン時のPERだけに基づいて抽出されてもよい。
中継機20の新たな接続先は、電池残量、端末接続数、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定されるが、これに限られるものではない。中継機20の新たな接続先は、少なくとも中継機20の現在又は将来の電池残量を考慮する限り、任意の指標に基づいて決定され得る。その際には、最優先で考慮される指標が電池残量でなくてもよい。例えば、中継機20の新たな接続先は、電池残量、端末接続数、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数のそれぞれに重み付けをして、それらを総合的に考慮して決定されてもよい。
センサ30の新たな接続先は、センサ接続数、電池残量、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数の優先順で決定されるが、これに限られるものではない。センサ30の新たな接続先は、少なくともセンサ30の現在又は将来の電池残量を考慮する限り、任意の指標に基づいて決定され得る。その際には、最優先で考慮される指標が電池残量でなくてもよい。例えば、センサ30の新たな接続先は、センサ接続数、電池残量、スキャン時のPER、スキャン時の受信信号強度の平均値、及び、ホップ数のそれぞれに重み付けをして、それらを総合的に考慮して決定されてもよい。
また、データステーション10は、更新対象のセンサ30の新たな接続先を1つずつ順番に確定させるが、これに限られるものではない。データステーション10は、更新対象の全てのセンサ30の候補の中継機20を抽出した後、更新対象の各センサ30の接続先が変更された後の影響も考慮しながら、更新対象の全てのセンサ30の接続先を総合的に判断してもよい。
また、データステーション10は、電池残量が少ないセンサ30が接続される中継機20の中での該センサ30の処理順序を変更してもよい。つまり、センサ30は、中継機20との信号の送受信が完了した順にスリープ状態となるので、電池残量が少ないセンサ30の処理順序を早くしてもよい。これにより、電池残量が少ないセンサ30は、より早くスリープ状態となり、消費電力をさらに抑制することができる。この処理順序の変更は、センサ30の接続先を更新と併せて行ってもよいし、センサ30の接続先を更新することなく処理順序の変更だけを行ってもよい。
また、データステーション10は、電池残量が少ないセンサ30を抽出した後、電池残量が少ないセンサ30の接続先を更新しているが、これに限られるものではない。データステーション10は、電池残量が少ないセンサ30以外のセンサ30の接続先を更新してもよい。つまり、電池残量が少ないセンサ30が接続された中継機20に接続された、該電池残量が少ないセンサ30以外のセンサ30の接続先を別の中継機20に変更することによって、電池残量が少ないセンサ30が接続された中継機20のセンサ接続数を低減することができ、ひいては、電池残量が少ないセンサ30の消費電力を低減することができる。要するに、電池残量が少ないセンサ30が接続された中継機20のセンサ接続数を低減することができれば、電池残量が少ないセンサ30の接続先を変更しても、それ以外のセンサ30の接続先を変更してもよい。
中継機20及びセンサ30の接続先を、ツリーテーブル、ルーティングテーブル、センサテーブル、センサ接続情報及び中継機接続情報として規定されている。しかし、接続先は、これらとは異なる形で規定されていてもよい。例えば、無線通信システム100は、ダウンリンク方向のルートを規定したルーティングテーブルを保持しているが、アップリンク方向のルートを規定したルーティングテーブルを中継機20及びセンサ30の接続先として保持していてもよい。また、前述のツリーテーブル、ルーティングテーブル、センサテーブルの形式も一例に過ぎず、異なる形式であってもよい。
前述のフローチャートは、一例に過ぎず、前述のステップを省略したり、別のステップを追加したりしてもよい。