(58)【調査した分野】(Int.Cl.,DB名)
前記第1子機及び前記第2子機の中継数が最も少ない経路が複数得られ、かつ、当該複数の経路についての前記第1信号強度の二乗和によって表される第2信号強度が等しい複数の経路が得られた場合には、前記経路設定部は、前記第1子機及び前記第2子機の中継数が最も少ない経路のうち、最も応答が早い第1子機を含む経路を前記通信経路として設定する、請求項4記載の通信機。
【発明を実施するための形態】
【0010】
以下、本発明の通信機を適用した実施の形態について説明する。
【0011】
<実施の形態>
図1は、実施の形態の通信機を配置した例示的な状態を示す図である。
【0012】
以下では、親機と子機に分けて説明を行う。実施の形態の通信機は、子機として用いるものである。親機はコーディネータであるため、アルファベットのCを用いて示す。また、子機はエンドデバイスであるため、アルファベットのDを用いて示す。
図1では、1つの親機C1と、6つの子機D1〜D6が存在している。
【0013】
ただし、ここでは、親機C1と子機D1、D2、D4、D5、D6とが存在する場合に、新たに子機D3を追加し、子機D3と親機C1との間の通信経路をどのように設定するかについて説明する。
【0014】
また、以下では、親機と子機との間、又は、子機同士の間で通信可能な区間(以下、通信区間と称す)が確立される場合に、親機と子機、又は、子機同士の間の通信区間を実線で示す。また、実線に付す数字は、各通信区間における信号強度をRSSI(Received Signal Strength Indicator)値(dBm)で表す。RSSI値は受信信号の強度を表すため、各通信区間における強度は通信区間における受信側の信号強度で表される。
【0015】
図1では、親機C1と子機D1との間の通信区間の信号強度は−40dBm、親機C1と子機D4との間の通信区間の信号強度は−90dBm、親機C1と子機D6との間の通信区間の信号強度は−70dBmである。これら以外に、親機C1を含む通信区間は存在しない。
【0016】
また、子機D1とD2との間の通信区間の信号強度は−40dBm、子機D1とD3との間の通信区間の信号強度は−80dBm、子機D2とD3との間の通信区間の信号強度は−40dBm、子機D3とD4との間の通信区間の信号強度は−30dBm、子機D3とD5との間の通信区間の信号強度は−20dBm、子機D5とD6との間の通信区間の信号強度は−70dBmである。これら以外に、子機同士の間の通信区間は存在しない。
【0017】
このような信号強度が各通信区間で得られる場合に、新たに追加した子機D3から親機C1までの通信経路の候補としては、(1)子機D3から子機D1を経て親機C1に至る経路、(2)子機D3から子機D2とD1を経て親機C1に至る経路、(3)子機D3から子機D4を経て親機C1に至る経路、(4)子機D3から子機D5とD6を経て親機C1に至る経路の4通りの経路が考えられる。
【0018】
これらの4つの経路(1)〜(4)は、子機を経る回数(中継局数)と各通信区間のRSSI値とが異なるため、最も安定性の高い経路を選択することが望ましい。
【0019】
図2は、
図1に示す経路(1)〜(4)における中継局数、区間1のRSSI値、区間2のRSSI値、区間3のRSSI値、RSSI値の合計、RSSI値の二乗和を示す図である。
【0020】
ここで、区間1のRSSI値とは、子機D3から次の中継局になる子機までの通信区間のRSSI値である。すなわち、子機D3から親機C1までデータを送信する場合に、子機D3から見て1番目の通信区間のRSSI値である。区間2のRSSI値とは子機D3の次の中継局になる子機からその次の子機までの通信区間のRSSI値である。すなわち、子機D3から見て2番目の通信区間のRSSI値である。また、区間3のRSSI値とは子機D3の次の次の中継局になる子機からその次の子機までの通信区間のRSSI値である。すなわち、子機D3から見て3番目の通信区間のRSSI値である。
【0021】
RSSI値の合計とは、経路(1)〜(4)の各々における区間1から区間3までのRSSI値の合計である。また、RSSI値の二乗和とは、経路(1)〜(4)の各々における区間1から区間3までのRSSI値の二乗和である。なお、経路(1)〜(4)の各々において、区間2又は区間3が存在しない場合には、RSSI値は存在しない。
【0022】
図2に示すように、経路(1)〜(4)の中継局数を比べると、経路(1)と(3)は1、経路(2)と(4)は2である。中継局(子機)を経ると、データにエラー等の障害が発生するリスクがあるため、中継局数は少ない方が望ましい。この結果からは、経路(1)と(3)が経路(2)と(4)よりも望ましいことが分かる。
【0023】
また、経路(1)〜(4)のRSSI値の合計を比べると、経路(1)〜(3)はすべて−120であり、経路(4)は−160である。この結果からは、経路(1)〜(3)が経路(4)よりも望ましいことが分かる。
【0024】
従って、中継局数とRSSI値の合計とに基づいて判断すると、経路(1)と(3)が良いことになるが、いずれがより良いのかは、中継局数とRSSI値の合計だけでは判定できない。
【0025】
また、経路(1)と(3)に含まれる2つの通信区間のRSSI値を比べると、経路(1)は−80と−40であり、経路(3)は−30と−90であり、−90を含む経路(3)よりも、より平均化されている経路(1)の方が良いように思われるが、やはり中継局数とRSSI値の合計だけでは判定できない。
【0026】
そこで、実施の形態の通信機では、RSSI値の二乗和を用いて判断を行うこととする。
図2では、経路(1)のRSSI値の二乗和は、区間1のRSSI値の二乗(6400)と、区間2のRSSI値の二乗(1600)との和で8000となる。また、経路(3)のRSSI値の二乗和は、区間1のRSSI値の二乗(900)と、区間2のRSSI値の二乗(8100)との和で9000となる。
【0027】
すなわち、実施の形態の通信機では、経路(1)のRSSI値の二乗和(8000)と、経路(3)のRSSI値の二乗和(9000)とを比べて、RSSI値の二乗和が低い経路(1)を選択することとする。従って、実施の形態によれば、
図1に示す子機D3として用いる通信機は、経路(1)を通信経路に設定して、親機C1との通信を行う。
【0028】
なお、
図2には、子機D3から見て2つ前の区間(区間3)までのRSSI値を示し、2つ前の区間(区間3)までのRSSI値の二乗和を計算した結果に基づいて、中継局数が最小で、かつ、二乗和が最小となる経路(1)を選択する手法を示す。
【0029】
しかしながら、実際に子機を配置する場合には、
図2に示すよりもさらに多くの子機が配置され、親機までの中継局数がさらに多い場合が考えられる。
【0030】
そのような場合には、
図1において親機C1の周りに子機D1、D4、D6を設置してから、子機D2と子機D5を設置し、さらに子機D3を設置する場合と同様に、順々に子機を増やすことによって無線通信網がカバーするエリアを拡げて行けばよい。
【0031】
このような場合に、各子機にメモリを設け、2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータを保持させておけば、
図1に示すように新たに子機D3を設置する場合に、
図2に示す経路(1)〜(4)についての2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータを容易に入手することができる。
【0032】
このようにすれば、例えば、新たに設置しようとするある子機から親機までの間に100個の子機が存在する場合でも、2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータに基づいて、容易に通信経路を設定することができる。
【0033】
また、このような場合に、何区間前までのRSSI値と中継局数を各子機のメモリに保持させるかは、任意に設定することができる。
【0034】
例えば、新たに設置しようとするある子機から親機までの間に100個の子機が存在する場合に、計算量は増えるが、各子機に親機までのすべての区間のRSSI値と中継局数を持たせてもよい。
【0035】
以下、このような通信経路の設定処理の内容について説明する。
【0036】
図3は、実施の形態の通信機100を示す図である。通信機100は、
図3(A)又は(B)のような構成で実現される。
【0037】
図3(A)に示す通信機100は、MCU(Micro Computer Unit)110、RF(Radio Frequency)回路120、及びアンテナ130を含む。MCU110は、上述のような通信経路の設定処理を行うとともに、通信経路を設定した後は、親機との間の通信に必要な処理を行う。RF回路120は、主にMCU110とアンテナ130との間の整合を取る回路である。アンテナ130は、どのような形式のアンテナであってもよく、例えば、モノポールアンテナ又はダイポールアンテナ等を用いることができる。
【0038】
図3(A)に示す通信機100は、ホストコンピュータ(HOST)200に接続されており、ホストコンピュータ200には電源250が接続されている。ホストコンピュータ200は、MCU110が処理を実行するにあたり、コマンドの送信等を行う。
【0039】
図3(B)に示す通信機100は、MCU110、RF回路120、及びアンテナ130を含む。MCU110は、上述のような通信経路の設定処理を行うとともに、通信経路を設定した後は、親機との間の通信に必要な処理を行う。
図3(B)に示す通信機100には、ホストコンピュータ200(
図3(A)参照)は接続されておらず、電源250が直接接続されている。
図3(B)に示す通信機100では、すべての処理はMCU110が行う。
【0040】
また、
図3(B)に示す通信機100には、センサ300が接続されている。センサ300は、例えば、温度センサ等である。このようにセンサ300が接続されている通信機100を
図1に示す子機D1〜D6として用いれば、子機D1〜D6を設置したエリア内の複数のポイントにおける温度を測定し、親機C1でデータ収集を行うことができる。
【0041】
また、
図3(A)、(B)に示すMCU110は、
図3(C)に示す機能部を含む。MCU110は、検出部111、選択部112、選択部113、通信部114、経路設定部115、メモリ116、及びデータ発信部117を有する。
【0042】
検出部111は、通信部114が発信する第1応答要求信号に対する他の通信機100からの応答信号を検出する。検出部111は、このようにして通信機100と無線で通信可能な他の通信機100を検出する。検出部111によって検出される他の通信機100は、第1子機の一例である。また、無線通信網に含まれる複数の通信機100(自己の通信機100と第1子機である通信機100とを除いた通信機100)は、第2子機の一例である。
【0043】
また、検出部111は、通信部114が発信する第2応答要求信号に対する親機からの応答信号を検出する。
【0044】
選択部112は、検出部111によって検出される他の通信機100を介して親機400まで接続される経路のうち、子機の中継局数が最も少ない経路を選択する。
【0045】
選択部113は、選択部112によって選択された経路が複数ある場合に、それぞれの経路に含まれる通信区間のRSSI値の二乗和を計算し、二乗和が最も小さい経路を選択する。これは、選択部113が各通信区間の信号強度の二乗和によって表される信号強度が最も強い経路を選択するためである。このため、ここでは、各通信区間の信号強度の二乗和によって表される信号強度(第2信号強度)が最も強い経路として、各通信区間のRSSI値による信号強度の二乗和が最も小さい経路を選択している。なお、各通信区間の信号強度は第1信号強度の一例であり、各通信区間の信号強度(第1信号強度)の二乗和によって表される信号強度は、第2信号強度の一例である。
【0046】
通信部114は、自己の通信機100と通信可能な他の通信機100を検出部111が検出するために、第1応答要求信号としてのビーコン信号をアンテナ130から発信する。ビーコン信号はパケット形式のデジタル信号である。
【0047】
また、通信部114は、自己の通信機100が通信可能な親機を検出部111が検出するために、第2応答要求信号としてのビーコン信号をアンテナ130から発信する。親機に対して送信するビーコン信号は、パケット形式のデジタル信号であるが、他の通信機100を見つけるために送信するビーコン信号とは異なる。
【0048】
経路設定部115は、選択部112及び113の選択結果に基づいて、自己の通信機100から親機までの通信経路を設定する。なお。経路設定部115は、選択部113が計算する二乗和が最も小さい経路が複数ある場合は、検出部111によって最初に応答が検出された他の通信機100を含む経路を通信経路として設定する。
【0049】
メモリ116は、パラメータデータを保管するメモリである。パラメータデータとは、その通信機100について確定した親機との間の通信経路において、2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータである。
【0050】
データ発信部117は、他の通信機100からの応答信号、又は、親機からの応答信号を検出すると、メモリ116に保持されているパラメータデータを発信する。
【0051】
なお、ここでは、選択部113が各通信区間の信号強度の二乗和によって表される信号強度が最も強い経路を選択するために、選択部112によって選択された経路が複数ある場合に、選択部113がそれぞれの経路に含まれる通信区間のRSSI値の二乗和を計算し、二乗和が最も小さい経路を選択する形態について説明する。しかしながら、各通信区間の信号強度をRSSI値ではなく、例えばミリワット単位の信号強度として取り扱う場合には、選択部113は、ミリワット単位の信号強度の二乗和が最大になる経路を選択することになる。
【0052】
図4は、実施の形態の通信機100に対する親機400を示す図である。
【0053】
親機400は、無線装置であり、MCU(Micro Computer Unit)410、RF(Radio Frequency)回路420、及びアンテナ430を含む。MCU410は、上述のような通信経路の設定処理によって通信経路が設定された後は、子機としての通信機100との間の通信に必要な処理を行う。RF回路420は、主にMCU410とアンテナ430との間の整合を取る回路である。アンテナ430は、どのような形式のアンテナであってもよく、例えば、モノポールアンテナ又はダイポールアンテナ等を用いることができる。
【0054】
親機400は、ホストコンピュータ(HOST)500に接続されており、ホストコンピュータ500には電源550が接続されている。ホストコンピュータ500は、MCU410が処理を実行するにあたり、コマンドの送信等を行う。
【0055】
図5及び
図6は、実施の形態の通信機100のMCU110が実行する処理を示すフローチャートである。
図7は、
図6のステップS10で取り扱うパラメータデータと、ステップS14で二乗和の計算に用いられるデータを示す図である。
【0056】
MCU110は、通信機100の電源がオンにされることによって処理をスタートする(スタート)。
【0057】
MCU110は、親機400に信号を送信する(ステップS1)。親機400と通信可能かどうか判定するためである。親機400に対して送信する信号は、親機400の応答を求める信号である。このため、親機400が通信機100と通信可能な位置にあれば、通信機が送信する信号に対して親機400が応答し、通信機100は応答信号を受信できる。
【0058】
MCU110は、親機400から応答があるかどうかを判定する(ステップS2)。MCU110は、親機400から所定時間以内に応答信号を受信したか否かを判定する。所定時間は、通信機100と親機400とが通信可能な最長距離にある場合に、通信機100が信号を送信してから親機400から応答信号を受信するまでの所要時間に、所定のマージンの時間を加えた時間に設定すればよい。
【0059】
MCU110は、応答があった(S2:YES)と判定すると、親機400から受信した応答信号のRSSI値をメモリ116に保管する(ステップS3)。この場合は、子機である通信機100と親機400が直接通信できる場合であり、通信機100と親機400との間の通信経路が確定する。このため、通信機100のMCU110は、RSSI値をメモリ116に保管する。
【0060】
次いで、MCU110は、中継局数をメモリ116に保管する(ステップS4)。このように子機である通信機100と親機400が直接通信する場合は、中継局数はゼロ(0)である。
【0061】
以後、MCU110は、ステップS3及びS4で決定した通信経路によって親機400との間でデータ通信を行う(ステップS5)。なお、ステップS5の処理を行う理由については後述する。
【0062】
以上により、一連の処理が終了する。ステップS5を経て処理が終了するのは、上述のように、子機である通信機100と親機400が直接通信する場合である。
【0063】
また、ステップS2において、親機400から応答信号を受信しない場合(S2:NO)は、MCU110は、フローを
図6のステップS7に進行させる。
【0064】
MCU110は、ビーコン信号を送信する(ステップS7)。通信機100の周囲にある他の通信機100を検索するためである。
【0065】
MCU110は、他の通信機100からパラメータデータを受信したかどうかを判定する(ステップS8)。具体的には、MCU110は、ステップS7でビーコン信号を送信してから所定時間以内に他の通信機100からパラメータデータを受信したか否かを判定する。
【0066】
所定時間は、通信機100と他の通信機100とが通信可能な最長距離にある場合に、通信機100がビーコン信号を送信してから他の通信機100からビーコン信号を受信するまでの所要時間に、所定のマージンの時間を加えた時間に設定すればよい。
【0067】
MCU110は、パラメータデータを受信すると(S8:YES)、パラメータを他の通信機100から受信した際の受信信号のRSSI値をメモリ116に保管する(ステップS9)。上述したRSSI値の二乗和を計算するためである。
【0068】
次いで、MCU110は、ステップS8で受信したパラメータデータをメモリ116に保管する(ステップS10)。ここで、パラメータデータとは、その通信機100について確定した親機との間の通信経路において、2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータである。ステップS8では、他の通信機100のパラメータデータを受信しているため、他の通信機100から見て2つ前の区間(区間3)までのRSSI値と中継局数とをメモリ116に保管する。
【0069】
すなわち、
図2に示すように、親機C1と子機D1、D2、D4、D5、D6とが存在する場合に子機D3を追加する場合に当てはめて説明すると、ステップS9の処理では、子機D1、D2、D4、D5からパラメータデータを受信することにより、区間1のRSSI値が求まる。子機D1、D2、D4、D5からパラメータデータを受信するときのRSSI値は、それぞれ、
図7(A)に示すように、−80dBm、−40dBm、−30dBm、−20dBmである。このRSSI値は、
図2に示す区間1のRSSI値に対応する。
【0070】
また、ステップS10の処理では、子機D1、D2、D4、D5から受信したパラメータデータをメモリ116に保管する。パラメータデータとは、その通信機100について確定した親機との間の通信経路において、2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータである。ここでは、子機D1、D2、D4、D5から見た2つ前の区間(区間3)までのRSSI値と中継局数とを表すデータがステップS10で受信するパラメータデータである。
【0071】
すなわち、子機D1、D2、D4、D5が親機C1との通信で得たRSSI値(1区間前のRSSI値、2区間前のRSSI値)がステップS10で受信するパラメータデータに含まれるRSSI値である。また、子機D1、D2、D4、D5と親機C1との間の中継局数がステップS10で受信するパラメータデータに含まれる中継局数である。
【0072】
図7(A)に示すように、子機D1についての1区間前のRSSI値と、2区間前のRSSI値とは、それぞれ、−40dBm、「なし」である。子機D2についての1区間前のRSSI値と、2区間前のRSSI値とは、それぞれ、−40dBm、−40dBmである。子機D4についての1区間前のRSSI値と、2区間前のRSSI値とは、それぞれ、−90dBm、「なし」である。子機D5についての1区間前のRSSI値と、2区間前のRSSI値とは、それぞれ、−70dBm、−70dBmである。
【0073】
また、中継局数は、子機D1は0、子機D2は1、子機D4は0、子機D5は1である。
【0074】
次いで、MCU110は、メモリ116に保管したパラメータデータの中継局数を比較し、中継局数が最小の経路を求める(ステップS11)。これは、
図2に示す経路(1)〜(4)に当てはめて説明すると、区間(1)〜(4)についての中継局数を比較し、中継局数が最小の経路(1)と(3)を求めることに相当する。
【0075】
次いで、MCU110は、中継局数が最小の経路が1つであるかどうかを判定する(ステップS12)。中継局数が最小の経路が1つであれば、RSSI値の二乗和を求めることなく、通信経路を設定することができるからである。
【0076】
MCU110は、中継局数が最小の経路が1つである(S12:YES)と判定した場合は、中継局数が最小の経路を通信経路として設定する(ステップS13)。
【0077】
MCU110は、中継局数が最小の経路が1つではない(S12:NO)と判定した場合は、ステップS11で求めた中継局数が最小の経路について、RSSI値の二乗和を計算する(ステップS14)。これは、
図2に示す経路(1)と(3)に当てはめて説明すると、経路(1)と(3)におけるRSSI値の二乗和を計算することに相当する。
【0078】
図2に示すように、親機C1と子機D1、D2、D4、D5、D6とが存在する場合に子機D3を追加する場合に当てはめて説明すると、
図7(B)に示すように、中継局数が0の子機D1とD4についての1区間前のRSSI値と、子機D3が子機D1とD4パラメータデータを受信するときのRSSI値が二乗和を計算する元のデータとして選ばれる。
【0079】
MCU110は、ステップS14で求めたRSSI値の二乗和の最小値は1つであるかどうかを判定する(ステップS15)。
【0080】
MCU110は、RSSI値の二乗和の最小値は1つである(S15:YES)と判定すると、RSSI値の二乗和が最小の経路を通信経路として設定する(ステップS16)。
【0081】
また、MCU110は、RSSI値の二乗和の最小値は1つではない(S15:NO)と判定すると、RSSI値の二乗和が最小となる複数の経路のうち、ステップS8でパラメータデータを最も早く受信した経路を通信経路として設定する(ステップS17)。応答の最も早い経路が最も安定性の高い通信路であると考えられるからである。
【0082】
なお、MCU110は、ステップS13、S16、S17の処理を終えると、フローをステップS4に進行させる。
【0083】
MCU110は、ステップS4において、中継局数をメモリ116に保管する。
【0084】
MCU110は、ステップS5において、通信経路によって親機400との間で自己のパラメータデータを送信する。このような処理を行うのは、通信機100が設定した通信経路の内容を表すパラメータデータを親機400に通知するためである。MCU110は、通信経路によって親機400との間でデータ通信を行うことにより、パラメータデータを送信する。
【0085】
ここで、
図8乃至
図17を用いて、通信機100を
図1に示す子機D1〜D6としてそれぞれ用いた場合に、パラメータデータ(中継局とRSSI値)がどのように決まるかについて説明する。ここでは、
図1に示す親機C1が最初に設置されており、その周囲に、子機D1、D2、D4、D6、D5、D3がこの順で設置される場合について説明する。
【0087】
まず、親機C1が設置されている状態で、子機D1が設置されると、親機C1と子機D1との間の通信区間の信号強度は−40dBmであり、間に中継局は存在しない。このため、
図8に示すように、子機D1についての中継局1〜4は「なし」となり、
図9に示すように、子機D1についての中継局数はゼロ(0)、区間1のRSSI値は−40、区間2のRSSI値は「なし」となる。
【0088】
また、子機D1に加えて、新たに子機D2が設置されると、子機D1とD2との間の通信区間の信号強度は−40dBmであり、親機C1と子機D1との間の通信区間の信号強度は−40dBmであり、子機D2と親機C1との間の中継局は子機D1のみである。このため、
図10に示すように、子機D2についての中継局1はD1であり、中継局2〜4は「なし」となる。また、
図11に示すように、子機D2についての中継局数は1、区間1のRSSI値は−40、区間2のRSSI値は−40となる。
【0089】
このように子機D2が設置される場合は、
図5に示すフローにおいて、ステップS1、S2、S3、S4、S5が実行される場合である。
【0090】
また、さらに、新たに子機D4とD6が設置されると、親機C1と子機D4との間の通信区間の信号強度は−90dBmであり、親機C1と子機D6との間の通信区間の信号強度は−70dBmである。子機D4と親機C1との間に中継局は存在せず、子機D6と親機C1との間に中継局は存在しない。
【0091】
このため、
図12に示すように、子機D4とD6についての中継局1〜4は「なし」となる。また、
図13に示すように、子機D4についての中継局数はゼロ(0)、子機D4の区間1のRSSI値は−90、区間2のRSSI値は「なし」となる。また、子機D6についての中継局数はゼロ(0)、子機D6の区間1のRSSI値は−70、区間2のRSSI値は「なし」となる。
【0092】
このように子機D4とD6が設置される場合は、
図5に示すフローにおいて、ステップS1、S2、S3、S4、S5が実行される場合である。
【0093】
また、さらに、新たに子機D5が設置されると、子機D5から親機C1までには、子機D3を経て、さらに子機D1、D2、D4を経る経路と、子機D6を経る経路とが存在する。これらのうち、中継局数が最も少ないのは、子機D6を通る経路であるため、子機D5については、子機D6を経て親機C1に接続する経路が通信経路として設定される。
【0094】
子機D5とD6との間の通信区間の信号強度は−70dBmであり、親機C1と子機D6との間の通信区間の信号強度は−70dBmである。子機D5と親機C1との間の中継局は子機D6のみである。このため、
図14に示すように、子機D5についての中継局1はD6であり、中継局2〜4は「なし」となる。また、
図15に示すように、子機D5についての中継局数は1、区間1のRSSI値は−70、区間2のRSSI値は−70となる。
【0095】
このように子機D5が設置される場合は、
図5及び
図6に示すフローにおいて、ステップS1、S2、S7、S8、S9、S10、S11、S12、S13、S5が実行される場合である。
【0096】
最後に、さらに、新たに子機D3が設置されると、子機D3から親機C1までには、上述のように経路(1)〜(4)があるが、
図5及び
図6に示すフローが実行されることにより、
図2に示す通りの結果が得られ、経路(1)が通信経路として設定される。
【0097】
子機D1とD3との間の通信区間の信号強度は−80dBmであり、親機C1と子機D1との間の通信区間の信号強度は−40dBmである。子機D3と親機C1との間の中継局は子機D1のみである。このため、
図16に示すように、子機D3についての中継局1はD1であり、中継局2〜4は「なし」となる。また、
図17に示すように、子機D3についての中継局数は1、区間1のRSSI値は−80、区間2のRSSI値は−40となる。
【0098】
以上のようにして、通信機100の通信経路が設定される。以後、通信機100は、通信経路を介して親機400と通信を行う。これは、
図1に示す子機D1〜D6のすべてにおいて同様である。
【0099】
図18は、親機400から通信経路を経て子機100にパケットデータが送信される際に子機100が行う処理を示すフローチャートである。この処理は、例えば、
図1に示す親機C1から子機D1を経て子機D3までパケットデータが送信される際に、子機D1、D3がそれぞれ内部で行う処理である。すなわち、親機400と通信を行うすべての子機100が実行する処理である。
【0100】
ここでは、親機400と各子機(通信機100)との間でパケットデータが転送される場合において、自局(自己)よりも親機400の側を上流側と称し、自局から見て親機400から離れる側を下流側と称す。
【0101】
MCU110は、パケットデータを受信したかどうかを判定する(ステップS21)。MCU110は、ステップS21の処理を繰り返し実行する。
【0102】
MCU110は、パケットデータを受信すると(S21:YES)、パケットデータの宛先が自局であるかどうかを判定する(ステップS22)。パケットデータの宛先が自局であるかどうかは、パケットデータに含まれる宛先のアドレスに自局のアドレスが含まれるかどうかで判定すればよい。
【0103】
MCU110は、パケットデータの宛先が自局である(S22:YES)と判定すると、最終宛先が子機であるかどうかを判定する(ステップS23)。親機400へ転送されるパケットデータか、親機から子機に転送されるパケットデータのいずれであるかを判定するためである。
【0104】
MCU110は、最終宛先が子機である(S23:YES)と判定すると、最終宛先が自局であるかどうかを判定する(ステップS24)。自局が取り込むべきパケットデータであるかどうかを判定するためである。
【0105】
MCU110は、最終宛先が自局である(S24:YES)と判定すると、パケットデータを取り込む(ステップS26)。
【0106】
以上で、MCU110は、一連の処理を終了する(エンド)。
【0107】
なお、MCU110は、ステップS22において、パケットデータの宛先が自局ではない(S22:NO)と判定すると、パケットデータを破棄する(ステップS26)。パケットデータの宛先が自局ではない場合は、自局を含む通信経路で転送されるパケットデータではないため、破棄することとしたものである。
【0108】
また、MCU110は、ステップS23において、最終宛先が子機ではないと判定すると(S23:NO)、パケットデータに変換処理を行ってから上流側に転送する(ステップS27)。最終宛先が子機ではない場合は、最終宛先が親機400である場合であるため、上流側に転送することとしたものである。なお、パケットデータの変換処理については後述する。
【0109】
また、MCU110は、ステップS24において、最終宛先が自局ではないと判定する(S24:NO)と、パケットデータに変換処理を行ってから下流側に転送する(ステップS28)。最終宛先が子機であって自局ではない場合は、自局よりも下流側の他の子機が最終宛先であるため、下流側に転送することとしたものである。なお、パケットデータの変換処理については後述する。
【0110】
なお、MCU110は、ステップS26、S27、S28の処理を終えると、一連の処理を終了する(エンド)。
【0111】
次に、
図19及び
図20を用いて、親機C11と子機D11、D12、D13で通信を行う場合におけるパケットデータの変換動作について説明する。
【0112】
図19は、親機C11と子機D11、D12、D13の配置と通信経路を示す図である。
【0113】
図19に示すように、親機C11と子機D11、D12、D13とは、この順に配列されており、PAN−ID:11というパーソナルエリアネットワーク(Personal Area Network: PAN)のIDが割り振られた親機C11と無線通信網を構築している。なお、親機C11は、
図4に示す親機400と同様の構成を有し、子機D11、D12、D13はそれぞれ、
図3に示す子機100と同様能構成を有する。
【0114】
また、ここでは説明の便宜上、親機C11と子機D11、D12、D13との間の通信区間を次のように区別する。通信区間Aは子機D13から子機D12に向かう通信区間である。通信区間Bは子機D12から子機D11に向かう通信区間である。通信区間Cは子機D11から親機C11に向かう通信区間である。
【0115】
また、通信区間Dは親機C11から子機D11に向かう通信区間である。通信区間Eは子機D11から子機D12に向かう通信区間である。通信区間Fは子機D12から子機D13に向かう通信区間である。
【0116】
すなわち、親機C11と子機C13との間には、上流側へ向かう通信経路として通信区間A〜Cを含む通信経路が構築されており、下流側へ向かう通信経路として通信区間D〜Fを含む通信経路が構築されている。
【0117】
図20は、パケットデータの変換動作の一例を示す図である。
図20には、
図19に示す通信区間A〜Fをデータが転送される際におけるパケットデータを示す。パケットデータは、PAN−ID、宛先ID、自局ID、中継局数、中継1ID、中継2ID、中継3ID、最終宛先ID、原発信ID、及びデータを含む。なお、これらのうち、データは任意であるため、省略する。
【0118】
また、ここでは、親機C11を含む無線通信網でのパケットデータの変換動作について説明するため、PAN−IDはすべて11である。従って、以下では、宛先ID、自局ID、中継局数、中継1ID、中継2ID、中継3ID、最終宛先ID、原発信IDについて説明する。
【0119】
宛先IDは宛先になる親機又は子機のIDである。自局IDはデータを送信する自局のIDである。中継局数は、データが上流へ向かう場合には、データの発信元から自局までの中継局の数である。中継1IDは、データが上流へ向かう場合には、データの発信元から自局までの間に経た1番目の中継局のIDである。中継2IDは、データが上流へ向かう場合には、データの発信元から自局までの間に経た2番目の中継局のIDである。中継3IDは、データが上流へ向かう場合には、データの発信元から自局までの間に経た3番目の中継局のIDである。
【0120】
中継局数は、データが下流へ向かう場合には、自局から最終宛先までの中継局の数である。中継1IDは、データが下流へ向かう場合には、自局から最終宛先までの間に経る1番目の中継局のIDである。中継2IDは、データが下流へ向かう場合には、自局から最終宛先までの間に経る2番目の中継局のIDである。中継3IDは、データが下流へ向かう場合には、自局から最終宛先までの間に経る3番目の中継局のIDである。
【0121】
最終宛先IDは、データの最終的な宛先になる親機又は子機のIDである。原発信IDは、データを最初に発信する親機又は子機のIDである。
【0122】
通信区間Aでは、宛先IDは子機D12、自局IDは子機D13、中継局数は0、中継1IDはダミー(データなし)、中継2IDはダミー、中継3IDはダミー、最終宛先IDは親機C11、原発信IDは子機D13となる。子機D13から親機C11に向かって発信されるパケットデータは、通信区間Aで上述のように表される。
【0123】
通信区間Bでは、宛先IDは子機D11、自局IDは子機D12、中継局数は1、中継1IDは子機D12、中継2IDはダミー、中継3IDはダミー、最終宛先IDはC11、原発信IDはD13となる。子機D13から親機C11に向かって発信されるパケットデータは、通信区間Bで上述のように変換される。
【0124】
通信区間Cでは、宛先IDは親機C11、自局IDは子機D11、中継局数は2、中継1IDは子機D12、中継2IDは子機D11、中継3IDはダミー、最終宛先IDはC11、原発信IDはD13となる。子機D13から親機C11に向かって発信されるパケットデータは、通信区間Cで上述のように変換される。
【0125】
以上のように、子機D13と親機C11との間の通信区間A、B、Cによって構築される通信経路をデータが上流側に向かって転送される際には、上述のようにパケットデータが変換される。このようなパケットデータの変換処理は、
図18に示すステップS27において実行される。
【0126】
また、通信区間Dでは、宛先IDは子機D11、自局IDは親機C11、中継局数は2、中継1IDは子機D11、中継2IDは子機D12、中継3IDはダミー、最終宛先IDは子機D13、原発信IDは親機C11となる。親機C11から子機D13に向かって発信されるパケットデータは、通信区間Dで上述のように表される。
【0127】
通信区間Eでは、宛先IDは子機D12、自局IDは子機D11、中継局数は1、中継1IDは子機D12、中継2IDはダミー、中継3IDはダミー、最終宛先IDは子機D13、原発信IDは親機C11となる。親機C11から子機D13に向かって発信されるパケットデータは、通信区間Eで上述のように変換される。
【0128】
通信区間Fでは、宛先IDは子機D13、自局IDは子機D12、中継局数は0、中継1IDはダミー、中継2IDはダミー、中継3IDはダミー、最終宛先IDは子機D13、原発信IDは親機C11となる。親機C11から子機D13に向かって発信されるパケットデータは、通信区間Fで上述のように変換される。
【0129】
以上のように、子機D13と親機C11との間の通信区間D、E、Fによって構築される通信経路をデータが下流側に向かって転送される際には、上述のようにパケットデータが変換される。このようなパケットデータの変換処理は、
図18に示すステップS28において実行される。
【0130】
以上、親機C11と子機D13との間では、上述のようにパケットデータを変換しながらデータを転送することができる。
【0131】
以上、本発明の例示的な実施の形態の通信機について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。