4단계: 코어 디바이스에 구성 요소 배포 및 테스트 - AWS IoT Greengrass

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

4단계: 코어 디바이스에 구성 요소 배포 및 테스트

이 섹션에서는 구성 요소를 코어 장치에 배포하여 기능을 테스트합니다. 코어 디바이스에서 가상 배터리 잔량 파일을 생성하여 실제 배터리를 모방합니다. 그런 다음 추가 배포를 생성하고 코어 장치의 구성 요소 로그 파일을 관찰하여 구성 요소가 업데이트를 연기하고 승인하는지 확인합니다.

업데이트를 연기하는 Hello World 구성 요소를 배포하고 테스트하려면
  1. 텍스트 편집기를 사용하여 가상 배터리 잔량 파일을 생성합니다. 이 파일은 실제 배터리를 모방합니다.

    • Linux 코어 디바이스에서는 라는 파일을 생성합니다. /home/ggc_user/virtual_battery.json sudo권한을 가지고 텍스트 편집기를 실행합니다.

    • Windows 코어 디바이스에서는 라는 이름의 파일을 생성합니다C:\Users\ggc_user\virtual_battery.json. 텍스트 편집기를 관리자 권한으로 실행합니다.

    예를 들어, Linux 기반 시스템에서는 다음 명령을 실행하여 GNU nano를 사용하여 파일을 생성할 수 있습니다.

    sudo nano /home/ggc_user/virtual_battery.json

    다음 JSON을 파일에 복사합니다.

    { "battery_level": 50 }
  2. Hello World 구성 요소를 코어 디바이스에 배포합니다. 다음을 따릅니다.

    1. AWS IoT Greengrass콘솔 탐색 메뉴에서 구성 요소를 선택합니다.

    2. 구성 요소 페이지에서 내 구성 요소 탭을 선택한 다음 선택합니다 com.example.BatteryAwareHelloWorld.

    3. com.example.BatteryAwareHelloWorld 페이지에서 배포를 선택합니다.

    4. 배포에 추가에서 수정할 기존 배포를 선택하거나 새 배포를 만들도록 선택한 후 다음을 선택합니다.

    5. 새 배포를 생성하기로 선택한 경우 배포할 대상 코어 장치 또는 사물 그룹을 선택합니다. 대상 지정 페이지의 배포 대상에서 코어 장치 또는 사물 그룹을 선택하고 다음을 선택합니다.

    6. 구성 요소 선택 페이지에서 구성 com.example.BatteryAwareHelloWorld요소가 선택되었는지 확인하고 다음을 선택합니다.

    7. 구성 요소 구성 페이지에서 구성 요소를 선택하고 com.example.BatteryAwareHelloWorld다음을 수행합니다.

      1. 구성 요소 구성을 선택합니다.

      2. 구성 com.example.BatteryAwareHelloWorld 모달의 구성 업데이트에 있는 병합할 구성에 다음 구성 업데이트를 입력합니다.

        { "BatteryThreshold": 70 }
      3. 확인을 선택하여 모달을 닫고 다음을 선택합니다.

    8. 고급 설정 확인 페이지의 배포 정책 섹션의 구성 요소 업데이트 정책에서 구성 요소 알림이 선택되어 있는지 확인합니다. 새 배포를 만들 때 구성 요소 알림이 기본적으로 선택됩니다.

    9. 검토 페이지에서 배포를 선택합니다.

      배포를 완료하는 데 최대 1분이 걸릴 수 있습니다.

  3. AWS IoT GreengrassCore 소프트웨어는 구성 요소 프로세스의 stdout을 폴더의 logs 로그 파일에 저장합니다. 다음 명령을 실행하여 Hello World 구성 요소가 실행되고 상태 메시지를 인쇄하는지 확인합니다.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    다음 예와 비슷한 메시지가 표시될 것입니다.

    Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
    참고

    파일이 없는 경우 배포가 아직 완료되지 않았을 수 있습니다. 30초 이내에 파일이 존재하지 않으면 배포가 실패했을 수 있습니다. 예를 들어 코어 디바이스에 S3 버킷에서 구성 요소의 아티팩트를 다운로드할 권한이 없는 경우 이 문제가 발생할 수 있습니다. 다음 명령을 실행하여 AWS IoT Greengrass Core 소프트웨어 로그 파일을 확인합니다. 이 파일에는 Greengrass 코어 기기 배포 서비스의 로그가 포함되어 있습니다.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.log

    type 명령은 파일 내용을 터미널에 기록합니다. 이 명령을 여러 번 실행하여 파일의 변경 사항을 관찰하십시오.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  4. 코어 디바이스에 새 배포를 생성하여 구성 요소가 업데이트를 연기하는지 확인합니다. 다음을 따릅니다.

    1. AWS IoT Greengrass콘솔 탐색 메뉴에서 배포를 선택합니다.

    2. 이전에 생성하거나 수정한 배포를 선택합니다.

    3. 배포 페이지에서 수정을 선택합니다.

    4. 배포 수정 모달에서 배포 수정을 선택합니다.

    5. 각 단계에서 다음을 선택한 다음 배포를 선택합니다.

  5. 다음 명령을 실행하여 구성 요소의 로그를 다시 확인하고 업데이트가 지연되는지 확인합니다.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    다음 예와 비슷한 메시지가 표시되어야 합니다. 구성 요소가 업데이트를 30초 동안 연기하므로 구성 요소는 이 메시지를 반복해서 인쇄합니다.

    Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
  6. 텍스트 편집기를 사용하여 가상 배터리 잔량 파일을 편집하고 배터리 잔량을 임계값 이상의 값으로 변경하여 배포를 계속할 수 있습니다.

    • Linux 코어 디바이스에서는 이름이 지정된 파일을 /home/ggc_user/virtual_battery.json 편집합니다. sudo권한을 가지고 텍스트 편집기를 실행합니다.

    • Windows 코어 디바이스에서는 이름이 지정된 파일을 C:\Users\ggc_user\virtual_battery.json 편집합니다. 텍스트 편집기를 관리자 권한으로 실행합니다.

    예를 들어, Linux 기반 시스템에서는 다음 명령을 실행하여 GNU nano를 사용하여 파일을 생성할 수 있습니다.

    sudo nano /home/ggc_user/virtual_battery.json

    배터리 잔량을 로 변경합니다. 80

    { "battery_level": 80 }
  7. 다음 명령을 실행하여 구성 요소의 로그를 다시 보고 업데이트가 승인되는지 확인합니다.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    다음 예와 비슷한 메시지가 표시되어야 합니다.

    Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates. Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.