
コミッショニングを行うには、コミッショナー ロールを持つデバイスと、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
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
数秒待ってから、デバイスが 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
Donejoiner start J01NME
Done
確認が完了するまで数秒待ちます。
Join success!
Joiner デバイスはコミッショナーで正常に認証され、Thread ネットワーク認証情報を受信します。
Joiner デバイスで Thread を起動します。
thread start
Done
認証を検証する
Joiner デバイスの状態をチェックして、デバイスがネットワークに接続されたことを確認します。2 分以内に、ステータスが子からルーターに遷移します。
state
child Done ...state
router Done