(57)【要約】  通信装置は、センシングデータを出力するセンサと、制御装置から直接又は他の通信装置を介して受信したカウント信号をカウントして前記カウントしたカウント信号を送信すると共に、前記受信したカウント信号の値を記憶するカウント信号通信部と、前記記憶されたカウント信号の値に応じて、前記センサにより出力されたセンシングデータ又は他の通信装置から受信したセンシングデータを送信するデータ通信部とを有する。
2014016885.tif 000002
【特許請求の範囲】
【請求項１】
センシングデータを出力するセンサと、
制御装置から直接又は他の通信装置を介して受信したカウント信号をカウントして前記カウントしたカウント信号を送信すると共に、前記受信したカウント信号の値を記憶するカウント信号通信部と、
前記記憶されたカウント信号の値に応じて、前記センサにより出力されたセンシングデータ又は他の通信装置から受信したセンシングデータを送信するデータ通信部と
を有することを特徴とする通信装置。
【請求項２】
前記カウント信号通信部は、複数の前記カウント信号を受信したときには、前記複数のカウント信号の値うちの最小値を記憶することを特徴とする請求項１記載の通信装置。
【請求項３】
前記データ通信部は、前記記憶されたカウント信号の値が、あらかじめ設定された閾値より小さいときには、前記センサにより出力されたセンシングデータの送信よりも、前記他の通信装置から受信したセンシングデータの送信を優先することを特徴とする請求項１記載の通信装置。
【請求項４】
前記データ通信部は、前記記憶されたカウント信号の値があらかじめ設定された第１の閾値より小さい場合は、前記センサから出力されたセンシングデータの送信を行わずに、前記他の通信装置から受信したセンシングデータを送信し、前記記憶されたカウント信号の値があらかじめ設定された第２の閾値より大きい場合は、前記センサにより出力されたセンシングデータ又は前記他の通信装置から受信したセンシングデータを送信することを特徴とする請求項１記載の通信装置。
【請求項５】
前記データ通信部は、前記記憶されたカウント信号の値が前記第１の閾値より大きくかつ前記第２の閾値より小さいときには、前記センサから出力されたセンシングデータ又は前記他の通信装置から受信したセンシングデータを送信し、その際、前記センサにより出力されたセンシングデータの送信回数を間引いて前記センシングデータを送信することを特徴とする請求項４記載の通信装置。
【請求項６】
複数の通信装置と、
制御装置とを有し、
前記複数の通信装置の各々は、
センシングデータを出力するセンサと、
前記制御装置から直接又は他の通信装置を介して受信したカウント信号をカウントして前記カウントしたカウント信号を送信すると共に、前記受信したカウント信号の値を記憶するカウント信号通信部と、
前記記憶されたカウント信号の値に応じて、前記センサにより出力されたセンシングデータ又は他の通信装置から受信したセンシングデータを送信するデータ通信部とを有することを特徴とする通信システム。
【請求項７】
センシングデータを出力するセンサを有する通信装置の制御方法であって、
制御装置から直接又は他の通信装置を介して受信したカウント信号をカウントして前記カウントしたカウント信号を送信すると共に、前記受信したカウント信号の値を記憶し、
前記記憶されたカウント信号の値に応じて、前記センサにより出力されたセンシングデータ又は他の通信装置から受信したセンシングデータを送信することを特徴とする通信装置の制御方法。
【請求項８】
センシングデータを出力するセンサを有する通信装置の処理であって、
制御装置から直接又は他の通信装置を介して受信したカウント信号をカウントして前記カウントしたカウント信号を送信すると共に、前記受信したカウント信号の値を記憶し、
前記記憶されたカウント信号の値に応じて、前記センサにより出力されたセンシングデータ又は他の通信装置から受信したセンシングデータを送信する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム、通信装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
複数台のハブを接続して機能的に１台のハブとして動作するスタッカブルハブにおいて、ハブの自己番号設定方式が知られている（例えば、特許文献１参照）。それは、自己にカスケード接続されている一方のハブから当該ハブの番号を受け取るハブ番号受信手段と、ハブ番号受信手段で受け取ったハブ番号に一定値を加算するハブ番号加算手段と、ハブ番号加算手段によって得られた番号を自己の番号とする自己番号決定手段と、自己の番号をカスケード接続されている他の一方のハブへ送るハブ番号送信手段と、ハブ番号受信手段側へ接続されるハブが存在しないときにハブ番号受信手段の番号を一定値にするハブ番号初期値設定手段を有する。【０００３】
また、１個の上位ノードおよび相互に制御線が接続された複数個の下位ノードを含む階層スター状通信網が構成される情報受理確認方式が知られている（例えば、特許文献２参照）。上位ノードは、下位ノードの複数に対し宛てた通信情報を一斉に送信する手段を備える。下位ノードは、この通信情報を受信したとき受信確認情報を送信する手段を備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１４７５８６号公報
【特許文献２】特開平６−１６４６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の通信装置が無条件に通信を行うと、複数の通信装置間で通信の渋滞が発生してしまうことがある。【０００６】
本発明の目的は、通信の渋滞を防止することができる通信装置、通信システム、通信装置の制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
通信装置は、センシングデータを出力するセンサと、制御装置から直接又は他の通信装置を介して受信したカウント信号をカウントして前記カウントしたカウント信号を送信すると共に、前記受信したカウント信号の値を記憶するカウント信号通信部と、前記記憶されたカウント信号の値に応じて、前記センサにより出力されたセンシングデータ又は他の通信装置から受信したセンシングデータを送信するデータ通信部とを有する。
【発明の効果】
【０００８】
通信の渋滞を防止することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態による通信システムの構成例を示す図である。
【図２】図２は、通信システム及び制御装置の構成例を示す図である。
【図３】図３は、マルチホップ通信の渋滞を説明するための図である。
【図４】図４は、制御装置から通信装置までのパス長の検出方法を説明するための図である。
【図５】図５は、通信装置及び制御装置の構成例を示す図である。
【図６】図６は、図５の通信装置のＣＰＵが無線受信時動作ライブラリを実行することにより行う処理例を示すフローチャートである。
【図７】図７は、図５の通信装置のＣＰＵがセンサ反応時動作ライブラリを実行することにより行う処理例を示すフローチャートである。
【図８】図８は、送信データを示す図である。
【発明を実施するための形態】
【００１０】
図１は、実施形態による通信システム１００の構成例を示す図である。通信システム１００は、複数の通信装置１０１を有する。通信装置１００の各々は、発電ユニット１１１、センサ１１２、電力管理ユニット（ＰＭＵ：Power Management Unit）１１３、マイクロコントローラユニット（ＭＣＵ：Micro Controller Unit）１１４及び無線通信部１１５を有する。
【００１１】
発電ユニット１１１は、例えば環境発電（エネルギーハーベスタ）ユニットであり、自然エネルギーを電力Ｐ１に変換し、電力Ｐ１をＰＭＵ１１３に出力する。ここで、自然エネルギーは、太陽光エネルギー、携帯電話等の無線電波エネルギー、又は温度差エネルギー等である。
【００１２】
センサ１１２は、種々のセンシングデータＤ１を検出し、センシングデータＤ１をＭＣＵ１１４に出力する。例えば、センサ１１２は、圧力を検出、温度を検出、又は電波の成分等を検出する。なお、センサ１１２は、発電ユニット１１１と一体化したものでもよいし、発電ユニット１１１と別個のものでもよい。
【００１３】
ＰＭＵ１１３は、発電ユニット１１１から供給された電力Ｐ１を入力し、ＭＣＵ１１４に供給する電力Ｐ２及び無線通信部１１５に供給する電力Ｐ３を管理する。例えば、ＰＭＵ１１３は、所定条件を満たすと、電力Ｐ２及びＰ３をそれぞれＭＣＵ１１４及び無線通信部１１５に供給する。
【００１４】
ＭＣＵ１１４は、センシングデータＤ１を処理し、送信データＤ２を無線通信部１１５に出力する。例えば、ＭＣＵ１１４は、アナログのセンシングデータＤ１をサンプリング処理し、デジタルの送信データＤ２を生成する。
【００１５】
無線通信部１１５は、送信データＤ２を高周波信号に変換し、他の通信装置１０１に無線送信する。
【００１６】
発電ユニット１１１は、発電により所定の電力を充電すると、無線通信部１１５は送信データＤ２を送信する。その後、再び、発電ユニット１１１は、充電を開始し、所定の電力が充電されると、無線通信部１１５は送信データＤ２を送信する。以上の処理を繰り返す。
【００１７】
また、無線通信部１１５が外部から送信要求信号を受信すると、無線通信部１１５が送信データＤ２を送信するようにしてもよい。また、ＭＣＵ１１４は、センシングデータＤ１の変化量が閾値以上になると、送信データＤ２の送信を無線通信部１１５に指示するようにしてもよい。
【００１８】
図２は、通信システム１００及び制御装置２０１ａ〜２０１ｃの構成例を示す図である。通信システム１００はマルチホップ通信システムである。複数の通信装置１０１ａ〜１０１ｊは、図１の通信装置１０１に対応し、マルチホップ通信を行う。すなわち、複数の通信装置１０１は、通信装置１０１同士が直接通信するだけでなく、他の通信装置１０１を経由して通信することにより、広範囲の通信装置１０１と通信を可能にする。
【００１９】
通信装置１０１は、送信電力が小さいため、狭範囲内の他の通信装置１０１としか通信することができない。例えば、通信装置１０１ａが制御装置２０１ａ〜２０１ｃに送信データＤ２を送信する例を説明する。通信装置１０１ａは、図８に示すように、センサ１１２により出力されたセンシングデータ８０１を、初期値「０」のホップ数８０２と共に送信する。通信装置１０１ａの通信可能範囲内には、通信装置１０１ｂ、１０１ｅ及び１０１ｈが存在する。したがって、通信装置１０１ｂ、１０１ｅ及び１０１ｈは、通信装置１０１ａからセンシングデータ及び「０」のホップ数を受信する。
【００２０】
通信装置１０１ｂは、通信装置１０１ａから受信した「０」のホップ数をインクリメントすることにより、「１」のホップ数を記憶し、通信装置１０１ａから受信したセンシングデータ及び「１」のホップ数を送信する。次に、通信装置１０１ｂの通信可能範囲内に位置する通信装置１０１ｃは、通信装置１０１ｂから受信した「１」のホップ数をインクリメントすることにより、「２」のホップ数を記憶し、通信装置１０１ｂから受信したセンシングデータ及び「２」のホップ数を送信する。次に、通信装置１０１ｃの通信可能範囲内に位置する通信装置１０１ｄは、通信装置１０１ｃから受信した「２」のホップ数をインクリメントすることにより、「３」のホップ数を記憶し、通信装置１０１ｃから受信したセンシングデータ及び「３」のホップ数を送信する。次に、通信装置１０１ｄの通信可能範囲内に位置する制御装置２０１ａは、通信装置１０１ｄから「３」のホップ数及びセンシングデータを受信する。これにより、通信装置１０１ａは、通信装置１０１ｂ〜１０１ｄを介して、センサ１１２により出力されたセンシングデータを第１の制御装置２０１ａに無線送信することができる。
【００２１】
同様に、通信装置１０１ｅは、通信装置１０１ａから受信した「０」のホップ数をインクリメントすることにより、「１」のホップ数を記憶し、通信装置１０１ａから受信したセンシングデータ及び「１」のホップ数を送信する。次に、通信装置１０１ｅの通信可能範囲内に位置する通信装置１０１ｆは、通信装置１０１ｅから受信した「１」のホップ数をインクリメントすることにより、「２」のホップ数を記憶し、通信装置１０１ｅから受信したセンシングデータ及び「２」のホップ数を送信する。次に、通信装置１０１ｆの通信可能範囲内に位置する通信装置１０１ｇは、通信装置１０１ｆから受信した「２」のホップ数をインクリメントすることにより、「３」のホップ数を記憶し、通信装置１０１ｆから受信したセンシングデータ及び「３」のホップ数を送信する。次に、通信装置１０１ｇの通信可能範囲内に位置する制御装置２０１ｂは、通信装置１０１ｇから「３」のホップ数及びセンシングデータを受信する。これにより、通信装置１０１ａは、通信装置１０１ｅ〜１０１ｇを介して、センサ１１２により出力されたセンシングデータを第２の制御装置２０１ｂに無線送信することができる。
【００２２】
同様に、通信装置１０１ｈは、通信装置１０１ａから受信した「０」のホップ数をインクリメントすることにより、「１」のホップ数を記憶し、通信装置１０１ａから受信したセンシングデータ及び「１」のホップ数を送信する。次に、通信装置１０１ｈの通信可能範囲内に位置する通信装置１０１ｉは、通信装置１０１ｈから受信した「１」のホップ数をインクリメントすることにより、「２」のホップ数を記憶し、通信装置１０１ｈから受信したセンシングデータ及び「２」のホップ数を送信する。次に、通信装置１０１ｉの通信可能範囲内に位置する通信装置１０１ｊは、通信装置１０１ｉから受信した「２」のホップ数をインクリメントすることにより、「３」のホップ数を記憶し、通信装置１０１ｉから受信したセンシングデータ及び「３」のホップ数を送信する。次に、通信装置１０１ｊの通信可能範囲内に位置する制御装置２０１ｃは、通信装置１０１ｊから「３」のホップ数及びセンシングデータを受信する。これにより、通信装置１０１ａは、通信装置１０１ｈ〜１０１ｊを介して、センサ１１２により出力されたセンシングデータを第３の制御装置２０１ｃに無線送信することができる。
【００２３】
次に、上記の制御装置２０１ａ〜２０１ｃは、複数の通信装置１０１の中のどの通信装置１０１のセンシングデータを受信したのかを特定する方法を説明する。第１の制御装置２０１ａは、「３」のホップ数を受信したので、第１の制御装置２０１ａを中心とする円（球）２０２ａ上の通信装置１０１からセンシングデータを受信したことを推定できる。また、第２の制御装置２０１ｂは、「３」のホップ数を受信したので、第２の制御装置２０１ｂを中心とする円（球）２０２ｂ上の通信装置１０１からセンシングデータを受信したことを推定できる。また、第３の制御装置２０１ｃは、「３」のホップ数を受信したので、第３の制御装置２０１ｃを中心とする円（球）２０２ｃ上の通信装置１０１からセンシングデータを受信したことを推定できる。その結果、制御装置２０１ａ〜２０１ｃは、３個の円２０２ａ〜２０２ｃの交点に位置する通信装置１０１ａからセンシングデータを受信したと判断することができる。
【００２４】
通信装置１０１ａの通信可能範囲内に複数の通信装置１０１が存在する場合、通信装置１０１ａは、複数の異なるパスを介して、同じセンシングデータを制御装置２０１ｂに送信する場合がある。その場合、制御装置２０１ｂは、複数の受信センシングデータのうちで、最もホップ数が小さいセンシングデータを選択することにより、ホップ数を決定すればよい。制御装置２０１ａ及び２０１ｃも、制御装置２０１ｂと同様である。
【００２５】
図３は、マルチホップ通信の渋滞を説明するための図である。図２のように、通信装置１０１ａが、複数の異なるパスを介して、同じセンシングデータを制御装置２０１ｂに送信する場合、制御装置２０１ｂに近い通信装置１０１ｋは、通信の渋滞を招きやすい。すなわち、通信装置１０１ｋは、送信元の通信装置１０１ａから複数の異なるパスの通信装置１０１からセンシングデータを受信するので、高負荷になりやすい。通信装置１０１ｋが高負荷になると、通信装置１０１ｋは、制御装置２０１ｂに送信することが困難になり、マルチホップ通信が渋滞する。したがって、制御装置２０１ａ〜２０１ｃ付近の通信装置１０１の負荷を軽減し、マルチホップ通信の渋滞を防止する必要がある。
【００２６】
図４は、制御装置２０１ｂから通信装置１０１までのパス長の検出方法を説明するための図である。以下、制御装置２０１ｂの例を説明するが、制御装置２０１ａ及び２０１ｃも同様である。
【００２７】
制御装置２０１ｂは、初期値「０」のカウント信号を送信する。通信装置１０１は、制御装置２０１ｂから直接又は他の通信装置１０１を介して受信したカウント信号をカウントアップ（インクリメント）して送信すると共に、受信したカウント信号の値を記憶する。例えば、制御装置２０１ｂに最も近い第１の通信装置１０１は、制御装置２０１ｂから「０」のカウント信号を受信し、受信した「０」のカウント信号をインクリメントし、「１」のカウント信号を送信すると共に、受信した「０」のカウント信号の値を記憶する。次に、第２の通信装置１０１は、第１の通信装置１０１から「１」のカウント信号を受信し、受信した「１」のカウント信号をインクリメントし、「２」のカウント信号を送信すると共に、受信した「１」のカウント信号の値を記憶する。他の通信装置１０１も同様である。これにより、各通信装置１０１は、制御装置２０１ｂから自己の通信装置１０１までのパス長に対応するカウント信号の値を記憶する。観測装置２０１ｂに近い通信装置１０１は、小さいカウント信号の値を記憶し、観測装置２０１ｂから遠い通信装置１０１は、大きいカウント信号の値を記憶する。
【００２８】
例えば、「０」のカウント信号の値を記憶する通信装置１０１は、第１の動作モードで動作する。第１の動作モードでは、通信装置１０１は、マルチホップ通信に専念する。すなわち、第１の動作モードでは、通信装置１０１は、センサ１１２により出力されたセンシングデータの送信を行わずに、他の通信装置１０１から受信したセンシングデータの送信のみを行う。
【００２９】
また、「２」以上のカウント信号の値を記憶する通信装置１０１は、第３の動作モードで動作する。第３の動作モードでは、通信装置１０１は、通常動作を行う。すなわち、第３の動作モードでは、通信装置１０１は、センサ１１２により出力されたセンシングデータの送信、及び他の通信装置１０１から受信したセンシングデータの送信の両方を行う。
【００３０】
また、「１」のカウント信号の値を記憶する通信装置１０１は、第２の動作モードで動作する。第２の動作モードでは、通信装置１０１は、マルチホップ通信を優先する。すなわち、第２の動作モードでは、通信装置１０１は、センサ１１２により出力されたセンシングデータの送信、及び他の通信装置１０１から受信したセンシングデータの送信の両方を行い、その際、センサ１１２により出力されたセンシングデータの送信回数を間引いて送信する。
【００３１】
なお、上記では、通信装置１０１がカウント信号をインクリメントする場合を例に説明したが、カウント信号をデクリメントするようにしてもよい。その場合も、制御装置２０１ｂに近い通信装置１０１から順番に、第１の動作モード、第２の動作モード及び第３の動作モードが設定される。
【００３２】
通信装置１０１は、記憶されたカウント信号の値に対応する制御装置２０１ｂから自己の通信装置１０１までのパスが第１の閾値より短いときには、第１の動作モードに設定される。また、通信装置１０１は、記憶されたカウント信号の値に対応する制御装置２０１ｂから自己の通信装置１０１までのパスが第１の閾値より長くかつ第２の閾値より短いときには、第２の動作モードに設定される。また、通信装置１０１は、記憶されたカウント信号の値に対応する制御装置２０１ｂから自己の通信装置１０１までのパスが第２の閾値より長いときには、第３の動作モードに設定される。
【００３３】
第１及び第２の動作モードでは、通信装置１０１は、センサ１１２により出力されたセンシングデータの送信よりも、他の通信装置１０１から受信したセンシングデータの送信を優先する。
【００３４】
以上のように、通信装置１０１は、記憶されたカウント信号の値に応じて、第１〜第３の動作モードが設定され、センサ１１２により出力されたセンシングデータを送信、又は他の通信装置１０１から受信したセンシングデータを送信する。これにより、複数の通信装置１０１は、制御装置２０１ｂに近い通信装置１０１ほど、センサ１１２により出力されたセンシングデータの送信回数が減り、負荷が軽減されるので、マルチホップ通信の渋滞を防止することができる。
【００３５】
図５は、通信装置１０１及び制御装置２０１の構成例を示す図である。制御装置２０１は、図２の制御装置２０１ａ〜２０１ｃに対応する。
【００３６】
通信装置１０１は、図１と同様に、発電ユニット１１１、センサ１１２、ＰＭＵ１１３、ＭＣＵ１１４及び無線通信部１１５を有する。ＭＣＵ１１４は、ＣＰＵ（中央処理装置：Central Processing Unit）２０２、プログラムメモリ２０３及び不揮発性メモリ２０４を有する。不揮発性メモリ２０４は、カウント値２０５、センサ反応回数２０６及び閾値２０７を記憶する。無線受信時動作ライブラリ２０８及びセンサ反応時動作ライブラリ２０９は、コンピュータプログラムであり、プログラムメモリ２０３に記憶される。発電ユニット１１１は、ＰＭＵ１１３に接続される。バス２０１には、ＣＰＵ２０２、プログラムメモリ２０３、不揮発性メモリ２０４、センサ１１２、ＰＭＵ１１３及び無線通信部１１５が接続される。ＣＰＵ２０２は、無線受信時動作ライブラリ２０８を実行することにより、後述の図６の処理を行う。また、ＣＰＵ２０２は、センサ反応時動作ライブラリ２０９を実行することにより、後述の図７の処理を行う。
【００３７】
不揮発性メモリ２０４は、アドレスマッピングされ、ＣＰＵ２０２から直接アクセス可能である。例えば、不揮発性メモリ２０４は、１０００（１６進数）番地以降にマッピングされている。カウント値２０５は１１００（１６進数）番地に格納され、センサ反応回数２０６は１２００（１６進数）番地に格納され、閾値２０７は１３００（１６進数）番地に格納される。カウント値２０５に「３（１０進数）」を設定したい場合、ＣＰＵ２０２は１１００（１６進数）番地に「００００００００００００００１１（２進数）」を書き込む命令を実行することにより実現する。同様に、センサ反応回数２０６を取得したい場合、ＣＰＵ２０２は１２００（１６進数）番地の値を読み出す命令を実行することにより実現する。
【００３８】
制御装置２０１は、バス２１１、ＣＰＵ２１２、プログラムメモリ２１３及び無線通信部２１４を有する。バス２１１には、ＣＰＵ２１２、プログラムメモリ２１３及び無線通信部２１４が接続される。無線通信部２１４は、ＣＰＵ２１２の制御により、通信装置１０１に対して無線受信及び無線送信を行う。ＣＰＵ２１２は、プログラムメモリ２１３に記憶されているプログラムを実行することにより、制御装置２０１の処理を行う。
【００３９】
図６は、図５の通信装置１０１のＣＰＵ２０２が無線受信時動作ライブラリ２０８を実行することにより行う処理例を示すフローチャートである。通信装置１０１は、無線通信部１１５が外部から無線信号を受信すると、以下の処理を行う。
【００４０】
無線受信時動作ライブラリ２０８は、通信装置１０１が無線信号を受信した際にＣＰＵ２０２により実行されるプログラムである。具体的には、無線通信部１１５は、無線信号を受信すると、ＣＰＵ２０２に対して割込信号を発生させ、ＣＰＵ２０２の制御を割込ハンドラへ移行させる。割込ハンドラは、コンテキストを保存した上で、無線受信時動作ライブラリ２０８を呼び出して実行する。
【００４１】
まず、ステップＳ６０１では、ＣＰＵ２０２は、無線受信部１１５を介して受信した無線信号がカウント信号か否かをチェックする。通信装置１０１は、図４に示したように、制御装置２０１から直接又は他の通信装置１０１を介して、カウント信号を受信する。また、通信装置１０１は、図２に示したように、他の通信装置１０１からセンシングデータ（ホップ数を含む）を受信する。通信装置１０１は、受信した無線信号がカウント信号であるときにはステップＳ６０２の処理に進み、受信した無線信号がセンシングデータであるときにはステップＳ６０７の処理に進む。
【００４２】
例えば、ＣＰＵ２０２は、無線通信部１１５内の受信バッファから受信データを読み込み、読み込んだデータがカウント信号かどうかを判断する。例えば、受信バッファにアドレスをマッピングし、ＣＰＵ２０２がそのアドレスに対して読み込む命令を実行してもよいし、受信バッファのデータを読み込む専用命令をＣＰＵ２０２が実行するようしてもよい。また、通信データの最上位ビットを「カウント信号」かどうかの識別子とし、最上位ビットが１であれば「カウント信号」であると判断するようにしてもよい。
【００４３】
ステップＳ６０２では、ＣＰＵ２０２は、不揮発性メモリ２０４からカウント値２０５を取得する。カウント値２０５の初期値は、例えば「１１１１」（２進数）の最大値である。
【００４４】
次に、ステップＳ６０３では、ＣＰＵ２０２は、ステップＳ６０１で受信したカウント信号の値が、ステップＳ６０２で取得したカウント値２０５より小さいか否かをチェックする。具体的には、例えば１１００（１６進数）番地のカウント値２０５を読み込む命令を実行し、レジスタ同士を比較する命令を実行する。カウント値２０５の初期値は最大値であるので、初回は、カウント信号の値がカウント値２０５より小さくなる。通信装置２０２は、カウント信号の値がカウント値２０５より小さいときにはステップＳ６０４の処理に進み、カウント信号の値がカウント値２０５以上であるときにはステップＳ６０５の処理に進む。
【００４５】
ステップＳ６０４では、ＣＰＵ２０２は、不揮発性メモリ２０４内のカウント値２０５を、上記の受信したカウント信号の値に変更する。その後、通信装置１０１は、ステップＳ６０５の処理に進む。
【００４６】
ステップＳ６０５では、ＣＰＵ２０２は、上記の受信したカウント信号の値をインクリメントする。
【００４７】
次に、ステップＳ６０６では、無線通信部（カウント信号通信部）１１５は、ＣＰＵ２０２の指示により、上記のインクリメントしたカウント信号の値を無線送信する。具体的には、ＣＰＵ２０２は、無線通信部１１５の送信バッファに、カウント信号の値と、カウント信号であることを示す識別子を書き込み、送信する。以上で、通信装置１０１は、無線受信時動作ライブラリ２０８の処理を終了する。
【００４８】
ステップＳ６０７では、ＣＰＵ２０２は、上記の受信したセンシングデータ及びホップ数を取り込み、そのホップ数をインクリメントする。
【００４９】
次に、ステップＳ６０８では、無線通信部１１５は、図８に示すように、ＣＰＵ２０２の指示により、上記の受信したセンシングデータ８０１とインクリメントしたホップ数８０２を無線送信する。例えば、ＣＰＵ２０２は、センシングデータ及びホップ数を無線通信部１１５内の送信バッファに書き込み、送信する。上記の受信バッファと同様に、送信バッファにアドレスをマッピングしてもよいし、専用の書き込み命令を実行してもよい。これにより、マルチホップ通信が行われる。以上で、通信装置１０１は、無線受信時動作ライブラリ２０８の処理を終了する。
【００５０】
制御装置２０１がカウント信号を送信すると、通信装置１０１は、制御装置２０１から複数のパスを介して複数の他の通信装置１０１からカウント信号を受信することがある。その場合、通信装置１０１は、複数の他の通信装置１０１から複数のカウント信号を受信する。最初に受信したカウント信号の値は、ステップＳ６０４で、不揮発性メモリ２０４にカウント値２０５として書き込まれる。２回目以降に受信したカウント信号の値は、ステップＳ６０３で、不揮発性メモリ２０４内のカウント値２０５より小さいときのみ、不揮発性メモリ２０４にカウント値２０５として更新される。すなわち、通信装置１０１は、複数のカウント信号を受信した場合、複数のカウント信号の中で最も小さい値を、不揮発性メモリ２０４にカウント値２０５として書き込む。すなわち、通信装置１０１は、複数のカウント信号を受信したときには、複数のカウント信号のうちの制御装置２０１から最も短いパスで受信したカウント信号の値をカウント値２０５として記憶する。その結果、不揮発性メモリ２０４内のカウント値２０５は、制御装置２０１から自己の通信装置１０１までの最短パスを経由したカウント信号の値になる。
【００５１】
図７は、図５の通信装置１０１のＣＰＵ２０２がセンサ反応時動作ライブラリ２０９を実行することにより行う処理例を示すフローチャートである。通信装置１０１は、例えばセンサ２１２のセンシングデータの変化量が閾値以上になると、以下の処理を行う。
【００５２】
センサ反応時動作ライブラリ２０９は、センサ２１２が反応した際にＣＰＵ２０２により実行されるプログラムである。具体的には、センサ２１２は、環境中の特定の状態を検出すると、ＣＰＵ２０２に対して割込信号を発生させ、ＣＰＵ２０２の制御を割込ハンドラへ移行させる。割込ハンドラは、コンテキストを保存した上で、センサ反応時動作ライブラリ２０９を呼び出して実行する。
【００５３】
まず、ステップＳ７０１では、ＣＰＵ２０２は、不揮発性メモリ２０４内のカウント値２０５を取得する。不揮発性メモリ２０４内のカウント値２０５は、上記の図６の処理により、設定済みである。
【００５４】
次に、ステップＳ７０２では、ＣＰＵ２０２は、カウント値２０５が「０」であるときには第１の動作モードであるので処理を終了し、カウント値２０５が「１」であるときには第２の動作モードであるのでステップＳ７０３の処理に進み、カウント値２０５が「２」以上であるときには第３の動作モードであるのでステップＳ７０７の処理に進む。
【００５５】
第１の動作モードは、マルチホップ通信に専念する動作モードである。第２の動作モードは、マルチホップ通信を優先する動作モードである。第３の動作モードは、マルチホップ通信及びセンサ２１２のセンシングデータ送信の両方を行う動作モードである。
【００５６】
ステップＳ７０３では、ＣＰＵ２０２は、不揮発性メモリ２０４内のセンサ反応回数２０６を取得する。センサ反応回数２０６の初期値は、例えば「１」である。
【００５７】
次に、ステップＳ７０４では、ＣＰＵ２０２は、上記のセンサ反応回数２０６が不揮発性メモリ２０４内の閾値２０７以上であるか否かをチェックする。具体的には、ＣＰＵ２０２は、１２００（１６進数）番地のセンサ反応回数２０６及び１３００（１６進数）番地の閾値２０７の読出し命令を実行し、比較する。閾値２０７は、例えば「５」又は「１０」である。閾値２０７が「５」の場合、センサ反応回数２０６の初期値は「１」であるので、初回では、センサ反応回数２０６は閾値２０７より小さい。通信装置１０１は、センサ反応回数２０６が閾値２０７より小さいときには、ステップＳ７０５の処理に進み、センサ反応回数２０６が閾値２０７以上であるときには、ステップＳ７０６の処理に進む。
【００５８】
ステップＳ７０５では、ＣＰＵ２０２は、不揮発性メモリ２０４内のセンサ反応回数２０６をインクリメントし、処理を終了する。
【００５９】
ステップＳ７０６では、ＣＰＵ２０２は、不揮発性メモリ２０４内のセンサ反応回数２０６を「１」にリセットし、ステップＳ７０７の処理に進む。
【００６０】
ステップＳ７０７では、ＣＰＵ２０２は、センサ２１２のバッファからセンシングデータを取り込む。
【００６１】
次に、ステップＳ７０８では、無線通信部（データ通信部）１１５は、図８に示すように、ＣＰＵ２０２の指示により、上記のセンサ２１２のセンシングデータ８０１及び初期値「０」のホップ数８０２を無線送信する。具体的には、ＣＰＵ２０２は、センシングデータと、カウント信号でないことを示す識別子と、ホップ数とを無線通信部１１５の送信バッファに書き込み、送信する。以上で、通信装置１０１は、センサ反応時動作ライブラリ２０９の処理を終了する。
【００６２】
第２の動作モードにおいて、閾値２０７が例えば「５」の場合を説明する。ステップＳ７０４では、第１〜第４回目ではステップＳ７０５に進み、第５回目ではステップＳ７０６に進む。その結果、センサ反応の５回に１回の割合で、ステップＳ７０８で、センサ２１２のセンシングデータが送信される。これにより、センサ２１２により出力されたセンシングデータの送信回数を間引いて送信することができる。
【００６３】
以上のように、第１の動作モードでは、通信装置１０１は、センサ２１２により出力されたセンシングデータの送信（ステップＳ７０８）を行わずに、他の通信装置１０１から受信したセンシングデータの送信（ステップＳ６０８）を行う。
【００６４】
第２の動作モードでは、通信装置１０１は、センサ２１２により出力されたセンシングデータの送信（ステップＳ７０８）、及び他の通信装置１０１から受信したセンシングデータの送信（ステップＳ６０８）の両方を行い、その際、センサ２１２により出力されたセンシングデータの送信回数を間引いて送信する。
【００６５】
第３の動作モードでは、通信装置１０１は、センサ２１２により出力されたセンシングデータの送信（ステップＳ７０８）、及び他の通信装置１０１から受信したセンシングデータの送信（ステップＳ６０８）の両方を行い、その際、センサ２１２により出力されたセンシングデータの送信回数の間引きを行わない。
【００６６】
本実施形態によれば、複数の通信装置１０１の座標位置が未知であっても、制御装置２０１がカウント信号を送信することにより、各通信装置１０１にカウント値２０５が設定され、制御装置２０１から各通信装置１０１までのパス長を特定することができる。複数の通信装置１０１は、制御装置２０１に近い通信装置１０１ほど、センサ１１２により出力されたセンシングデータの送信回数が減り、負荷が軽減されるので、マルチホップ通信の渋滞を防止することができる。
【００６７】
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体及び上記のプログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００６８】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【産業上の利用可能性】
【００６９】
通信の渋滞を防止することができる。
【図１】
2014016885.tif 000003
【図２】
2014016885.tif 000004
【図３】
2014016885.tif 000005
【図４】
2014016885.tif 000006
【図５】
2014016885.tif 000007
【図６】
2014016885.tif 000008
【図７】
2014016885.tif 000009
【図８】
2014016885.tif 000010
【国際調査報告】
2014016885.tif 000011
2014016885.tif 000012