OpenThread ボーダー ルーター(OTBR)デバイステスト対象(DUT)で使用する GRL Thread Test Harness と OpenThread Harness Automation Tool の設定は、Certification Automation 設定ガイドと同じです。このガイドは、ここで説明する変更と組み合わせて使用してください。
OTBR などの NCP 設計の場合、OpenThread は、テストハーネスによる NCP の制御を可能にする OpenThread_WpanCtl.py
サンプル Thread Host Control Interface(THCI)を提供します。NCP デバイスの接続モードは 2 つあります。
- シリアルポート接続を使用する(テストハーネスの自動検出機能の使用に推奨)
- SSH 接続の使用
特に断りのない限り、インストールと構成のすべての手順は GRL テストハーネス ソフトウェアを実行している Windows マシンで行われます。続行する前にインストールする必要があります。
THCI サポート ファイルのコピー
Windows マシンに最新バージョンの THCI がインストールされていることを確認します。OpenThread リポジトリのクローンを作成するか、すでに存在している場合は main
ブランチに切り替えます。
git clone https://github.com/openthread/openthread
cd openthread
git checkout main
クローンを作成した OpenThread リポジトリの /tools/harness-thci
から次のファイルを Windows マシン上の指定ディレクトリにコピーします。
ソースファイル | ディレクトリにコピー |
---|---|
deviceInputFields.xml |
C:\GRL\Thread1.1\Web\data\ |
OpenThread_WpanCtl.py |
C:\GRL\Thread1.1\Thread_Harness\THCI\ |
OpenThread_WpanCtl.png |
C:\GRL\Thread1.1\Web\images\ |
接続タイプの設定
NCP のテストハーネス制御には、シリアルポート接続または SSH 接続を設定します。
シリアルポート接続(推奨)
Raspberry Pi 3B(RPi3B)で、シリアルポートとログインシェルを有効にします。
- 構成メニューを入力します:
sudo raspi-config
- 構成メニューで、[5 Interface Options] を選択します。
- [Interface Options] メニューで [P6 Serial Enable/Disable] を選択します。
- RPi3B を再起動します。
テストハーネスを実行する Windows マシンで、次のようにします。
- FT232 ドライバをダウンロードしてインストールします。
- FT232 USB - UART アダプターを Windows マシンの USB スロットに接続します。
- FT232 の電圧ジャンパーを 3.3 V に設定します。
- 次のピンとデュポン線を使用して、FT232 を RPi3B に接続します。
RPi3B PIN FT232 PIN デュポン線 PIN 6 GND White PIN 8 RXD 回 黄 PIN 10 台湾時間 赤 - 接続したら、Windows パソコンを再起動します。
- Python pySerial モジュールを使用して、デバイスのシリアルポート ハードウェア識別子を探します。
- Windows マシンに pySerial をインストールします。
- Windows コマンドラインで Python を使用して、マシンに接続されているデバイスのすべてのハードウェア識別子(VID と PID)を列挙します。この出力では、ID が
VID_0403+PID_6001
の 1 つの NCP デバイスが接続されています。python -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
- すでに COM ポートがわかっている場合は、別のコマンドを使用できます。たとえば、COM ポートが
COM10
の場合:python -c "import serial.tools.list_ports;print [ports[2] for ports in serial.tools.list_ports.comports() if ports[0] == 'COM10']"
['FTDIBUS\VID_0403+PID_6001+AL01WP6MA\0000']
- ゴールデン デバイスのリストを更新します。
C:\GRL\Thread1.1\Config\Configuration.ini
を開きます。- デバイスの VID と PID を指定して OpenThread_WpanCtl グループを
GoldenDeviceHardwareIds
配列に追加します。GoldenDeviceHardwareIds = {
'NXP': ['VID:PID=1FC9:0300','VID:PID=15A2:0300','VID:PID=1366:1015'],
'SiLabs': 'VID:PID=10C4:8A5E',
'ARM': 'VID:PID=0D28:0204',
'OpenThread':['VID:PID=10C4:EA60', 'VID:PID=1915:CAFE'],
'OpenThread_WpanCtl':['VID_0403+PID_6001’]}
すべての構成が完了したら、次の手順を行います。
- GRL テストハーネスを起動します。
[Configure Test Bed] ページで、デバイスまたはポートが OT NCP デバイスとして表示されます。
テストハーネスの開始後に DUT が [Test Bed](テストベッド)セクションにない場合は、OpenThread WpanCtl: wpantund+NCP デバイスを [Supported Hardware] セクションから [Test Bed] セクションにドラッグして手動で追加します。ドラッグした後:
- [シリアルライン](COM ポート)値と [速度](ボーレート)値が正しく入力されていることを確認します。
- [Speed] フィールドの下にある矢印ボタンをクリックして、テストハーネスと OT NCP デバイス間のシリアル接続を確立します。
サポートされているハードウェアのリストの下にある [自動 DUT デバイス選択を有効にする] チェックボックスをオンにします。
ターゲット デバイス/ポートの下にある [Set as DUT] ラジオボタンを選択して、OT NCP デバイスを DUT として設定します。
SSH 接続
RPi3B で SSH を有効にします。
- 起動時に SSH サービスを有効にします。
sudo systemctl enable ssh
- SSH サービスを開始します。
sudo systemctl start ssh
ヘッドレス RPi3B で SSH を有効にするには、Raspberry Pi SSH ドキュメントのステップ 3 をご覧ください。
テストハーネスを実行する Windows マシンで、次のようにします。
- GRL の Python 環境に Paramiko をインストールします。
cd C:\GRL\Python2.7
python -m pip install --upgrade pip
python -m pip install paramiko
- GRL テストハーネスを起動します。
- [Configure Test Bed] ページの [Supported Hardware] セクションから [Test Bed] に OpenThread WpanCtl SSH: wpantund+NCP デバイスをドラッグします。
- デバイスの IP アドレスに 192.168.1.100 を入力し、PORT に 22 を入力します。
- [PORT] フィールドの下の矢印ボタンをクリックして、テストハーネスと OT NCP デバイス間の SSH 接続を確立します。
自動化の設定
Harness Automation ツールを設定する方法については、Certification Automation 設定ガイドのインストールと構成の手順をご覧ください。
テストケースを実行する
OTBR DUT で認証テストケースを実行する方法については、認証テストケースの実行をご覧ください。
トラブルシューティング
デバイスの再起動
RPi3B を再起動する必要がある場合は、テストハーネス ソフトウェアを閉じて、再起動後 20 秒以上待ってから、テストハーネスを再起動します。
テストハーネスがボーダー ルーターを検出できない
シリアルポート接続を使用している場合、テストハーネスがボーダー ルーターを検出しないことがあります。上記が該当する場合は、次の手順を実施してください。
- PuTTY などのツールを使用して、シェルポートがシリアルポートに対して機能するかどうかを確認します。
- FT232 デバイスの COM ポートと速度 115200 を使用します。
- ログインできない場合は、すべてのデバイスを再起動してもう一度お試しください。
- RPi3B で
wpantund
のステータスを確認します。
ステータスが「異常」の場合:sudo service wpantund status
- nRF52840 NCP ボードがマウントされていることを確認します。
ls /dev/tty*
/dev/ttyACM0 - このポートが
wpantund
構成(// default value in '/etc/wpantund.conf' Config:NCP:SocketPath "/dev/ttyACM0"
)と一致していることを確認します。 wpantund
:
を再起動します。sudo service wpantund restart
- nRF52840 NCP ボードがマウントされていることを確認します。