Ponte MQTT - 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à.

Ponte MQTT

Il componente bridge MQTT (aws.greengrass.clientdevices.mqtt.Bridge) inoltra i messaggi MQTT tra dispositivi client, Greengrass publish/subscribe locale e. AWS IoT CoreÈ possibile utilizzare questo componente per agire sui messaggi MQTT provenienti dai dispositivi client in componenti personalizzati e sincronizzare i dispositivi client con. Cloud AWS

Nota

I dispositivi client sono dispositivi IoT locali che si connettono a un dispositivo core Greengrass per inviare messaggi MQTT e dati da elaborare. Per ulteriori informazioni, consulta Interagisci con dispositivi IoT locali.

È possibile utilizzare questo componente per inoltrare messaggi tra i seguenti broker di messaggi:

  • MQTT locale: il broker MQTT locale gestisce i messaggi tra i dispositivi client e un dispositivo principale.

  • Pubblicazione/sottoscrizione locale: il broker di messaggi Greengrass locale gestisce i messaggi tra i componenti di un dispositivo principale. Per ulteriori informazioni su come interagire con questi messaggi nei componenti Greengrass, vedere. Pubblicare/sottoscrivere messaggi locali

  • AWS IoT Core — Il broker AWS IoT Core MQTT gestisce i messaggi tra dispositivi IoT e Cloud AWS destinazioni. Per ulteriori informazioni su come interagire con questi messaggi nei componenti Greengrass, vedere. AWS IoT Core Pubblicare/sottoscrivere messaggi MQTT

    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

Versioni

Questo componente ha le seguenti versioni:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2,0x

Type

Questo componente è un componente del plugin ()aws.greengrass.plugin. Il nucleo Greengrass esegue questo componente nella stessa Java Virtual Machine (JVM) del nucleo. Il nucleo si riavvia quando si modifica la versione di questo componente sul dispositivo principale.

Questo componente utilizza lo stesso file di registro del nucleo Greengrass. Per ulteriori informazioni, consulta Monitora AWS IoT Greengrass i registri.

Per ulteriori informazioni, consultare Tipi di componenti.

Sistema operativo

Questo componente può essere installato su dispositivi principali che eseguono i seguenti sistemi operativi:

  • Linux

  • Windows

Requisiti

Questo componente presenta i seguenti requisiti:

  • Se si configura il componente broker MQTT del dispositivo principale per utilizzare una porta diversa dalla porta predefinita 8883, è necessario utilizzare MQTT bridge v2.1.0 o versione successiva. Configuralo per connetterti alla porta in cui opera il broker.

  • Il componente bridge MQTT è supportato per l'esecuzione in un VPC.

Dipendenze

Quando si distribuisce un componente, distribuisce AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti per il componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli di versione semantica che definiscono le versioni dei componenti per ogni dipendenza. È inoltre possibile visualizzare le dipendenze per ogni versione del componente nella console.AWS IoT Greengrass Nella pagina dei dettagli del componente, cerca l'elenco delle dipendenze.

2.3.2

La tabella seguente elenca le dipendenze per la versione 2.3.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.2.0 <2.6.0 Rigidi
2.3.0 and 2.3.1

La tabella seguente elenca le dipendenze per le versioni 2.3.0 e 2.3.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.2.0 <2.5.0 Rigidi
2.2.5 and 2.2.6

La tabella seguente elenca le dipendenze per le versioni 2.2.5 e 2.2.6 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.2.0 <2.5.0 Rigidi
2.2.3 and 2.2.4

La tabella seguente elenca le dipendenze per le versioni 2.2.3 e 2.2.4 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.2.0 <2.4.0 Rigidi
2.2.0 – 2.2.2

La tabella seguente elenca le dipendenze per le versioni da 2.2.0 a 2.2.2 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.2.0 <2.3.0 Rigidi
2.1.1

La tabella seguente elenca le dipendenze per la versione 2.1.1 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.0.0 <2.2.0 Rigidi
2.0.0 to 2.1.0

