Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sie können benutzerdefinierte Greengrass-Komponenten entwickeln, die mit Client-Geräten interagieren, die mit einem Core-Gerät verbunden sind. Sie können beispielsweise Komponenten entwickeln, die Folgendes tun:
-
Reagieren Sie auf MQTT-Nachrichten von Client-Geräten und senden Sie Daten an AWS Cloud Ziele.
-
Senden Sie MQTT-Nachrichten an Client-Geräte, um Aktionen zu initiieren.
Client-Geräte stellen über die MQTT-Broker-Komponente, die auf dem Kerngerät ausgeführt wird, eine Verbindung zu einem Kerngerät her und kommunizieren mit diesem. Standardmäßig können Client-Geräte nur über MQTT miteinander kommunizieren, und Greengrass-Komponenten können diese MQTT-Nachrichten nicht empfangen oder Nachrichten an Client-Geräte senden.
Greengrass-Komponenten verwenden die lokale Publish/Subscribe-Schnittstelle, um auf einem Kerngerät zu kommunizieren. Um mit Client-Geräten in Greengrass-Komponenten zu kommunizieren, konfigurieren Sie die MQTT-Bridge-Komponente wie folgt:
-
Leiten Sie MQTT-Nachrichten von Client-Geräten an Local Publish/Subscribe weiter.
-
Leiten Sie MQTT-Nachrichten von Local Publish/Subscribe an Client-Geräte weiter.
Sie können auch mit Schatten von Client-Geräten in Greengrass-Komponenten interagieren. Weitere Informationen finden Sie unter Interagieren Sie mit Schatten auf Client-Geräten und synchronisieren Sie sie.
Themen
Konfigurieren und implementieren Sie die MQTT-Bridge-Komponente
Die MQTT-Bridge-Komponente verwendet eine Liste von Themenzuordnungen, die jeweils eine Nachrichtenquelle und ein Nachrichtenziel angeben. Um mit Client-Geräten zu kommunizieren, stellen Sie die MQTT-Bridge-Komponente bereit und geben Sie jedes Quell- und Zielthema in der Komponentenkonfiguration an.
Um die MQTT-Bridge-Komponente auf einem Kerngerät oder einer Gruppe von Kerngeräten bereitzustellen, erstellen Sie eine Bereitstellung, die die Komponente enthält. aws.greengrass.clientdevices.mqtt.Bridge
Geben Sie die Themenzuordnungen in der Konfiguration der MQTT-Bridge-Komponente in der Bereitstellung an. mqttTopicMapping
Das folgende Beispiel definiert eine Bereitstellung, die die MQTT-Bridge-Komponente so konfiguriert, dass sie das clients/MyClientDevice1/hello/world
Thema von den Client-Geräten an den lokalen Publish/Subscribe-Broker weiterleitet. Das merge
Konfigurationsupdate erfordert ein serialisiertes JSON-Objekt. Weitere Informationen finden Sie unter Komponentenkonfigurationen aktualisieren.
{
"mqttTopicMapping": {
"HelloWorldPubsub": {
"topic": "clients/MyClientDevice1/hello/world",
"source": "LocalMqtt",
"target": "Pubsub"
}
}
}
Sie können MQTT-Themen-Platzhalter verwenden, um Nachrichten zu Themen weiterzuleiten, die einem Themenfilter entsprechen. Wenn Sie MQTT Bridge v2.2.0 oder höher verwenden, können Sie MQTT-Themen-Platzhalter in Themenfiltern verwenden, wenn der Quellbroker lokal veröffentlichen/abonnieren ist. Weitere Informationen finden Sie unter Konfiguration der MQTT-Bridge-Komponente.
Empfangen Sie MQTT-Nachrichten von Client-Geräten
Sie können die lokalen Themen zum Veröffentlichen und Abonnieren abonnieren, die Sie für die MQTT-Bridge-Komponente für den Empfang von Nachrichten von Client-Geräten konfigurieren.
Um MQTT-Nachrichten von Client-Geräten in benutzerdefinierten Komponenten zu empfangen
-
Konfigurieren und implementieren Sie die MQTT-Bridge-Komponente, um Nachrichten von einem MQTT-Thema, bei dem Client-Geräte veröffentlichen, an ein lokales Veröffentlichungs-/Abonnement-Thema weiterzuleiten.
-
Verwenden Sie die lokale Publish/Subscribe-IPC-Schnittstelle, um das Thema zu abonnieren, bei dem die MQTT-Bridge Nachrichten weiterleitet. Weitere Informationen erhalten Sie unter Lokale Nachrichten veröffentlichen/abonnieren und SubscribeToTopic.
Das Tutorial Client-Geräte Connect und testen enthält einen Abschnitt, in dem Sie eine Komponente entwickeln, die Nachrichten von einem Client-Gerät abonniert. Weitere Informationen finden Sie unter Schritt 4: Entwickeln Sie eine Komponente, die mit Client-Geräten kommuniziert.
Senden Sie MQTT-Nachrichten an Client-Geräte
Sie können in den lokalen Themen zum Veröffentlichen und Abonnieren veröffentlichen, die Sie für die MQTT-Bridge-Komponente zum Senden von Nachrichten an Client-Geräte konfigurieren.
Um MQTT-Nachrichten auf Client-Geräten in benutzerdefinierten Komponenten zu veröffentlichen
-
Konfigurieren und implementieren Sie die MQTT-Bridge-Komponente, um Nachrichten von einem lokalen Publish/Subscribe-Thema an ein MQTT-Thema weiterzuleiten, bei dem Client-Geräte abonnieren.
-
Verwenden Sie die lokale Publish/Subscribe-IPC-Schnittstelle, um zu dem Thema zu veröffentlichen, an das die MQTT-Bridge Nachrichten weiterleitet. Weitere Informationen erhalten Sie unter Lokale Nachrichten veröffentlichen/abonnieren und PublishToTopic.