设置 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
将以下文件从
/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 个接口选项。
- 在“接口选项”菜单中,选择 P6 串行启用/停用。
- 重启 RPi3B。
在运行自动化测试框架的 Windows 计算机上:
- 下载并安装 FT232 驱动程序。
- 将 FT232 USB 转 UART 适配器连接到 Windows 计算机上的 USB 插槽。
- 将 FT232 上的电压跳线设置为 3.3V。
- 使用以下引脚和 Dupont 线将 FT232 连接到 RPi3B:
RPi3B 引脚 FT232 引脚 杜邦线 Pin6 GND 白色 Pin8 RXD 黄色 Pin10 TXD 红色 - 连接后,重启 Windows 计算机。
- 使用 Python pySerial 查找设备串行端口硬件标识符
模块:
<ph type="x-smartling-placeholder">
- </ph>
- 安装 pySerial 在 Windows 机器上运行。
- 在 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']
- 更新黄金设备列表:
<ph type="x-smartling-placeholder">
- </ph>
- 打开
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 设备。
如果 DUT 未列在测试平台部分的自动化测试框架之后 可以通过以下方式手动添加:将 OpenThread WpanCtl: wpantund+NCP 设备(从支持的硬件部分移至测试 床部分。拖动后:
- 确保串行线(COM 端口)和速度(波特率)正确无误 会填充相应的值
- 点击 Speed 字段下方的箭头按钮,以建立序列号 自动化测试框架与 OT NCP 设备之间的连接。
选中“支持”下方的 Enable Auto DUT Device Selection 复选框。 硬件列表。
选择目标设备/端口下的 Set as DUT 单选按钮以进行设置 作为 DUT 的 OT NCP 设备。
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 设备从支持的硬件部分复制到 测试平台部分。
- 使用 192.168.1.100 填充 IP 地址,PORT 填充 设备。
- 点击 PORT 字段下方的箭头按钮以建立 SSH 自动化测试框架与 OT NCP 设备之间的连接。
自动化设置
请参阅安装和 配置 认证自动化设置指南,其中介绍了如何设置 利用自动化工具。
运行测试用例
如需了解具体方法,请参阅运行认证测试用例。 在 OTBR DUT 上运行认证测试用例。
问题排查
设备重新启动
如果需要重新启动 RPi3B,请关闭自动化测试框架软件并等待: 在重新启动完成至少 20 秒后再次启动自动化测试框架。
自动化测试框架未能发现边界路由器
使用串行端口连接时,自动化测试框架可能无法发现 边界路由器。如果遇到这种情况,请按以下指示操作:
- 使用
PuTTY。
- 为 FT232 设备使用 COM 端口,并将速度(波特率)设为 115200。
- 如果登录失败,请重新启动所有设备,然后重试。
- 在 RPi3B 上,检查
wpantund
的状态:
如果状态为“异常”: <ph type="x-smartling-placeholder">sudo service wpantund status
- </ph>
- 确保已安装 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 板: