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

设置 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:

  1. 进入配置菜单:
    sudo raspi-config
  2. 在配置菜单中,选择 5 个接口选项
  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 引脚 杜邦线
    Pin6 GND 白色
    Pin8 RXD 黄色
    Pin10 TXD 红色
  5. 连接后,重启 Windows 计算机。
  6. 使用 Python pySerial 查找设备串行端口硬件标识符 模块: <ph type="x-smartling-placeholder">
      </ph>
    1. 安装 pySerial 在 Windows 机器上运行。
    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. 更新黄金设备列表: <ph type="x-smartling-placeholder">
      </ph>
    1. 打开C:\GRL\Thread1.1\Config\Configuration.ini
    2. 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’]}

完成所有配置后:

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

    如果 DUT 未列在测试平台部分的自动化测试框架之后 可以通过以下方式手动添加:将 OpenThread WpanCtl: wpantund+NCP 设备(从支持的硬件部分移至测试 床部分。拖动后:

    1. 确保串行线(COM 端口)和速度(波特率)正确无误 会填充相应的值
    2. 点击 Speed 字段下方的箭头按钮,以建立序列号 自动化测试框架与 OT NCP 设备之间的连接。
  3. 选中“支持”下方的 Enable Auto DUT Device Selection 复选框。 硬件列表。

  4. 选择目标设备/端口下的 Set as DUT 单选按钮以进行设置 作为 DUT 的 OT NCP 设备。

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. Configure Test Bed 页面上,拖动 OpenThread WpanCtl SSH: wpantund+NCP 设备从支持的硬件部分复制到 测试平台部分。
  4. 使用 192.168.1.100 填充 IP 地址PORT 填充 设备。
  5. 点击 PORT 字段下方的箭头按钮以建立 SSH 自动化测试框架与 OT NCP 设备之间的连接。
OTBR 认证 - SSH

自动化设置

请参阅安装配置 认证自动化设置指南,其中介绍了如何设置 利用自动化工具。

运行测试用例

如需了解具体方法,请参阅运行认证测试用例。 在 OTBR DUT 上运行认证测试用例。

问题排查

设备重新启动

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

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

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

  1. 使用 PuTTY
    1. 为 FT232 设备使用 COM 端口,并将速度(波特率)设为 115200。
    2. 如果登录失败,请重新启动所有设备,然后重试。
  2. 在 RPi3B 上,检查 wpantund 的状态:
    sudo service wpantund status
    如果状态为“异常”: <ph type="x-smartling-placeholder">
      </ph>
    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