(A)主たる実施形態
以下、本発明による無線通信装置、無線通信プログラム、及び無線通信システムの一の実施形態を、図面を参照しながら詳述する。
(A−1)実施形態の構成
図2は、この実施形態の無線通信システム1の構成例について示したブロック図である。
無線通信システム1には、GW装置10、基地局20、及びN個のセンサユニット30(30−1〜30−N)が配置されている。
無線通信システム1では、基地局20及び各センサユニット30により、無線マルチホップネットワーク2が構成されている。
GW装置10は、基地局20と有線接続し、基地局20を経由して各センサユニット30(無線マルチホップネットワーク2上のノード)と通信する。一方、各センサユニット30は、無線マルチホップ通信により、基地局20を経由してGW装置10と通信する。以下では、無線通信システム1において、GW装置10から論理的に遠ざかる方向(ホップ数が多くなる方向)を下り方向と呼び、その逆の方向(GW装置10に論理的に近づく方向)を上り方向と呼ぶものとする。
無線マルチホップネットワーク2を構成する各ノードにおけるトポロジ(通信経路)の決定方法については限定されないものであるが、例えば、IEEE 802.15.4/ZigBee等と同様の方式を適用するようにしてもよい。例えば、無線通信システム1(無線マルチホップネットワーク2)では、定期的に特定パケット(例えば、Helloパケット)を伝搬させて、到達ノード情報(ブロードキャストパケットがホップしたノードの情報)の交換を行い、これらの情報をGW装置10で集約し、各センサユニット30への下り経路をGW装置10が算出して決定するようにしてもよい。そして、GW装置10は、決定した下り経路の情報を有線通信で基地局20に通知し、基地局20は無線通信にて、各センサユニット30に当該下り経路の情報を伝送(無線マルチホップ通信により伝送)する。すなわち、基地局20は、GW装置10から有線通信で通知された経路情報を無線通信にメディア変換する機能を担っている。そして、各センサユニット30は、GW装置10から基地局20経由で通知された下り経路の情報に基づいて、下り方向のパケットを転送する。また、各センサユニット30では、上り方向の経路について、下り方向の経路と逆の経路を適用するようにしてもよい。
以上のように、無線通信システム1では、GW装置10が、基地局20を介して、無線マルチホップネットワーク2を構成する各ノード(各センサユニット30等)と相互に通信し、各センサユニット30で取得されたセンサデータを収集する処理が行われる。
結果として、無線通信システム1では、通常時(障害等発生していない時)は、図2に示すように、下り方向の経路はセンサユニット30−1、30−2、…、30−Nの順序で直列な経路となり、上り方向の経路は下り方向と逆となるものとする。
また、無線通信システム1には、必要に応じて、オペレータ(例えば、保守担当者等)により使用(操作)される端末50と、端末50を無線マルチホップネットワーク2(各センサユニット30)にアクセス(参加)させるための通信装置40が配置される。通信装置40はオペレータにより任意の位置に配置される無線通信装置である。通信装置40は、配置された位置から直接無線通信可能なセンサユニット30と通信し、いずれかのセンサユニット30を経由して、無線マルチホップネットワーク2に参加する。
端末50の構成については限定されないものであるが、例えば、PCやワークステーション等の端末に、シリアルインタフェースを用いてキャラクターベースの入出力を行うソフトウェア(いわゆる、ターミナルソフト)をインストールしたものを適用することができる。
以下では、説明の便宜上、無線マルチホップネットワーク2を構成する基地局20、センサユニット30、及び通信装置40を総称してノードとも呼ぶものとする。
次に、GW装置10のハードウェア構成の例について図3を用いて説明する。
図3に示すように、この実施形態のGW装置10は、CPU11、RAM12、Flashメモリ13、有線LANインタフェース14、シリアルインタフェース15、及びUSBインタフェース16を有している。
CPU11は、プログラム(後述するFlashメモリ13に記録されたBOOT(OS)やアプリケーションプログラム等)を実行するものである。
RAM12は、CPU11がプログラムを実行する際に、当該プログラムや、当該プログラムを実行する過程で発生する各種データを一時的に保存するメモリである。
Flashメモリ13は、CPU11が実行するプログラム(例えば、BOOT(OS)やアプリケーションプログラム等)や、各種設定データが記録される不揮発メモリである。
有線LANインタフェース14は、各ノードの保守や導入時(テスト時)等に、端末等を接続するインタフェースである。
シリアルインタフェース15は、外部出力等を行う際に使用されるインタフェースである。
USBインタフェース16は、基地局20との接続(通信)に用いられるインタフェースである。
GW装置10において、適用されるインタフェースの種類や数は図3の例に限定されないものであり、種々のインタフェースを適用することができる。
次に、基地局20、センサユニット30、及び通信装置40のハードウェア構成について図4を用いて説明する。
この実施形態では、基地局20、センサユニット30、及び通信装置40は、すべて同じ構成であるものとして説明するが、各装置において、一部の構成(例えば、外部インタフェースの構成や、センサの有無等)を変更するようにしてもよい。言い換えると、無線通信システム1において、無線マルチホップネットワーク2に参加するノード(基地局20、センサユニット30、及び通信装置40)は、すべて同じ構成を備えるようにしてもよいし、一部の構成を変更するようにしてもよい。
図4に示すように、この実施形態において、無線マルチホップネットワーク2に参加する各ノード(基地局20、センサユニット30、及び通信装置40)は、CPU21、RAM22、Flashメモリ23、無線インタフェース24、シリアルインタフェース25、USBインタフェース26、及びセンサ27を有している。
CPU21は、プログラム(後述するFlashメモリ23に記録されたBOOT(OS)やアプリケーションプログラム等)を実行するものである。
RAM22は、CPU21がプログラムを実行する際に、当該プログラムや、当該プログラムを実行する過程で発生する各種データを一時的に保存するメモリである。
Flashメモリ23は、CPU21が実行するプログラム(例えば、BOOT(OS)やアプリケーションプログラム等)や、各種設定データが記録される不揮発メモリである。
この実施形態では、無線マルチホップネットワーク2に参加する各ノード(基地局20、センサユニット30、及び通信装置40)では、CPU21、RAM22、及びFlashメモリ23等により構成されるコンピュータ上で、プログラム(実施形態の通信プログラム)が実行される構成となっているものとする。なお、無線マルチホップネットワーク2に参加する各ノード上で、一部又は全部の処理をソフトウェアではなくハード的に実現(例えば、専用の半導体チップ等により構成)するようにしてもよい。
無線インタフェース24は、無線マルチホップネットワーク2に接続(参加)し、他のノード(基地局20、センサユニット30、通信装置40等)と無線通信するためのネットワークインタフェースである。
シリアルインタフェース25は、外部出力や、端末50を接続する際に用いられるインタフェースである。端末50は、通信装置40のシリアルインタフェース25を介して、通信装置40に接続する。そして、通信装置40は、端末50から入力される種々のコマンドに応じた動作(例えば、他のセンサユニット30に対するコマンドの送信処理等)を行う。シリアルインタフェース25としては、例えば、RS−232C等のシリアルインタフェースを適用することができる。
USBインタフェース16は、他のノードと有線接続する際に用いられるインタフェースである。この実施形態では、USBインタフェース16は、基地局20において、GW装置10と接続するためにのみ用いられるものとする。したがって、この実施形態において、センサユニット30及び通信装置40から、USBインタフェース16については除外するようにしてもよい。
センサ27は、環境センサ(例えば、温度センサ、湿度センサ、加速度センサ等)等の種々のセンサである。センサ27は、検知結果に基づくセンサデータを取得し、CPU21に供給する。図4では、センサユニット30自体にセンサ27が内蔵された構成として図示しているが、センサユニット30にセンサを外部接続(例えば、シリアルインタフェース25やUSBインタフェース26等を用いて外部接続)した構成としてもよい。また、基地局20及び通信装置40では、センサ27は用いられないため除外した構成としてもよい。
次に、無線マルチホップネットワーク2上のノード(基地局20、センサユニット30、及び通信装置40)の機能的な構成について図1を用いて説明する。
図1では、各ノード(基地局20、センサユニット30、及び通信装置40)上のコンピュータで各プログラム(実施形態の通信プログラムを含む)が実行された場合の機能的構成(ソフトウェア的な構成)の例について示している。
図1に示すように、各ノード(基地局20、センサユニット30、及び通信装置40)は、機能的には、通信制御部101、通信設定管理テーブル102、及びリトライ回数設定テーブル103を有している。
通信制御部101は、無線インタフェース24を用いた無線通信処理(例えば、無線通信によるパケット送受信処理等)や、オペレータの操作(例えば、シリアルインタフェース25等により接続された端末50から供給される信号)に応じた他のノードへの種々のコマンドの送信を行う。また、通信制御部101は、送信したコマンドに対する応答内容を他のノードから受信し、その応答内容について、シリアルインタフェース25に接続された端末50に出力する処理を行う。通信制御部101がシリアルインタフェース25を介して、端末50に入出力する処理や、コマンド単体の処理内容については、種々のセンサユニット(センサノード)と同様の内容を適用することができるため詳しい説明を省略する。通信制御部101が送信及び実行するコマンドの具体的な内容は限定されないものであるが、例えば、センサ27のデータ取得のコマンドや保守用のコマンド(例えば、自己診断機能のコマンド等)等種々のセンサノードと同様のコマンドを適用することができる。
また、無線マルチホップネットワーク2において、新たに設置されたノードの通信制御部101は、周辺のノードと接続する際に、通信品質を検査するためのパケット(以下、「通信品質検査パケット」と呼ぶ)をブロードキャストで、所定回数連続で送信する処理を行う。以下では、通信制御部101が通信品質検査パケットを連続して送信する回数を、「連続送信回数K」と呼ぶものとする。以下では、各ノードにおいて、通信品質検査パケットの連続送信回数Kは10(K=10)に設定されているものとして説明する。
通信制御部101が、通信品質検査パケットの送信を開始する契機は限定されないものであるが、例えば、通信制御部101は、端末50から供給されたコマンド(オペレータの操作)に応じて通信品質検査パケットの送信を開始するようにしてもよいし、通信制御部101が周辺に新たなノードを検知した際(例えば、新たなノードからHelloパケットを受信した場合)に通信品質検査パケットの送信を開始するようにしてもよい。
そして、通信品質検査パケットを受信したノードの通信制御部101は、通信品質検査パケットの受信回数をカウントする。例えば、通信品質検査パケットを受信したノードの通信制御部101は、最初に通信品質検査パケットを受信してから所定期間を経過するまでに受信した通信品質検査パケットの受信回数(最初に受信した通信品質検査パケットも含む受信回数)をカウント(例えば、RAM12上にカウンタを登録してカウント)し、カウントした受信回数(通信品質検査パケットの受信回数)をセットしたパケット(以下、「検査結果応答パケット」と呼ぶ)を、通信品質検査パケットの送信元のノードに送信する。検査結果応答パケットは、通信品質検査パケットの送信元のノードを宛先とするユニキャストのパケットとしてもよいし、ブロードキャストのパケットでもよい。
そして、通信品質検査パケットを送信後、検査結果応答パケットの返答を受けたノードの通信制御部101は、当該検査結果応答パケットにセットされた通信品質検査パケットの受信回数に基づいて、当該検査結果応答パケットの送信元のノードに対してコマンドを送信する際に連続して送信する回数(以下、「リトライ回数R」と呼ぶ)を決定する。検査結果応答パケットの返答を受けたノードの通信制御部101では、検査結果応答パケットにセットされた通信品質検査パケットの受信回数が多いほど、自ノードと、当該検査結果応答パケットの送信元のノードとの間の通信品質が高いと判断できる。したがって、検査結果応答パケットの返答を受けたノードの通信制御部101では、検査結果応答パケットにセットされた通信品質検査パケットの受信回数が多いほど、リトライ回数Rを少なく設定し、検査結果応答パケットにセットされた通信品質検査パケットの受信回数が少ないほど、リトライ回数Rを多く設定する。
ただし、検査結果応答パケットの返答を受けたノードの通信制御部101では、検査結果応答パケットにセットされた通信品質検査パケットの受信回数が所定回数(閾値)よりも少ない場合(例えば、受信回数がK/2以下の場合)、当該検査結果応答パケットの送信元のノードへのコマンドの送信を行わないように制御してもよい。これにより、各ノードによる無駄なパケット送信を削減することができる。
一方、通信品質検査パケットを受信したノードの通信制御部101も、通信品質検査パケットの受信回数に基づいて、当該通信品質検査パケットの送信元のノードに対応するリトライ回数Rを決定する。
この実施形態の通信制御部101では、通信品質検査パケットの受信回数ごとに対応するリトライ回数Rを定義したリトライ回数設定テーブル103を用いて、直接無線通信可能な各ノードに対応するリトライ回数Rを決定する。
図5は、リトライ回数設定テーブル103の構成例について示した説明図である。
図5に示すリトライ回数設定テーブル103では、通信品質検査パケットの受信回数ごとに対応するリトライ回数Rが定義されている。
図5では、K=10とし、受信回数が10回及び9回の場合のリトライ回数Rを1、受信回数が8回及び7回の場合のリトライ回数Rを2、受信回数が6回の場合のリトライ回数Rを3、受信回数が5回以下の場合のリトライ回数Rを0(コマンドを送信しない)と定義している。なお、図5では、受信回数が5回以下の場合のリトライ回数Rを0(コマンドを送信しない)と設定しているが、受信回数5回以下についても、受信回数が少ないほどリトライ回数Rを大きくするように設定してもよい。
そして、この実施形態の通信制御部101では、ノードごとに決定したリトライ回数Rについて、通信設定管理テーブル102を用いて管理(記憶)する。
図6は、通信設定管理テーブル102の構成例について示した説明図である。
図6に示す通信設定管理テーブル102では、自ノードと直接無線通信可能なノードごとに、ノード識別子(例えば、当該ノードに付与されたIDやアドレス等)、受信回数(通信品質検査パケットの受信回数)、及びリトライ回数R(当該ノードについて決定したリトライ回数R)が登録されている。この実施形態の例では、センサユニット30−1〜30−Nのノード識別子をそれぞれ1〜Nとし、通信装置40のノード識別子をMとし、基地局20のノード識別子を0とする。
そして、各ノードの通信制御部101は、他のノードにコマンド等を送信する際に、通信設定管理テーブル102に登録されたリトライ回数Rの回数連続して送信する処理を行う。
各ノードにおいて、通信設定管理テーブル102は、RAM22上で保持するようにしてもよい。また、各ノードにおいて、リトライ回数設定テーブル103は、Flashメモリ23からRAM22上に読み込み、CPU21(通信制御部101)で利用するようにしてもよい。
通信制御部101は、端末50等から指示されたコマンド(オペレータの操作に応じたコマンド)の内容を示すデータ(例えば、コマンド名や、当該コマンドのオプション等が記述された制御信号)が挿入されたパケット(以下、「コマンドパケット」と呼ぶ)を送信する。通信制御部101は、ブロードキャスト又はユニキャストでコマンドパケットを送信する。通信制御部101は、ユニキャストでコマンドパケットを送信する際には、当該コマンド入力の際に指示された宛先(例えば、オペレータの操作に応じた宛先のノードID)をコマンドパケットに設定して送信する。
通信制御部101は、ブロードキャストでコマンドパケットを送信する場合には、所定回数(以下、「連続送信回数L」と呼ぶ)連続して送信するものとする。連続送信回数Lは、例えば、5回としてもよい。また、通信制御部101は、ユニキャストでコマンドパケットを送信する場合には、通信設定管理テーブル102を参照して、当該コマンドパケットの宛先に対応するリトライ回数Rを取得し、取得した回数分当該コマンドパケットを送信する処理を行う。コマンドパケットの送信方式がユニキャストであるかブロードキャストであるかを決定する方式は限定されないものである。例えば、通信制御部101は、コマンドパケットに設定されるコマンドの種類(コマンド名)や、ユーザの設定(例えば、当該コマンドに設定されたオプション)に応じて、コマンドパケットの送信方式(ユニキャスト又はブロードキャスト)を決定するようにしてもよい。
また、通信制御部101は、他のノードからコマンドパケットを受信して、当該コマンドパケットに設定されたコマンドを実行する処理を行う。そして、通信制御部101は、コマンド実行した後、当該コマンドを実行した結果等を応答するコマンドのコマンドパケットを生成し、受信したコマンドパケットの送信元等に応答送信する処理も行う。このとき、通信制御部101は、応答のコマンドパケットについても同様に、ブロードキャストのコマンドパケットについては連続送信回数Lの回数連続して送信し、ユニキャストのコマンドパケットについては送信先のリトライ回数Rの回数連続して送信する。
通信制御部101は、応答コマンドのコマンドパケットを受信した場合には、その応答コマンドの内容を出力(例えば、シリアルインタフェース25を介して端末50に出力してオペレータに提示)する。
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の無線通信システム1の動作を説明する。
この実施形態では、無線通信システム1を構成する無線マルチホップネットワーク2では、IEEE 802.15.4/ZigBeeで定義されるマルチホップ環境と同様に、定期的に各ノード間で通信される情報を元に、GW装置10が、無線マルチホップネットワーク2の各ノードからの上りの通信経路を決定する。また、無線マルチホップネットワーク2の各ノードでは、センサデータが発生した場合(例えば、姿勢変化等を検知した場合)、GW装置10に向けて決められた上りの通信経路を利用しセンサデータを通知する。通知経路情報はGW装置10、および無線マルチホップネットワーク2の各ノードで管理しており、Helloパケット等で通信経路を構築していくことになる。
これにより、無線マルチホップネットワーク2では、図2に示すようにセンサユニット30−1〜30−Nが直列に無線接続された状態となったものとする。
そして、その後、図7に示すように、センサユニット30−3が、基地局20が管理する無線マルチホップネットワーク2から離脱した場合を想定する。
そして、図7の状態で、オペレータにより、基地局20から通信できないノード(センサユニット30−3〜30−N)に対する制御(例えば、コマンドを用いた制御)を行う必要性(例えば、センサユニット30−3に対する保守作業等)が生じたものとする。
その後、図8に示すように、オペレータにより、センサユニット30−2、30−3と直接無線通信可能な範囲に、通信装置40が設置されたものとする。また、図8に示すように、通信装置40には端末50が接続されている。
このとき、新たに無線マルチホップネットワーク2に追加されたノードである通信装置40では、端末50から供給されたコマンドに応じて、図8に示すように、通信品質検査パケットを連続送信回数K(ここでは、K=10)の回数分連続でブロードキャスト送信する。ここでは、通信装置40から送出された通信品質検査パケットは、2つのセンサユニット30−2、30−3で受信されたものとする。
そして、通信装置40から通信品質検査パケットを受信したノードであるセンサユニット30−2、30−3は、それぞれ、図9に示すように、通信品質検査パケットの受信回数をカウント(最初に通信品質検査パケットを受信してから所定の一定時間カウント)し、カウントした受信回数(検査結果)を挿入した検査結果応答パケットを通信装置40に返送する。
また、通信装置40から通信品質検査パケットを受信したノードであるセンサユニット30−2、30−3では、カウントした受信回数(検査結果)に基づいて、通信装置40に対するリトライ回数Rを決定して、リトライ回数設定テーブル103に登録する処理を行う。
さらに、2つのセンサユニット30−2、30−3から、検査結果応答パケットを受信した通信装置40では、センサユニット30−2、30−3のそれぞれに対してリトライ回数Rを決定(受信した検査結果応答パケットから取得した受信回数に基づいてリトライ回数Rを決定)して、リトライ回数設定テーブル103に登録する。
このときの、通信装置40の動作(通信品質検査パケットを送信するノード)は、例えば図10のフローチャートのような動作となる。また、このとき、通信装置40から通信品質検査パケットを受信したノード(図8の例では、センサユニット30−2、30−3)の動作は、例えば、図11のフローチャートのような動作となる。
まず、図10のフローチャートを用いて、通信装置40の動作(通信品質検査パケットを送信するノード)の動作について説明する。
図10では、連続送信回数Kを10回(K=10)としている。
通信装置40は、まず、ブロードキャストで通信品質検査パケットを10回連続して送信する(S101)。
そして、通信装置40は、通信品質検査パケットの送信終了後に、一定期間を限度として通信品質検査パケットに対して応答する検査結果応答パケットの受信を確認する(S102)。通信装置40は、一定期間内に検査結果応答パケットを受信した場合には、後述するステップS103に進み、一定期間内に検査結果応答パケットを受信しなかった場合には処理を終了する。
一定期間内に検査結果応答パケットを受信した場合、通信装置40は、データを通信設定管理テーブル102に、受信した検査結果応答パケットの送信元のノードIDの追加し、当該検査結果応答パケットに挿入された受信回数を登録(当該ノードIDについて既に通信設定管理テーブル102に登録されている場合には受信回数のみ更新)する(S103)。
次に、通信装置40は、受信した検査結果応答パケットの送信元のノードごとに、リトライ回数設定テーブル103を参照して、受信回数に対応するリトライ回数Rを決定して、通信設定管理テーブル102に登録し、処理を終了する。
次に、図11のフローチャートを用いて、通信装置40から通信品質検査パケットを受信したノードの動作について説明する。以下では、通信品質検査パケットを受信した各ノードの動作は同様であるが、以下ではこれらのノードを代表して、センサユニット30−3が検査結果応答パケットを受信した場合の動作について説明する。
まず、センサユニット30−3が、通信装置40から通信品質検査パケットを受信開始し、所定の最大待ち時間の間に通信品質検査パケットを受信した回数を記憶する(S201)。
次に、センサユニット30−3は、通信品質検査パケットの受信回数が閾値(この実施形態では5回)を超えているか否かを確認し(S202)、受信回数が閾値以下である場合は処理を終了し、受信回数が閾値を超えている場合は、後述するステップS203に移行する。
通信品質検査パケットの受信回数が閾値を超えていた場合、センサユニット30−3は、データを通信設定管理テーブル102に、受信した通信品質検査パケットの送信元のノードID(通信装置40のノードID)を追加し、カウントした受信回数を登録(通信装置40のノードIDについて既に通信設定管理テーブル102に登録されている場合には受信回数のみ更新)する(S203)。
次に、センサユニット30−3は、リトライ回数設定テーブル103を参照して、カウントした受信回数に対応するリトライ回数Rを取得し、通信品質検査パケットの送信元(ここでは、通信装置40)のノードIDに対応するリトライ回数Rとしてリトライ回数設定テーブル103に登録する(S204)。
次に、センサユニット30−3は、通信品質検査パケットの送信元(ここでは、通信装置40)を宛先とし、カウントした受信回数を挿入した検査結果応答パケットを生成して送信し(S205)、処理を終了する。このとき、センサユニット30−3は、通信設定管理テーブル102に登録されている通信装置40に対応するリトライ回数Rの回数連続して検査結果応答パケットを送信する。
以上のように、通信装置40が無線マルチホップネットワーク2に参加し、各ノード(通信装置40、センサユニット30−2、30−3)で、通信設定管理テーブル102が更新されて、相互にコマンド送信する際のリトライ回数Rが決定されたものとする。
そしてその後、通信装置40が、端末50から指示されたコマンド(オペレータの操作に応じたコマンド)のコマンドパケットを送信する処理を行ったものとする。例えば、通信装置40が、センサユニット30−3にコマンドパケットをユニキャストで送信(リトライ回数Rの回数分連続して送信)した場合、センサユニット30−3は当該コマンドパケットについて受信して当該コマンドを実行することになる。そして、センサユニット30−3は、当該コマンド実行に伴って応答する内容が有る場合、応答コマンドのコマンドパケットを生成して、送信元であるセンサユニット30−3に送信(リトライ回数Rの回数分連続して送信)することになる。そして、通信装置40は、応答コマンドのコマンドパケットを受信し、その応答コマンドの内容を、端末50に出力してオペレータに提示(表示出力)する。
このときの、通信装置40やセンサユニット30−3がコマンドパケット(応答コマンドのコマンドパケットを含む)を送信する際の動作は、例えば、図12のフローチャートのような内容となる。
次に、図12のフローチャートを用いて、通信装置40やセンサユニット30−3がコマンドパケット(応答コマンドのコマンドパケットを含む)を送信する際の処理について説明する。以下では、図12を用いて、通信装置40が端末50からの指示(オペレータの操作)に応じてコマンドパケット送信を行う際の動作について説明するが、センサユニット30−3が応答コマンドのコマンドパケットを送信する際の動作も同様であるため詳細な説明を省略する。
まず、通信装置40は、端末50からの指示(オペレータの操作)に応じたコマンドのコマンドパケットを生成し、当該コマンドパケットの送信方式がブロードキャストであるかユニキャストであるかを確認する(S301)。
送信しようとするコマンドパケットの送信方式がブロードキャストであった場合、通信装置40は、当該コマンドパケットをブロードキャストで連続送信回数Lの回数連続して送信して(S302)、処理を終了する。
一方、送信しようとするコマンドパケットの送信方式がユニキャストであった場合、通信装置40は、通信設定管理テーブル102を参照して、当該コマンドパケットの宛先のリトライ回数Rを取得して、当該コマンドパケットをユニキャストでリトライ回数Rの回数連続して送信して(S303)、処理を終了する。
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
無線通信システム1の無線マルチホップネットワーク2では、図2、図8、図9に示すように、通信装置40を、基地局20やGW装置10等の親機を介さずに、直接センサユニット30に接続させることで、保守性(利便性)が向上する。
また、この実施形態の通信装置40等のノード(無線通信装置)では、通信品質検査パケットを送信して検査結果応答パケットを受信しリトライ回数Rを決定する処理を行う。さらに、この実施形態の各センサユニット30等のノード(無線通信装置)では、通信品質検査パケットを受信して受信回数をカウントし、受信回数に基づいてリトライ回数Rを決定し、検査結果応答パケットを返答する処理を行う。これにより、無線通信システム1では、通信装置40が追加接続した場合でもでも、電波干渉によるパケット紛失等を防止し、リトライ処理(例えば、コマンドパケットの再送処理)の低減や、再送制御のシーケンス実行に伴うレスポンス時間の削減等の効果を奏することができる。言い換えると、無線通信システム1では、通信装置40を追加接続した場合でも、通信装置40及び通信装置40に対抗するセンサユニット30に適用な通信設定を容易に行うことができる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B−1)上記の実施形態では、いずれかのセンサユニット30(子機)が、無線マルチホップネットワーク2から離脱した場合に各種制御を行った例を示したが、センサユニット30(子機)が無線マルチホップネットワーク2から離脱していなくても、端末50では、通信装置40を介して各センサユニット30に各種制御(コマンド送信)を行うことができる。
(B−2)上記の実施形態では、通信装置40とセンサユニット30で通信制御部101の処理内容(動作)は同じである旨を説明したが、異なる内容としてもよい。例えば、通信装置40の通信制御部101が、上述の図10に示す処理(通信品質検査パケットを送信して検査結果応答パケットを受信しリトライ回数Rを決定する処理)に対応し、上述の図11に示す処理(通信品質検査パケットを受信して受信回数をカウントし、受信回数に基づいてリトライ回数Rを決定し、検査結果応答パケットを返答する処理)に対応しない構成としてもよい。また、各センサユニット30の通信制御部101についても、上述の図11に示す処理(通信品質検査パケットを受信して受信回数をカウントし、受信回数に基づいてリトライ回数Rを決定し、検査結果応答パケットを返答する処理)に対応し、上述の図10に示す処理(通信品質検査パケットを送信して検査結果応答パケットを受信しリトライ回数Rを決定する処理)に対応しない構成としてもよい。すなわち本発明の無線通信システム1(無線マルチホップネットワーク2)は、上述の図10に示す処理に対応し上述の図11の処理に対応しない第1の無線通信装置と、上述の図11に示す処理に対応し上述の図10に示す処理に対応しない第2の無線通信装置を有するようにしてもよい。