bluetooth mesh 技術
ユニキャストアドレス、グループアドレス
bluetooth mesh
unicast addreass
group addreass
アドレス
Bluetooth meshのアドレスは、
- ユニキャストアドレス
- グループアドレス
- バーチャルアドレス(本項では取り扱いません)
の3つがります。
ユニキャストアドレス
Bluetooth meshのデバイスは、
・複数のエレメント
・1つのエレメントにはサーバーとクライアント
を持つことが出来ます。
ユニキャストアドドレスは、 エレメントに割り当てられるアドレスになります。
なおユニキャストアドレスはプロビジョニング時にそれぞれ設定されます。
①の図は、デバイスに2つのエレメントにサーバーとクライアントをモデルを持つ場合です。
エレメントは、ネットワーク内でユニークな値となっています。
グループアドレス
複数のユニキャストアドレスをまとめてグループを作ることができます。
これにより1つクライアントから複数のサーバーに値を1度にセットすることができます。
例えば、一斉にデバイスをOFFさせたり、電波状態のビーコンを送信したりするときに使用できます。
パブリッシュはクラインアント、サブスクライブはサーバーで設定します。
クライアントからサーバーへセット
コンピューター的にwriteやout等の動作に当たります。
GPIOを出力にしてそこに値をセットするような時に使用します。
クライアントからサーバーのユニキャストアドレスを指定して値をセットします。
②の図では、
・デバイスA : エレメント1 : モデルクライアントから
・デバイスB : エレメント1 : モデルサーバーへ
値をセットしている図になります。このときmashパケットには
・デバイスA : エレメント1の送信ユニキャストアドレス(0x0010)と
・デバイスB : エレメント1の受信ユニキャストアドレス(0x0012)が
含まれます。
サーバーからクライアントへゲット
コンピューター的にreadやin等の動作に当たります。
GPIOを入力にしてそこの値をゲットするような時に使用します。
クライアントからサーバーのユニキャストアドレスを指定して値をゲットします。
③の図では、
・デバイスA : エレメント1 : モデルクライアントから
・デバイスB : エレメント1 : モデルサーバーへ
ゲットを要求して値を得ている図になります。このときmashパケットには
・デバイスA : エレメント1の送信ユニキャストアドレス(0x0010)と
・デバイスB : エレメント1の受信ユニキャストアドレス(0x0012)が
含まれます。
複数のクライアントからサーバーへ
セット
コンピューター的に割込みの動作に当たります。
GPIOを入力にして値が変化したら能動的にセットしたり、タイマーインターバールで値をセットするような時に使用します。
クライアントからサーバーのユニキャストアドレスを指定して値をセットします。
④の図では、
・デバイスB : エレメント2 : モデルクライアントから
・デバイスA : エレメント2 : モデルサーバーへ
値をセットている図になります。このときmashパケットには
・デバイスB : エレメント2の送信ユニキャストアドレス(0x0013)や(0x0015)が
・デバイスA : エレメント2の受信ユニキャストアドレス(0x0011)と
含まれます。
クラインアントから複数のサーバーへ
セット
コンピューター的にマルチキャストに当たります。
一斉にデバイスをOFFさせたり、電波状態のビーコンを送信したりするときに使用します。
パブリッシュはクラインアント、サブスクライブはサーバーで設定します。
クライアントからサーバーのグループアドレスを指定して値をセットします。
②の図では、
・デバイスA : エレメント2 : モデルクライアントから
・デバイスBやC : エレメント2 : モデルサーバーへ
値をセットしている図になります。このときmashパケットには
・デバイスA : エレメント2のグループアドレス(0xC000)と
・デバイスB : エレメント2のグループアドレス(0xC000)が
含まれます。