邊界路由器測試控制設定

設定 GRL Thread Test Harness 和 OpenThread Harness Automation Tool 搭配 OpenThread Border Router (OTBR) 待測裝置 (DUT) 使用,與認證自動化設定指南相同。請參考該指南,並配合本文所述的變更進行操作。

對於 OTBR 等 NCP 設計,OpenThread 提供 OpenThread_WpanCtl.py 執行緒主機控制介面範例 (THCI),讓測試硬性控制 NCP。NCP 裝置有兩種連線模式:

  • 使用序列埠連線 (建議使用測試架構的自動偵測功能)
  • 使用 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) 上啟用序列埠和登入殼層:

  1. 進入設定選單:
    sudo raspi-config
  2. 在設定選單中,選取「5 Interfacing Options」
  3. 在 Interface Options 選單中選取「P6 Serial 啟用/停用」
  4. 重新啟動 RPi3B。

在執行測試輔助程的 Windows 電腦上:

OTBR FT232 連線
  1. 下載並安裝 FT232 驅動程式
  2. 將 FT232 USB 至 UART 轉接器連接至 Windows 機器的 USB 插槽。
  3. 將 FT232 上的電壓跳線設為 3.3V。
  4. 請使用下列針腳和杜邦線,將 FT232 連接至 RPi3B:
    RPi3B Pin FT232 針腳 Dupont Line
    Pin6 GND 白色
    Pin8 RXD 黃色
    Pin10 TxD 紅色
  5. 連線後,請重新啟動 Windows 電腦。
  6. 使用 Python pySerial 模組找出裝置序列埠硬體 ID:
    1. 在 Windows 機器上安裝 pySerial
    2. 在 Windows 指令列中使用 Python,為裝置連接的裝置列舉所有硬體 ID (VID 和 PID)。在這個輸出內容中,系統會連接 ID 為 VID_0403+PID_6001 的 NCP 裝置。
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
    3. 如果您已知 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']
  7. 更新黃金裝置清單:
    1. 開啟「C:\GRL\Thread1.1\Config\Configuration.ini
    2. OpenThread_WpanCtl 群組加入 GoldenDeviceHardwareIds 陣列,並加入裝置的 VID 和 PID:
      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’]}

完成所有設定後:

  1. 啟動 GRL 測試架構。
  2. 在「Configure Test Bed」頁面上,裝置/連接埠現在會顯示為 OT NCP 裝置。

    如果測試裝置啟動後,測試裝置未列在「Test Bed」部分,請將「OpenThread WpanCtl: wpantund+NCP」裝置從「Supported Hardware」部分拖曳至「Test Bed」部分,以便手動新增。拖曳後:

    1. 確認已填入正確的序列線 (COM 通訊埠) 和速度 (波特率) 值。
    2. 按一下「Speed」欄位下方的箭頭按鈕,即可在測試裝置和 OT NCP 裝置之間建立序列連線。
  3. 選取「Supported Hardware」清單下方的「Enable Auto DUT Device Selection」核取方塊。

  4. 選取目標裝置/連接埠下方的「Set as DUT」圓形按鈕,將 OT NCP 裝置設為 DUT。

OTBR 認證 SSH

SSH 連線

在 RPi3B 上啟用 SSH:

  1. 在開機時啟用 SSH 服務:
    sudo systemctl enable ssh
  2. 啟動 SSH 服務:
    sudo systemctl start ssh

如要在無頭 RPi3B 上啟用 SSH,請參閱 Raspberry Pi SSH 說明文件的步驟 3。

在執行測試輔助程的 Windows 電腦上:

  1. 為 GRL 的 Python 環境安裝 Paramiko:
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. 啟動 GRL 測試架構。
  3. 在「Configure Test Bed」頁面中,將「OpenThread WpanCtl SSH: wpantund+NCP」裝置從「Supported Hardware」部分拖曳至「Test Bed」部分。
  4. 在「IP addr」中填入 192.168.1.100,並在「PORT」中填入裝置 22。
  5. 按一下「PORT」欄位下方的箭頭按鈕,即可在測試 Harness 和 OT NCP 裝置之間建立 SSH 連線。
OTBR 認證 SSH

自動化設定

如要瞭解如何設定 Harness Automation Tool,請參閱認證自動化設定指南中的「安裝」和「設定」步驟。

執行測試案例

請參閱「執行認證測試案例」,瞭解如何在 OTBR DUT 上執行認證測試案例。

疑難排解

裝置重新啟動

如果您需要重新啟動 RPi3B,請關閉 Test Harness 軟體,並在重新啟動完畢後等待至少 20 秒,再次啟動測試工具。

測試控管工具無法偵測到邊界路由器

使用序列埠連線時,Test Harness 可能無法偵測到邊界路由器。出現這種情況時:

  1. 使用 PuTTY 等工具,檢查殼層登入功能是否適用於序列埠。
    1. 使用 FT232 裝置的 COM 通訊埠,並將速度 (鮑率) 設為 115200。
    2. 如果登入失敗,請重新啟動所有裝置,然後再試一次。
  2. 在 RPi3B 上檢查 wpantund 的狀態:
    sudo service wpantund status
    如果狀態是「異常」:
    1. 確認 nRF52840 NCP 板已安裝:
      ls /dev/tty*
      /dev/ttyACM0
    2. 驗證這個通訊埠是否符合 wpantund 設定:
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. 重新啟動 wpantund
      sudo service wpantund restart