Wi-Fi MESHではデバイス同士が相互に通信し、自動的にお互いに通信できるネットワークを構築します。同じネットワークにするためには以下の設定が揃っている必要があります。
- Wi-FiアクセスポイントのSSIDとパスワード、及びBSSID指定がある場合はBSSID
- MESH ID
これらが同じ設定になっているデバイス同士がメッシュネットワークを自動的に構築しますが、たとえ場所的に近くても設定が異なればお互いを認識することはありません。
RootNode
メッシュネットワークはお互いに通信可能なネットワークとなりますが、その中でただ1つWi-Fiにつながりインターネットと通信するのがRoot Nodeです。
Root Nodeはメッシュネットワークで1つのみ存在します。
そしてRootNodeが代理となりメッシュネットワーク内のパケットルーティングを行います。インターネットから受けたデータを他のデバイスに伝搬し、デバイスから来たデータをobnizCloudに転送します。
RootNodeがobnizCloudと協力することであたかもそれぞれのデバイスがMESHではなく直接Wi-Fiにつながっているかのような処理を実現し、ユーザーへのAPI提供を行います。
構築の流れ
- ネットワークが構築されていない場合、電波(Wi-Fi)を利用しお互いの位置関係を把握します
- お互いに把握したメンバーの中で最もWi-Fiのルーター/アクセスポイントに近いデバイス(Root Node)が1台決定されます
- Root Nodeの決定と同じく、誰がどこに繋がりRoot Nodeまでの経路となるのかを決定します。
- 決定後RootNodeはインターネット経由でobnizCloudに接続します
- Root Nodeがオンラインになった後、それぞれのネットワーク内のデバイスは擬似的なインターネット接続によりobnizCloudに接続し、それぞれオンラインとなります。
レイヤー
Wi-Fi MESHではデバイスに親子関係があり、循環的なネットワークは構築されません。
そのためRoot NodeをLayer=1として、Root NodeにつながっているものをLayer=2、Layer=2につながっているものをLayer=3と、レイヤーという単位が存在し、レイヤーは6までとなっています。
また、1つのデバイスに対して接続される子となるノード数は5となります。
つまり、合計6台のデバイスがあった場合、
- 1台がRootNodeで、残り5台が全てLayer=2としてRootNodeにつながっている
- 1台がRootNodeで、残りが数珠状に繋がりLayer=6まで存在している
- その他
といった接続パターンが考えられ、これはお互いの位置関係から自動的に決定されます。
デバイスの認証
それぞれのデバイスは擬似的なインターネット接続によりobnizクラウドと通信を行います。
デバイスの認証も通常通り行われます。
そのためメッシュネットワーク内のデバイス数が多い場合、メッシュネットワークの構築が完了しても全てがオンラインになるまでの時間が多くかかる場合があります。