以下、図面を用いて実施形態を説明する。
図1は、無線通信システム、無線通信装置および無線通信システムの制御方法の一実施形態を示す。図1に示す無線通信システムSYS1は、親機Pと、果樹園等の農園PLに間隔を置いて配置され、親機Pと非同期に動作し、親機Pとの間で相互に無線通信する複数の子機C(C1、C2、C3、C4)とを有する。子機Cの数は、4つに限定されない。例えば、親機Pは、常時供給される電源により動作し、子機Cは、内蔵するバッテリーにより動作する。親機Pは、第1の無線通信装置の一例であり、子機Cは、第2の無線通信装置の一例である。
例えば、無線通信システムSYS1は、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)方式を用いて、親機Pと子機Cとの間で無線通信を実行する。なお、子機Cは、農園PL以外の場所に設置されてもよい。例えば、子機Cは、人が往来する場所に設置され、往来する人の服装、体温または身長等の情報を測定してもよい。あるいは、子機Cは、車が往来する場所に設置され、往来する車の種別、色またはスピード等の情報を測定してもよい。
子機Cは、温度、湿度、土壌のpH(potential hydrogen)または日照時間等の農園PLの環境の情報を測定するセンサSNSを有し、センサSNSが測定した値(測定データ)を所定の周期で親機Pに送信する。親機Pは、子機Cから送信される測定データを収集し、収集した情報を表示装置またはプリンタ等の出力装置に出力する。
図2は、図1に示す子機C(C1、C2、C3、C4)の例を示す。各子機Cは、プロセッサ100、無線チップ110、アンテナ120およびセンサSNSを有する。プロセッサ100は、CPU(Central Processing Unit)コア等のコア部10、無線インタフェース(I/F)20、センサインタフェース(I/F)30、メモリ40およびタイマ50を有する。コア部10は、メモリ40に格納されたプログラムを実行することで、受信処理部12(RX)、送信処理部14(TX)および起動時刻調整部16としての機能を実現する。なお、受信処理部12、送信処理部14および起動時刻調整部16は、ハードウェアにより実現されてもよい。
メモリ40は、例えば、フラッシュメモリ等の書き替え可能な不揮発性メモリであり、コア部10が実行するプログラムと、親機Pとの間での情報の送受信に使用する各種パラメータとが格納される。なお、プロセッサ100は、送信データおよび受信データを保持するSRAM(Static Random Access Memory)等のメモリを有してもよい。
タイマ50は、コア部10が実行するプログラムにより設定された時間後に割り込み処理を起動する。例えば、コア部10は、スリープ(終了)する前に、次に起床(起動)するまでの時間をタイマ50に設定する。タイマ50は、設定された時間の経過後に割り込み処理を起動し、コア部10を起床させる。これにより、子機Cは、所定の周期での起床が可能になる。
無線チップ110は、例えば、無線インタフェース20から出力されるデータ(パケット)を変調してアンテナ120に出力し、アンテナ120を介して入力される無線信号を復調して無線インタフェース20に出力する。無線インタフェース20は、例えば、送信処理部14から出力されるデータを符号化して無線チップ110に出力し、無線チップ110から出力される信号を復号して受信処理部12に出力する。センサインタフェース30は、センサSNSが測定した測定データを受信してコア部10に出力する。
コア部10は、タイマ50による割り込み処理で起床(起動)した後、センサインタフェース30を介して、センサSNSが測定した温度等の環境の情報の測定データを得る。次に、コア部10は、図1に示す親機Pからの報知(ブロードキャスト)パケットを待ち、報知パケットの受信に基づいて、キャリアセンスを実行する。コア部10は、キャリアセンスに基づいて信号の衝突がないと判定した場合、すなわち、親機Pと子機Cとの間の通信チャネルが空いている場合、センサSNSが測定した測定データを親機Pに送信する。そして、コア部10は、次に起床するまでの時間をタイマ50に設定した後、スリープする。プロセッサ100は、スリープ期間にタイマ50とタイマ50により起動される割り込み処理回路とを除いて動作を停止するため、スリープしない場合に比べて消費電力が削減される。
コア部10の受信処理部12は、親機Pからの報知パケットおよび応答パケットを、アンテナ120、無線チップ110および無線インタフェース20を介して受信する。報知パケットは、データの受信待ちの開始を示す報知情報の一例である。
コア部10の送信処理部14は、センサSNSにより測定された測定データを、センサインタフェース30を介して受信し、受信した測定データを無線インタフェース20、無線チップ110およびアンテナ120を介して親機Pに送信する。
起動時刻調整部16は、タイマ50の設定値を変更することで、コア部10がスリープから解除される時刻(すなわち、起動時刻)を調整する。起動時刻の調整により、図5および図7で説明されるように、受信処理部12が報知パケットの受信待ちを開始してから測定データを親機Pに送信するまでの時間を、自律的に短縮することができる。子機Cが起動している時間が短縮されるため、子機Cの消費電力を自律的に削減することができる。
図3は、図1に示す親機Pの例を示す。親機Pは、プロセッサ200、無線チップ210、アンテナ220および入出力インタフェース(I/F)230を有する。プロセッサ200は、CPUコア等のコア部60、無線インタフェース(I/F)70、メモリ80およびタイマ90を有する。コア部60は、メモリ80に格納されたプログラムを実行することで、受信処理部62(RX)および送信処理部64(TX)としての機能を実現する。メモリ80は、例えば、フラッシュメモリ等の書き替え可能な不揮発性メモリであり、コア部60が実行するプログラムと、子機Cとの間での情報の送受信に使用する各種パラメータとが格納されている。タイマ90は、コア部60が実行するプログラムにより設定された時間後に割り込み処理を起動する。例えば、タイマ90は、親機Pの起動周期の設定に使用される。なお、親機Pは、スリープすることなく起動され続けてもよく、この場合、タイマ90は、親機Pが子機Cに送信する報知パケットの送信間隔の設定に使用される。
無線チップ210は、例えば、無線インタフェース70から出力される信号(パケット)を変調してアンテナ220に出力し、アンテナ220を介して入力される無線信号を復調して無線インタフェース70に出力する。無線インタフェース70は、例えば、送信処理部64から出力される信号を符号化して無線チップ210に出力し、無線チップ210から出力される信号を復号して受信処理部62に出力する。
入出力インタフェース230は、子機Cから受信した測定データを、外部の記憶装置に格納し、あるいは、表示装置またはプリンタ等の出力装置に出力する。
コア部60は、タイマ90による割り込み処理で起動(起床)した後、報知パケットを生成し、生成した報知パケットを送信処理部64に出力させる。コア部60は、報知パケットの送信後、受信処理部62が子機Cからのパケットを受信したことに基づいて、応答パケットを送信処理部64に出力させる。そして、コア部60は、次に起床するまでの時間をタイマ90に設定した後、スリープする。プロセッサ200は、スリープ期間にタイマ90とタイマ90により起動される割り込み処理回路とを除いて動作を停止するため、スリープしない場合に比べて消費電力が削減される。
図4は、図1に示す無線通信システムSYS1の動作の例を示す。図4では、親機Pの送信処理部64および子機Cの送信処理部14の動作は、符号”TX”で示され、親機Pの受信処理部62および子機Cの受信処理部12の動作は、符号”RX”で示される。送信処理部TXから送信されるパケットは、凸形状の網掛けの図形で示され、受信処理部RXの動作期間は、太い実線で示される。親機Pおよび子機Cのそれぞれがアクティブ状態ACTに設定される期間は、両端に矢尻が付いた横線で示される。親機Pがアクティブ状態ACTに設定される期間は、コア部60が起動している期間(非スリープ期間)を示し、子機Cがアクティブ状態ACTに設定される期間は、コア部10が起動している期間(非スリープ期間)を示す。
まず、親機Pは、スリープから解除された後、報知パケットBCを全ての子機Cに向けて送信する(図4(a))。子機C1−C4のそれぞれは、親機Pと非同期で動作しているため、子機C1−C4の起動時刻は、親機Pの起動時刻とずれている。子機C1−C4の起動時刻は、子機C1−C4間でも互いにずれている。各子機C1−C4は、起床後にセンサSNSを動作させて温度等の環境の情報を測定させる。図4に示す”SNS”は、センサSNSが環境の情報を測定することを示す。
図4に示す例では、子機C1は、所定の周期で起動され(スリープの解除)、キャリアセンスに基づいて、センサSNSが測定した測定データをパケットTRSとして親機Pに送信する(図4(b))。親機Pは、子機C1からのパケットTRSを受信した後に応答パケットACKを送信する。子機C1は、応答パケットACKの受信に基づいて、受信処理部RXの動作を完了し、次に起床するまでの時間をタイマ50に設定した後、コア部10をスリープさせる。すなわち、アクティブ状態ACTが完了し、子機C1は、低電力モードになる(図4(c))。例えば、コア部10の起動時刻調整部16は、タイマ50に設定する時間を、子機C1の起動周期から子機C1が起動していた時間を引くことで求める。なお、起動時刻調整部16は、常に動作を続けるリアルタイムカウンタを利用して、今回起動した時刻(すなわち、前回設定した起動時刻)に子機C1の起動周期を加えることで次回の起動時刻を求めてもよい。例えば、リアルタイムカウンタは、各子機Cのプロセッサ100に搭載される。
同様に、子機C2、C3は、キャリアセンスに基づいて、センサSNSが測定した測定データをパケットTRSとして親機Pに順次に送信する(図4(d)、(e))。親機Pは、子機C3からのパケットTRSを受信した後、アクティブ状態ACTの期間が経過したため、コア部60をスリープさせる(図4(f))。
子機C4は、親機Pがスリープした後に、キャリアセンスに基づいて、センサSNSが測定した測定データをパケットTRSとして親機Pに送信する(図4(g))。しかしながら、親機Pはスリープしており、パケットTRSが親機Pに受信されないため、子機C4は、パケットTRSを繰り返し送信する。そして、子機C4が送信するパケットTRSは、親機Pがスリープから解除された後に親機Pに受信される(図4(h))。
子機C4は、パケットTRSの送信を完了するまでの期間、アクティブ状態ACTに維持される。子機C4がアクティブ状態ACTである期間は、親機Pの受信周期よりも長く、子機C4の消費電力は、子機C1−C3の消費電力に比べて大きい。
符号”T1”は、各子機C1−C4が報知パケットBCを受信してから所定の時間を示している。各子機C1−C4の起動時刻調整部16は、報知パケットBCの受信からパケットTRSの送信の完了までの時間である送信遅延時間が、時間T1以上の場合、起動時刻を後ろにずらす検討を実行する。この例では、子機C3、C4が起動時刻を後ろにずらす検討を実行する。例えば、各子機C1−C4は、パケットTRSの送信の完了を、親機Pからの応答パケットACKの受信に基づいて判定する。起動時刻を後ろにずらす検討は、図10に示すステップS310の調整判定に基づいて実行される。
図5は、図4に示す状態から所定時間が経過した後の無線通信システムSYS1の動作の例を示す。図5では、図4において期間T1以内にパケットTRSの送信が完了しなかった子機C3、C4の起動時刻が、起動時刻調整部16によりずらされる(図5(a)、(b))。例えば、白枠の矢印で示す起動時刻のずれ量は、親機Pの報知パケットBCの生成周期のn倍(nは1以上の整数)に等しい。なお、報知パケットBCの生成周期は、親機Pの受信周期(受信間隔)であるスロットに等しい。なお、子機C3、C4は、互いに自律的に起動時刻の調整処理を実行するため、子機C3、C4の起動時刻がずれるタイミングは、互いに異なる。
起動時刻がずれることで、子機C3、C4のアクティブ状態ACTの期間は、図4に比べて短縮するため、子機C3、C4の消費電力を、図4に比べて小さくすることができる。なお、図5では、子機C3、C4の起動時刻は、1スロット後ろにずれているが、起動時刻のずれ量は、子機C3、C4の起動周期以内であれば、2スロット以上でもよい。また、子機C3、C4の起動時刻のずれ量(スロット数)は、互いに相違してもよい。
図5では、子機C3、C4は、起動時刻をずらすかどうかの判断を親機Pに問い合わせることなく、自律的に起動時刻をずらす。これにより、問い合わせのための通信量を削減できるため、通信効率を向上することができる。また、起動時刻をずらす処理が、問い合わせにより遅れることを抑止することができる。
図6は、図1に示す無線通信システムSYS1の動作の別の例を示す。図4および図5と同様の動作については、同じ符号を付し、詳細な説明は省略する。例えば、図6では、親機Pは、アクティブ状態ACTの期間に、子機C1−C4のいずれか2つからパケットTRSを受信可能であるが、子機C1−C4のいずれかからパケットTRSを受信する。親機Pの送信処理部TXから送信される報知パケットBC、応答パケットACKおよび子機C1−C4の送信処理部TXから送信されるパケットTRSは、上向きの矢印で示される。
子機C1−C4のそれぞれにおける起動周期は、親機Pの報知パケットBCの生成周期の4つ分である。ここで、親機Pの報知パケットBCの生成周期は、親機Pの受信周期(受信処理部12の動作周期)であるスロットに等しい。
図6に示す例では、起動時刻を後ろにずらす検討の判断基準である時間T1は、1スロットに設定される。すなわち、各子機C1−C4は、報知パケットBCの受信からパケットTRSの送信までの時間が1スロット以上の場合に、起動時刻を後ろにずらす検討を実行する。起動時刻を後ろにずらす検討は、図10に示すステップS310の調整判定に基づいて実行される。なお、各子機C1−C4は、スリープの解除(コア部10の起動)からスリープ(コア部10の終了)までの時間が1スロット以上の場合に、起動時刻を後ろにずらす検討を実行してもよい。すなわち、図2に示す起動時刻調整部16は、コア部10の起動から終了までの時間の長さに基づいて、起動時刻を調整してもよい。
図6は、図4と同様に、子機C1−C4のそれぞれは、親機Pと非同期で動作しているため、起動時刻は、子機C1−C4間で互いにずれている。図6に示す例では、報知パケットBCの受信から時間T1以内にパケットTRSの親機Pへの送信が完了しない子機C1、C2、C4の起動時刻調整部16は、起動時刻を後ろへずらす検討を実行する。
図7は、図6に示す状態から所定時間が経過した後の無線通信システムSYS1の動作の例を示す。図7では、図5と同様に、白枠の矢印で示すように、子機C1、C2、C4の起動時刻調整部16は、起動時刻を後ろへずらす処理を実行する。例えば、子機C1では、起動時刻は2スロットずらされ、子機C2では、起動時刻は1スロットずらされ、子機C4では、起動時刻は、3スロットずらされる。起動時刻のずれ量を、子機C1、C2、C4毎に相違させることで、子機C1、C2、C4から送信されるパケットTRSの送信タイミングが互いにずれるため、輻輳の発生を抑止することができる。なお、子機C1、C2、C4は、互いに自律的に起動時刻の調整処理を実行するため、子機C1、C2、C4の起動時刻がずれるタイミングは、互いに異なる。
なお、起動時刻をずらす前とずらした後において、子機C1−C4のそれぞれにおけるパケットTRSの送信周期は同じである(4スロット)。図5と同様に、起動時刻がずれることで、子機C1、C2、C4のアクティブ状態ACTの期間は、図6に比べて短縮されるため、子機C1、C3、C4の消費電力を、図6に比べて小さくすることができる。
図8は、図1に示す子機Cの動作の例を示す。図8に示す処理S100は、図2に示す子機Cのプロセッサ100がプログラムを実行することで実行される。すなわち、図8は、無線通信システムの制御方法を示す。
まず、ステップS102において、プロセッサ100は、センサインタフェース30を介してセンサSNSをモニタし、センサSNSが測定した温度等の測定データを取得する。次に、ステップS104において、プロセッサ100は、センサSNSから測定データを取得した場合、処理をステップS200に移行する。一方、プロセッサ100は、センサSNSから測定データを取得しなかった場合、センサSNSの故障等のエラーが発生したと判断し、処理をステップS110に移行する。なお、プロセッサ100は、センサSNSから測定データを取得しなかった旨を示すエラー情報を親機Pに送信してもよい。
ステップS200において、プロセッサ100は、測定データを親機Pに送信する送信処理を実行する。送信処理の例は、図9に示される。次に、ステップS300において、プロセッサ100は、送信処理で得た情報に基づいて、次回以降の起動時刻を調整する調整処理を実行する。調整処理の例は、図10に示される。プロセッサ100は、ステップS300の後、ステップS110を実行する。
ステップS110において、プロセッサ100は、次回にスリープを解除する起動時刻をタイマ50に設定し、スリープする。例えば、プロセッサ100は、子機C1の起動周期から子機C1が起動していた時間を引くことで、次回にスリープを解除する起動時刻に対応する時間を求め、求めた時間をタイマ50に設定する。図4で説明したように、プロセッサ100は、常に動作を続けるリアルタイムカウンタを利用して、今回起動した時刻(すなわち、前回設定した起動時刻)に子機Cの起動周期を加えることで次回の起動時刻を求めてもよい。なお、ステップS104において測定データがなかった場合、プロセッサ100は、前回の処理でタイマ50にセットした値をタイマ50に再度セットする。
図9は、図8に示す送信処理の例を示す。図9に示す処理S200は、図2に示す子機Cのプロセッサ100がプログラムを実行することで実行される。すなわち、図9は、無線通信システムの制御方法を示す。
まず、ステップS204において、プロセッサ100は、親機Pからの報知パケットBCを受信するまで受信動作を繰り返す。報知パケットBCを受信した場合、ステップS206において、プロセッサ100は、報知パケットBCの受信時刻Tbcを取得する。次に、ステップS208において、プロセッサ100は、キャリアセンスを実行し、測定データを親機Pに送信する無線通信の帯域が空いているかを確認する。
次に、ステップS210において、プロセッサ100は、キャリアセンスの結果に基づいて、無線通信の帯域が空いており、測定データを送信可能な場合、処理をステップS212に移行する。一方、無線通信の帯域が使用されており、測定データの送信が困難な場合、プロセッサ100は、キャリアセンスを再度実行する。
ステップS212において、プロセッサ100は、親機Pに測定データを送信する。次に、ステップS214において、プロセッサ100は、親機Pから測定データの受信を示す応答パケットACKを受信した場合、処理をステップS216に移行する。一方、プロセッサ100は、応答パケットACKを受信しない場合、親機Pが測定データを受信していないと判断し、処理をステップS218に移行する。
ステップS216において、プロセッサ100は、応答パケットACKの受信時刻Tacを取得し、送信処理を終了する。一方、ステップS218において、プロセッサ100は、測定データの再送が可能な場合、処理をステップS208に移行し、測定データの再送が困難な場合、処理をステップS220に移行する。例えば、測定データの再送は、タイムアウトが発生するまで可能と判定され、あるいは、測定データの再送は、所定の回数まで可能と判定される。
ステップS220において、プロセッサ100は、エラー処理等のために、親機Pに送信されなかった測定データを保存し、処理を終了する。なお、親機Pに送信されなかった測定データは、次回の送信処理で親機Pに送信されてもよい。
図10は、図8に示す起動時刻の調整処理の例を示す。図10に示す処理S300は、図2に示す子機Cのプロセッサ100がプログラムを実行することで実行される。すなわち、図10は、無線通信システムの制御方法を示す。
まず、ステップS306において、プロセッサ100は、測定データの親機Pへの送信が実行された場合、処理をステップS308に移行する。一方、プロセッサ100は、図9に示すステップS218で説明したタイムアウト等により、測定データの親機Pへの送信が実行されていない場合、応答パケットACKの受信時刻Tacを取得していないため、処理を終了する。
ステップS308において、プロセッサ100は、報知パケットBCの受信時刻Tbcから応答パケットACKの受信時刻Tac(すなわち、パケットTRSの送信完了時刻)までの時間である送信遅延時間を計算する。次に、ステップS310において、プロセッサ100は、起動時刻を調整する調整判定を実行する。調整判定では、プロセッサ100は、まず、「起動時刻を調整する条件」に合致するかを判定する。プロセッサ100は、「起動時刻を調整する条件」に合致した場合、親機Pと子機Cとの間で輻輳が発生していると判断する。なお、プロセッサ100は、無線通信システムSYS1の起動時の初期化処理等において、起動時刻を調整する以下の7つの条件のうちの1つを選択する。
<起動時刻を調整する条件>
条件1:送信遅延時間が所定の時間T1以上である。
条件2:送信遅延時間が時間T1以上の送信が連続してN1回以上実行された(N1は2以上の整数)。
条件3:N2回の送信における送信遅延時間の平均値が時間T2以上である(N2は2以上の整数)。
条件4:N2回の送信における送信遅延時間の最大値と最小値を除いた平均値が時間T3以上である。
条件5:N2回の送信における送信遅延時間が時間T1以上の送信がN3回以上である(N3は、2以上の整数)。
条件6:測定データの再送回数がN4回以上である(N4は、1以上の整数)。
条件7:条件1から条件6のいずれか2つの条件が成立した。
予め選択した起動時刻を調整する条件が成立した場合、プロセッサ100は、以下に示す「起動時刻を調整する開始時期」と「起動時刻の調整幅」とを設定する。なお、プロセッサ100は、無線通信システムSYS1の起動時の初期化処理等において、「起動時刻を調整する開始時期」の3つの条件のうち1つを選択し、「起動時刻の調整幅」の2つの条件のうち1つを選択する。ここで、プロセッサ100は、自身の子機Cの起動周期を記憶しており、起動周期を超える起動時刻の調整を実施しない。「起動時刻の調整幅」による起動時刻の調整により、起動時刻が起動周期を超える場合、プロセッサ100は、起動時刻を起動周期内の別のスロットにずらす。例えば、プロセッサ100は、「起動時刻の調整幅」の条件1を選択することにより起動時刻が起動周期を超える場合、起動時刻を起動周期内の最初のスロットに設定する。
<起動時刻を調整する開始時期>
条件1:判定条件の成立時に直ぐに起動時刻を調整する。
条件2:判定条件の成立後、M1回の送信周期後に起動時刻を調整する(M1は、2以上の整数)。
条件3:判定条件の成立後、ランダムな送信周期後に起動時刻を調整する。
<起動時刻の調整幅>
条件1:起動時刻を、子機Cの送信周期内で、1スロット後ろにずらす。
条件2:起動時刻を、子機Cの送信周期内で、ランダムなスロット後ろにずらす。
次に、ステップS312において、プロセッサ100は、ステップS310において「起動時刻を調整する条件」が合致し、「起動時刻を調整する開始時期」になった場合、起動時刻を調整するために処理をステップS314に移行する。プロセッサ100は、ステップS310において「起動時刻を調整する条件」が合致しない場合、または「起動時刻を調整する開始時期」になっていない場合、起動時刻を調整しないため、処理を終了する。ステップS314において、プロセッサ100は、「起動時刻の調整幅」に基づいて、タイマ50を設定し、起動時刻を調整する。
例えば、図5は、子機C3、C4において、「起動時刻を調整する条件」の条件1が成立し、「起動時刻を調整する開始時期」の条件1と「起動時刻の調整幅」の条件1とにしたがって、起動時刻が1スロット後ろにずらされる例を示す。また、図7は、子機C1、C2、C4において、「起動時刻を調整する条件」の条件1が成立し、「起動時刻を調整する開始時期」の条件1と「起動時刻の調整幅」の条件2とにしたがって、起動時刻がずらされる例を示す。
以上、図1から図10に示す実施形態では、子機Cは、報知パケットBCの受信からパケットTRSの送信の完了までの時間である送信遅延時間が時間T1以上の場合、起動時刻を報知パケットBCの受信時刻より後ろにずらす。これにより、子機Cは、親機Pからの制御を受けることなく、自律的に起動時間を調整することができる。この結果、図4から図7に示す動作を実現することができ、子機Cの消費電力を自律的に削減することができ、無線通信システムSYS1の消費電力を削減することができる。また、プロセッサ100は、「起動時刻の調整幅」の条件に基づく起動時刻の調整により、起動時刻が起動周期を超える場合、起動時刻を起動周期内の別のスロットにずらす。これにより、起動時刻が起動周期を超えて調整されることを抑止することができ、子機Cから親機Pに届くデータが間引かれることを抑止することができる。すなわち、子機Cから親機Pに送信するデータ量(データの送信頻度)を変えることなく、起動時刻をずらす処理を実施することができる。
また、通信プロトコルおよびパケットの仕様を変更することなく、無線通信システムSYS1が運用された状態で、図2に示す子機Cを追加し、あるいは子機Cを既存の子機と入れ換えることで、起動時刻を調整することができる。例えば、図6に示す動作を実行可能な従来の無線通信システムの子機を図2に示す子機Cに入れ替えることで、図7に示す動作を実行可能な無線通信システムSYS1を構築することができる。
例えば、起動時刻のずれ量を、子機C毎にランダムに調整することで、親機PによるパケットTRSの受信タイミングを分散させることができ、親機Pと子機Cとの間の輻輳の発生を回避することができる。換言すれば、親機Pが間欠動作する場合にも、親機Pと子機Cとの間の輻輳の発生を回避することができる。これにより、親機Pに接続する子機Cの数を増やすことが可能になる。
図11は、無線通信システム、無線通信装置および無線通信システムの制御方法の別の実施形態を示す。図1から図10に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。この実施形態の無線通信システムSYS2は、親機Pと、複数の農園PL(PL1−PL4)に配置された子機C(C1−C16)および中継機R(R1−3)とを有する。子機Cの数は、16個に限定されず、中継機Rの数は、3個に限定されない。また、子機Cおよび中継機Rが配置される農園PLの数は、4個に限定されない。さらに、子機Cおよび中継機Rは、農園PL以外の場所に設置されてもよい。
中継機Rは、報知パケットBCを所定の周期で子機Cに送信し、子機Cからデータを受信し、受信したデータを親機Pから送信される報知パケットBCの受信に基づいて通信チャネルが空いている場合に親機Pにデータを送信する第3の無線通信装置の一例である。
図11に示す例では、子機C1−C4は、測定データを親機Pに送信し、子機C5−C8は、測定データを中継機R1に送信し、子機C9−C12は、測定データを中継機R2に送信し、子機C13−C16は、測定データを中継機R3に送信する。中継機R1−R3は、受信した測定データを親機Pに送信する。なお、中継機Rに割り当てられる子機Cの数は、4個に限定されない。
例えば、子機Cは、図2と同一または同様の構成を有し、図8から図10に示す処理と同一または同様の動作を実行する。親機Pは、図3と同一または同様の構成を有する。中継機Rは、入出力インタフェース230を持たないことを除き、図3に示す親機Pと同様の構成を有する。すなわち、中継機Rは、子機Cから測定データを受信し、受信した測定データを親機Pに送信する機能を有する。中継機Rが親機Pに測定データを送信する動作は、例えば、図9に示す処理S200からステップS206、S216を除いた動作である。なお、中継機Rは、子機Cから受信した測定データを、他の中継機Rを介して親機Pに送信してもよい。また、中継機Rは、図2に示す子機Cと同様に、温度等を測定するセンサSNSとセンサSNSからの情報を受けるセンサインタフェース30とを有してもよい。この場合、中継機Rは、子機Cから受信した測定データに加えて、自身で測定した測定データを親機Pに送信する。
図12は、図11に示す無線通信システムSYS2の動作の例を示す。図4および図5と同一または同様の動作については、詳細な説明は省略する。図12では、説明を分かりやすくするために、子機C5、C6からの送信データが、中継機R1を介して親機Pに送信される例を示す。子機C5、C6は、図4および図5に示す子機C1−C4と同様に動作し、親機Pは、図4および図5に示す親機Pと同様に動作する。
中継機R1は、親機Pと同様に、所定の周期で起床(起動)とスリープ(終了)とを繰り返し、報知パケットBCを送信後、子機C5、C6からのパケットTRSを受信した場合、応答パケットACKを返す。また、中継機R1は、パケットTRSの受信動作の後、子機Cと同様に、子機C5、C6から受信した測定データを含むパケットTRSを親機Pに送信する動作を実行する。中継機R1における受信処理部RXの動作期間に示す2つの太い実線のうち、最初の実線は、親機Pと同様に、パケットTRSの受信動作を示し、後の実線は、子機Cと同様に、親機Pからの報知パケットBCと応答パケットACKの受信動作を示す。なお、図12では、説明をわかりやすくするために、受信動作を示す太い実線を2つに分けて記載しているが、受信動作は、2つに分かれることなく継続して実行される。
図12の上側に示す例では、子機C5は、中継機R1の最初の動作期間でのパケットTRSの送信が間に合わず、中継機R1の次の動作期間でパケットTRSを送信する(図12(a))。この場合、子機C5の動作期間は、中継機R1の送受信周期(送受信間隔)のほぼ2回分になり、子機C6に比べて消費電力は大きい。
図12の下側は、図12の上側に示す状態から所定時間が経過した後の無線通信システムSYS2の動作の例を示す。子機C5は、報知パケットBCを受信してから所定の時間T1内にパケットTRSを中継機R1へ送信することが困難なため、図10のステップS310に示す起動時刻の調整判定に基づいて、白枠の矢印で示すように起動時刻をずらす(図12(b))。起動時刻がずれることで、子機C5のアクティブ状態ACTの期間は、図12の上側に比べて短縮され、子機C5の消費電力は、図12の上側に比べて小さくなる。
図13は、図11に示す無線通信システムSYS2の動作の別の例を示す。図6および図12と同様の動作については、同じ符号を付し、詳細な説明は省略する。親機Pおよび子機C1−C4の動作は、図6と同一または同様である。子機C1−C7のそれぞれにおけるパケットTRSの送信周期は、4スロットである。中継機R1の送受信周期(送受信間隔)は、親機Pの受信周期(受信間隔)と同じである。
図6と同様に、各子機C1−C4は、報知パケットBCを受信してから所定の時間T1内にパケットTRSを親機Pに送信することが困難な場合、起動時刻を後ろにずらす検討を実行する。同様に、各子機C5−C7は、報知パケットBCを受信してから所定の時間T1内にパケットTRSを中継機Rに送信することが困難な場合、起動時刻を後ろにずらす検討を実行する。起動時刻を後ろにずらす検討は、図10に示すステップS310の調整判定に基づいて実行される。
図14は、図13に示す状態から所定時間が経過した後の無線通信システムの動作の例を示す。図14では、図13において、報知パケットBCを受信してから所定の時間T1内にパケットTRSを送信しなかった子機C1、C2、C4、C5、C6、C7の起動時刻が、白枠の矢印で示すように起動時刻調整部16によりずらされる。例えば、起動時刻のずれ量は、スロット(親機Pの受信周期(受信間隔)の整数倍および中継機Rの送受信周期(送受信間隔))の整数倍に等しい。
なお、起動時刻をずらす前とずらした後において、子機C1、C2、C4、C5、C6、C7のそれぞれにおけるパケットTRSの送信周期は同じである(4スロット)。起動時刻をずらした子機C1、C2、C4、C5、C6、C7のアクティブ状態ACTの期間は、起動時刻をずらす前に比べて短縮されるため、子機C1、C2、C4、C5、C6、C7の消費電力を、起動時刻をずらす前に比べて小さくすることができる。また、図14に示すように、起動時刻のずれ量を子機C毎にランダムに調整することで、親機Pまたは中継機RによるパケットTRSの受信タイミングを分散させることができる。この結果、親機Pと子機Cとの間の輻輳の発生および中継機Rと子機Cとの間の輻輳の発生を回避することができる。換言すれば、親機Pおよび中継機Rが間欠動作する場合にも、親機Pと子機Cとの間の輻輳の発生および中継機Rと子機Cとの間の輻輳の発生を回避することができる。これにより、親機Pに接続する子機Cの数および中継機Rに接続する子機Cの数を増やすことが可能になる。
図15は、図11に示す中継機Rの動作の例を示す。図15に示す処理は、図11に示す中継機Rのプロセッサがプログラムを実行することで実行される。すなわち、図15は、無線通信システムの制御方法を示す。
まず、ステップS402において、中継機Rは、子機CからのパケットTRSを受信する受信処理を実行する。次に、ステップS404において、中継機Rは、子機CからパケットTRSを受信した場合、処理をステップS500に移行し、子機CからパケットTRSを受信しない場合、処理をステップS410に移行する。
ステップS500において、中継機Rは、子機Cから受信したパケットTRSを親機Pに送信する送信処理を実行する。送信処理の例は、図16に示される。ステップS410において、中継機Rは、タイマを用いて、次回にスリープを解除する起動時刻を設定し、スリープする。例えば、中継機Rは、起動周期から中継機Rが起動していた時間を引くことで、次回にスリープを解除する起動時刻に対応する時間を求め、求めた時間をタイマに設定する。例えば、中継機Rは、図13に示すスロットを周期として、毎回同じ起動時刻を設定する。なお、中継機Rは、常に動作を続ける内蔵のリアルタイムカウンタを利用して、今回起動した時刻(すなわち、前回設定した起動時刻)に中継機Rの送受信周期を加えることで次回の起動時刻を求めてもよい。
図16は、図15に示す中継機Rの送信処理の例を示す。図9と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。中継機Rの送信処理は、図9に示すステップS206、S216がないことを除き、図9と同様である。
以上、図11から図16に示す実施形態においても、図1から図10に示す実施形態と同様に、子機Cは、親機Pおよび中継機Rからの制御を受けることなく、自律的に起動時間を調整することができる。さらに、通信プロトコルおよびパケットの仕様を変更することなく、無線通信システムSYS2が運用された状態で、子機Cおよび中継機Rを追加し、あるいは子機Cおよび中継機Rを既存の子機および中継機と入れ換えることで、起動時刻を調整することができる。この結果、無線通信システムSYS2の輻輳の発生を抑止することができ、無線通信システムSYS2の消費電力を従来に比べて削減することができる。
図17は、無線通信システム、無線通信装置および無線通信システムの制御方法の別の実施形態における動作の例を示す。図1から図10に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。図17に示す動作を実行する無線通信システムの構成は、図1と同様である。無線通信システムに搭載される子機Cは、コア部10により実行される起動時刻を調整するためのプログラムが異なることを除き、図2と同様である。無線通信システムに搭載される親機Pは、図3と同一または同様である。図17に示す親機Pおよび子機C1−C4の動作は、子機C4の動作を除き、図4と同様である。
この実施形態では、各子機C1−C4は、報知パケットBCの受信動作を開始してから報知パケットBCを受信するまでの時間である受信待ち時間WTが所定の時間T5以上の場合、起動時刻をずらす判定を実行する。例えば、図17では、子機C4の受信待ち時間WTが、所定の時間T5以上であり、子機C4は、起動時刻をずらす判定を実行する。
図18は、図17に示す状態から所定時間が経過した後の無線通信システムの動作の例を示す。図18では、図17において受信待ち時間WTが所定の時間T5以上である子機C4の起動時刻が、起動時刻調整部16によりずらされる。例えば、起動時刻は、親機Pからの報知パケットBCの受信タイミングに近づけられる。例えば、起動時刻は、親機Pからの報知パケットBCの受信タイミングの直前に設定される。起動時刻がずれることで、子機C4のアクティブ状態ACTの期間は、図17に比べて短縮されるため、子機C4の消費電力を、図17に比べて小さくすることができる。
図19は、図17に示す動作を実行する無線通信システムの動作の別の例を示す。図6と同様の動作については、同じ符号を付し、詳細な説明は省略する。親機Pの動作は、図6と同一または同様である。例えば、子機C1−C4のそれぞれのアクティブ状態ACTの期間は、親機Pの受信周期(受信間隔)である1スロット以内に収まっている。また、子機C1−C4のそれぞれにおけるパケットTRSの送信周期は、4スロットである。
例えば、各子機C1−C4は、報知パケットBCの受信動作を開始してから報知パケットBCを受信するまでの時間である受信待ち時間(図17に示すWT)が所定の時間T5以上の場合、起動時刻を後ろにずらす検討を実行する。起動時刻を後ろにずらす検討は、図22に示すステップS304の調整判定に基づいて実行される。
図20は、図19に示す状態から所定時間が経過した後の無線通信システムの動作の例を示す。調整判定の結果、子機C1、C2、C4は、起動時刻を後ろにずらし、親機Pからの報知パケットBCの受信タイミングに近づけられる。なお、各子機C1−C4は、スリープの解除(コア部10の起動)からスリープ(コア部10の終了)までの時間が1スロットの半分以上の場合に、起動時刻を後ろにずらし、報知パケットBCの受信タイミングに近づけてもよい。すなわち、図2に示す起動時刻調整部16は、コア部10の起動から終了までの時間の長さに基づいて、起動時刻を調整してもよい。
図21は、図17から図20に示す動作を実行する無線通信システムの子機Cの送信処理S200Aの例を示す。図9と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。送信処理S200Aを実行する前後の動作を含む子機Cの動作は、図8に示す処理と同様である。すなわち、子機Cの動作は、図8のステップS200をステップS200Aに入れ替えることで実現される。図21は、図2に示す子機Cのプロセッサ100がプログラムを実行することで実行される。すなわち、図21は、無線通信システムの制御方法を示す。
送信処理S200Aは、ステップS204の前にステップS202が追加され、ステップS216が削除されたことを除き、図9の送信処理S200と同様である。ステップS202では、プロセッサ100は、報知パケットBCの受信待ちを開始した時刻Tstを取得する。そして、時刻TstとステップS206で取得する報知パケットBCの受信時刻Tbcとに基づいて、図22に示すように、受信待ち時間WTが求められる。
図22は、図17から図20に示す動作を実行する無線通信システムの子機の起動時刻の調整処理の例を示す。図10と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。図22は、図2に示す子機Cのプロセッサ100がプログラムを実行することで実行される。すなわち、図22は、無線通信システムの制御方法を示す。
図22に示す起動時刻の調整処理S300Aは、図8に示す子機Cの動作において、起動時刻の調整処理S300の代わりに実行される。起動時刻の調整処理300Aは、ステップS312の前にステップS302、S304が追加され、ステップS306、S308、S310が削除されたことを除き、図10に示す起動時刻の調整処理S300と同様である。
まず、ステップS302において、プロセッサ100は、報知パケットBCの受信待ちを開始した時刻Tstから報知パケットBCの受信時刻Tbcまでの時間である受信待ち時間WTを計算する。次に、ステップS304において、プロセッサ100は、起動時刻を調整する調整判定を実行する。調整判定では、プロセッサ100は、まず、「起動時刻を調整する条件」に合致するかを判定する。なお、プロセッサ100は、無線通信システムの起動時の初期化処理等において、起動時刻を調整する以下の6つの条件のうちの1つを選択する。
<起動時刻を調整する条件>
条件1:受信待ち時間WTが所定の時間T5以上である。
条件2:受信待ち時間WTがT5以上の送信が連続してN5回以上実行された(N5は2以上の整数)。
条件3:N6回の送信における受信待ち時間WTの平均値が時間T6以上である(N6は2以上の整数)。
条件4:N6回の送信における受信待ち時間WTの最大値と最小値を除いた平均値が時間T7以上である。
条件5:N6回の送信における受信待ち時間WTが時間T5以上の送信がN7回以上である(N7は、2以上の整数)。
条件6:条件1から条件5のいずれか2つの条件が成立した。
予め選択した起動時刻を調整する条件が成立した場合、子機Cのプロセッサ100は、以下に示す「起動時刻を調整する開始時期」と「起動時刻の調整幅」とを設定する。なお、プロセッサ100は、無線通信システムの起動時の初期化処理等において、「起動時刻を調整する開始時期」の3つの条件のうち1つを選択し、「起動時刻の調整幅」の2つの条件のうち1つを選択する。
<起動時刻を調整する開始時期>
条件1:判定条件の成立時に直ぐに起動時刻を調整する。
条件2:判定条件の成立後、M2回の送信周期後に起動時刻を調整する(M2は、2以上の整数)。
条件3:判定条件の成立後、ランダムな送信周期後に起動時刻を調整する。
<起動時刻の調整幅>
条件1:起動時刻を、スロット内で親機Pの報知パケットBCの受信時刻に近づける。
条件2:起動時刻を、当該スロットおよび1つ前のスロットにおける親機Pの報知パケットBCの受信時刻のうち、近い方の受信時刻に近づける。
この後、図10と同様に、ステップS312において、プロセッサ100は、「起動時刻を調整する条件」が合致し、「起動時刻を調整する開始時期」になった場合、ステップS314において「起動時刻の調整幅」に基づいて起動時刻を調整する。
例えば、図18は、子機C4において、「起動時刻を調整する条件」の条件1が成立し、「起動時刻を調整する開始時期」の条件1と「起動時刻の調整幅」の条件1とにしたがって、起動時刻が、スロット内で報知パケットBCの受信時刻に近づけられる例を示す。また、図20は、子機C1、C2、C4において、「起動時刻を調整する条件」の条件1が成立し、「起動時刻を調整する開始時期」と「起動時刻の調整幅」との条件1にしたがって、起動時刻が、スロット内で報知パケットBCの受信時刻に近づけられる例を示す。
以上、図17から図22に示す実施形態においても、図1から図10に示す実施形態と同様の効果を得ることができる。すなわち、子機Cの起動から報知パケットBCの受信時刻までの時間である受信待ち時間が時間T5以上の場合、起動時刻を報知パケットBCの受信時刻に近づけることで、子機Cは、親機Pからの制御を受けることなく、自律的に起動時刻を調整することができる。これにより、子機Cの消費電力を自律的に削減することができ、無線通信システムの消費電力を削減することができる。
また、通信プロトコルおよびパケットの仕様を変更することなく、無線通信システムが運用された状態で、図2に示す子機Cを追加し、あるいは子機Cを既存の子機と入れ換えることで、起動時刻を調整することができる。例えば、図19に示す動作を実行可能な従来の無線通信システムの子機を図2に示す子機Cに入れ替えることで、図20に示す動作を実行可能な無線通信システムSYS1を構築することができる。
図23は、無線通信システム、無線通信装置および無線通信システムの制御方法の別の実施形態における動作の例を示す。図1から図22に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。図23に示す動作を実行する無線通信システムの構成は、図11と同様である。無線通信システムに搭載される子機Cは、コア部10により実行される起動時刻を調整するためのプログラムが異なることを除き、図2と同様である。無線通信システムに搭載される中継機Rは、起動時刻を調整するためのプログラムがコア部60により実行されることを除き、図11に示す中継機Rと同様である。無線通信システムに搭載される親機Pは、図3と同一または同様である。図23においても、説明をわかりやすくするために、受信動作を示す太い実線を2つに分けて記載しているが、受信動作は、2つに分かれることなく継続して実行される。
この実施形態では、子機Cおよび中継機Rは、図17および図18と同様に、報知パケットBCの受信動作を開始してから報知パケットBCを受信するまでの時間である受信待ち時間WTが所定の時間T5以上の場合、起動時刻をずらす判定を実行する。図23では、中継機Rの受信待ち時間WTは、時間T5以上であり、子機C5、C6の受信待ち時間WTは、時間T5未満である。なお、中継機Rは、起動から報知パケットBCを受信するまでの時間を受信待ち時間WTとして、起動時刻をずらす判定を実行してもよい。この場合、起動からパケットTRSの受信期間までの時間を時間T5に加えた時間が、判定に使用される。
図24は、図23に示す状態から所定時間が経過した後の無線通信システムの動作の例を示す。図12と同一または同様の動作については、同じ符号を付し、詳細な説明は省略する。
図24では、図23において受信待ち時間WTが時間T5以上である中継機R1は、受信待ち時間WTが時間T5未満になるように、起動時刻を後ろにずらす(図24(a)、(b))。起動時刻がずれることで、中継機R1の報知パケットBCの送信時刻も後ろにずれる。これにより、まず、中継機Rの起動時間が短縮され、中継機Rの消費電力は図23に比べて削減される。一方、子機C5、C6の受信待ち時間WTは、図23に比べて長くなり、例えば、時間T5以上になる(図24(c)、(d))。
この後、所定時間がさらに経過し、子機C5、C6は、受信待ち時間WTが時間T5未満になるように、起動時刻を後ろにずらす(図24(e)、(f))。これにより、子機C5、C6の消費電力は、図23に比べて小さくなる。なお、中継機R1と子機C5の受信待ち時間WTがともに時間T5以上の場合、子機C5の起動時刻が後ろにずらされた後に、中継機R1の起動時刻が後ろにずらされてもよく、その逆でもよい。
図25は、図23および図24に示す中継機Rの動作の例を示す。図8と同様の動作については、同じ符号を付し、詳細な説明は省略する。図25に示す処理は、図23および図24に示す中継機R1のプロセッサがプログラムを実行することで実行される。すなわち、図25は、無線通信システムの制御方法を示す。
まず、ステップS402において、中継機R1は、報知パケットBCを送信し、子機CからのパケットTRSを受信する受信処理を実行する。次に、ステップS404において、中継機R1は、ステップS402の受信処理により子機Cから測定データを含むパケットTRSを受信した場合、処理をステップS200Aに移行する。一方、中継機R1は、子機Cから測定データを含むパケットTRSを受信しなかった場合、処理をステップS410に移行する。
ステップS200Aの送信処理は、図21に示す送信処理と同一または同様である。ステップS200Aの実行後、中継機R1は、ステップS300Aにおいて、図22に示す起動時刻の調整処理と同一または同様の処理を実行する。次に、ステップS410において、中継機R1は、次回にスリープを解除する起動時刻を設定し、スリープする。
以上、図23から図25に示す実施形態においても、図17から図22に示す実施形態と同様に、子機Cの受信待ち時間が時間T5以上の場合に、子機Cは、親機Pからの制御を受けることなく、自律的に起動時刻を調整することができる。また、図11から図16に示す実施形態と同様に、無線通信システムが中継機Rを有する場合にも、無線通信システムの運用中に子機Cの追加あるいは子機Cの入れ換えを実施することができる。
さらに、図23から図25に示す実施形態では、中継機Rが報知パケットBCの受信待ちを開始してから報知パケットBCの受信までの時間である受信待ち時間が時間T5以上の場合、起動時刻を報知パケットBCの受信時刻に近づける。これにより、中継機Rは、親機Pからの制御を受けることなく、自律的に起動時刻を調整することができる。子機Cは、中継機Rの動作に追従して動作して、自律的に起動時刻を調整することができる。これにより、中継機Rおよび子機Cの消費電力を自律的に削減することができ、無線通信システムの消費電力を、プロトコルおよびパケットの仕様を変更することなく削減することができる。
図26は、無線通信システム、無線通信装置および無線通信システムの制御方法の別の実施形態における子機の送信処理S200Bの例を示す。図1から図25で説明した処理と同一または同様の処理については、詳細な説明は省略する。図26に示す動作を実行する無線通信システムの構成は、図1と同様である。無線通信システムに搭載される子機Cは、コア部10により実行される起動時刻を調整するためのプログラムが異なることを除き、図2と同様である。無線通信システムに搭載される親機Pは、図3と同一または同様である。
この実施形態では、各子機Cは、図5に示す起動時刻を所定のスロット分後ろにずらす動作に加えて、図18に示す起動時刻をスロット内で報知パケットBCの受信タイミングに近づける動作を実行する。このため、子機Cの送信処理S200Bは、図9に示す送信処理と、図21に示す送信処理とを融合している。すなわち、送信処理S200Bでは、図9に示すステップS204の前に、図21に示すステップS202が追加される。図26に示す送信処理S200Bは、図8に示す子機Cの動作において、送信処理S200の代わりに実行される。
図27は、図26に示す送信処理を実行する子機Cの起動時刻の調整処理S300Bの例を示す。起動時刻の調整処理S300Bは、図10に示す送信時刻の調整処理と、図22に示す送信処理とを融合している。すなわち、起動時刻の調整処理S300Bでは、図10に示すステップS306の前に、図22に示すステップS302、S304が追加される。図27に示す起動時刻の調整処理S300Bは、図8に示す子機Cの動作において、起動時刻の調整処理S300の代わりに実行される。
図26および図27に示す処理を実行する子機Cを有する無線通信システムでは、例えば、図5に示す動作が実行された後、図18に示す動作が実行され、または、図18に示す動作が実行された後、図5に示す動作が実行される。あるいは、図7に示す動作が実行された後、図20に示す動作が実行され、または、図20に示す動作が実行された後、図7に示す動作が実行される。なお、図5および図18に示す動作は、並列に実行されてもよく、図7および図20に示す動作は、並列に実行されてもよい。
起動時刻を所定のスロット分後ろにずらす動作と、起動時刻をスロット内で報知パケットBCの受信タイミングに近づける動作とを実行することで、それぞれの動作を単独で実行する場合に比べて、子機Cの消費電力を削減することができる。さらに、図23から図25に示す実施形態と同様に、無線通信システムに中継機R1を設け、中継機R1が、起動時刻をスロット内で報知パケットBCの受信タイミングの直前にずらす動作とを実行してもよい。この場合、中継機R1は、図25と同様に動作する。
以上、図26から図27に示す実施形態においても、図1から図22に示す上述した実施形態と同様の効果を得ることができる。すなわち、送信遅延時間が時間T1以上の場合、起動時刻を報知パケットBCの受信時刻より後ろにずらすことで、子機Cは、親機Pからの制御を受けることなく、自律的に起動時刻を調整することができる。これにより、親機Pと子機C間での輻輳の発生を抑止することができ、子機Cの消費電力を自律的に削減することができる。また、受信待ち時間が時間T5以上の場合、起動時刻を報知パケットBCの受信時刻に近づけることで、子機Cは、親機Pからの制御を受けることなく、自律的に起動時刻を調整することができる。
さらに、送信遅延時間と受信待ち時間との両方に基づいて、起動時刻を調整することで、子機Cが起動している時間を最小限にすることができ、無線通信システムの消費電力を、プロトコルおよびパケットの仕様を変更することなく削減することができる。
図28は、無線通信システム、無線通信装置および無線通信システムの制御方法の別の実施形態における動作の例を示す。図1から図16に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
この実施形態では、図11に示す無線通信システムSYS2における中継機R(R1、R2、R3)の機能が、図11から図16に示す実施形態と相違している。中継機Rを除く機能は、図11から図16に示す実施形態と同様である。子機Cおよび親機Pの機能は、図11から図16に示す実施形態と同様である。
例えば、中継機R(図28では、R1)は、各スロットにおいて子機CからパケットTRSを受信し、4スロットに1回、子機Cから受信したパケットTRSを親機Pに送信する。中継機R1の機能は、中継機R1による親機PへのパケットTRSの送信間隔が異なることを除き、図11から図16に示す実施形態と同様である。中継機Rから親機PへのパケットTRSの送信頻度を削減することで、パケットTRSをスロット毎に親機Pに送信する場合に比べて、中継機Rの消費電力を削減することができる。
図29は、図28に示す中継機Rの動作の例を示す。図29は、中継機Rのプロセッサがプログラムを実行することで実行される。すなわち、図29は、無線通信システムの制御方法を示す。図15と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。
図29に示す中継機Rが実行する処理S400Cでは、図15に示す処理S400にステップS406、S408が追加されている。中継機R1は、ステップS404において子機Cから受信したパケットTRSがある場合、ステップS406を実行する。ステップS406では、中継機Rは、送信時刻になった場合、処理をステップS500に移行し、送信時刻が来ていない場合、処理をステップS408に移行する。図28に示す例では、送信時刻は、4スロットに1回の頻度で現れる。
ステップS408において、中継機Rは、子機Cから受信したパケットTRSをワークメモリ等に保存する。なお、ステップS500の送信処理において、中継機Rは、子機Cから受信したパケットTRSとともに、保存しているパケットTRSを親機Pに送信する。
なお、所定数のスロットに1回の頻度で親機PにパケットTRSを送信する中継機Rが、図24に示すように、起動時刻の調整機能を有する場合、図29に示すステップS500の代わりに、図25に示すステップS200Aが実行される。さらに、ステップS200Aの後に、図25に示すステップS300Aが追加される。
以上、図28から図29に示す実施形態においても、図1から図17に示す実施形態と同様の効果を得ることができる。さらに、図28から図29に示す実施形態では、中継機Rの親機PへのパケットTRSの送信の頻度を、子機Cへの報知パケットBCの送信頻度より低く設定することで、中継機Rの消費電力を、図13、図23の中継機Rの消費電力に比べて削減することができる。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
データの受信待ちの開始を示す報知情報を、間隔を置いて送信する第1の無線通信装置と、
前記報知情報の受信に基づいて通信チャネルが空いている場合に前記第1の無線通信装置にデータを送信する複数の第2の無線通信装置とを備え、
前記複数の第2の無線通信装置の各々は、
所定の周期で起動され、データの送信後に終了し、
起動から終了までの時間の長さに基づいて、起動時刻を調整する起動時刻調整部を備えていること
を特徴とする無線通信システム。
(付記2)
前記起動時刻調整部は、前記報知情報の受信からデータの送信の完了までの時間である送信遅延時間が第1の時間以上の場合、起動時刻を前記報知情報の受信時刻より後ろにずらすこと
を特徴とする付記1記載の無線通信システム。
(付記3)
前記起動時刻調整部は、前記第2の無線通信装置の起動から前記報知情報の受信までの時間である受信待ち時間が第2の時間以上の場合、起動時刻を前記報知情報の受信時刻に近づけること
を特徴とする付記1または付記2記載の無線通信システム。
(付記4)
前記起動時刻調整部は、前記送信遅延時間が第1の時間以上の場合、前記報知情報の生成周期のn倍(nは1以上の整数)の時間、起動時刻を後ろにずらすこと
を特徴とする付記2記載の無線通信システム。
(付記5)
所定の周期で起動され、データの受信待ちの開始を示す報知情報を、間隔を置いて前記第2の無線通信装置に送信し、前記第2の無線通信装置からデータを受信し、前記第1の無線通信装置から送信される報知情報の受信に基づいて通信チャネルが空いている場合に受信したデータを前記第1の無線通信装置に送信する第3の無線通信装置を備えていること
を特徴とする付記1ないし付記4のいずれか1項記載の無線通信システム。
(付記6)
前記第3の無線通信装置は、前記報知情報の受信待ちを開始してから前記報知情報の受信までの時間である受信待ち時間が第3の時間以上の場合、起動時刻を前記報知情報の受信時刻に近づける起動時刻調整部を備えていること
を特徴とする付記5記載の無線通信システム。
(付記7)
前記第3の無線通信装置は、前記第1の無線通信装置へのデータの送信の頻度を、前記第2の無線通信装置への報知情報の送信頻度より低く設定すること
を特徴とする付記5または付記6記載の無線通信システム。
(付記8)
前記起動時刻調整部は、複数回のデータの送信において、前記送信遅延時間が第1の時間以上である回数が所定の回数に達した場合、起動時刻を後ろにずらすこと
を特徴とする付記2、付記4ないし付記7のいずれか1項記載の無線通信システム。
(付記9)
前記起動時刻調整部は、複数回のデータの送信において、前記送信遅延時間の平均値が第1の時間以上である場合、起動時刻を後ろにずらすこと
を特徴とする付記2、付記4ないし付記8のいずれか1項記載の無線通信システム。
(付記10)
前記起動時刻調整部は、複数回のデータの送信において、前記受信待ち時間が第2の時間以上である回数が所定の回数に達した場合、起動時刻を前記報知情報の受信時刻に近づけること
を特徴とする付記3、付記5ないし付記7のいずれか1項記載の無線通信システム。
(付記11)
前記起動時刻調整部は、複数回のデータの送信において、前記受信待ち時間の平均値が第2の時間以上である場合、起動時刻を前記報知情報の受信時刻に近づけること
を特徴とする付記3、付記5ないし付記7、付記10のいずれか1項記載の無線通信システム。
(付記12)
前記第2の無線通信装置は、前記第2の無線通信装置が設置される環境の情報を測定するセンサを有し、前記センサの測定により得たデータを前記第1の無線通信装置に送信することを特徴とする付記1ないし付記11のいずれか1項記載の無線通信システム。
(付記13)
データを受信する受信装置から間隔を置いて送信される、データの受信待ちの開始を示す報知情報を受信し、前記報知情報の受信に基づいて通信チャネルが空いている場合に前記受信装置にデータを送信する無線通信装置であって、
前記無線通信装置は、
所定の周期で起動され、データの送信後に終了し、
起動から終了までの時間の長さに基づいて、起動時刻を調整する起動時刻調整部を備えていること
を特徴とする無線通信装置。
(付記14)
データの受信待ちの開始を示す報知情報を、間隔を置いて送信する第1の無線通信装置と、前記報知情報の受信に基づいて通信チャネルが空いている場合に前記第1の無線通信装置にデータを送信する複数の第2の無線通信装置とを備えた無線通信システムの制御方法であって、
前記複数の第2の無線通信装置の各々は、
所定の周期で起動され、データの送信後に終了し、
起動から終了までの時間の長さに基づいて、起動時刻を調整すること
を特徴とする無線通信システムの制御方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。