委任設定には、委任者ロールを持つデバイスと参加者ロールを持つデバイスの 2 台のデバイスが必要です。コミッショナーは、既存の Thread ネットワーク内の Thread デバイス、または Thread ネットワーク外のデバイス(スマートフォンなど)で、コミッショナーの役割を果たします。参加者は、Thread ネットワークに参加するデバイスです。
Thread コミッショナーは、ネットワークへのデバイスの認証に使用されます。ネットワーク鍵などの Thread ネットワーク認証情報を転送したり、所有したりすることはありません。
このガイドでは、外部のコミッショナーまたはボーダー ルーターを使用せずに、メッシュ上での基本的なコミッショニングについて説明します。外部コミッショナーの使用方法については、外部スレッドのコミッショニングをご覧ください。
仮想デバイスを使用した構成の例については、OpenThread シミュレーション Codelab をご覧ください。
ロールを有効にする
コミッショナー ロールと参加者ロールを有効にするには、次の cmake オプションを使用します。
オプション | 説明 |
---|---|
-DOT_COMMISSIONER=ON |
コミッショナーのロールが可能 |
-DOT_JOINER=ON |
参加者のロールを有効にする |
たとえば、ジョイナーのみで使用する CC2538 サンプル プラットフォームをビルドするには、次のコマンドを使用します。
./script/build -DOT_JOINER=ON
各バイナリを目的のデバイスにフラッシュします。一方のデバイスがコミッショナーとして機能し、もう一方が参加者として機能します。
サポートされているプラットフォームのビルドと書き込みの具体的な手順については、各プラットフォームの OpenThread リポジトリをご覧ください。リポジトリについては、OpenThread GitHub 組織をご覧ください。
ネットワークの作成
コミッショナーとして機能するデバイスにネットワークを作成します。
dataset init new
Donedataset
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 Donedataset commit active
Doneifconfig up
Donethread start
Done
数秒待ってから、デバイスがスレッドリーダーになったことを確認します。
state
leader
Done
コミッショナー ロールを開始する
同じデバイスで、コミッショナーのロールを始めます。
commissioner start
Done
* ワイルドカードを使用すると、指定された参加者認証情報を持つすべての参加者がネットワークにコミッションを設定できます。Joiner 認証情報は、デバイスの事前共有キー(PSKd)を生成するために(拡張 PAN ID およびネットワーク名とともに)使用されます。PSKd は、スレッド コミッショニング中にデバイスを認証するために使用されます。参加者の認証情報はデバイスごとに一意である必要があります。
commissioner joiner add * J01NME
Done
特定の参加者に制限する
特定の Joiner デバイスに構成を制限するには、eui64
パラメータを使用します。これは、デバイスに工場で割り当てられた IEEE EUI-64 です。
ジョイナーとして機能するデバイスで EUI-64 を取得します。
eui64
2f57d222545271f1
Done
コミッショナー デバイスの commissioner joiner
コマンドでは、* ワイルドカードの代わりにこの値を使用します。
commissioner joiner add 2f57d222545271f1 J01NME
Done
新入社員のロールを始める
参加者として機能するデバイスで出荷時設定にリセットし、委任者で指定された同じ参加者認証情報を使用して参加者ロールを有効にします。
factoryreset
ifconfig up
Donejoiner start J01NME
Done
数秒で確定します。
Join success!
参加デバイスがコミッショナーで正常に認証され、Thread ネットワークの認証情報を受け取った。
次に、参加デバイスで Thread を開始します。
thread start
Done
認証を検証する
参加デバイスの状態を確認して、ネットワークに接続されていることを確認します。2 分以内に、状態が子からルーターに移行します。
state
child Done ...state
router Done