OpenThread Border Router(OTBR)テスト対象デバイス(DUT)で使用する GRL スレッドテストハーネスと OpenThread ハーネス自動化ツールのセットアップは、Certification Automation のセットアップガイドをご覧ください。ここに記載されている変更と合わせて、このガイドを使用してください。
OTBR のような NCP 設計では、OpenThread は、テストハーネスが NCP を制御できる OpenThread_WpanCtl.py
スレッドホスト コントロール インターフェース(THCI)の例を提供します。NCP デバイスには、次の 2 つの接続モードがあります。
- シリアルポート接続の使用(テストハーネスの自動検出機能の使用に推奨)
- 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 Interface Options] を選択します。
- [Interface Options] メニューで [P6 Serial Enable/Disable(P6 シリアルの有効化 / 無効化)] を選択します。
- RPi3B を再起動します。
テストハーネスを実行している Windows マシンの場合:

- FT232 ドライバをダウンロードしてインストールします。
- FT232 USB to UART アダプタを Windows マシンの USB スロットに接続する。
- FT232 の電圧ジャンパーを 3.3 V に設定します。
- 次のピンとデュポン ラインを使用して、FT232 を RPi3B に接続します。
RPi3B ピン FT232 ピン デュポンライン 固定 GND ホワイト ピン 8 Rxd 黄 ピン 10 Txd 赤 - 接続したら、Windows マシンを再起動します。
- Python pySerial モジュールを使用して、デバイスのシリアルポートのハードウェア識別子を確認します。
- Windows マシンに pySerial をインストールします。
- Windows コマンドラインで Python を使用して、マシンに接続されているデバイスのすべてのハードウェア識別子(VID と PID)を列挙します。この出力では、
VID_0403+PID_6001
の ID を持つ 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']
- Golden Device リストを更新します。
C:\GRL\Thread1.1\Config\Configuration.ini
を開きます。- デバイスの OpenID と 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 デバイス間のシリアル接続を確立します。
[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 テストハーネスを起動します。
- 対象テストベッドを設定ページで、OpenThread WpanCtl SSH: wpantund+NCPデバイスのサポートされているハードウェアセクションをテストベッド。
- デバイスの IP addr に 192.168.1.100 を入力し、PORT に 22 を入力します。
- [ポート] フィールドの下にある矢印ボタンをクリックして、テストハーネスと OT NCP デバイスの間に SSH 接続を確立します。

自動化の設定
Harness 自動化ツールの設定方法については、Certification Automation 設定ガイドのインストールと構成の手順をご覧ください。
テストケースを実行する
OTBR DUT で認証テストケースを実行する方法については、認証テストケースの実行をご覧ください。
トラブルシューティング
デバイスの再起動
RPi3B を再起動する必要がある場合は、テストハーネス ソフトウェアを閉じ、再起動が完了してから少なくとも 20 秒後にテストハーネスを再度開始します。
テストハーネスで Border Router を検出できない
シリアルポート接続を使用している場合、テストハーネスが Border Router を検出しないことがあります。この場合は、
- 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 ボードが取り付けられていることを確認します。