MQTT 클라이언트 유틸리티 사용

하나 이상의 MQTT 클라이언트 유틸리티를 사용하여 텔레메트리 설정을 테스트할 수 있습니다. 이 태스크 범위에서는 단일 클라이언트 유틸리티를 사용하여 메시지를 발행하고 구독합니다.

시작하기 전에

  • 텔레메트리(MQXR) 서비스가 실행 중인지 확인하십시오.
  • MQTT 클라이언트 유틸리티를 사용하려면 실행 중인 텔레메트리 채널이 하나 이상 있어야 합니다.

이 태스크 정보

MQTT 클라이언트 유틸리티를 시작하는 여러 개의 메소드가 있습니다. 클라이언트 유틸리티 실행에 대한 자세한 정보는 MQTT 클라이언트 유틸리티 실행의 내용을 참조하십시오. 이 태스크 범위에서 클라이언트 유틸리티는 샘플 구성 정의 마법사로 작성한 PlainText 텔레메트리 채널에서 시작됩니다.

기본적으로 PlainText 채널의 MCA 사용자 IDguest(Windows의 경우) 및 nobody(Linux®의 경우)로 설정됩니다. 토픽을 구독하려면 이 기본값이 필요합니다.

프로시저

  1. PlainText 텔레메트리 채널을 마우스의 오른쪽 단추로 클릭한 다음 MQTT 클라이언트 유틸리티 실행을 클릭하십시오. 클라이언트 유틸리티 창이 열립니다. 호스트포트 필드는 선택된 텔레메트리 채널의 값을 사용하여 자동으로 설정됩니다.
  2. 클라이언트 ID 필드에 클라이언트 ID를 입력하십시오. 텔레메트리 채널에서 MQTT 클라이언트 유틸리티를 시작할 때마다 새 클라이언트 ID가 생성됩니다. 생성된 ID를 사용하거나 선택한 이름을 입력할 수 있습니다. 하나의 텔레메트리 채널에서 둘 이상의 클라이언트 유틸리티를 실행하는 경우, 각 클라이언트 유틸리티에 대해 서로 다른 클라이언트 ID를 사용하는지 확인하십시오. 두 MQTT 클라이언트 유틸리티의 클라이언트 ID가 동일한 경우, 최근에 실행된 유틸리티가 이전 유틸리티의 연결을 강제로 끊습니다(참고 1 참조). 하나의 텔레메트리 채널에서 둘 이상의 MQTT 클라이언트 유틸리티를 실행하는 경우, 생성된 클라이언트 ID에는 새 클라이언트 유틸리티가 시작될 때마다 증가하는 숫자 접미부가 포함됩니다.
  3. 옵션을 클릭하여 연결 옵션 창을 여십시오. 정리 세션으로 클라이언트 유틸리티를 시작할 수도 있고 이상 종료 시 메시지 옵션을 구성할 수도 있습니다.
  4. 연결을 클릭하여 PlainText 텔레메트리 채널과의 연결을 설정하십시오. 새 이벤트 항목 연결됨클라이언트 실행 기록에 표시됩니다.
  5. 구독 토픽 필드에 토픽 이름을 입력하십시오. 기본 토픽 이름은 testTopic이며 이 태스크 내내 이 이름이 사용됩니다.
  6. QoS 요청 메뉴에서 구독 서비스 품질을 선택하십시오.
  7. 구독을 클릭하여 testTopic 토픽을 구독하십시오. 새 이벤트 항목 Subscribed이 토픽 이름, QoS 및 구독 시간과 함께 클라이언트 실행 기록에 표시됩니다.
  8. publication 토픽 필드에서 기본 토픽 이름인 testTopic을 승인하십시오. 일반적으로 MQTT 클라이언트가 올바른 토픽에서 메시지를 수신하도록 구독 및 발행 토픽이 일치하는지 확인하십시오.
  9. 메시지 필드에 메시지를 입력하십시오. 기본 메시지 테스트는 Test Message입니다.
  10. QoS 요청 메뉴에서 발행물 서비스 품질을 선택하십시오.
  11. 보유됨을 선택하여 이 토픽에 대해 최근에 보유된 발행물을 새 구독자에게 전달하십시오.
  12. 발행을 클릭하여 관심 있는 구독자에게 testTopic 토픽에 대한 메시지를 발행하십시오. 새 이벤트 항목 Published가 토픽 이름, QoS, 메시지 보유 여부 및 구독 시간과 함께 클라이언트 실행 기록에 표시됩니다. 수신 클라이언트 유틸리티에서 새 이벤트 항목 수신됨클라이언트 실행 기록에 표시됩니다.
  13. 클라이언트 실행 기록에서 수신한 메시지를 선택한 다음 메시지 보기를 클릭하여 메시지 뷰어 창에서 전체 메시지를 보십시오. 또는 메시지를 선택하고 Enter를 누르거나 수신한 메시지를 두 번 클릭하십시오.

결과

구독한 토픽에서 메시지 발행 및 메시지 보기는 텔레메트리에 대해 큐 관리자를 올바르게 설정했음을 표시합니다.