邊界路由器測試設定

設定用於執行 OpenThread 邊界路由器 (OTBR) 的測試用 DUT 裝置 (DUT) 的 GRL 執行緒測試,以及用於測試的 OpenThread 邊界路由器 (OTBR) 的 OpenThread 的自動化工具,與認證自動化設定指南相同。請將本指南與此處所述的異動搭配使用。

針對 NCP 設計 (例如 OTBR),OpenThread 提供 OpenThread_WpanCtl.py 執行緒主機控制介面 (THCI) 範例,以便測試測試控管 NCP。NCP 裝置有兩種連線模式:

  • 使用序列埠連線 (建議用於測試 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) 上,啟用序列埠和登入殼層:

  1. 進入設定選單:
    sudo raspi-config
  2. 在設定選單中選取 [5 Interface Options]
  3. 在「介面選項」選單中,選取 [P6 序列啟用/停用]
  4. 重新啟動 RPi3B。

在執行 Test Harness 的 Windows 電腦上:

OTBR FT232 連線
  1. 下載並安裝 FT232 驅動程式
  2. 將 FT232 USB 轉 UART 轉接器連接到 Windows 電腦上的 USB 插槽。
  3. 在 FT232 上為 F.232 設置為 3.3V。
  4. 使用下列的 pin 和 Dupont 線將 FT232 連線至 RPi3B:
    RPi3B 別針 FT232 圖釘 杜邦線
    圖釘 6 越南盾 白色
    圖釘 8 RXD 黃色
    圖釘 10 特克斯 紅色
  5. 連線後,請重新啟動 Windows 電腦。
  6. 使用 Python pySerial 模組找出裝置序列埠硬體 ID:
    1. 在 Windows 電腦上安裝 pySerial
    2. 在 Windows 指令列中使用 Python 來列舉連接至機器的裝置的所有硬體 ID (VID 和 PID)。在這個輸出中,有一個 NCP 裝置已連線,ID 為 VID_0403+PID_6001
      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. 更新「Golden Device」清單:
    1. 開啟「C:\GRL\Thread1.1\Config\Configuration.ini
    2. OpenThread_WpanCtl 群組新增至裝置的 VID 和 PID 的 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’]}

完成所有設定後:

  1. 啟動 GRL 測試。
  2. 在「Configure Test Bed」頁面中,裝置/通訊埠會顯示為 OT NCP 裝置。

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

    1. 確認已填入正確的序列 (COM 連接埠) 和 Speed (波特率) 值。
    2. 按一下 [Speed] (速度) 欄位下方的箭頭按鈕,在 Test Harness 與 OT NCP 裝置之間建立序列連線。
  3. 在「支援硬體」清單下方,選取「啟用 Auto DUT 裝置選項」核取方塊。

  4. 選取目標裝置/通訊埠下方的「設為 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。

在執行 Test Harness 的 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. 為裝置填入 192.168.1.100 的 IP 新增器,並以 22 填入 PORT
  5. 按一下「PORT」欄位下方的箭頭按鈕,在「Test Harness」與「OT NCP」裝置之間建立 SSH 連線。
OTBR 認證 SSH

自動化設定

請參閱認證自動化設定指南中的安裝設定步驟,瞭解如何設定 Hanessness 自動化工具。

執行測試案例

請參閱執行認證測試案例,瞭解如何在 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