コミッショニングには、Commissioner ロールを持つデバイス 1 台と、Joiner ロールを持つデバイス 1 台が必要です。コミッショナーは、既存の Thread ネットワーク内の Thread デバイス、またはコミッショナーの役割を果たす Thread ネットワーク外のデバイス(スマートフォンなど)のいずれかです。Joiner は、Thread ネットワークへの参加を希望するデバイスです。
Thread Commissioner は、デバイスをネットワークに認証するために使用されます。ネットワーク キーなどの Thread ネットワーク認証情報を転送したり、所有したりしません。
このガイドでは、外部の Commissioner や Border Router を使用しない、基本的なオンメッシュのコミッショニングについて説明します。外部 Commissioner の使用方法については、外部 Thread Commissioning をご覧ください。
仮想デバイスを使用したコミッショニングの例については、OpenThread シミュレーション Codelab をご覧ください。
ロールを有効にする
Commissioner ロールと Joiner ロールを有効にするには、次の cmake オプションを使用します。
| オプション | 説明 |
|---|---|
-DOT_COMMISSIONER=ON |
Commissioner ロールを有効にする |
-DOT_JOINER=ON |
参加者ロールを有効にする |
たとえば、CC2538 のサンプル プラットフォームを Joiner 専用としてビルドするには:
./script/build -DOT_JOINER=ON
各バイナリを目的のデバイスに書き込みます。1 つのデバイスはコミッショナーとして機能し、もう 1 つのデバイスはジョイナーとして機能します。
サポートされているプラットフォームのビルドとフラッシュに関する具体的な手順については、各プラットフォームの OpenThread リポジトリをご覧ください。リポジトリについては、OpenThread GitHub 組織をご覧ください。
ネットワークの作成
Commissioner として機能するデバイスでネットワークを作成します。
dataset init newDonedatasetActive 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 activeDoneifconfig upDonethread startDone
数秒待ってから、デバイスが Thread リーダーになったことを確認します。
state
leader
Done
コミッショナーの役割を開始する
同じデバイスで、Commissioner ロールを開始します。
commissioner start
Done
* ワイルドカードを使用して、指定された Joiner Credential を持つ任意の Joiner がネットワークにコミッショニングできるようにします。Joiner Credential は、(Extended PAN ID と Network Name とともに)デバイスの事前共有キー(PSKd)を生成するために使用されます。PSKd は、Thread Commissioning 中にデバイスの認証に使用されます。Joiner Credential はデバイスごとに一意である必要があります。
commissioner joiner add * J01NME
Done
特定の Joiner に制限する
コミッショニングを特定の Joiner デバイスに制限するには、デバイスの工場出荷時に割り当てられた IEEE EUI-64 である eui64 パラメータを使用します。
Joiner として機能するデバイスで、EUI-64 を取得します。
eui64
2f57d222545271f1
Done
コミッショナー デバイスの commissioner joiner コマンドで、* ワイルドカードの代わりにその値を使用します。
commissioner joiner add 2f57d222545271f1 J01NME
Done
参加者ロールを開始する
Joiner として機能するデバイスで、出荷時の設定にリセットしてから、Commissioner で指定した Joiner 認証情報と同じ Joiner 認証情報を使用して Joiner ロールを有効にします。
factoryresetifconfig upDonejoiner start J01NMEDone
数秒待って確認します。
Join success!
Joiner デバイスは Commissioner で認証され、Thread ネットワークの認証情報を取得しました。
次に、Joiner デバイスで Thread を起動します。
thread start
Done
認証を検証する
Joiner デバイスの状態を確認して、ネットワークに参加していることを検証します。2 分以内に、状態が子からルーターに遷移します。
statechild Done ...staterouter Done