La tabella seguente elenca le dipendenze per le versioni da 2.0.0 a 2.1.0 di questo componente.

Dipendenza Versioni compatibili Tipo di dipendenza
Autenticazione del dispositivo client >=2.0.0 <2.1.0 Rigidi

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti.

Configurazione

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

2.3.0 – 2.3.2
mqttTopicMapping

Le mappature degli argomenti che desideri collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi che riceve nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.

Questo oggetto contiene le seguenti informazioni:

topicMappingNameKey

Il nome di questa mappatura degli argomenti. Sostituisci topicMappingNameKey con un nome che ti aiuti a identificare questa mappatura degli argomenti.

Questo oggetto contiene le seguenti informazioni:

topic

L'argomento o il filtro degli argomenti da collegare tra il broker di origine e quello di destinazione.

È possibile utilizzare i caratteri jolly degli argomenti + e # MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro per argomento. Per ulteriori informazioni, consultate gli argomenti relativi a MQTT nella Developer Guide.AWS IoT Core

targetTopicPrefix

Il prefisso da aggiungere all'argomento di destinazione quando questo componente inoltra il messaggio.

source

Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

target

Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

mqtt5 RouteOptions

(Facoltativo) Fornisce opzioni per configurare le mappature degli argomenti per collegare i messaggi dall'argomento di origine a quello di destinazione.

Questo oggetto contiene le seguenti informazioni:

mqtt5 RouteOptionsNameKey

Il nome delle opzioni di percorso per la mappatura di un argomento. Sostituisci mqtt5 RouteOptionsNameKey con la topicMappingNamechiave corrispondente definita nel campo. mqttTopicMapping

Questo oggetto contiene le seguenti informazioni:

NoLocal

(Facoltativo) Se abilitato, il bridge non inoltra messaggi su un argomento pubblicato dal bridge stesso. Utilizzatelo per prevenire i loop, come segue:

{ "mqtt5RouteOptions": { "toIoTCore": { "noLocal": true } }, "mqttTopicMapping": { "toIoTCore": { "topic": "device", "source": "LocalMqtt", "target": "IotCore" }, "toLocal": { "topic": "device", "source": "IotCore", "target": "LocalMqtt" } } }

noLocalè supportato solo per i percorsi in cui source èLocalMqtt.

Impostazione predefinita: false

retainAsPublished

(Facoltativo) Se abilitato, i messaggi inoltrati dal bridge hanno lo stesso retain contrassegno dei messaggi pubblicati sul broker per quella rotta.

retainAsPublishedè supportato solo per i percorsi in cui èsource. LocalMqtt

Impostazione predefinita: false

mqtt

(Facoltativo) Impostazioni del protocollo MQTT per la comunicazione con il broker locale.

version

(Facoltativo) La versione del protocollo MQTT utilizzata dal bridge per comunicare con il broker locale. Deve essere la stessa della versione MQTT selezionata nella configurazione del nucleo.

Scegli tra le seguenti opzioni:

  • mqtt3

  • mqtt5

È necessario implementare un broker MQTT quando il target campo source o dell'mqttTopicMappingoggetto è impostato su. LocalMqtt Se si sceglie l'mqtt5opzione, è necessario utilizzare il. Broker MQTT 5 (EMQX)

Impostazione predefinita: mqtt3

ackTimeoutSeconds

(Facoltativo) Intervallo di tempo in cui attendere i pacchetti PUBACK, SUBACK o UNSUBACK prima di fallire l'operazione.

Impostazione predefinita: 60

connAckTimeoutSig.ra

(Facoltativo) Intervallo di tempo di attesa di un pacchetto CONNACK prima di interrompere la connessione.

Impostazione predefinita: 20000 (20 secondi)

pingTimeoutMs

(Facoltativo) La quantità di tempo in millisecondi che il bridge attende per ricevere un messaggio PINGACK dal broker locale. Se l'attesa supera il timeout, il bridge si chiude e riapre la connessione MQTT. Questo valore deve essere inferiore a. keepAliveTimeoutSeconds

Impostazione predefinita: 30000 (30 secondi)

keepAliveTimeoutSecondi

(Facoltativo) La quantità di tempo in secondi tra ogni messaggio PING inviato dal bridge per mantenere attiva la connessione MQTT. Questo valore deve essere maggiore di. pingTimeoutMs

Impostazione predefinita: 60

maxReconnectDelaySig.ra

(Facoltativo) Il tempo massimo in secondi per la riconnessione di MQTT.

Impostazione predefinita: 30000 (30 secondi)

minReconnectDelaySig.ra

(Facoltativo) Il tempo minimo in secondi per la riconnessione di MQTT.

Ricevi il massimo

(Facoltativo) Il numero massimo di pacchetti QoS1 non riconosciuti che il bridge può inviare.

Impostazione predefinita: 100

maximumPacketSize

Il numero massimo di byte che il client accetterà per un pacchetto MQTT.

Impostazione predefinita: null (nessun limite)

sessionExpiryInterval

(Facoltativo) La quantità di tempo in secondi che è possibile richiedere per la durata di una sessione tra il bridge e il broker locale.

Impostazione predefinita: 4294967295 (la sessione non scade mai)

brokerUri

(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Utilizzate il seguente formato e sostituite la porta con la quale opera il broker MQTT:. ssl://localhost:port

Impostazione predefinita: ssl://localhost:8883

startupTimeoutSeconds

(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia BROKEN se supera questo timeout.

Impostazione predefinita: 120

Esempio: fusione e aggiornamento della configurazione

Il seguente esempio di aggiornamento della configurazione specifica quanto segue:

  • Inoltra i messaggi dai dispositivi client agli AWS IoT Core argomenti che corrispondono al filtro degli clients/+/hello/world argomenti.

  • Inoltra i messaggi dai dispositivi client alla pubblicazione o sottoscrizione locale su argomenti che corrispondono al filtro degli argomenti e aggiungi il events/input/ prefisso all'clients/+/detectionsargomento di destinazione. L'argomento di destinazione risultante corrisponde al filtro degli argomenti. events/input/clients/+/detections

  • Inoltra i messaggi dai dispositivi client AWS IoT Core agli argomenti che corrispondono al filtro degli argomenti e aggiungi il $aws/rules/StatusUpdateRule/ prefisso all'clients/+/statusargomento di destinazione. Questo esempio inoltra questi messaggi direttamente a una AWS IoT regola denominata per StatusUpdateRule ridurre i costi utilizzando Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
Esempio: configurazione di MQTT 5

La seguente configurazione di esempio aggiorna quanto segue:

  • Consente al bridge di utilizzare il protocollo MQTT 5 con il broker locale.

  • Configura MQTT keep come impostazione pubblicata per la mappatura degli ClientDeviceHelloWorld argomenti.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } }, "mqtt5RouteOptions": { "ClientDeviceHelloWorld": { "retainAsPublished": true } }, "mqtt": { "version": "mqtt5" } }
2.2.6
mqttTopicMapping

Le mappature degli argomenti che desideri collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi che riceve nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.

Questo oggetto contiene le seguenti informazioni:

topicMappingNameKey

Il nome di questa mappatura degli argomenti. Sostituisci topicMappingNameKey con un nome che ti aiuti a identificare questa mappatura degli argomenti.

Questo oggetto contiene le seguenti informazioni:

topic

L'argomento o il filtro degli argomenti da collegare tra il broker di origine e quello di destinazione.

È possibile utilizzare i caratteri jolly degli argomenti + e # MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro per argomento. Per ulteriori informazioni, consultate gli argomenti relativi a MQTT nella Developer Guide.AWS IoT Core

targetTopicPrefix

Il prefisso da aggiungere all'argomento di destinazione quando questo componente inoltra il messaggio.

source

Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

target

Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

brokerUri

(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Utilizzate il seguente formato e sostituite la porta con la quale opera il broker MQTT:. ssl://localhost:port

Impostazione predefinita: ssl://localhost:8883

startupTimeoutSeconds

(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia BROKEN se supera questo timeout.

Impostazione predefinita: 120

Esempio: fusione e aggiornamento della configurazione

Il seguente esempio di aggiornamento della configurazione specifica quanto segue:

  • Inoltra i messaggi dai dispositivi client agli AWS IoT Core argomenti che corrispondono al filtro degli clients/+/hello/world argomenti.

  • Inoltra i messaggi dai dispositivi client alla pubblicazione o sottoscrizione locale su argomenti che corrispondono al filtro degli argomenti e aggiungi il events/input/ prefisso all'clients/+/detectionsargomento di destinazione. L'argomento di destinazione risultante corrisponde al filtro degli argomenti. events/input/clients/+/detections

  • Inoltra i messaggi dai dispositivi client AWS IoT Core agli argomenti che corrispondono al filtro degli argomenti e aggiungi il $aws/rules/StatusUpdateRule/ prefisso all'clients/+/statusargomento di destinazione. Questo esempio inoltra questi messaggi direttamente a una AWS IoT regola denominata per StatusUpdateRule ridurre i costi utilizzando Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.2.0 - 2.2.5
mqttTopicMapping

Le mappature degli argomenti che vuoi collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi che riceve nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.

Questo oggetto contiene le seguenti informazioni:

topicMappingNameKey

Il nome di questa mappatura degli argomenti. Sostituisci topicMappingNameKey con un nome che ti aiuti a identificare questa mappatura degli argomenti.

Questo oggetto contiene le seguenti informazioni:

topic

L'argomento o il filtro degli argomenti da collegare tra il broker di origine e quello di destinazione.

È possibile utilizzare i caratteri jolly degli argomenti + e # MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro per argomento. Per ulteriori informazioni, consultate gli argomenti relativi a MQTT nella Developer Guide.AWS IoT Core

targetTopicPrefix

Il prefisso da aggiungere all'argomento di destinazione quando questo componente inoltra il messaggio.

source

Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

target

Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

brokerUri

(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Utilizzate il seguente formato e sostituite la porta con la quale opera il broker MQTT:. ssl://localhost:port

Impostazione predefinita: ssl://localhost:8883

Esempio: fusione e aggiornamento della configurazione

Il seguente esempio di aggiornamento della configurazione specifica quanto segue:

  • Inoltra i messaggi dai dispositivi client agli AWS IoT Core argomenti che corrispondono al filtro degli clients/+/hello/world argomenti.

  • Inoltra i messaggi dai dispositivi client alla pubblicazione o sottoscrizione locale su argomenti che corrispondono al filtro degli argomenti e aggiungi il events/input/ prefisso all'clients/+/detectionsargomento di destinazione. L'argomento di destinazione risultante corrisponde al filtro degli argomenti. events/input/clients/+/detections

  • Inoltra i messaggi dai dispositivi client AWS IoT Core agli argomenti che corrispondono al filtro degli argomenti e aggiungi il $aws/rules/StatusUpdateRule/ prefisso all'clients/+/statusargomento di destinazione. Questo esempio inoltra questi messaggi direttamente a una AWS IoT regola denominata per StatusUpdateRule ridurre i costi utilizzando Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.1.x
mqttTopicMapping

Le mappature degli argomenti che vuoi collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi che riceve nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.

Questo oggetto contiene le seguenti informazioni:

topicMappingNameKey

Il nome di questa mappatura degli argomenti. Sostituisci topicMappingNameKey con un nome che ti aiuti a identificare questa mappatura degli argomenti.

Questo oggetto contiene le seguenti informazioni:

topic

L'argomento o il filtro degli argomenti da collegare tra il broker di origine e quello di destinazione.

Se si specifica il broker LocalMqtt o il broker di IotCore origine, è possibile utilizzare i caratteri jolly degli argomenti + e # MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro di argomento. Per ulteriori informazioni, consultate gli argomenti relativi a MQTT nella Developer Guide.AWS IoT Core

source

Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

target

Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

brokerUri

(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Utilizzate il seguente formato e sostituite la porta con la quale opera il broker MQTT:. ssl://localhost:port

Impostazione predefinita: ssl://localhost:8883

Esempio: fusione e aggiornamento della configurazione

L'esempio seguente di aggiornamento della configurazione specifica di inoltrare i messaggi dai dispositivi client agli argomenti AWS IoT Core on and. clients/MyClientDevice1/hello/world clients/MyClientDevice2/hello/world

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
2.0.x
mqttTopicMapping

Le mappature degli argomenti che si desidera collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi che riceve nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.

Questo oggetto contiene le seguenti informazioni:

topicMappingNameKey

Il nome di questa mappatura degli argomenti. Sostituisci topicMappingNameKey con un nome che ti aiuti a identificare questa mappatura degli argomenti.

Questo oggetto contiene le seguenti informazioni:

topic

L'argomento o il filtro degli argomenti da collegare tra il broker di origine e quello di destinazione.

Se si specifica il broker LocalMqtt o il broker di IotCore origine, è possibile utilizzare i caratteri jolly degli argomenti + e # MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro di argomento. Per ulteriori informazioni, consultate gli argomenti relativi a MQTT nella Developer Guide.AWS IoT Core

source

Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

target

Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:

  • LocalMqtt— Il broker MQTT locale con cui comunicano i dispositivi client.

  • Pubsub— Il broker di messaggi di pubblicazione/sottoscrizione locale Greengrass.

  • IotCore— Il AWS IoT Core broker di messaggi MQTT.

    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

sourcee target deve essere diverso.

Esempio: fusione e aggiornamento della configurazione

L'esempio seguente di aggiornamento della configurazione specifica di inoltrare i messaggi dai dispositivi client agli argomenti AWS IoT Core on and. clients/MyClientDevice1/hello/world clients/MyClientDevice2/hello/world

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }

File di registro locale

Questo componente utilizza lo stesso file di registro del componente Greengrass nucleus.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Per visualizzare i log di questo componente
  • Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

La tabella seguente descrive le modifiche apportate a ciascuna versione del componente.

Versione

Modifiche

2.3.2

Versione aggiornata per la versione 2.5.0 di autenticazione dei dispositivi client.

2.3.1
Correzioni di bug e miglioramenti

Risolve un problema a causa del quale il client MQTT locale entrava in un ciclo di disconnessione.

2.3.0
Nuove funzionalità

Aggiunge il supporto MQTT5 per il collegamento tra sorgenti MQTT locali. AWS IoT Core

2.2.6

Nuove funzionalità

Aggiunge una nuova opzione di configurazione. startupTimeoutSeconds

2.2.5

Versione aggiornata per la versione 2.4.0 di autenticazione dei dispositivi client.

2.2.4

Versione aggiornata per la versione 2.3.0 di autenticazione del dispositivo client Greengrass.

2.2.3

Questa versione contiene correzioni di bug e miglioramenti.

2.2.2

Correzioni di bug e miglioramenti
  • Modifiche alla registrazione.

2.2.1

Correzioni di bug e miglioramenti

Risolve i problemi che possono causare la mancata sottoscrizione degli argomenti MQTT da parte del bridge MQTT.

2.2.0

Nuove funzionalità

2.1.1

Correzioni di bug e miglioramenti
  • Risolve i problemi relativi al modo in cui questo componente gestisce gli aggiornamenti di ripristino della configurazione.

  • Riduce la frequenza delle disconnessioni del client MQTT quando i certificati ruotano.

2.1.0

Nuove funzionalità
  • Aggiunge il brokerUri parametro, che consente di utilizzare una porta broker MQTT non predefinita.

2.0.1

Questa versione include correzioni di bug e miglioramenti.

2.0.0

Versione iniziale.