OTBR Docker を起動したら、Thread ネットワークを形成し、インターネットとの接続をテストします。
Thread ネットワークを形成する
OTBR Docker を実行しているマシンで、次のコマンドを実行します。
ブラウザ ウィンドウを開き、127.0.0.1:8080 に移動します。OTBR Docker が正しく実行されている場合、OTBR ウェブ GUI が読み込まれます。
[フォーム] メニュー オプションを選択し、デフォルトの認証情報を変更します。デフォルトのチャネルとオンメッシュ プレフィックスの値をそのまま使用することをおすすめします。いずれの方法でも、後で別の Thread ノードをテストできるように、値をメモしておきます。
パラメータ | 値のサンプル |
---|---|
ネットワーク名 | OTBR4444 |
PAN ID | 0x4444 |
ネットワーク キー | 33334444333344443333444433334444 |
拡張 PAN ID | 3333333344444444 |
パスフレーズ | 444444 |
チャンネル | 15 |
オンメッシュ プレフィックス | fd11:22:: |
[FORM] を選択して Thread ネットワークを形成します。OTBR Docker を実行しているターミナル ウィンドウで出力を確認します。オンメッシュ プレフィックスと SLAAC アドレスの追加に関する otbr-agent
ログ出力が表示されます。
otbr-agent[224]: [INFO]-CLI-----: execute command: prefix add fd11:22::/64 pasor
この出力は、Thread ネットワークのインターネット接続に必要です。
2 つ目の Thread ノードを起動する
OTBR Docker が稼働したら、スタンドアロンの Thread ノードを Thread ネットワークに追加し、インターネットに接続されていることをテストします。
OTBR Docker で物理 RCP を使用する場合は、2 つ目の物理 Thread ノードを使用してテストします。OTBR Docker でシミュレートされた RCP を使用する場合は、2 番目のシミュレートされたノードを使用してテストします。
物理スレッドノード
任意の対応プラットフォームでスタンドアロン Thread ノードをビルドしてフラッシュします。このノードは、特定のビルドスイッチでビルドする必要はありません。
基本的なビルド手順については、OpenThread をビルドするをご覧ください。
Nordic nRF52840 プラットフォームのビルドと書き込みの詳細な手順については、nRF52840 ボードと OpenThread Codelab を使用して Thread ネットワークを作成するをご覧ください。
ビルドと書き込みが完了したら、OTBR Docker を実行しているマシンに Thread デバイスを USB 経由で接続します。新しいターミナル ウィンドウで
screen
を使用して CLI にアクセスします。たとえば、デバイスがポート/dev/ttyACM1
にマウントされている場合:screen /dev/ttyACM1 115200
Enter キーを押して、
>
OpenThread CLI プロンプトを表示します。
シミュレートされたスレッドノード
OTBR Docker を実行しているマシンで新しいターミナル ウィンドウを開きます。
CLI アプリケーションを起動して、シミュレートされたノードを起動します。
cd ~/openthread
./build/simulation/examples/apps/cli/ot-cli-ftd 2
Enter キーを押して、
>
OpenThread CLI プロンプトを表示します。
2 番目のノードを Thread ネットワークに接続する
物理 Thread ノードまたはシミュレートされた Thread ノードの OpenThread CLI を使用して、OTBR Docker によって作成された Thread ネットワークにノードを参加させます。
OTBR Docker で必要な最小値を使用して、ノードの Thread ネットワーク認証情報を更新します。
dataset networkkey 33334444333344443333444433334444
Donedataset commit active
DoneThread インターフェースを表示して Thread を開始します。
ifconfig up
Donethread start
Doneノードは OTBR Thread ネットワークに自動的に接続されます。2 分以内に、その状態は
router
になります。state
routerノードの IP アドレスを調べて、Thread ネットワーク形成時に指定したメッシュ上の接頭辞が
fd11:22::/64
の IPv6 アドレスがあることを確認します。ipaddr
fd11:22:0:0:614e:4588:57a1:a473 fd33:3333:3344:0:0:ff:fe00:f801 fd33:3333:3344:0:1b5f:db5:ecac:a9e fe80:0:0:0:e0c4:5304:5404:5f70:98cd
パブリック アドレスに ping する
この時点で、スタンドアロンの Thread ノードからパブリック IPv4 アドレスに ping できるはずです。Thread は IPv6 のみを使用するため、パブリック IPv4 アドレスは Thread ネットワークの NAT64 プレフィックスと組み合わせて自動的に IPv6 に変換されます。
Thread ネットワークの NAT64 プレフィックスを表示するには:
ここで、netdata show
Prefixes: fd11:22:0:0::/64 paros med d400 Routes: fdb5:7875:8e0e:2:0:0::/96 sn low d400 fd11:1111:1122:2222::/64 s med d400 Services: 44970 5d fd5179ed685532847aaa91505f016bbad11f s d400 44970 01 00000500000e10 s d400 Donefdb5:7875:8e0e:2:0:0::/96
は Thread ネットワークの NAT64 プレフィックスです。スタンドアロン Thread ノードの CLI から IPv4 アドレスに ping を実行して、インターネット接続をテストします。
ping 8.8.8.8
Pinging synthesized IPv6 address: fdb5:7875:8e0e:2:0:0:808:808 16 bytes from fdb5:7875:8e0e:2:0:0:808:808: icmp_seq=15 hlim=119 time=48ms
完了しました。これで、2 番目の Thread ノードは OTBR Docker を介してインターネットと通信できるようになりました。