Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

メッシュのコミッション

GitHub でソースを見る

コミッショナーとジョイナー

コミッショニングを行うには、コミッショナー ロールを持つデバイスと、Joiner ロールを持つ 1 つのデバイスが必要です。コミッショナーは、既存の Thread ネットワーク内の Thread デバイス、またはコミッショナーのロールを実行する Thread ネットワーク外のデバイス(スマートフォンなど)のいずれかです。Joiner は、Thread ネットワークに参加するデバイスです。

Thread Commissioner はネットワーク上でデバイスを認証するために使用されます。ネットワーク キーなどの Thread ネットワーク認証情報は転送されず、所有されません。

このガイドでは、外部のコミッショナーやボーダー ルーターを使用しない、基本的なメッシュ コミッションについて説明します。外部コミッショナーの使用方法については、外部コミッショナーをご覧ください。

仮想デバイスを使用したコミッシングの例については、OpenThread シミュレーション Codelab をご覧ください。

ロールを有効にする

コミッショナーと Joiner のロールを有効にするには、次の cmake オプションを使用します。

オプション 説明
-DOT_COMMISSIONER=ON コミッショナーのロールを有効にする
-DOT_JOINER=ON Joiner ロールを有効にします

たとえば、Joiner としてのみ使用する CC2538 サンプル プラットフォームを構築するには、次のようにします。

./script/build -DOT_JOINER=ON

各バイナリを対象デバイスにフラッシュします。1 つはコミッショナーとして、もう 1 つはコミッショナーとして機能します。

サポートされているプラットフォームの作成とフラッシュに関する具体的な手順は、各プラットフォームの OpenThread リポジトリにあります。OpenThread GitHub 組織でリポジトリを確認してください。

ネットワークの作成

コミッショナーとして機能するデバイス上にネットワークを作成します。

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

数秒待ってから、デバイスが Thread リーダーになったことを確認します。

state
leader
Done

コミッショナーのロールを開始する

同じデバイスでコミッショナーのロールを開始します。

commissioner start
Done

* ワイルドカードを使用すると、指定した Joiner 認証情報を持つすべての Joiner がネットワークに参加できます。Joiner 認証情報は、拡張 PAN ID とネットワーク名とともに、デバイスの事前共有キー(PSKd)の生成に使用されます。PSKd は、Thread のコミッション中にデバイスを認証するために使用されます。Joiner 認証情報はデバイスごとに一意である必要があります。

commissioner joiner add * J01NME
Done

特定の Joiner に制限

コミッショニングを特定の Joiner デバイスに制限するには、eui64 パラメータを使用します。これは、デバイスに工場で割り当てられた IEEE EUI-64 です。

Joiner として機能しているデバイスで EUI-64 を取得します。

eui64
2f57d222545271f1
Done

commiter デバイスの commissioner joiner コマンドで、ワイルドカードの代わりに * を使用します。

commissioner joiner add 2f57d222545271f1 J01NME
Done

Joiner のロールを開始する

Joiner として機能するデバイスで出荷時の設定へのリセットを行い、Commiter で指定したものと同じ Joiner 認証情報で Joiner ロールを有効にします。

factoryreset
ifconfig up
Done
joiner start J01NME
Done

確認が完了するまで数秒待ちます。

Join success!

Joiner デバイスはコミッショナーで正常に認証され、Thread ネットワーク認証情報を受信します。

Joiner デバイスで Thread を起動します。

thread start
Done

認証を検証する

Joiner デバイスの状態をチェックして、デバイスがネットワークに接続されたことを確認します。2 分以内に、ステータスが子からルーターに遷移します。

state
child
Done
...
state
router
Done