边界路由器自动化测试框架设置

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:

  1. 进入配置菜单:
    sudo raspi-config
  2. 在配置菜单中,选择 5 Intercing Options
  3. 在“对接选项”菜单中,选择 P6 串行启用/停用
  4. 重启 RPi3B。

在运行自动化测试框架的 Windows 机器上:

OTBR FT232 连接
  1. 下载并安装 FT232 驱动程序
  2. 将 FT232 USB 连接到 UART 适配器连接到 Windows 计算机上的 USB 插槽。
  3. 将 FT232 上的电压套接器设置为 3.3V。
  4. 使用以下引脚和 Dupont 线将 FT232 连接到 RPi3B:
    RPi3B 引脚 FT232 引脚 管线
    固定 6 荷兰盾 White
    图钉 8 响应 黄色
    图钉 10 TXD 卡 红色
  5. 连接后,重启 Windows 计算机。
  6. 使用 Python pySerial 模块查找设备串行端口硬件标识符:
    1. 在 Windows 机器上安装 pySerial
    2. 在 Windows 命令行上使用 Python 来枚举连接到机器的设备的所有硬件标识符(VID 和 PID)。在此输出中,已连接一台 NCP 设备,标识符为 VID_0403+PID_6001
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
    3. 如果您已知道 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']
  7. 更新黄金设备列表:
    1. 打开C:\GRL\Thread1.1\Config\Configuration.ini
    2. 使用设备的 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’]}

完成所有配置后:

  1. 启动 GRL 自动化测试框架。
  2. Configure Test Bed 页面上,设备/端口现在显示为 OT NCP 设备。

    启动自动化测试框架后,如果 DUT 未列在测试平台部分中,请通过将 OpenThread WpanCtl: wpantund+NCP 设备从支持的硬件部分拖动到测试平台部分来手动添加它。拖动后:

    1. 确保填充了正确的串行端口(COM 端口)和速度(波特率)值。
    2. 点击速度字段下方的箭头按钮,以在自动化测试框架和 OT NCP 设备之间建立串行连接。
  3. 选中“支持的硬件”列表下方的启用自动 DUT 设备选择复选框。

  4. 选择目标设备/端口下的设为 DUT 单选按钮,将 OT NCP 设备设置为 DUT。

OTBR 认证 SSH

SSH 连接

在 RPi3B 上,启用 SSH:

  1. 在启动时启用 SSH 服务:
    sudo systemctl enable ssh
  2. 启动 SSH 服务:
    sudo systemctl start ssh

如需在无头 RPi3B 上启用 SSH,请参阅 Raspberry Pi SSH 文档的第 3 步。

在运行自动化测试框架的 Windows 机器上:

  1. 为 GRL 的 Python 环境安装 Paramiko:
    cd C:\GRL\Python2.7
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. 启动 GRL 自动化测试框架。
  3. 配置测试平台页面上,将 OpenThread WpanCtl SSH:wpantund+NCP 设备从支持的硬件部分拖动到测试平台部分。
  4. 对于设备,使用 192.168.1.100 填充 IP addr 和 22 来填充 PORT
  5. 点击端口字段下方的箭头按钮,以在自动化测试框架和 OT NCP 设备之间建立 SSH 连接。
OTBR 认证 SSH

自动化设置

如需了解如何设置自动化测试框架自动化工具,请参阅“认证自动化设置”指南中的安装配置步骤。

运行测试用例

请参阅运行认证测试用例,了解如何在 OTBR DUT 上运行认证测试用例。

问题排查

设备重新启动

如果您需要重新启动 RPi3B,请关闭自动化测试框架软件,并在重启完成后至少等待 20 秒再重启自动化测试框架。

自动化测试框架未能发现边界路由器

使用串行端口连接时,自动化测试框架可能无法发现边界路由器。如果遇到这种情况,请按以下指示操作:

  1. 使用 PuTTY 等工具检查串行端口的登录是否适用于串行端口。
    1. 为 FT232 设备使用 COM 端口,并将速度(波特率)设为 115200。
    2. 如果登录失败,请重新启动所有设备,然后重试。
  2. 在 RPi3B 上,检查 wpantund 的状态:
    sudo service wpantund status
    如果状态为“异常”:
    1. 确保已装载 nRF52840 NCP 板:
      ls /dev/tty*
      /dev/ttyACM0
    2. 验证此端口是否与 wpantund 配置匹配:
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. 重启 wpantund
      sudo service wpantund restart