(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022054973
(43)【公開日】2022-04-07
(54)【発明の名称】無線通信装置、情報処理装置、無線通信方法、及びプログラム
(51)【国際特許分類】
H04W 16/10 20090101AFI20220331BHJP
H04W 4/38 20180101ALI20220331BHJP
H04W 84/10 20090101ALI20220331BHJP
【FI】
H04W16/10
H04W4/38
H04W84/10 110
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020162283
(22)【出願日】2020-09-28
(71)【出願人】
【識別番号】390010308
【氏名又は名称】東芝デベロップメントエンジニアリング株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】石坂 充
(72)【発明者】
【氏名】早坂 猛
(72)【発明者】
【氏名】勝岡 響
(72)【発明者】
【氏名】砂塚 智則
(72)【発明者】
【氏名】上田 康弘
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA03
5K067BB27
5K067DD11
5K067DD17
5K067EE02
5K067EE10
5K067EE16
(57)【要約】
【課題】ネットワーク間の電波干渉を回避する無線通信装置を提供する。
【解決手段】本発明の一実施形態に係る、単一のマスタノードと少なくとも1つのスレーブノードとを含むネットワークにおける前記マスタノードに対応する無線通信装置は、他の無線通信装置からビーコン信号を受信するスキャン処理を行うスキャン部と、前記スキャン処理の結果に基づいて、前記無線通信装置の周囲環境に存在するマスタノードの数及び前記無線通信装置の順番を決定する決定部と、前記決定されたマスタノードの数及び前記決定された順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択する選択部と、前記選択されたチャネルマップに従って、前記少なくとも1つのスレーブノードと通信する第1通信部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
単一のマスタノードと少なくとも1つのスレーブノードとを含むネットワークにおける前記マスタノードに対応する無線通信装置であって、
他の無線通信装置からビーコン信号を受信するスキャン処理を行うスキャン部と、
前記スキャン処理の結果に基づいて、前記無線通信装置の周囲環境に存在するマスタノードの数及び前記無線通信装置の順番を決定する決定部と、
前記決定されたマスタノードの数及び前記決定された順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択する選択部と、
前記選択されたチャネルマップに従って、前記少なくとも1つのスレーブノードと通信する第1通信部と、
を備える無線通信装置。
【請求項2】
前記複数のチャネルマップはマスタノード数と順番の組に関連付けられ、
前記選択部は、前記複数のチャネルマップの中から前記決定されたマスタノードの数及び前記決定された順番に関連付けられたチャネルマップを選択する、
請求項1に記載の無線通信装置。
【請求項3】
前記決定部は、所定の情報を含むビーコン信号を送信する無線通信装置の数に基づいて、前記無線通信装置の周囲環境に存在するマスタノードの数を決定する、
請求項1又は2に記載の無線通信装置。
【請求項4】
前記決定部は、前記無線通信装置に一意に割り当てられた識別情報と前記スキャン処理の結果として発見された無線通信装置に一意に割り当てられた識別情報との比較に基づいて、前記順番を決定する、請求項1乃至3のいずれか1項に記載の無線通信装置。
【請求項5】
前記識別情報はBDアドレスである、請求項4に記載の無線通信装置。
【請求項6】
請求項1乃至5のいずれか1項に記載の無線通信装置を備え、
前記少なくとも1つのスレーブノードは、少なくとも1つのセンサ装置に設けられ、
前記第1通信部は、前記少なくとも1つのスレーブノードから前記少なくとも1つのセンサ装置により得られたセンサデータを受信する、
情報処理装置。
【請求項7】
前記少なくとも1つのスレーブノードとは異なるサーバ装置と通信する第2通信部をさらに備え、
前記第2通信部は、前記受信されたセンサデータを前記サーバ装置に送信する、
請求項6に記載の情報処理装置。
【請求項8】
単一のマスタノードと少なくとも1つのスレーブノードとを含むネットワークにおける前記マスタノードに対応する無線通信装置により実行される無線通信方法であって、
他の無線通信装置からビーコン信号を受信するスキャン処理を行うことと、
前記スキャン処理の結果に基づいて、前記無線通信装置の周囲環境に存在するマスタノードの数及び前記無線通信装置の順番を決定することと、
前記決定されたマスタノードの数及び前記決定された順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択することと、
前記選択されたチャネルマップに従って、前記少なくとも1つのスレーブノードと通信することと、
を備える無線通信方法。
【請求項9】
単一のマスタノードと少なくとも1つのスレーブノードとを含むネットワークにおける前記マスタノードに対応するコンピュータを、
他の無線通信装置からビーコン信号を受信するスキャン処理を行う手段、
前記スキャン処理の結果に基づいて、前記無線通信装置の周囲環境に存在するマスタノードの数及び前記無線通信装置の順番を決定する手段、
前記決定されたマスタノードの数及び前記決定された順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択する手段、及び
前記選択されたチャネルマップに従って、前記少なくとも1つのスレーブノードと通信する手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信技術に関する。
【背景技術】
【0002】
バッテリセルの電圧をモニタするシステムや工場における機器の動作状況をモニタするシステムのような、有線通信を利用して多数のセンサ装置からゲートウェイにセンサデータを収集するセンサデータ収集システムが知られている。
【0003】
近年、センサデータ収集システムにおいて、有線通信を無線通信に置き換える需要が高まっている。その中でも低消費電力の無線通信であるBluetooth(登録商標) LE(Low Energy)の利用が注目されている。
【0004】
Bluetooth LEを使用して多数のセンサ装置からセンサデータを収集する場合、センサデータを受信するゲートウェイ(Master)とセンサデータを送信するセンサ装置(Slave)との間で接続(Connection)を確立して通信を行う方法が採用される。この方法においては、1つのゲートウェイと接続できるセンサ装置の数は多くても数十台が上限となる。それより多い台数のセンサ装置からセンサデータを収集する場合には、複数のゲートウェイを使用する必要がある。
【0005】
複数のゲートウェイを設置した環境では、Bluetooth LEの仕様上、あるゲートウェイとその配下のセンサ装置との通信と別のゲートウェイとその配下のセンサ装置との通信とが同時刻に同じチャネルで行われる状況が発生し得る。この状況では、電波の干渉が発生して通信が阻害され、その結果としてセンサデータが失われることがある。
【0006】
Bluetooth LEでは、周波数ホッピングにより通信に使用するチャネルを時間とともに変化させる。これにより、上記のような干渉が発生したとしても時間経過で干渉を回避できるようになっている。
【0007】
センサデータ収集システムでは、多数のセンサ装置から短い時間間隔で継続的に欠落なくセンサデータを取得することが必要とされる場合がある。言い換えると、センサデータの喪失がシステムとして無視できない場合が存在する。Bluetooth LEの周波数ホッピングは、電波干渉の発生を確実に回避できるというものではなく、Bluetooth LEを使用する複数のゲートウェイが近接する環境では、電波干渉によるセンサデータの喪失が発生する。
【0008】
特許文献1は、周波数ホッピング方式スペクトラム拡散近距離無線通信の音声リンクが近距離空間に複数存在する場合でも、電波干渉によるパケットエラーが発生しないようにする技術を開示している。特許文献1の技術は、互いに重ならない複数のAFH(Adaptive Frequency Hopping)チャネルマップを予め用意し、主装置が、親機のTEN番号(内線端末番号)に応じて異なるチャネルマップを親機に割り当てる。特許文献1の技術では、選択できるチャネルマップが限られるため、親機の数が既知でなければならない。例えば、チャネルマップの数が親機の数より少ない場合、電波干渉が発生することになり、チャネルマップの数が親機の数より多い場合、通信帯域を無駄に狭めることになる。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献1の技術は、Bluetooth(Classic)に標準搭載されるAFH機能により親機が使用するチャネルの初期値を決定するので、最初は電波干渉が発生しないが、その効果は時間とともに解消される。
【0011】
Bluetooth LEは、AFH機能を実装していない。このため、Bluetooth LEを使用するセンサデータ収集システムに特許文献1の技術を適用することはできない。
【0012】
Bluetooth LEのような無線通信を使用するセンサデータ収集システムにおいて、最初から干渉が発生しないとともに、干渉の発生が永続的に回避できることが求められている。
【課題を解決するための手段】
【0013】
本発明の一実施形態に係る、単一のマスタノードと少なくとも1つのスレーブノードとを含むネットワークにおける前記マスタノードに対応する無線通信装置は、他の無線通信装置からビーコン信号を受信するスキャン処理を行うスキャン部と、前記スキャン処理の結果に基づいて、前記無線通信装置の周囲環境に存在するマスタノードの数及び前記無線通信装置の順番を決定する決定部と、前記決定されたマスタノードの数及び前記決定された順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択する選択部と、前記選択されたチャネルマップに従って、前記少なくとも1つのスレーブノードと通信する第1通信部と、を備える。
【発明の効果】
【0014】
本発明によれば、ネットワーク間の電波干渉を回避する技術が提供される。
【図面の簡単な説明】
【0015】
【
図1】
図1は、本発明の一実施形態に係る通信システムを示す図である。
【
図2】
図2は、
図1に示したゲートウェイの機能ブロック図である。
【
図3】
図3は、
図2に示した記憶部に格納されるチャネル情報を示す図である。
【
図4】
図4は、
図1に示した通信システムにおけるチャネル設定を説明する図である。
【
図5】
図5は、
図1に示したゲートウェイのハードウェア構成例を示すブロック図である。
【
図6】
図6は、
図1に示したセンサ装置の機能ブロック図である。
【
図7】
図7は、
図1に示したセンサ装置のハードウェア構成例を示すブロック図である。
【
図8】
図8は、
図2に示したゲートウェイによるチャネル設定の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の実施形態を説明する。
【0017】
[構成]
図1は、本発明の一実施形態に係る通信システム100を概略的に示している。
図1に示すように、通信システム100は、複数のゲートウェイ110、複数のセンサ装置120、及びサーバ装置130を備える。通信システム100は、サーバ装置130がゲートウェイ110を介してセンサ装置120からセンサデータを収集するIoTネットワークである。
【0018】
センサ装置120は、センサ装置120が設置された場所又は機器の状態を測定し、状態の測定結果を含むセンサデータを生成する。
【0019】
ゲートウェイ110は、センサ装置120とサーバ装置130との間で信号を中継する。例えば、ゲートウェイ110は、センサ装置120からセンサデータを受信し、このセンサデータをサーバ装置130に送信する。
【0020】
ゲートウェイ110とセンサ装置120との間の通信には、Bluetooth LEなどの無線通信を使用する。本実施形態では、Bluetooth LEを使用する。Bluetooth LEでは、単一のマスタノードと当該マスタノードに接続された少なくとも1つのスレーブノードとによりネットワークが形成される。マスタノードがネットワークの通信を制御する。例えば、マスタノードは使用すべき周波数チャネルをスレーブノードに通知する。ゲートウェイ110はマスタノードとして使用される無線通信装置を備え、センサ装置120はスレーブノードとして使用される無線通信装置を備える。
【0021】
サーバ装置130とゲートウェイ110との間の通信には、無線通信を使用してもよく、有線通信を使用してもよい。無線通信を使用する場合には、ゲートウェイ110とセンサ装置120との間の通信で使用する周波数帯(2.4GHz帯)とは異なる周波数帯を使用する無線通信を使用し得る。本実施形態では、5GHz帯のWi-Fiを使用する。
【0022】
ゲートウェイ110の無線通信装置は、個々の通信エリア112を有する。通信エリア112は、ゲートウェイ110の無線通信装置により送信された無線信号が届く範囲に相当する。通信エリア112は互いに部分的に重なっている。ゲートウェイ110は互いの無線電波が届く範囲に配置される。好ましくは、ゲートウェイ110は他のシステムからの無線電波の影響を受けづらい環境に配置される。
【0023】
図1に示す例では、通信システム100は、3つのゲートウェイ110-1、110-2、110-3を備える。ゲートウェイ110-1、110-2、110-3はそれぞれ、通信エリア112-1、112-2、112-3を有する。通信エリア112-1、112-2、112-3は、互いに部分的に重なっている。ゲートウェイ110-1はセンサ装置120-1~120-6と通信し、ゲートウェイ110-1及びセンサ装置120-1~120-6がネットワークを形成する。ゲートウェイ110-2はセンサ装置120-7~120-12と通信し、ゲートウェイ110-2及びセンサ装置120-7~120-12が別のネットワークを形成する。ゲートウェイ110-3はセンサ装置120-13~120-18と通信し、ゲートウェイ110-3及びセンサ装置120-13~120-18がさらに別のネットワークを形成する。
【0024】
図1において破線で囲まれる領域では、Bluetooth LEを使用するネットワーク間の電波干渉が発生し得る。電波干渉はセンサデータの喪失を引き起こすことがある。本実施形態では、通信システム100は、ネットワーク間の電波干渉を回避するために、ネットワークが異なる周波数チャネルを使用するように制御される。ネットワークが異なるチャネルを使用するように制御する方法については後述する。
【0025】
図2は、ゲートウェイ110の機能構成の一例を概略的に示している。
図2に示すゲートウェイ110は、
図1に示したゲートウェイ110のうちの1つに対応する。
図1に示したゲートウェイ110のうちの残りは、
図2に示すゲートウェイ110と同じ機能構成を有することができる。
【0026】
図2に示すように、ゲートウェイ110は、第1通信部202、アドバタイジング部204、スキャン部206、第2通信部208、制御部210、及び記憶部220を備える。制御部210は、第1通信部202、アドバタイジング部204、スキャン部206、第2通信部208、及び記憶部220を制御する。第1通信部202、アドバタイジング部204、スキャン部206、及び制御部210が本発明の無線通信装置に相当する。
【0027】
第1通信部202は、センサ装置120と無線通信する。上述したように、ゲートウェイ110とセンサ装置120との間の通信にはBluetooth LEを使用する。よって、第1通信部202は、Bluetooth LEに準拠する通信処理を行う。第1通信部202は、センサ装置120からセンサデータを受信する。
【0028】
アドバタイジング部204は、BDアドレス(Bluetooth device address)とUUID(Universally Unique Identifier)とを含むアドバタイズメントパケットをブロードキャストするアドバタイジング処理を所定の時間間隔で行う。この時間間隔はアドバタイジングインターバルと呼ばれる。アドバタイジング処理は、37ch(ID=37のチャネル)でアドバタイズメントパケットをブロードキャストすることと、38chでアドバタイズメントパケットをブロードキャストすることと、39chでアドバタイズメントパケットをブロードキャストすることと、を含む。アドバタイズメントパケットはビーコン信号に相当する。BDアドレスは、デバイス固有情報であり、具体的には、Bluetooth機器に一意に割り当てられた識別情報である。UUIDは、例えば、サービスUUID(service UUID)である。
【0029】
スキャン部206は、他のゲートウェイ110からアドバタイズメントパケットを受信するスキャン処理を所定の時間間隔で行う。この時間間隔はスキャンインターバルと呼ばれる。スキャン処理は、スキャンウィンドウと呼ばれる時間期間にわたって行われる。スキャン部206は、他のゲートウェイ110からアドバタイズメントパケットを受信した場合、受信したアドバタイズメントパケットを制御部210に送出する。
【0030】
制御部210はチャネル設定を行う。チャネル設定は、センサ装置120との通信に使用するチャネルを設定する処理である。制御部210は、チャネル設定を行うために記憶部220に記憶されているチャネル情報を参照する。チャネル情報は、複数のチャネルマップをマスタノード数と順番の組に関連付けた情報である。各チャネルマップはチャネルのセットを示す。制御部210は、決定部212及び選択部214を備える。
【0031】
決定部212は、スキャン部206によるスキャン処理の結果に基づいて、自身(ゲートウェイ110の無線通信装置)の周囲環境に存在するマスタノードの数及び自身の順番(順位)を決定する。ゲートウェイ110の周囲環境はゲートウェイ110が設置された環境を示す。決定部212は、所定の情報(本実施形態ではUUID)を含むアドバタイズメントパケットを送信する無線通信装置の数に基づいてマスタノードの数を決定する。具体的には、決定部212は、UUIDを含むアドバタイズメントパケットを送信する無線通信装置に1を加算した値をマスタノードの数とする。決定部212は、自身のBDアドレスと受信されたアドバタイズメントパケットに含まれるBDアドレスとの比較に基づいて順番を決定する。例えば、決定部212は、自身のBDアドレスと受信されたアドバタイズメントパケットに含まれるBDアドレスとを含む複数のBDアドレスの中で自身のBDアドレスが何番目に大きいかに応じて順番を決定する。
【0032】
選択部214は、決定部212により決定されたマスタノードの数及び順番に基づいて、複数のチャネルマップの中から1つのチャネルマップを選択する。具体的には、選択部214は、記憶部220に記憶されているチャネル情報を参照し、チャネル情報に含まれる複数のチャネルマップの中から、決定されたマスタノード数の及び順番の組に関連付けられているチャネルマップを選択する。
【0033】
第1通信部202は、選択部214により選択されたチャネルマップに従ってセンサ装置120と通信する。第1通信部202は、選択されたチャネルマップのチャネル間で周波数を変更(ホッピング)しながら通信を行う。
【0034】
第2通信部208は、サーバ装置130と通信する。上述したように、ゲートウェイ110とサーバ装置130との間の通信にはWi-Fiを使用する。よって、第2通信部208は、Wi-Fiに準拠する通信処理を行う。第2通信部208は、制御部210を介して第1通信部202からセンサデータを受け取り、センサデータをサーバ装置130に送信する。
【0035】
図3は、記憶部220に記憶されているチャネル情報の一例を示している。上述したように、チャネル情報は、複数のチャネルマップをマスタノード数と順番の組に関連付けた情報である。
図3に示す例では、チャネルマップ{0ch,2ch,4ch,・・・,34ch,36ch}は、2台のマスタノード数と1番目の順番の組に関連付けられている。チャネルマップ{1ch,3ch,5ch,・・・,33ch,35ch}は、2台のマスタノード数と2番目の順番の組に関連付けられている。2台のマスタノード数に関連付けられているこれら2つのチャネルマップは重なり合わない。
【0036】
チャネルマップ{0ch,3ch,6ch,・・・,33ch,36ch}は、3台のマスタノード数と1番目の順番の組に関連付けられている。チャネルマップ{1ch,4ch,7ch,・・・,31ch,34ch}は、3台のマスタノード数と2番目の順番の組に関連付けられている。チャネルマップ{2ch,5ch,8ch,・・・,32ch,35ch}は、3台のマスタノード数と3番目の順番の組に関連付けられている。3台のマスタノード数に関連付けられているこれら3つのチャネルマップは重なり合わない。
【0037】
図4を参照してチャネル設定について説明する。ここでは、
図3に示すチャネル情報を使用するものとする。
図4に示すように、マスタノードとして使用される無線通信装置を備えるゲートウェイ110-1、110-2、110-3が近接して配置されている。ゲートウェイ110-1は、BDアドレス“XX:XX:XX:・・・”を含むアドバタイズメントパケットをブロードキャストする。ゲートウェイ110-2は、BDアドレス“YY:YY:YY:・・・”を含むアドバタイズメントパケットをブロードキャストする。ゲートウェイ110-1は、BDアドレス“ZZ:ZZ:ZZ:・・・”を含むアドバタイズメントパケットをブロードキャストする。
【0038】
ゲートウェイ110-1は、スキャン処理を行い、その結果としてゲートウェイ110-2、110-3を発見する。言い換えると、ゲートウェイ110-1は、干渉を発生させる電波を発する機器が2台近くに存在することを認識する。ゲートウェイ110-1は、自身の周囲環境に3台のマスタノード(具体的にはゲートウェイ110-1、110-2、110-3のマスタノード)が存在することを認識する。ゲートウェイ110-2、110-3も同様に自身の周囲環境に3台のマスタノードが存在することを認識する。
【0039】
BDアドレス“XX:XX:XX:・・・”はBDアドレス“YY:YY:YY:・・・”より大きく、BDアドレス“YY:YY:YY:・・・”はBDアドレス“ZZ:ZZ:ZZ:・・・”より大きいとする。この場合、ゲートウェイ110-1は自身の順番を1番目と認識し、ゲートウェイ110-2は自身の順番を2番目と認識し、ゲートウェイ110-3は自身の順番を3番目と認識する。
【0040】
ゲートウェイ110-1は、マスタノードの数が3台であり、順番が1番目であると決定する。ゲートウェイ110-1は、センサ装置120との通信にチャネルマップ{0ch,3ch,6ch,・・・,33ch,36ch}を使用することを決定する。同様にして、ゲートウェイ110-2はチャネルマップ{1ch,4ch,7ch,・・・,31ch,34ch}の使用を決定し、ゲートウェイ110-3はチャネルマップ{2ch,5ch,8ch,・・・,32ch,35ch}の使用を決定する。
【0041】
このようにして、ゲートウェイ110-1、110-2、110-3は異なるチャネルを使用する。これにより、ネットワーク間での干渉が発生することが回避される。
【0042】
図5は、
図2に示したゲートウェイ110を実現するハードウェア構成例を概略的に示している。
図5に示すように、ゲートウェイ110は、プロセッサ502、RAM(Random Access Memory)504、プログラムメモリ506、ストレージデバイス508、通信インタフェース510、及びバス516を備える。プロセッサ502は、バス516を介して、RAM504、プログラムメモリ506、ストレージデバイス508、及び通信インタフェース510と信号をやり取りする。
【0043】
プロセッサ502は、典型的には、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などの汎用回路を含む。RAM504はワーキングメモリとしてプロセッサ502により使用される。RAM504はSDRAM(Synchronous Dynamic Random Access Memory)などの揮発性メモリを含む。プログラムメモリ506は、チャネル設定プログラムなど、プロセッサ502により実行されるプログラムを記憶する。プログラムはコンピュータ実行可能命令を含む。プログラムメモリ506として、例えば、ROM(Read-Only Memory)が使用される。プロセッサ502は、プログラムメモリ506に記憶されたプログラムをRAM504に展開し、プログラムを解釈及び実行する。チャネル設定プログラムは、プロセッサ502により実行されたときに、決定部212及び選択部214に関して説明する処理をプロセッサ502に実行させる。
【0044】
通信制御プログラムなどのプログラムは、コンピュータで読み取り可能な記憶媒体に記憶された状態でゲートウェイ110に提供されてよい。この場合、例えば、ゲートウェイ110は、記憶媒体からデータを読み出すドライブを備え、記憶媒体からプログラムを取得する。記憶媒体の例は、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD-ROM、DVD-Rなど)、光磁気ディスク(MOなど)、半導体メモリを含む。また、プログラムをネットワーク上のサーバに格納し、ゲートウェイ110がサーバからプログラムをダウンロードするようにしてもよい。
【0045】
ストレージデバイス508はチャネル情報などのデータを記憶する。ストレージデバイス508は、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの不揮発性メモリを含む。ストレージデバイス508の一部領域がプログラムメモリ506として使用されてもよい。
【0046】
通信インタフェース510は、外部装置と通信するためのインタフェースである。通信インタフェース510は、センサ装置120と通信するために、Bluetooth LEモジュール512を含む。Bluetooth LEモジュール512は、プロセッサとメモリとを含む処理回路、RF(Radio Frequency)回路、及びアンテナを備える。Bluetooth LEモジュール512はチップ(LSIチップ)として提供されてよい。Bluetooth LEモジュール512には、BDアドレスが割り当てられている。
【0047】
通信インタフェース510は、サーバ装置130と通信するために、Wi-Fiモジュール514をさらに含む。ゲートウェイ110とサーバ装置130との間の通信が有線通信である実施形態では、通信インタフェース510は、Wi-Fiモジュール514に代えて有線モジュールを含む。
【0048】
図4に示したハードウェア構成例では、第1通信部202、アドバタイジング部204、及びスキャン部206は、Bluetooth LEモジュール512により実現される。第2通信部208はWi-Fiモジュール514により実現される。制御部210はプロセッサ502により実現される。記憶部220はストレージデバイス508により実現される。
【0049】
なお、制御部210は、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)などの専用回路で実施されてもよい。制御部210に含まれる決定部212及び選択部214と記憶部220とはBluetooth LEモジュール512により実現されてもよい。
【0050】
図6は、センサ装置120の機能構成の一例を概略的に示している。
図6に示すセンサ装置120は、
図1に示したセンサ装置120のうちの1つに対応する。
図1に示したセンサ装置120のうちの残りは、
図6に示すセンサ装置120と同じ機能構成を有することができる。
【0051】
図6に示すように、センサ装置120は、センサ部602、通信部604、及び制御部606を備える。制御部606は、センサ部602及び通信部604を制御する。
【0052】
センサ部602は、センサ装置120が設置されている場所又は機器の状態を測定し、状態の測定結果を示すセンサデータを生成する。センサ部602は、制御部606を介して通信部604にセンサデータを送出する。
【0053】
通信部604は、ゲートウェイ110と通信する。上述したように、ゲートウェイ110とセンサ装置120との間の通信にはBluetooth LEを使用する。よって、通信部604は、Bluetooth LEに準拠する通信処理を行う。通信部604は、ゲートウェイ110にセンサデータを送信する。
【0054】
図7は、
図6に示したセンサ装置120を実現するハードウェア構成例を概略的に示している。
図7に示すように、センサ装置120は、プロセッサ702、RAM704、プログラムメモリ706、ストレージデバイス708、Bluetooth LEモジュール710、センサ712、及びバス714を備える。プロセッサ702は、バス714を介して、RAM704、プログラムメモリ706、ストレージデバイス708、Bluetooth LEモジュール710、及びセンサ712と信号をやり取りする。
【0055】
プロセッサ702は、典型的には、CPU、GPUなどの汎用回路を含む。RAM704はワーキングメモリとしてプロセッサ702により使用される。RAM704はSDRAMなどの揮発性メモリを含む。プログラムメモリ706は、制御プログラムなど、プロセッサ702により実行されるプログラムを記憶する。プログラムメモリ706として、例えば、ROMが使用される。プロセッサ702は、プログラムメモリ706に記憶されたプログラムをRAM704に展開し、プログラムを解釈及び実行する。制御プログラムは、プロセッサ702により実行されたときに、制御部606に関して説明する処理をプロセッサ702に実行させる。
【0056】
ストレージデバイス708はセンサデータなどのデータを記憶する。ストレージデバイス708は、フラッシュメモリなどの不揮発性メモリを含む。ストレージデバイス708の一部領域がプログラムメモリ706として使用されてもよい。
【0057】
Bluetooth LEモジュール710は、ゲートウェイ110と通信するためのインタフェースである。Bluetooth LEモジュール710は、プロセッサとメモリとを含む処理回路、RF回路、及びアンテナを備える。Bluetooth LEモジュール710はチップ(LSIチップ)として提供されてよい。
【0058】
センサ712は、センサ装置120が設置されている場所又は機器の状態を測定してセンサデータを生成する。センサ712の例は、温度センサ、加速度センサ、角速度センサを含む。
【0059】
図7に示したハードウェア構成例では、通信部604はBluetooth LEモジュール710により実現される。制御部606はプロセッサ702により実現される。
【0060】
なお、制御部606は、ASIC又はFPGAなどの専用回路で実施されてもよい。
【0061】
[動作]
図8は、ゲートウェイ110により実行されるチャネル設定の手順例を概略的に示している。
【0062】
図8のステップS801において、ゲートウェイ110が起動される。これに伴って、ゲートウェイ110のBluetooth LEモジュール512がアクティブになる。
【0063】
ステップS802において、ゲートウェイ110は、一定期間、アドバタイジング処理及びスキャン処理を行う。例えば、アドバタイジング部204は、BDアドレスとUUIDとを含むアドバタイズメントパケットを周期的にブロードキャストし、スキャン部206は、アドバタイズメントパケットを受信するスキャン処理を行う。
【0064】
ステップS803において、決定部212は、スキャン処理の結果に基づいて、ゲートウェイ110の周囲環境に存在するマスタノードの数を決定する。例えば、決定部212は、UUIDを含むアドバタイズメントパケットを送信する無線通信装置の数に1を加算した値をマスタノードの数とする。スキャン処理の結果としてN台のマスタノードが発見された場合、決定部212は、マスタノードの数を(N+1)と決定する。
【0065】
ステップS804において、決定部212は、スキャン処理の結果に基づいて、ゲートウェイ110の順番を決定する。具体的には、決定部212は、自身のBDアドレスとスキャン部206により受信されたアドバタイズメントパケットに含まれるBDアドレスとの比較に基づいて順番を決定する。スキャン処理の結果として発見されたN台のマスタノードを第1から第Nのマスタノードと称する。まず、決定部212は、変数Orderを初期化する(例えばOrder=1)。決定部212は、自身のBDアドレスを第1のマスタノードのBDアドレスと比較する。自身のBDアドレスが第1のマスタノードのBDアドレスより大きい場合には、決定部212は、変数Orderを変更せず、自身のBDアドレスを第2のマスタノードのBDアドレスと比較する。自身のBDアドレスが第1のマスタノードのBDアドレスより小さい場合には、決定部212は、変数Orderを1インクリメントし、続いて、自身のBDアドレスを第2のマスタノードのBDアドレスと比較する。この操作を繰り返して、決定部212は、自身のBDアドレスを第1から第NのマスタノードのBDアドレスと比較する。決定部212は、比較が終了したときの変数Orderの値を順位とする。
【0066】
ステップS805において、選択部214は、決定部212により決定されたマスタノードの数及び順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択する。具体的には、選択部214は、記憶部220に記憶されているチャネル情報を参照し、決定部212により決定されたマスタノードの数及び順番に関連付けられているチャネルマップを選択する。
図3に示されるチャネル情報では、決定部212が、マスタノード数が4台であり、順位が2番目であると決定した場合、選択部214は、チャネルマップ{1ch,5ch,9ch,・・・,29ch,33ch}を選択する。
【0067】
ステップS806において、制御部210は、選択部214により選択されたチャネルマップを第1通信部202に適用する。第1通信部202は、選択されたチャネルマップに従って通信を行う。ゲートウェイ110は、センサ装置120との接続を確立する。ゲートウェイ110は接続確立時にチャネルマップをセンサ装置120に通知し、ゲートウェイ110及びセンサ装置120はチャネルマップに従って通信を行う。
【0068】
このようにして、ゲートウェイ110は、センサ装置120との通信に使用するチャネルマップを自立的に設定する。
【0069】
図8に示した例では、チャネル設定はゲートウェイ110が起動したときに実施される。チャネル設定は他のタイミングで実施されてもよい。
【0070】
ネットワーク数が動的に変化しない場合には、チャネル設定は、ゲートウェイ110が起動したタイミング又はネットワークが通信を開始するタイミングで実施されてよい。この場合、ネットワークは、そのときに決定されたチャネルマップを継続して使用する。
【0071】
ネットワーク数が動的に変化する場合には、チャネル設定はネットワーク稼働中の任意のタイミングで実施されてよい。ゲートウェイ110は、周期的にチャネル設定を実施してよい。また、ゲートウェイ110は、通信品質の劣化を検出した場合にチャネル設定を実施してよい。また、ゲートウェイ110は、サーバ装置130からの指示に従ってチャネル設定を実施してよい。
【0072】
例えば、新たなネットワークが追加された後にゲートウェイ110がチャネル設定を実施した場合、ゲートウェイ110は、新たなマスタノードを発見し、その結果として新たなチャネルマップを使用するようになる。これにより、新たなネットワークの通信とも干渉を発生させずに通信を行うことができるようになる。また、いずれかのネットワークが除去された(ネットワーク数が減った)場合にも、チャネル設定の実施によりチャネルマップを変更してもよい。ゲートウェイ110は、ネットワークの動的な増減に対してもチャネル設定を自立して行うことができる。
【0073】
[効果]
以上のように、通信システム100に含まれるゲートウェイ110の各々は、アドバタイズメントパケットを受信するスキャン処理を行い、スキャン処理の結果に基づいて、ゲートウェイ110の周囲環境に存在するマスタノードの数及び自身の順番を決定し、決定されたマスタノードの数及び決定された順番に基づいて、予め定められた複数のチャネルマップの中から1つのチャネルマップを選択し、選択されたチャネルマップに従って、センサ装置120と通信する。この構成では、ゲートウェイ110は、互いに異なるチャネルでセンサ装置120と通信するようになる。それにより、複数のゲートウェイ110を含む通信システム100においてネットワーク間の電波干渉が回避され、電波干渉によるセンサデータの喪失が防止される。その結果、センサ装置120により生成されたセンサデータはサーバ装置130に確実に到達することができるようになる。ゲートウェイ110は電波干渉によるデータの喪失が許容されないシステムに好適である。また、チャネル設定は、Bluetooth LEが搭載された通信LSIのBluetooth LEの無線通信仕様を構成するプログラムを改変することなしに実施することができる。
【0074】
複数のチャネルマップはマスタノード数と順番の組に関連付けられており、ゲートウェイ110は、複数のチャネルマップの中から決定されたマスタノードの数及び決定された順番に関連付けられたチャネルマップを選択する。これにより、すべての利用可能なチャネルがゲートウェイ110により使用される。例えば、2台のゲートウェイ110がある場合、一方のゲートウェイ110はチャネルマップ{0ch,2ch,4ch,・・・,34ch,36ch}を使用し、もう一方のゲートウェイ110はチャネルマップ{1ch,3ch,5ch,・・・,33ch,35ch}を使用し、すべてのチャネル0ch~35chが使用されることになる。チャネルを有効に使用することが可能である。
【0075】
ゲートウェイ110は、無線通信装置(Bluetooth LEモジュール512)に一意に割り当てられた識別情報とスキャン処理の結果として発見された無線通信装置に一意に割り当てられた識別情報との比較に基づいて、順番を決定する。本実施形態では、識別情報はBDアドレスである。他の実施形態では、識別情報は無線通信装置のシリアルナンバーであってよい。これにより、ゲートウェイ110が互いに異なる順番になることが保証される。
【0076】
ゲートウェイ110は、センサ装置120からセンサデータを受信し、センサデータをサーバ装置130に送信する。ゲートウェイ110は、他のゲートウェイ110と異なるチャネルを使用する。このため、電波干渉が発生せず、ゲートウェイ110はセンサ装置120からセンサデータを確実に受信することができる。その結果、データ喪失なしに、センサデータをサーバ装置130に集約することができる。
【0077】
[変形例]
上述した実施形態では、ゲートウェイ110は、センサ装置120からサーバ装置130へセンサデータを転送する中継器である。ゲートウェイ110は、マスタノードとして使用される無線通信装置を含むマスター機器(情報処理装置)の一例である。他の実施形態では、マスター機器は、センサ装置120から受信したセンサデータを処理してもよい。この場合、マスター機器は第2通信部208を備えていなくてもよい。
【0078】
センサ装置120は、スレーブノードとして使用される無線通信装置を含むスレーブ機器の一例である。スレーブ機器は、スレーブ機器が設置されている場所又は機器の状態を制御する制御装置であってもよい。例えば、制御装置は、ゲートウェイ110を介してサーバ装置130から制御データを受信し、受信した制御データに従って制御を行う。なお、制御データはゲートウェイ110により生成されてもよい。例えば、制御装置がセンサ部602を備え、ゲートウェイ110は、制御装置から受信したセンサデータに含まれる測定値を所定の閾値と比較する。ゲートウェイ110は、測定値が所定の閾値を超える場合に、所定の動作を行う(例えばバルブを閉める)ための制御データを生成し、制御データを制御装置に送信する。
【0079】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0080】
100…通信システム、110…ゲートウェイ、112…通信エリア、120…センサ装置、130…サーバ装置、202…第1通信部、204…アドバタイジング部、206…スキャン部、208…第2通信部、210…制御部、212…決定部、214…選択部、220…記憶部、502…プロセッサ、504…RAM、506…プログラムメモリ、508…ストレージデバイス、510…通信インタフェース、512…Bluetooth LEモジュール、514…Wi-Fiモジュール、516…バス、602…センサ部、604…通信部、606…制御部、702…プロセッサ、704…RAM、706…プログラムメモリ、708…ストレージデバイス、710…Bluetooth LEモジュール、712…センサ、714…バス。