MQTT 클라이언트를 사용하여 AWS IoT MQTT 메시지 보기 - AWS IoT Core

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

MQTT 클라이언트를 사용하여 AWS IoT MQTT 메시지 보기

이 섹션에서는 AWS IoT 콘솔에서 AWS IoT MQTT 테스트 클라이언트를 사용하여에서 보내고 받은 MQTT 메시지를 보는 방법을 설명합니다 AWS IoT. 이 섹션에서 사용되는 예제는 AWS IoT Core 자습서 시작하기에서 사용한 예제와 관련이 있지만, 예제에 사용된 topicName을 IoT 솔루션에서 사용한 주제 이름 또는 주제 필터로 대체할 수 있습니다.

디바이스는 주제로 식별되는 MQTT 메시지를 게시하여 상태를 전달하고 AWS IoT, MQTT 메시지를 AWS IoT 게시하여 디바이스와 앱에 변경 사항 및 이벤트를 알립니다. MQTT 클라이언트를 사용하여 이러한 주제를 구독하고 메시지 발생 시 메시지를 확인할 수 있습니다. 또한 MQTT 테스트 클라이언트를 사용하여에서 구독한 디바이스 및 서비스에 MQTT 메시지를 게시할 수 있습니다 AWS 계정.

MQTT 클라이언트에서 MQTT 메시지 보기

다음 절차에서는 디바이스가 메시지를 게시하고 AWS IoT 콘솔에서 메시지를 보는 특정 MQTT 주제를 구독하는 방법을 설명합니다.

MQTT 테스트 클라이언트에서 MQTT 메시지 보기
  1. AWS IoT 콘솔을 열고 왼쪽 메뉴에서 테스트(Test)를 선택하고 MQTT 클라이언트(MQTT test client)를 선택합니다.

    왼쪽 탐색의 콘솔 메뉴에서 MQTT 테스트 클라이언트를 선택합니다.
  2. 주제 구독(Subscribe to a topic) 탭에서 topicName을 입력하여 디바이스가 게시하는 주제를 구독합니다. 시작하기 샘플 앱의 경우, 모든 메시지 주제를 구독하는 #을 구독합니다.

    시작하기 예제를 계속 진행하여 주제 구독 탭의 주제 필터 필드에 #을(를) 입력한 다음 구독을 선택합니다.

    주제 구독 탭입니다.

    주제 메시지 로그 페이지 #이 열려 구독 목록에 #이(가) 나타납니다. 에서 구성한 디바이스디바이스 구성가 예제 프로그램을 실행 중인 경우 # 메시지 로그 AWS IoT 에서에 전송하는 메시지가 표시됩니다. 구독 주제가 포함된 메시지를 수신하면 메시지 로그 항목이 게시 섹션 아래에 표시됩니다 AWS IoT.

    주제를 보여주는 섹션이 성공적으로 구독되었습니다.
  3. # 메시지 로그 페이지에서 메시지를 주제에 게시할 수도 있지만 주제 이름을 지정해야 합니다. # 주제에 게시할 수 없습니다.

    구독한 주제에 게시된 메시지는 수신 시 메시지 로그에 표시되며 가장 최근 메시지가 먼저 표시됩니다.

MQTT 메시지 문제 해결

와일드카드 주제 필터 사용

