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