Thread ネットワークを形成し、インターネットへの接続をテストします。
「ot-ctl」セッションを開始する
ot-ctl
は OpenThread CLI コマンドを公開します。詳細については、OpenThread CLI ガイドをご覧ください。
Docker を使用している場合は、次のように ot-ctl
セッションを開始します。
docker exec -it otbr ot-ctl
ネイティブ ホストを使用している場合は、次のように ot-ctl
セッションを開始します。
sudo ot-ctl
Thread ネットワークを形成する
新しいネットワーク構成を生成します。
dataset init new
Done新しいネットワーク構成を表示します。
dataset
Active Timestamp: 1 Channel: 15 Wake-up Channel: 16 Channel Mask: 0x07fff800 Ext PAN ID: 39758ec8144b07fb Mesh Local Prefix: fdf1:f1ad:d079:7dc0::/64 Network Key: f366cec7a446bab978d90d27abe38f23 Network Name: OpenThread-5938 PAN ID: 0x5938 PSKc: 3ca67c969efb0d0c74a4d8ee923b576c Security Policy: 672 onrc 0 Done新しいデータセットを、非揮発性ストレージ内のアクティブなオペレーション データセットに commit します。
dataset commit active
DoneThread インターフェースを有効にします。
ifconfig up
Donethread start
DoneLinux ホスト コンソール(
ot-ctl
セッション内ではない)で、ifconfig
を使用して新しい Thread ネットワーク インターフェースを表示します。ifconfig wpan0
wpan0: flags=4305mtu 1280 inet6 fe80::3c98:89e8:ddec:bda7 prefixlen 64 scopeid 0x20 inet6 fd4d:b3e5:9738:3193:0:ff:fe00:fc00 prefixlen 64 scopeid 0x0 inet6 fd4d:b3e5:9738:3193:0:ff:fe00:f800 prefixlen 64 scopeid 0x0 inet6 fd4d:b3e5:9738:3193:39c4:ee02:ca9e:2b1d prefixlen 64 scopeid 0x0 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC) RX packets 16 bytes 1947 (1.9 KiB) RX errors 0 dropped 3 overruns 0 frame 0 TX packets 7 bytes 1152 (1.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2 つ目の Thread ノードを起動する
OTBR が稼働したら、スタンドアロンの Thread ノードを Thread ネットワークに追加し、インターネットに接続されていることをテストします。
Nordic nRF52840 プラットフォームのビルドとフラッシュの詳細な手順については、nRF52840 ボードと OpenThread Codelab を使用して Thread ネットワークを作成するをご覧ください。
ビルドとフラッシュが完了したら、新しいターミナル ウィンドウで
screen
を使用して CLI にアクセスします。たとえば、デバイスがポート/dev/ttyACM1
にマウントされている場合:screen /dev/ttyACM1 115200
Enter キーを押して、
>
OpenThread CLI プロンプトを表示します。
2 つ目のノードを Thread ネットワークに参加させる
2 番目の Thread ノードに OpenThread CLI を使用して、OTBR によって作成された Thread ネットワークにノードを参加させます。
OTBR の最小必要な値を使用して、ノードの Thread ネットワーク認証情報を更新します。
dataset networkkey f366cec7a446bab978d90d27abe38f23
Donedataset commit active
DoneThread インターフェースを表示して Thread を開始します。
ifconfig up
Donethread start
Doneノードは OTBR Thread ネットワークに自動的に接続されます。2 分以内に、その状態は
router
になります。state
router
パブリック アドレスに ping する
この時点で、スタンドアロン Thread ノードからパブリック IPv4 アドレスに ping を実行できるはずです。Thread は IPv6 のみを使用するため、パブリック IPv4 アドレスは Thread ネットワークの NAT64 プレフィックスと組み合わせて IPv6 に自動的に変換されます。
Thread ネットワークの NAT64 プレフィックスを表示するには:
ここで、netdata show
Prefixes: fd3e:d39b:d91:1::/64 paros low 1800 Routes: ::/0 s med 1800 fd3e:d39b:d91:2:0:0::/96 sn low 1800 Services: Contexts: fd3e:d39b:d91:1::/64 1 c Commissioning: 12156 - - -fd3e:d39b:d91:2:0:0::/96
は Thread ネットワークの NAT64 プレフィックスです。スタンドアロン Thread ノードの CLI から IPv4 アドレスに ping を実行して、インターネット接続をテストします。
ping 8.8.8.8
Pinging synthesized IPv6 address: fd3e:d39b:d91:2:0:0:808:808 16 bytes from fd3e:d39b:d91:2:0:0:808:808: icmp_seq=1 hlim=113 time=73ms 1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 73/73.0/73 ms. Done
完了しました。これで、2 番目の Thread ノードは OTBR を介してインターネットと通信できるようになりました。