클라이언트 장치 간에 MQTT 메시지를 중계하고 AWS IoT Core - AWS IoT Greengrass

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

클라이언트 장치 간에 MQTT 메시지를 중계하고 AWS IoT Core

클라이언트 장치 및 간에 MQTT 메시지 및 기타 데이터를 릴레이할 수 있습니다. AWS IoT Core 클라이언트 디바이스는 코어 디바이스에서 실행되는 MQTT Broker 컴포넌트에 연결됩니다. 기본적으로 코어 디바이스는 클라이언트 디바이스와 간에 MQTT 메시지 또는 데이터를 릴레이하지 않습니다. AWS IoT Core 클라이언트 장치는 기본적으로 MQTT를 통해서만 서로 통신할 수 있습니다.

클라이언트 장치 및 AWS IoT Core 간에 MQTT 메시지를 릴레이하려면 다음을 수행하도록 MQTT 브리지 구성 요소를 구성하십시오.

  • 클라이언트 장치의 메시지를 로 릴레이합니다. AWS IoT Core

  • 클라이언트 AWS IoT Core 장치로 메시지를 릴레이합니다.

참고

클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core 구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core 코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT타임아웃 및 캐시 설정을 구성합니다.

MQTT 브리지 구성 요소 구성 및 배포

MQTT 브리지 구성 요소는 각각 메시지 소스와 메시지 대상을 지정하는 주제 매핑 목록을 사용합니다. 클라이언트 장치 간에 메시지를 릴레이하려면 MQTT 브리지 구성 요소를 배포하고 구성 요소 구성에서 각 소스 및 대상 주제를 지정하십시오. AWS IoT Core

MQTT 브리지 구성 요소를 코어 장치 또는 코어 장치 그룹에 배포하려면 구성 요소가 포함된 배포를 만드십시오. aws.greengrass.clientdevices.mqtt.Bridge 배포의 MQTT 브리지 구성 요소 구성에서 주제 매핑을 지정합니다. mqttTopicMapping

다음 예제에서는 클라이언트 장치의 주제 필터와 일치하는 주제에 대한 메시지를 릴레이하도록 MQTT 브리지 구성 요소를 구성하는 배포를 clients/+/hello/world 정의합니다. AWS IoT Core merge구성 업데이트에는 직렬화된 JSON 개체가 필요합니다. 자세한 설명은 구성 요소 구성 업데이트 섹션을 참조하세요.

Console
{ "mqttTopicMapping": { "HelloWorldIotCore": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
AWS CLI
{ "components": { "aws.greengrass.clientdevices.mqtt.Bridge": { "version": "2.0.0", "configurationUpdate": { "merge": "{\"mqttTopicMapping\":{\"HelloWorldIotCore\":{\"topic"\:\"clients/+/hello/world\",\"source\":\"LocalMqtt\",\"target\":\"IotCore\"}}}" } } ... } }

릴레이 MQTT 메시지

클라이언트 장치 간에 MQTT 메시지를 릴레이하려면 MQTT Bridge 구성 요소를 구성 및 배포하고 릴레이할 주제를 지정하십시오. AWS IoT Core

예: 특정 주제에 대한 메시지를 클라이언트 장치에서 다음으로 릴레이합니다. AWS IoT Core

다음 MQTT 브리지 구성 요소 구성은 클라이언트 장치의 주제 필터와 일치하는 주제에 대한 메시지 릴레이를 지정합니다. clients/+/hello/world/event AWS IoT Core

{ "mqttTopicMapping": { "HelloWorldEvent": { "topic": "clients/+/hello/world/event", "source": "LocalMqtt", "target": "IotCore" } } }
예: 클라이언트 장치에서 주제에 대한 메시지를 AWS IoT Core 릴레이합니다.

다음 MQTT 브리지 구성 요소 구성은 주제 필터와 일치하는 주제에 대한 메시지를 클라이언트 장치로 clients/+/hello/world/event/response AWS IoT Core 릴레이하도록 지정합니다.

{ "mqttTopicMapping": { "HelloWorldEventConfirmation": { "topic": "clients/+/hello/world/event/response", "source": "IotCore", "target": "LocalMqtt" } } }