ポートを検証する

GitHub でソースを見る

新しいハードウェア プラットフォームの例で OpenThread のポートを正常に検証するには、基本的な検証が必要です。

ターゲット プラットフォーム用にコンパイルする

ターゲット プラットフォーム用のサンプル OpenThread アプリケーションをコンパイルして、ビルドが成功したことを確認します。

./script/build efr32mg12 -DBOARD=brd4161a

CLI を操作する

CLI を操作して、OpenThread 実行と UART 機能を成功させます。

/dev/ttyACM0 のターミナルを開きます(シリアルポートの設定: 115200 8-N-1)。コマンドの一覧を表示するには、「help」と入力します。

help
help
autostart
bufferinfo
...
version
whitelist

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

Thread ネットワークを形成し、ノードがリーダー状態に移行したことを確認して、プロトコル タイマーが正常に動作することを確認する。

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

2 つ目のノードの追加

1 つ目のノードと同じ Thread ネットワーク キーと PAN ID を使用して、新たに形成された Thread ネットワークに 2 つ目のノードを接続し、無線通信が成功したことを確認します。

dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Done
dataset panid 0x8f28
Done
dataset commit active
Done
routerselectionjitter 1
Done
ifconfig up
Done
thread start
Done

数秒お待ちください...

state
router
Done

デバイス間で ping を実行する

ICMPv6 エコー リクエスト / レスポンス メッセージを送受信することで、データパス通信が正常に行われることを確認します。

リーダーのすべての IPv6 アドレスを一覧表示します。

ipaddr
fdde:ad00:beef:0:0:ff:fe00:fc00
fdde:ad00:beef:0:0:ff:fe00:800
fdde:ad00:beef:0:5b:3bcd:deff:7786
fe80:0:0:0:6447:6e10:cf7:ee29
Done

Router からリーダーのメッシュローカル EID IPv6 アドレスに ICMPv6 ping を送信します。

ping fdde:ad00:beef:0:5b:3bcd:deff:7786
16 bytes from fdde:ad00:beef:0:5b:3bcd:deff:7786: icmp_seq=1 hlim=64 time=24ms

デバイスをリセットして再接続を再確認する

ユーザーの操作なしでデバイスをリセットし、同じネットワークへの再アタッチを検証することで、不揮発性の機能を確認する。

Thread ネットワークを開始します。

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

数秒待ってから、アクティブ データセットが不揮発性ストレージに保存されていることを確認します。

dataset active
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

デバイスをリセットします。

reset
ifconfig up
Done
thread start
Done

数秒待ってから、デバイスがネットワークに再接続されたことを確認します。

panid
0x8f28
Done
state
router
Done

乱数の生成を確認する

乱数を生成するには、factoryreset コマンドを実行して、新しいランダムな拡張拡張アドレスを確認します。

extaddr
a660421703f3fdc3
Done
factoryreset

数秒お待ちください...

extaddr
9a8ed90715a5f7b6
Done