設定用於執行 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) 上,啟用序列埠和登入殼層:
- 進入設定選單:
sudo raspi-config
- 在設定選單中選取 [5 Interface Options]。
- 在「介面選項」選單中,選取 [P6 序列啟用/停用]。
- 重新啟動 RPi3B。
在執行 Test Harness 的 Windows 電腦上:
- 下載並安裝 FT232 驅動程式。
- 將 FT232 USB 轉 UART 轉接器連接到 Windows 電腦上的 USB 插槽。
- 在 FT232 上為 F.232 設置為 3.3V。
- 使用下列的 pin 和 Dupont 線將 FT232 連線至 RPi3B:
RPi3B 別針 FT232 圖釘 杜邦線 圖釘 6 越南盾 白色 圖釘 8 RXD 黃色 圖釘 10 特克斯 紅色 - 連線後,請重新啟動 Windows 電腦。
- 使用 Python pySerial 模組找出裝置序列埠硬體 ID:
- 在 Windows 電腦上安裝 pySerial。
- 在 Windows 指令列中使用 Python 來列舉連接至機器的裝置的所有硬體 ID (VID 和 PID)。在這個輸出中,有一個 NCP 裝置已連線,ID 為
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']
- 更新「Golden Device」清單:
- 開啟「
C:\GRL\Thread1.1\Config\Configuration.ini
」 - 將 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’]}
- 開啟「
完成所有設定後:
- 啟動 GRL 測試。
在「Configure Test Bed」頁面中,裝置/通訊埠會顯示為 OT NCP 裝置。
如果啟動測試後,DUT 並未列在「Test Bed」區段中,請將 OpenThread WpanCtl: wpantund+NCP 裝置從「Supported Hardware」區段拖曳至「Test Bed」部分,手動新增 DUT。拖曳後:
- 確認已填入正確的序列 (COM 連接埠) 和 Speed (波特率) 值。
- 按一下 [Speed] (速度) 欄位下方的箭頭按鈕,在 Test Harness 與 OT NCP 裝置之間建立序列連線。
在「支援硬體」清單下方,選取「啟用 Auto DUT 裝置選項」核取方塊。
選取目標裝置/通訊埠下方的「設為 DUT」圓形按鈕,以將 OT NCP 裝置設為 DUT。
SSH 連線
在 RPi3B 上啟用 SSH:
- 在啟動時啟用 SSH 服務:
sudo systemctl enable ssh
- 啟動 SSH 服務:
sudo systemctl start ssh
如要在無頭 RPi3B 中啟用 SSH,請參閱 Raspberry Pi SSH 說明文件的步驟 3。
在執行 Test Harness 的 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」區段。
- 為裝置填入 192.168.1.100 的 IP 新增器,並以 22 填入 PORT。
- 按一下「PORT」欄位下方的箭頭按鈕,在「Test Harness」與「OT NCP」裝置之間建立 SSH 連線。
自動化設定
請參閱認證自動化設定指南中的安裝和設定步驟,瞭解如何設定 Hanessness 自動化工具。
執行測試案例
請參閱執行認證測試案例,瞭解如何在 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 板: