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

メッシュ内のコミッショニング

GitHub でソースを見る

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

コミッショニングには、コミッショナーの役割を持つデバイス 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
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

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

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
Done
joiner start J01NME
Done

数秒待ってから、確認を行ってください。

Join success!

Joiner デバイスはコミッタで自身を認証し、スレッド ネットワーク認証情報を受信しました。

Joiner デバイスで Thread を開始します。

thread start
Done

認証を検証する

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

state
child
Done
...
state
router
Done