3단계: 연결을 테스트하도록 AWS IoT Device Client 구성 - AWS IoT Core

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

3단계: 연결을 테스트하도록 AWS IoT Device Client 구성

이 섹션의 절차에서는 Raspberry Pi에서 MQTT 메시지를 게시하도록 AWS IoT Device Client를 구성합니다.

구성 파일 생성

이 절차는 AWS IoT Device Client를 테스트하기 위한 구성 파일을 생성합니다.

AWS IoT Device Client를 테스트하기 위한 구성 파일을 생성하려면
  • Raspberry Pi에 연결된 로컬 호스트 컴퓨터의 터미널 창에서

    1. 이 명령을 입력하여 구성 파일에 대한 디렉터리를 생성하고 디렉터리에 대한 권한을 설정합니다.

      mkdir ~/dc-configs chmod 745 ~/dc-configs
    2. nano 등의 텍스트 편집기를 엽니다.

    3. 이 JSON 문서를 복사하여 열려 있는 텍스트 편집기에 붙여 넣습니다.

      { "endpoint": "a3qEXAMPLEaffp-ats.iot.us-west-2.amazonaws.com", "cert": "~/certs/testconn/device.pem.crt", "key": "~/certs/testconn/private.pem.key", "root-ca": "~/certs/AmazonRootCA1.pem", "thing-name": "DevCliTestThing", "logging": { "enable-sdk-logging": true, "level": "DEBUG", "type": "STDOUT", "file": "" }, "jobs": { "enabled": false, "handler-directory": "" }, "tunneling": { "enabled": false }, "device-defender": { "enabled": false, "interval": 300 }, "fleet-provisioning": { "enabled": false, "template-name": "", "template-parameters": "", "csr-file": "", "device-key": "" }, "samples": { "pub-sub": { "enabled": true, "publish-topic": "test/dc/pubtopic", "publish-file": "", "subscribe-topic": "test/dc/subtopic", "subscribe-file": "" } }, "config-shadow": { "enabled": false }, "sample-shadow": { "enabled": false, "shadow-name": "", "shadow-input-file": "", "shadow-output-file": "" } }
    4. endpoint 값을 AWS IoT Core에서 디바이스 프로비저닝에서 찾은 AWS 계정의 디바이스 데이터 엔드포인트로 바꿉니다.

    5. 텍스트 편집기에서 파일을 ~/dc-configs/dc-testconn-config.json으로 저장합니다.

    6. 이 명령을 실행하여 새로운 구성 파일에 대한 권한을 설정합니다.

      chmod 644 ~/dc-configs/dc-testconn-config.json

파일을 저장한 후에는 MQTT 테스트 클라이언트 열기로 진행할 준비가 된 것입니다.

MQTT 테스트 클라이언트 열기

이 절차는 AWS IoT 콘솔의 MQTT 테스트 클라이언트(MQTT test client)가 AWS IoT Device Client가 실행될 때 게시하는 MQTT 메시지를 구독하도록 준비합니다.

모든 MQTT 메시지를 구독하도록 MQTT 테스트 클라이언트(MQTT test client)를 준비하려면
  1. 로컬 호스트 컴퓨터의 AWS IoT 콘솔에서 MQTT 테스트 클라이언트(MQTT test client)를 선택합니다.

  2. 주제 구독(Subscribe to a topic) 탭의 주제 필터(Topic filter)#(파운드 기호 1개)를 입력하고 구독(Subscribe)을 선택하여 모든 MQTT 주제를 구독합니다.

  3. 구독(Subscriptions) 레이블 아래에 #(파운드 기호 1개)가 표시되는지 확인합니다.

AWS IoT Device Client 실행으로 진행하면서 MQTT 테스트 클라이언트(MQTT test client)가 열려 있는 창을 그대로 둡니다.

AWS IoT Device Client 실행

이 절차는 AWS IoT Device Client를 실행하여 MQTT 테스트 클라이언트(MQTT test client)가 수신하고 표시하는 단일 MQTT 메시지를 게시합니다.

AWS IoT Device Client에서 MQTT 메시지를 전송하려면
  1. 이 절차를 수행하는 동안 Raspberry Pi에 연결된 터미널 창과 MQTT 테스트 클라이언트(MQTT test client)가 있는 창이 모두 표시되는지 확인합니다.

  2. 터미널 창에서 이 명령을 입력하여 구성 파일 생성에서 생성한 config 파일을 사용하여 AWS IoT Device Client를 실행합니다.

    cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-testconn-config.json

    터미널 창에서 AWS IoT Device Client는 실행 시 발생하는 오류와 정보 메시지를 표시합니다.

    터미널 창에 오류가 표시되지 않으면 MQTT 테스트 클라이언트(MQTT test client)를 검토합니다.

  3. MQTT 테스트 클라이언트(MQTT test client)의 구독(Subscriptions) 창에서 test/dc/pubtopic 메시지 주제로 Hello World! 메시지가 전송되었음을 확인할 수 있습니다.

  4. AWS IoT Device Client에 오류가 표시되지 않고 MQTT 테스트 클라이언트(MQTT test client)test/dc/pubtopic 메시지로 Hello World!가 전송되었음이 확인되면 연결을 성공적으로 시연한 것입니다.

  5. 터미널 창에서 ^C(Ctrl-C)를 입력하여 AWS IoT Device Client를 중지합니다.

AWS IoT Device Client가 Raspberry Pi에서 제대로 실행되고 AWS IoT와 통신할 수 있음을 보여준 후 튜토리얼: AWS IoT Device Client와 MQTT 메시지 통신 시연으로 진행할 수 있습니다.