Inoltra messaggi MQTT tra dispositivi client e AWS IoT Core - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inoltra messaggi MQTT tra dispositivi client e AWS IoT Core

È possibile inoltrare messaggi MQTT e altri dati tra dispositivi client e. AWS IoT Core I dispositivi client si connettono al componente del broker MQTT che viene eseguito sul dispositivo principale. Per impostazione predefinita, i dispositivi principali non inoltrano messaggi o dati MQTT tra dispositivi client e. AWS IoT Core Per impostazione predefinita, i dispositivi client possono comunicare tra loro solo tramite MQTT.

Per inoltrare messaggi MQTT tra dispositivi client eAWS IoT Core, configurate il componente bridge MQTT per effettuare le seguenti operazioni:

  • Inoltra i messaggi dai dispositivi client a. AWS IoT Core

  • Inoltra i messaggi dai AWS IoT Core dispositivi client.

Nota

Il bridge MQTT utilizza QoS 1 per pubblicare e AWS IoT Core sottoscrivere, anche quando un dispositivo client utilizza QoS 0 per pubblicare e sottoscrivere il broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. Configurare i timeout MQTT e le impostazioni della cache

Configurare e distribuire il componente bridge MQTT

Il componente bridge MQTT utilizza un elenco di mappature di argomenti, ciascuna delle quali specifica un'origine e una destinazione del messaggio. Per inoltrare messaggi tra dispositivi client eAWS IoT Core, implementate il componente bridge MQTT e specificate ogni argomento di origine e destinazione nella configurazione del componente.

Per distribuire il componente bridge MQTT su un dispositivo principale o su un gruppo di dispositivi principali, create una distribuzione che includa il componente. aws.greengrass.clientdevices.mqtt.Bridge Specificate le mappature degli argomenti nella configurazione mqttTopicMapping del componente bridge MQTT nella distribuzione.

L'esempio seguente definisce una distribuzione che configura il componente bridge MQTT per inoltrare messaggi su argomenti che corrispondono al filtro degli argomenti dai dispositivi client clients/+/hello/world a. AWS IoT Core L'aggiornamento della merge configurazione richiede un oggetto JSON serializzato. Per ulteriori informazioni, consulta Aggiornamento delle configurazioni dei componenti.

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\"}}}" } } ... } }

Inoltra messaggi MQTT

Per inoltrare messaggi MQTT tra dispositivi client eAWS IoT Core, configura e distribuisci il componente MQTT Bridge e specifica gli argomenti da inoltrare.

Esempio: inoltrare messaggi su un argomento dai dispositivi client a AWS IoT Core

La seguente configurazione del componente bridge MQTT specifica l'inoltro dei messaggi su argomenti che corrispondono al filtro degli argomenti dai clients/+/hello/world/event dispositivi client a. AWS IoT Core

{ "mqttTopicMapping": { "HelloWorldEvent": { "topic": "clients/+/hello/world/event", "source": "LocalMqtt", "target": "IotCore" } } }
Esempio: inoltrare messaggi su un argomento dai dispositivi client AWS IoT Core

La seguente configurazione del componente bridge MQTT specifica l'inoltro dei messaggi su argomenti che corrispondono al filtro degli clients/+/hello/world/event/response argomenti ai dispositivi client. AWS IoT Core

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