보더 라우터 테스트 하네스 설정

OpenThread Border Router (OTBR) Device Under Test (DUT)에서 사용할 GRL 스레드 테스트 하네스 및 OpenThread Harness 자동화 도구를 설정하는 것은 인증 자동화 설정 가이드와 동일합니다. 이 가이드를 여기에 설명된 변경사항과 함께 사용하세요.

OTBR과 같은 NCP 설계의 경우 OpenThread는 테스트 하네스가 NCP를 제어할 수 있도록 하는 OpenThread_WpanCtl.py 스레드 호스트 제어 인터페이스(THCI)를 제공합니다. 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)에서 직렬 포트와 로그인 셸을 사용 설정합니다.

  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 라인을 사용하여 Fi232를 RPi3B에 연결합니다.
    RPi3B 핀 FT232 핀 듀폰 라인
    고정 6 ND 흰색
    PIN8 18 노란색
    PIN10 텍사스 빨간색
  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를 사용하여 GoldenDeviceHardwareIds 배열에 OpenThread_WpanCtl 그룹을 추가합니다.
      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. 이제 테스트 침대 구성 페이지에 기기/포트가 OT NCP 기기로 표시됩니다.

    테스트 하네스가 시작된 후 DUT테스트 침대 섹션에 표시되지 않으면 지원되는 하드웨어 섹션에서 테스트 침대 섹션으로 OpenThread WpanCtl: wpantund+NCP 기기를 드래그하여 수동으로 추가합니다. 드래그 후:

    1. 올바른 직렬 라인 (COM 포트) 및 속도 (전송률) 값이 채워졌는지 확인합니다.
    2. Speed 필드 아래의 화살표 버튼을 클릭하여 테스트 하네스와 OT NCP 기기 간의 직렬 연결을 설정합니다.
  3. 지원되는 하드웨어 목록 아래에서 자동 DUT 기기 선택 사용 설정 체크박스를 선택합니다.

  4. OT NCP 기기를 DUT로 설정하려면 대상 기기/포트에서 Set as 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. 기기의 IP addr에 192.168.1.100을 입력하고 PORT에 22를 입력합니다.
  5. PORT 필드 아래의 화살표 버튼을 클릭하여 테스트 하네스와 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