자습서: 샘플 IDT 테스트 제품군 빌드 및 실행 - 무료 RTOS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 샘플 IDT 테스트 제품군 빌드 및 실행

AWS IoT Device Tester 다운로드에는 샘플 테스트 스위트의 소스 코드가 포함되어 있습니다. 이 튜토리얼을 완료하여 샘플 테스트 스위트를 빌드하고 실행하여 FreeRTOS를 사용하여 AWS IoT Device Tester 사용자 지정 테스트 스위트를 실행하는 방법을 이해할 수 있습니다. 이 자습서에서는 SSH를 사용하지만 FreeRTOS 장치와 AWS IoT Device Tester 함께 사용하는 방법을 익히는 것이 유용합니다.

필수 조건

이 튜토리얼을 완료하려면 다음이 필요합니다.

  • 호스트 컴퓨터 요구 사항

    • 최신 버전의 AWS IoT Device Tester

    • Python 3.7 이상

      컴퓨터에 설치된 Python 버전 번호를 확인하려면 인스턴스에서 다음 명령을 실행합니다.

      python3 --version

      Windows에서 이 명령 사용시 오류가 반환되면 python --version을(를) 대신 사용하십시오. 반환된 버전 번호가 3.7 이상인 경우 Powershell 터미널에서 다음 명령을 실행하여 python 명령의 별칭으로 python3을(를) 설정합니다.

      Set-Alias -Name "python3" -Value "python"

      버전 정보가 반환되지 않았거나 버전 번호가 3.7 미만이면 Python 다운로드의 지침에 따라 Python 3.7 이상을 설치합니다. 자세한 내용은 Python 설명서를 참조하세요.

    • urllib3

      urllib3이 제대로 설치되었는지 확인하려면 다음 명령을 실행합니다.

      python3 -c 'import urllib3'

      urllib3가 설치되지 않은 경우에는 다음 명령을 실행하여 설치합니다.

      python3 -m pip install urllib3
  • 디바이스 요구 사항

    • Linux 운영 체제를 사용하고 호스트 컴퓨터와 동일한 네트워크에 네트워크로 연결된 장치입니다.

      Raspberry Pi OS와 함께 Raspberry Pi를 사용하는 것이 좋습니다. Raspberry Pi에 원격으로 연결하려면 Pi에서 SSH를 설정해야 합니다.

IDT용 장치 정보 구성

IDT가 테스트를 실행할 수 있도록 장치 정보를 구성하십시오. <device-tester-extract-location>/configs 폴더에 있는 device.json 템플릿을 다음 정보로 업데이트해야 합니다.

[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": "<port>", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]

devices 개체에 다음 정보를 제공하시기 바랍니다.

id

테스트 대상 장치의 고유한 사용자 정의 식별자입니다.

connectivity.ip

장치의 IP 주소입니다.

connectivity.port

선택 사항입니다. 장치에 SSH 연결에 사용할 포트 번호입니다.

connectivity.auth

연결에 대한 인증 정보입니다.

이 속성은 connectivity.protocolssh로 설정된 경우에만 적용됩니다.

connectivity.auth.method

지정된 연결 프로토콜을 통해 장치에 액세스하는 데 사용되는 인증 방법입니다.

지원되는 값은 다음과 같습니다.

  • pki

  • password

connectivity.auth.credentials

인증에 사용되는 자격 증명입니다.

connectivity.auth.credentials.user

장치에 로그인하는 데 사용되는 사용자 이름.

connectivity.auth.credentials.privKeyPath

장치에 로그인하는 데 사용하는 프라이빗 키의 전체 경로입니다.

이 값은 connectivity.auth.methodpki로 설정된 경우에만 적용됩니다.

devices.connectivity.auth.credentials.password

장치에 로그인하기 위해 사용하는 암호입니다.

이 값은 connectivity.auth.methodpassword로 설정된 경우에만 적용됩니다.

참고

methodpki로 설정된 경우에만 privKeyPath를 지정합니다.

methodpassword로 설정된 경우에만 password를 지정합니다.

샘플 테스트 도구 모음 구축

<device-tester-extract-location>/samples/python 폴더에는 제공된 구축 스크립트를 사용하여 테스트 도구 모음에 결합할 수 있는 샘플 구성 파일, 소스 코드 및 IDT Client SDK가 포함되어 있습니다. 다음 디렉터리 트리는 이러한 샘플 파일의 위치를 보여줍니다.

<device-tester-extract-location> ├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client

테스트 도구 모음을 구축하려면 호스트 컴퓨터에서 다음 명령을 실행합니다.

Windows
cd <device-tester-extract-location>/samples/python/build-scripts ./build.ps1
Linux, macOS, or UNIX
cd <device-tester-extract-location>/samples/python/build-scripts ./build.sh

그러면 IDTSampleSuitePython_1.0.0 폴더 내 <device-tester-extract-location>/tests 폴더에 샘플 테스트 도구 모음이 만들어집니다. IDTSampleSuitePython_1.0.0 폴더의 파일을 검토하여 샘플 테스트 제품군이 어떻게 구성되어 있는지 이해하고 테스트 사례 실행 파일 및 테스트 구성 파일의 다양한 예제를 확인하세요.

참고

샘플 테스트 제품군에는 python 소스 코드가 포함되어 있습니다. 테스트 제품군 코드에 민감한 정보를 포함하지 마십시오.

다음 단계: IDT를 사용하여 생성한 샘플 테스트 제품군을 실행합니다.

IDT를 사용하여 샘플 테스트 도구 모음을 실행하세요.

샘플 테스트 도구 모음을 실행하려면 호스트 컴퓨터에서 다음 명령을 실행하세요.

cd <device-tester-extract-location>/bin ./devicetester_[linux | mac | win_x86-64] run-suite --suite-id IDTSampleSuitePython

IDT는 샘플 테스트 도구 모음을 실행하고 결과를 콘솔로 스트리밍합니다. 테스트 실행이 완료되면 다음 정보가 표시됩니다.

========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to AWS IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml

문제 해결

다음 정보를 사용하면 튜토리얼 완료와 관련된 문제를 해결하는 데 도움이 됩니다.

테스트 사례가 성공적으로 실행되지 않습니다.

  • 테스트가 성공적으로 실행되지 않을 경우 IDT는 오류 로그를 콘솔로 스트리밍하여 테스트 실행 문제를 해결하는 데 도움을 줍니다. 이 튜토리얼의 모든 사전 요구 사항을 충족하는지 확인하세요.

테스트 중인 디바이스에 연결할 수 없습니다.

다음을 확인합니다.

  • device.json 파일에는 올바른 IP 주소, 포트 및 인증 정보가 들어 있습니다.

  • 호스트 컴퓨터에서 SSH를 통해 장치에 연결할 수 있습니다.