통신 테스트 - AWS IoT Greengrass

AWS IoT Greengrass Version 1이(가) 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 AWS IoT Greengrass V1에서 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트를 릴리스하지 않습니다. AWS IoT Greengrass V1에서 실행되는 장치는 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 중대한 새 기능추가 플랫폼에 대한 지원이 추가되는 AWS IoT Greengrass Version 2(으)로 마이그레이션하는 것이 좋습니다.

통신 테스트

  1. 컴퓨터에서 2개의 명령줄 창을 엽니다. 모듈 5에서처럼 창 하나는 GG_Switch 장치에, 다른 창 하나는 GG_TrafficLight 클라이언트 장치에 사용됩니다. 이러한 창을 사용하여 모듈 5에서 실행한 것과 동일한 명령을 실행합니다.

    GG_Switch 클라이언트 장치에 대해 다음 명령을 실행합니다.

    cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch

    GG_TrafficLight 클라이언트 장치에 대해 다음 명령을 실행합니다.

    cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

    스위치는 20초마다 섀도우 상태를 G, Y 및 R로 업데이트하고, 전등도 새로운 상태를 표시합니다.

  2. 세 번째 녹색 불빛이 들어올 때마다(3분마다) Lambda 함수의 함수 핸들러가 트리거되고 새 레코드가 생성됩니다. lightController.pytrafficLight.py이 3분 동안 실행된 후 AWS Management Console으로 이동하여 DynamoDB 콘솔을 엽니다.

  3. AWS 리전 메뉴에서 US East (N. Virginia)를 선택합니다. 이는 GG_Car_Aggregator 함수가 테이블을 생성하는 리전입니다.

  4. 탐색 창에서 테이블을 선택한 다음 CarStats 테이블을 선택합니다.

  5. 항목 보기를 선택하여 테이블의 항목을 확인합니다.

    통과한 차에 대한 기본 통계가 포함된 항목이 보여야 합니다(3분마다 항목 하나). 테이블에 대한 업데이트를 보려면 새로 고침 버튼을 선택해야 할 수도 있습니다.

  6. 테스트가 실패하면 Greengrass 로그에서 문제 해결 정보를 찾을 수 있습니다.

    1. 루트 사용자로 전환하고 log 디렉터리로 이동합니다. AWS IoT Greengrass 로그 액세스에는 루트 권한이 필요합니다.

      sudo su cd /greengrass/ggc/var/log
    2. runtime.log에서 오류가 있는지 확인합니다.

      cat system/runtime.log | grep 'ERROR'
    3. Lambda 함수에 의해 생성되는 로그를 확인합니다.

      cat user/region/account-id/GG_Car_Aggregator.log

      lightController.pytrafficLight.py 스크립트는 스크립트와 동일한 폴더에 생성되는 groupCA 폴더에 연결 정보를 저장합니다. 연결 오류를 수신하는 경우 ggc-host 파일의 IP 주소가 이 단계에서 코어에 대해 구성한 단일 IP 주소 엔드포인트와 일치하는지 확인합니다.

    자세한 내용은 AWS IoT Greengrass 문제 해결 단원을 참조하십시오.

기본 자습서의 마지막 부분입니다. 이제 AWS IoT Greengrass 프로그래밍 모델을 이해하고 AWS IoT Greengrass 코어, 그룹, 구독, 장치, 및 엣지에서 실행 중인 Lambda 함수의 배포 프로세스를 비롯한 기본적인 개념을 이해해야 합니다.

DynamoDB 표와 Greengrass Lambda 함수 및 구독을 삭제할 수 있습니다. AWS IoT Greengrass 코어 장치와 AWS IoT 클라우드 간의 통신을 중지하려면 코어 장치에서 터미널을 열고 다음 명령 중 하나를 실행합니다.

  • AWS IoT Greengrass 코어 장치를 종료할 경우:

    sudo halt
  • AWS IoT Greengrass 대몬을 종료할 경우:

    cd /greengrass/ggc/core/ sudo ./greengrassd stop