与 OpenThread 边界路由器 (OTBR) 被测设备 (DUT) 搭配使用的 GRL 线程测试框架和 OpenThread 框架自动化工具的设置与认证自动化设置指南中所述的设置相同。请结合使用该指南和此处详述的变更。
对于 OTBR 等 NCP 设计,OpenThread 提供了一个 OpenThread_WpanCtl.py
示例线程主机控制接口 (THCI),以允许测试框架控制 NCP。NCP 设备有两种连接模式:
- 使用串行端口连接(建议使用测试框架的自动发现功能)
- 使用 SSH 连接
除非另有说明,否则以下所有安装和配置步骤都是在运行 GRL 自动化测试框架软件的 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) 上,启用串行端口和登录 shell:
- 进入配置菜单:
sudo raspi-config
- 在配置菜单中,选择 5 个接口选项。
- 在“Interfacing Options”(接口选项)菜单中,选择 P6 Serial Enable/Disable(P6 串行启用/停用)。
- 重启 RPi3B。
在运行测试框架的 Windows 计算机上:
- 下载并安装 FT232 驱动程序。
- 将 FT232 USB 转 UART 适配器连接到 Windows 计算机上的 USB 插槽。
- 将 FT232 上的电压跳线设置为 3.3V。
- 使用以下引脚和杜邦线将 FT232 连接到 RPi3B:
RPi3B 引脚 FT232 引脚 Dupont Line Pin6 GND 白色 针 8 RXD 黄色 Pin10 TXD 红色 - 连接后,重启 Windows 计算机。
- 使用 Python pySerial 模块查找设备串行端口硬件标识符:
- 在 Windows 机器上安装 pySerial。
- 在 Windows 命令行中使用 Python 枚举连接到机器的设备的所有硬件标识符 (VID 和 PID)。此输出中连接了一台 NCP 设备,其标识符为
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']
- 更新金标准设备列表:
- 打开
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 测试框架。
在配置测试平台页面上,设备/端口现在显示为 OT NCP 设备。
如果在启动测试框架后,被测设备 (DUT) 未列在测试平台部分,请将 OpenThread WpanCtl:wpantund+NCP 设备从受支持的硬件部分拖动到测试平台部分,以手动添加该设备。拖动后:
- 确保填充正确的串行线(COM 端口)和速度(波特率)值。
- 点击 Speed 字段下方的箭头按钮,在测试框架和 OT NCP 设备之间建立串行连接。
选中“支持的硬件”列表下方的 Enable Auto DUT Device Selection 复选框。
选择目标设备/端口下的 Set as DUT(设为 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 地址(192.168.1.100)和 端口(22)。
- 点击 PORT 字段下方的箭头按钮,在测试框架和 OT NCP 设备之间建立 SSH 连接。
自动化设置
如需了解如何设置自动化测试框架工具,请参阅认证自动化设置指南中的安装和配置步骤。
运行测试用例
如需了解如何在 OTBR DUT 上运行认证测试用例,请参阅运行认证测试用例。
问题排查
设备重新启动
如果您需要重新启动 RPi3B,请关闭 Test Harness 软件,并在重新启动完成后至少等待 20 秒,然后重新启动 Test Harness。
自动化测试框架未能发现边界路由器
使用串行端口连接时,自动化测试框架可能无法发现边界路由器。如果遇到这种情况,请按以下指示操作:
- 使用 PuTTY 等工具检查 Shell 登录是否适用于串行端口。
- 使用 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 开发板: