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

接続をテストする

GitHub でソースを見る

OTBR Docker を起動したら、Thread ネットワークを形成し、インターネットへの接続をテストします。

Thread ネットワークを形成する

OTBR ウェブ GUI ホーム

OTBR Docker を実行しているマシンで次の手順を行います。

ブラウザ ウィンドウを開き、127.0.0.1:8080 に移動します。OTBR Docker が正しく実行されている場合、OTBR Web GUI が読み込まれます。

[フォーム] メニュー オプションを選択して、デフォルトの認証情報の一部を変更します。デフォルトの Channel と On-Mesh Prefix の値をそのまま使用することをおすすめします。何を使用しても、後でそれを別個のスレッドノードをテストできるようにメモしておきます。

パラメータ 値の例
ネットワーク名 OTBR4444
PAN ID 0x4444
ネットワーク キー 33334444333344443333444433334444
拡張 PAN ID 3333333344444444
パスフレーズ 444444
チャンネル 15
オンメッシュ接頭辞 fd11:22::

[FORM](フォーム)を選択して Thread ネットワークを形成します。OTBR Docker を実行しているターミナル ウィンドウで出力を確認します。on-mesh 接頭辞と SLAAC アドレスを追加すると、otbr-agent のログ出力が表示されます。

otbr-agent[224]: [INFO]-CLI-----: execute command: prefix add fd11:22::/64 pasor

この出力は、Thread ネットワークのインターネット接続に必要です。

2 番目のスレッドノードを起動する

OTBR Docker を起動して実行した後、スタンドアロン Thread ノードを Thread ネットワークに追加し、インターネットに接続されているかどうかをテストします。

OTBR Docker で物理 RCP を使用する場合は、2 番目の物理スレッドノードを使用してテストします。OTBR Docker でシミュレートされた RCP を使用する場合は、2 番目のシミュレーション ノードを使用してテストします。

物理スレッドノード

任意の対応プラットフォームで、スタンドアロン スレッドノードを作成してフラッシュします。このノードは、特定のビルドスイッチでビルドする必要はありません。

基本的なビルド手順については、OpenThread をビルドするをご覧ください。

Nordic nRF52840 プラットフォームの構築とフラッシュの手順について詳しくは、nRF52840 ボードと OpenThread Codelab を使用してスレッド ネットワークを構築するをご覧ください。

  1. ビルドしてフラッシュしたら、USB 経由で OTBR Docker を実行しているマシンに Thread デバイスを接続します。新しいターミナル ウィンドウで screen を使用して、CLI にアクセスします。たとえば、デバイスがポート /dev/ttyACM1 にマウントされている場合:

    screen /dev/ttyACM1 115200
    

  2. Enter キーを押して > OpenThread CLI プロンプトを表示します。

シミュレートされたスレッドノード

  1. OTBR Docker を実行しているマシンで新しいターミナル ウィンドウを開きます。

  2. CLI アプリケーションを起動して、シミュレートされたノードを起動します。

    cd ~/openthread
    ./output/simulation/bin/ot-cli-ftd 2
    

  3. Enter キーを押して > OpenThread CLI プロンプトを表示します。

2 番目のノードを Thread ネットワークに接続する

物理ノードまたはシミュレートされた Thread ノードに OpenThread CLI を使用して、ノードを OTBR Docker によって作成された Thread ネットワークに接続します。

  1. OTBR Docker の最小限の値を使用して、ノードの Thread ネットワーク認証情報を更新します。

    dataset networkkey 33334444333344443333444433334444
    Done
    dataset commit active
    Done
    

  2. Thread インターフェースを起動して Thread を起動します。

    ifconfig up
    Done
    thread start
    Done
    

  3. ノードが OTBR スレッド ネットワークに自動的に参加します。2 分以内に、状態が router になります。

    state
    router
    

  4. ノードのネットワーク アドレスを作成するときに、スレッド ネットワーク作成時の指定に従って、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 アドレスを ping するには、IPv6 に変換し、OTBR のネットワーク アドレス変換(NAT)で使用される 64:ff9b::/64 のよく知られた接頭辞と組み合わせる必要があります。

  1. 変換された IPv4 アドレスを取得するには、findipv6.com などのウェブサイトを使用します。

  2. テストする IPv4 アドレスを変換します。たとえば、IPv6 に変換された 172.217.164.110::ffff:acd9:a46e です。

  3. 結果の IPv6 アドレスの最後の 4 バイトのみを使用して、64:ff9b::/64 のよく知られた接頭辞と組み合わせて新しい IPv6 アドレスを取得します。 64:ff9b::acd9:a46e

  4. スタンドアロン Thread ノードの CLI からこの新しい IPv6 アドレスを ping し、インターネット接続をテストします。このアドレスの ping は元の IPv4 アドレスの ping に似ています。

    ping 64:ff9b::acd9:a46e
    16 bytes from 64:ff9b:0:0:0:0:acd9:a46e: icmp_seq=1 hlim=118 time=45ms
    

完了しました。2 番目のスレッドノードは、OTBR Docker を介してインターネットと通信できるようになりました。