기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
클라이언트를 AWS IoT MQTT 사용하여 MQTT 메시지 보기
이 섹션에서는 AWS IoT 콘솔topicName
IoT 솔루션에서 사용하는 주제 이름 또는 주제 필터와 함께 예제에 사용됩니다.
디바이스는 주제별로 식별되는 MQTT 메시지를 게시하여 상태를 에 전달하고 AWS IoT, MQTT 메시지를 AWS IoT 게시하여 디바이스 및 앱에 변경 사항 및 이벤트를 알립니다. MQTT 클라이언트를 사용하여 이러한 주제를 구독하고 메시지가 발생할 때 메시지를 볼 수 있습니다. MQTT 테스트 클라이언트를 사용하여 에서 구독한 디바이스 및 서비스에 MQTT 메시지를 게시할 수도 있습니다 AWS 계정.
MQTT 클라이언트에서 MQTT 메시지 보기
다음 절차에서는 디바이스가 에 메시지를 게시하고 AWS IoT 콘솔
MQTT 테스트 클라이언트에서 MQTT 메시지를 보려면
-
AWS IoT 콘솔
의 왼쪽 메뉴에서 테스트를 선택한 다음 MQTT 테스트 클라이언트 를 선택합니다. -
주제 구독 탭에서
topicName
디바이스가 게시하는 주제를 구독합니다. 시작하기 샘플 앱의 경우, 모든 메시지 주제를 구독하는#
을 구독합니다.시작하기 예제를 계속 진행하여 주제 구독 탭의 주제 필터 필드에
#
을(를) 입력한 다음 구독을 선택합니다.주제 메시지 로그 페이지 #이 열려 구독 목록에
#
이(가) 나타납니다. 에서 구성한 디바이스디바이스 구성가 예제 프로그램을 실행 중인 경우 # 메시지 로그 AWS IoT 에 보낸 메시지가 표시됩니다. 구독 주제가 포함된 메시지를 에서 수신하면 메시지 로그 항목이 게시 섹션 아래에 표시됩니다 AWS IoT. -
# 메시지 로그 페이지에서 메시지를 주제에 게시할 수도 있지만 주제 이름을 지정해야 합니다. # 주제에 게시할 수 없습니다.
구독한 주제에 게시된 메시지는 수신 시 메시지 로그에 표시되며 가장 최근 메시지가 먼저 표시됩니다.
MQTT 메시지 문제 해결
와일드카드 주제 필터 사용
메시지가 예상대로 메시지 로그에 표시되지 않으면 주제 필터에 설명된 와일드카드 주제 필터를 구독해 보세요. MQTT 다중 수준 와일드카드 주제 필터는 해시 또는 우물정자(#
)이며 구독 주제 필드에서 주제 필터로 사용할 수 있습니다.
#
주제 필터를 구독하는 것은 메시지 브로커가 수신한 모든 주제를 구독하는 것입니다. 주제 필터 경로의 요소를 #
다중 레벨 와일드카드 문자 또는 '+' 단일 레벨 와일드카드 문자로 대체하여 필터 범위를 좁힐 수 있습니다.
주제 필터에서 와일드카드를 사용하는 경우
-
다중 레벨 와일드카드 문자는 주제 필터의 마지막 문자여야 합니다.
-
주제 필터 경로에는 주제 레벨당 단일 레벨 와일드카드 문자가 하나만 있을 수 있습니다.
다음 예를 참조하세요.
주제 필터 |
다음이 포함된 메시지 표시 |
---|---|
|
모든 주제 이름 |
|
|
|
|
|
|
주제 필터에 대한 자세한 내용은 주제 필터 단원을 참조하세요.
주제 이름 오류 확인
MQTT 주제 이름 및 주제 필터는 대/소문자를 구분합니다. 예를 들어 디바이스가 구독한 topic_1
주제인 Topic_1
대신 (대문자 T )에 메시지를 게시하는 경우 테스트 MQTT 클라이언트에 메시지가 표시되지 않습니다. 그러나 와일드카드 주제 필터를 구독하면 디바이스가 메시지를 게시하고 있음을 알 수 있으며 예상한 주제가 아닌 주제 이름을 사용하고 있음을 알 수 있습니다.
MQTT 클라이언트에서 MQTT 메시지 게시
MQTT 주제에 메시지를 게시하려면
-
MQTT 테스트 클라이언트 페이지의 주제에 게시 탭의 주제 이름 필드에
topicName
메시지입니다. 이 예에서는my/topic
을 사용합니다.참고
MQTT 테스트 클라이언트에서 사용하든 시스템 구현에서 사용하든 주제 이름에 개인 식별 정보를 사용하지 마세요. 주제 이름은 암호화되지 않은 통신 및 보고서에 나타날 수 있습니다.
-
메시지 페이로드 창에서 다음을 입력합니다JSON.
{ "message": "Hello, world", "clientType": "MQTT test client" }
-
메시지를 AWS IoT에 게시하려면 게시를 선택합니다.
참고
메시지를 게시하기 전에 my/topic 주제를 구독하고 있어야 합니다.
-
메시지를 보려면 구독(Subscription) 목록에서 my/topic을 선택합니다. 메시지 페이로드 게시 창 아래의 MQTT 테스트 클라이언트에 메시지가 표시됩니다.
를 변경하여 다른 주제에 MQTT 메시지를 게시할 수 있습니다.topicName
주제 이름 필드에 입력하고 게시 버튼을 선택합니다.
중요
중복 주제(예: probe1/ temperature 및 probe1/#)로 여러 구독을 생성할 경우 두 구독과 일치하는 주제에 게시된 단일 메시지가 중복 구독마다 한 번씩 여러 번 전달될 가능성이 있습니다.
MQTT 클라이언트에서 공유 구독 테스트
이 섹션에서는 AWS IoT 콘솔
MQTT 주제에 대한 구독을 공유하려면
-
AWS IoT 콘솔
의 탐색 창에서 테스트를 선택한 다음 MQTT 테스트 클라이언트 를 선택합니다. -
주제 구독 탭에서
topicName
디바이스가 게시하는 주제를 구독합니다. 공유 구독을 사용하려면 공유 구독의 주제 필터를 다음과 같이 구독합니다.$share/{ShareName}/{TopicFilter}
주제 필터의 예로는 메시지 주제
topic1
을 구독하는$share/group1/topic1
을 들 수 있습니다. -
다른 웹 브라우저를 열고 1단계와 2단계를 반복합니다. 이렇게 하면 동일한 구독을 공유하는 두 개의 서로 다른 MQTT 클라이언트를 시뮬레이션할 수 있습니다
$share/group1/topic1
. -
MQTT 클라이언트 하나를 선택하고 주제에 게시 탭의 주제 이름 필드에 를 입력합니다.
topicName
메시지입니다. 이 예에서는topic1
을 사용합니다. 메시지를 몇 번 게시해 보세요. 두 MQTT 클라이언트의 구독 목록에서 클라이언트가 무작위 배포를 사용하여 메시지를 수신하는지 확인할 수 있습니다. 이 예시에서는 'Hello from AWS IoT console'이라는 동일한 메시지를 세 번 게시합니다. 왼쪽의 MQTT 클라이언트는 메시지를 두 번 수신했고 오른쪽의 MQTT 클라이언트는 메시지를 한 번 수신했습니다.