GRL 线程自动化测试框架和 OpenThread 自动化测试框架用于与 OpenThread 边界路由器 (OTBR) 被测设备 (DUT) 设置相同,这与认证自动化设置指南相同。您可以结合使用本指南和此处详述的更改。
对于 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 Intercing Options。
- 在“对接选项”菜单中,选择 P6 串行启用/停用。
- 重启 RPi3B。
在运行自动化测试框架的 Windows 机器上:
- 下载并安装 FT232 驱动程序。
- 将 FT232 USB 连接到 UART 适配器连接到 Windows 计算机上的 USB 插槽。
- 将 FT232 上的电压套接器设置为 3.3V。
- 使用以下引脚和 Dupont 线将 FT232 连接到 RPi3B:
RPi3B 引脚 FT232 引脚 管线 固定 6 荷兰盾 White 图钉 8 响应 黄色 图钉 10 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
- 使用设备的 VID 和 PID 将 OpenThread_WpanCtl 分组添加到
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 未列在测试平台部分中,请通过将 OpenThread WpanCtl: wpantund+NCP 设备从支持的硬件部分拖动到测试平台部分来手动添加它。拖动后:
- 确保填充了正确的串行端口(COM 端口)和速度(波特率)值。
- 点击速度字段下方的箭头按钮,以在自动化测试框架和 OT NCP 设备之间建立串行连接。
选中“支持的硬件”列表下方的启用自动 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 自动化测试框架。
- 在配置测试平台页面上,将 OpenThread WpanCtl SSH:wpantund+NCP 设备从支持的硬件部分拖动到测试平台部分。
- 对于设备,使用 192.168.1.100 填充 IP addr 和 22 来填充 PORT。
- 点击端口字段下方的箭头按钮,以在自动化测试框架和 OT NCP 设备之间建立 SSH 连接。
自动化设置
如需了解如何设置自动化测试框架自动化工具,请参阅“认证自动化设置”指南中的安装和配置步骤。
运行测试用例
请参阅运行认证测试用例,了解如何在 OTBR DUT 上运行认证测试用例。
问题排查
设备重新启动
如果您需要重新启动 RPi3B,请关闭自动化测试框架软件,并在重启完成后至少等待 20 秒再重启自动化测试框架。
自动化测试框架未能发现边界路由器
使用串行端口连接时,自动化测试框架可能无法发现边界路由器。如果遇到这种情况,请按以下指示操作:
- 使用 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 板: