OpenThread ボーダー ルーター(OTBR)テスト対象デバイス(DUT)で使用する GRL Thread テストハーネスと OpenThread ハーネス自動化ツールのセットアップは、認証自動化設定ガイドと同じです。このガイドは、ここで説明する変更と併用してください。
OTBR などの NCP 設計の場合、OpenThread は、Test Harness が NCP を制御できるようにする OpenThread_WpanCtl.py
Thread Host Control Interface(THCI)の例を提供します。NCP デバイスには、次の 2 つの接続モードがあります。
- シリアルポート接続を使用する(Test Harness の自動検出機能を使用する場合に推奨)
- SSH 接続を使用する
特に記載のない限り、以下のインストールと構成の手順はすべて、GRL Test Harness ソフトウェアを実行している 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] を選択します。
- [インターフェース オプション] メニューで、[P6 シリアルの有効化 / 無効化] を選択します。
- RPi3B を再起動します。
テストハーネスを実行している Windows マシンで、次のコマンドを実行します。
- FT232 ドライバをダウンロードしてインストールします。
- FT232 USB to UART アダプターを Windows マシンの USB スロットに接続します。
- FT232 の電圧ジャンパーを 3.3 V に設定します。
- 次のピンと Dupont ラインを使用して、FT232 を RPi3B に接続します。
RPi3B ピン FT232 ピン Dupont ライン Pin6 GND 白 Pin8 RXD 黄 Pin10 TXD 赤 - 接続したら、Windows マシンを再起動します。
- Python pySerial モジュールを使用して、デバイスのシリアルポート ハードウェア ID を確認します。
- Windows マシンに pySerial をインストールします。
- Windows コマンドラインで Python を使用して、マシンに接続されているデバイスのすべてのハードウェア ID(VID と PID)を列挙します。この出力では、1 つの NCP デバイスが接続されており、識別子は
VID_0403+PID_6001
です。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 を使用して、
GoldenDeviceHardwareIds
配列に OpenThread_WpanCtl グループ化を追加します。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] セクションに表示されない場合は、[Supported Hardware] セクションから [Test Bed] セクションに OpenThread WpanCtl:wpantund+NCP デバイスをドラッグして、手動で追加します。ドラッグした後:
- 正しい [シリアル ライン](COM ポート)と [速度](ボーレート)の値が入力されていることを確認します。
- [Speed] フィールドの下にある矢印ボタンをクリックして、Test Harness と OT NCP デバイス間のシリアル接続を確立します。
[Supported Hardware] リストの下にある [Enable Auto DUT Device Selection] チェックボックスをオンにします。
ターゲット デバイス / ポートの [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 addr] には「192.168.1.100」と入力し、[PORT] にはデバイスの「22」と入力します。
- [PORT] フィールドの下にある矢印ボタンをクリックして、テストハーネスと OT NCP デバイスの間に SSH 接続を確立します。
自動化の設定
Harness Automation Tool の設定方法については、認定資格の自動化設定ガイドのインストールと構成の手順をご覧ください。
テストケースを実行する
OTBR DUT で認定テストケースを実行する方法については、認定テストケースの実行をご覧ください。
トラブルシューティング
デバイスの再起動
RPi3B を再起動する必要がある場合は、テストハーネス ソフトウェアを閉じて、再起動の完了後 20 秒以上待ってからテストハーネスを再起動します。
テストハーネスがボーダー ルーターを検出できない
シリアルポート接続を使用している場合、Test Harness が境界ルーターを検出しないことがあります。上記が該当する場合は、次の手順を実施してください。
- PuTTY などのツールを使用して、シリアルポートでシェル ログインが機能するかどうかを確認します。
- FT232 デバイスの COM ポートと、速度(ボーレート)115,200 を使用します。
- ログインに失敗した場合は、すべてのデバイスを再起動して再度ログインを試します。
- 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 ボードが取り付けられていることを確認します。