테스트 통신 (장치 동기화 사용 안 함) - AWS IoT Greengrass

다음에 대한 설명서를 보고 있습니다.AWS IoT Greengrass Version 1.AWS IoT Greengrass Version 2의 최신 주요 버전입니다AWS IoT Greengrass. 사용에 관한 자세한 내용은 단원을 참조하십시오.AWS IoT Greengrass V2에 대한 자세한 내용은AWS IoT Greengrass Version 2개발자 안내서.

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

테스트 통신 (장치 동기화 사용 안 함)

  1. 컴퓨터와AWS IoT Greengrass코어 디바이스가 같은 네트워크를 사용하여 인터넷에 연결되어 있는지 확인합니다.

    1. 에AWS IoT Greengrass코어 디바이스에서 다음 명령을 실행하여 IP 주소를 확인합니다.

      hostname -I
    2. 컴퓨터에서 코어의 IP 주소를 사용하여 다음 명령을 실행합니다. Ctrl + C를 사용하여 ping 명령을 중지할 수 있습니다.

      ping IP-address

      다음과 비슷한 출력은 컴퓨터와 간의 통신이 성공적임을 나타냅니다.AWS IoT Greengrass코어 장치 (0% 패킷 손실):

      
                        성공적인 ping 명령 출력
      참고

      AWS IoT Greengrass를 실행하는 EC2 인스턴스를 ping할 수 없는 경우 인스턴스의 인바운드 보안 그룹 규칙이 에코 요청 메시지에 대한 ICMP 트래픽을 허용하는지 확인합니다. 자세한 내용은 단원을 참조하십시오.보안 그룹에 규칙 추가Linux 인스턴스용 Amazon EC2 사용 설명서.

      Windows 호스트 컴퓨터에 어드밴스 보안 앱을 갖춘 Windows 방화벽에서 인바운드 에코 요청(예: File and Printer Sharing(파일 및 프린터 공유)(에코 요청 - ICMPv4-In))을 허용하는 인바운드 규칙을 활성화하거나 생성해야 할 수도 있습니다.

  2. AWS IoT 엔드포인트를 가져옵니다.

    1. AWS IoT 콘솔의 탐색 창에서 설정을 선택합니다.

    2. 설정에서 엔드포인트 값을 기록해 둡니다. 이 값을 사용하여 다음 단계의 명령에서 AWS_IOT_ENDPOINT 자리 표시자를 바꿉니다.

      
                AWS IoT엔드포인트 값
  3. 가 아닌 사용자의 컴퓨터에서AWS IoT Greengrass코어 장치), 두 개를 엽니 다.명령줄(터미널 또는 명령 프롬프트) 창을 엽니다. 창 하나는 GG_Switch 디바이스를 나타내고 다른 창 하나는 GG_TrafficLight 디바이스를 나타냅니다.

    1. GG_Switch 디바이스 창에서 다음 명령을 실행합니다.

      • path-to-certs-folder를 인증서, 키 및 Python 파일을 포함하는 폴더의 경로로 바꿉니다.

      • AWS_IOT_ENDPOINT를 엔드포인트로 바꿉니다.

      • 스위치 인스턴스 2개를 GG_Switch 디바이스의 파일 이름의 해시로 바꿉니다.

      cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA root-ca-cert.pem --cert switch.cert.pem --key switch.private.key --thingName GG_TrafficLight --clientId GG_Switch
    2. GG_TrafficLight 디바이스 창에서 다음 명령을 실행합니다.

      • path-to-certs-folder를 인증서, 키 및 Python 파일을 포함하는 폴더의 경로로 바꿉니다.

      • AWS_IOT_ENDPOINT를 엔드포인트로 바꿉니다.

      • 라이트 인스턴스 2개를 GG_TrafficLight 디바이스의 파일 이름의 해시로 바꿉니다.

      cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA root-ca-cert.pem --cert light.cert.pem --key light.private.key --thingName GG_TrafficLight --clientId GG_TrafficLight

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

      GG_Switch 출력:

      
                                    GG_Switch 관련 출력 스크린샷

      GG_TrafficLight 출력:

      
                                    GG_TrafficLight 관련 출력 스크린샷

    처음 실행될 때 각 디바이스 스크립트는AWS IoT Greengrass검색 서비스를 사용하여AWS IoT Greengrass코어 (인터넷을 통해). 디바이스가 을 (를) 검색해 성공적으로 연결한 후AWS IoT Greengrass코어에서 향후 작업을 로컬에서 실행할 수 있습니다.

    참고

    lightController.pytrafficLight.py 스크립트는 스크립트와 동일한 폴더에 생성되는 groupCA 폴더에 연결 정보를 저장합니다. 연결 오류를 수신하는 경우 IP 주소가ggc-host파일이 코어의 IP 주소 끝점과 일치합니다.

  4. 에서AWS IoT콘솔에서AWS IoT Greengrass그룹에서Devices를 선택한 다음 를 선택합니다.GG_TrafficLight.

    
                            GG_TrafficLIght가 강조 표시된 디바이스 페이지 스크린샷
  5. [Shadow]를 선택합니다. GG_Switch의 상태가 변경된 후에는 Shadow State(섀도우 상태)에 이 섀도우 주제에 대한 업데이트가 있으면 안 됩니다. 그 이유는 GG_Traffight가로컬 섀도우에 반대하는클라우드에 섀도우 동기화.

  6. GG_Switch(lightController.py) 디바이스 창에서 Ctrl + C를 누릅니다. GG_TrafficLight(trafficLight.py) 창이 상태 변경 메시지 수신을 중지하는 것이 보여야 합니다.

    다음 단원에서 명령을 실행할 수 있도록 이러한 창을 그대로 열어 둡니다.