메시지가 예상대로 메시지 로그에 표시되지 않으면 주제 필터에 설명된 와일드카드 주제 필터를 구독해 보세요. MQTT 다중 레벨 와일드카드 주제 필터는 해시 또는 파운드 기호( # )이며 구독 주제 필드에서 주제 필터로 사용할 수 있습니다.

# 주제 필터를 구독하는 것은 메시지 브로커가 수신한 모든 주제를 구독하는 것입니다. 주제 필터 경로의 요소를 # 다중 레벨 와일드카드 문자 또는 '+' 단일 레벨 와일드카드 문자로 대체하여 필터 범위를 좁힐 수 있습니다.

주제 필터에서 와일드카드를 사용하는 경우
  • 다중 레벨 와일드카드 문자는 주제 필터의 마지막 문자여야 합니다.

  • 주제 필터 경로에는 주제 레벨당 단일 레벨 와일드카드 문자가 하나만 있을 수 있습니다.

다음 예를 참조하세요.

주제 필터

다음이 포함된 메시지 표시

#

모든 주제 이름

topic_1/#

topic_1/(으)로 시작하는 주제 이름

topic_1/level_2/#

topic_1/level_2/(으)로 시작하는 주제 이름

topic_1/+/level_3

topic_1/(으)로 시작하고 /level_3(으)로 끝나며 그 사이에 임의 값의 한 요소가 있는 주제 이름.

주제 필터에 대한 자세한 내용은 주제 필터 단원을 참조하세요.

주제 이름 오류 확인

MQTT 주제 이름과 주제 필터는 대소문자를 구분합니다. 예를 들어, 구독한 주제인 topic_1 대신 디바이스가 Topic_1(대문자 T 포함)에 메시지를 게시하는 경우 해당 메시지는 MQTT 테스트 클라이언트에 나타나지 않습니다. 그러나 와일드카드 주제 필터를 구독하면 디바이스가 메시지를 게시하고 있음을 알 수 있으며 예상한 주제가 아닌 주제 이름을 사용하고 있음을 알 수 있습니다.

MQTT 클라이언트에서 MQTT 메시지 게시

MQTT 주제에 메시지를 게시하려면
  1. MQTT 클라이언트 페이지에서 Publish to a topic(주제 게시) 탭의 Topic name(주제 이름) 필드에 메시지의 topicName을 입력합니다. 이 예에서는 my/topic을 사용합니다.

    참고

    MQTT 테스트 클라이언트 또는 시스템 구현 시 주제 이름에 개인 식별이 가능한 정보를 사용하지 마세요. 주제 이름은 암호화되지 않은 통신 및 보고서에 나타날 수 있습니다.

  2. 메시지 페이로드 창에 다음 JSON을 입력합니다.

    { "message": "Hello, world", "clientType": "MQTT test client" }
  3. 메시지를 AWS IoT에 게시하려면 게시를 선택합니다.

    참고

    메시지를 게시하기 전에 my/topic 주제를 구독하고 있어야 합니다.

    주제에 게시 탭입니다.
  4. 메시지를 보려면 구독(Subscription) 목록에서 my/topic을 선택합니다. 메시지 페이로드 게시 창 아래의 MQTT 테스트 클라이언트에서 메시지가 보여야 합니다.

    게시된 주제가 수신된 것을 보여주는 화면입니다.

주제 이름 필드의 topicName을 변경하고 게시 버튼을 선택하면 MQTT 메시지를 다른 주제에 게시할 수 있습니다.

중요

중복 주제(예: probe1/ temperature 및 probe1/#)로 여러 구독을 생성할 경우 두 구독과 일치하는 주제에 게시된 단일 메시지가 중복 구독마다 한 번씩 여러 번 전달될 가능성이 있습니다.

MQTT 클라이언트에서 공유 구독 테스트

이 단원에서는 AWS IoT 콘솔에서 AWS IoT MQTT 클라이언트를 사용하여 공유 구독 AWS IoT 을 사용하여 주고받는 MQTT 메시지를 보는 방법을 설명합니다. 공유 구독를 사용하면 여러 클라이언트가 주제에 대한 구독을 임의의 배포를 사용하여 해당 주제에 게시된 메시지를 수신하는 클라이언트 하나와만 공유할 수 있습니다. 동일한 구독을 공유하는 여러 MQTT 클라이언트(이 예제에서는 두 개의 MQTT 클라이언트)를 시뮬레이션하려면 여러 웹 브라우저에서 AWS IoT 콘솔에서 AWS IoT MQTT 클라이언트를 엽니다. 이 섹션에 사용된 예시는 AWS IoT Core 자습서 시작하기에서 사용된 예시와 관련이 없습니다. 자세한 내용은 공유 구독을 참조하세요.

MQTT 주제에 구독을 공유하는 방법
  1. AWS IoT 콘솔을 열고 탐색 창에서 테스트를 선택하고 MQTT 테스트 클라이언트를 선택합니다.

  2. 주제 구독(Subscribe to a topic) 탭에서 topicName을 입력하여 디바이스가 게시하는 주제를 구독합니다. 공유 구독을 사용하려면 공유 구독의 주제 필터를 다음과 같이 구독합니다.

    $share/{ShareName}/{TopicFilter}

    주제 필터의 예로는 메시지 주제 topic1을 구독하는 $share/group1/topic1을 들 수 있습니다.

    공유 구독에 대한 주제 필터를 지정하는 방법을 보여주는 탭입니다.
  3. 다른 웹 브라우저를 열고 1단계와 2단계를 반복합니다. 이렇게 하면 동일한 $share/group1/topic1 구독을 공유하는 서로 다른 두 MQTT 클라이언트를 시뮬레이션할 수 있습니다.

  4. 한 MQTT 클라이언트를 선택하고 주제에 게시 탭의 주제 이름 필드에 메시지의 topicName을 입력합니다. 이 예에서는 topic1을 사용합니다. 메시지를 몇 번 게시해 보세요. 두 MQTT 클라이언트의 구독 목록에서 클라이언트가 무작위 배포를 사용하여 메시지를 수신하는 것을 확인할 수 있을 것입니다. 이 예시에서는 'Hello from AWS IoT console'이라는 동일한 메시지를 세 번 게시합니다. 왼쪽의 MQTT 클라이언트는 메시지를 두 번 받았고 오른쪽의 MQTT 클라이언트는 메시지를 한 번 받았습니다.

    공유 구독은 두 클라이언트를 통해 진행되어 주제에 대한 구독을 공유하며, 무작위 분포를 사용하여 해당 주제에 게시된 메시지를 하나의 클라이언트만 수신합니다.