設定 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) 上啟用序列埠和登入殼層:
- 進入設定選單:
sudo raspi-config
- 在設定選單中,選取「5 Interfacing Options」。
- 在 Interface Options 選單中選取「P6 Serial 啟用/停用」。
- 重新啟動 RPi3B。
在執行測試輔助程的 Windows 電腦上:
- 下載並安裝 FT232 驅動程式。
- 將 FT232 USB 至 UART 轉接器連接至 Windows 機器的 USB 插槽。
- 將 FT232 上的電壓跳線設為 3.3V。
- 請使用下列針腳和杜邦線,將 FT232 連接至 RPi3B:
RPi3B Pin FT232 針腳 Dupont Line Pin6 GND 白色 Pin8 RXD 黃色 Pin10 TxD 紅色 - 連線後,請重新啟動 Windows 電腦。
- 使用 Python pySerial 模組找出裝置序列埠硬體 ID:
- 在 Windows 機器上安裝 pySerial。
- 在 Windows 指令列中使用 Python,為裝置連接的裝置列舉所有硬體 ID (VID 和 PID)。在這個輸出內容中,系統會連接 ID 為
VID_0403+PID_6001
的 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
」 - 將 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’]}
- 開啟「
完成所有設定後:
- 啟動 GRL 測試架構。
在「Configure Test Bed」頁面上,裝置/連接埠現在會顯示為 OT NCP 裝置。
如果測試裝置啟動後,測試裝置未列在「Test Bed」部分,請將「OpenThread WpanCtl: wpantund+NCP」裝置從「Supported Hardware」部分拖曳至「Test Bed」部分,以便手動新增。拖曳後:
- 確認已填入正確的序列線 (COM 通訊埠) 和速度 (波特率) 值。
- 按一下「Speed」欄位下方的箭頭按鈕,即可在測試裝置和 OT NCP 裝置之間建立序列連線。
選取「Supported Hardware」清單下方的「Enable Auto DUT Device Selection」核取方塊。
選取目標裝置/連接埠下方的「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」頁面中,將「OpenThread WpanCtl SSH: wpantund+NCP」裝置從「Supported Hardware」部分拖曳至「Test Bed」部分。
- 在「IP addr」中填入 192.168.1.100,並在「PORT」中填入裝置 22。
- 按一下「PORT」欄位下方的箭頭按鈕,即可在測試 Harness 和 OT NCP 裝置之間建立 SSH 連線。
自動化設定
如要瞭解如何設定 Harness Automation Tool,請參閱認證自動化設定指南中的「安裝」和「設定」步驟。
執行測試案例
請參閱「執行認證測試案例」,瞭解如何在 OTBR DUT 上執行認證測試案例。
疑難排解
裝置重新啟動
如果您需要重新啟動 RPi3B,請關閉 Test Harness 軟體,並在重新啟動完畢後等待至少 20 秒,再次啟動測試工具。
測試控管工具無法偵測到邊界路由器
使用序列埠連線時,Test Harness 可能無法偵測到邊界路由器。出現這種情況時:
- 使用 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 板已安裝: