MQTT 3.1.1-Broker (Moquette) - AWS IoT Greengrass

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.

MQTT 3.1.1-Broker (Moquette)

Die Moquette MQTT-Broker-Komponente (aws.greengrass.clientdevices.mqtt.Moquette) verarbeitet MQTT-Nachrichten zwischen Client-Geräten und einem Greengrass-Core-Gerät. Diese Komponente stellt eine modifizierte Version des Moquette MQTT-Brokers bereit. Stellen Sie diesen MQTT-Broker bereit, um einen einfachen MQTT-Broker auszuführen. Weitere Informationen zur Auswahl eines MQTT-Brokers finden Sie unter. Auswählen eines MQTT-Brokers

Dieser Broker implementiert das MQTT 3.1.1-Protokoll. Es umfasst Unterstützung für gespeicherte QoS 0-, QoS 1- und QoS-2-Nachrichten, Lastwill-Nachrichten und persistente Sitzungen.

Anmerkung

Client-Geräte sind lokale IoT-Geräte, die eine Verbindung zu einem Greengrass-Core-Gerät herstellen, um MQTT-Nachrichten und Daten zur Verarbeitung zu senden. Weitere Informationen finden Sie unter Interagieren Sie mit lokalen IoT-Geräten.

Versionen

Diese Komponente hat die folgenden Versionen:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Typ

Diese Komponente ist eine Plugin-Komponente (aws.greengrass.plugin). Der Greengrass-Kern führt diese Komponente in derselben Java Virtual Machine (JVM) wie der Nucleus aus. Der Nucleus wird neu gestartet, wenn Sie die Version dieser Komponente auf dem Core-Gerät ändern.

Diese Komponente verwendet dieselbe Protokolldatei wie der Greengrass-Kern. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Weitere Informationen finden Sie unter Komponententypen.

Betriebssystem

Diese Komponente kann auf Kerngeräten installiert werden, auf denen die folgenden Betriebssysteme ausgeführt werden:

  • Linux

  • Windows

Voraussetzungen

Für diese Komponente gelten die folgenden Anforderungen:

  • Das Kerngerät muss in der Lage sein, Verbindungen an dem Port anzunehmen, an dem der MQTT-Broker arbeitet. Diese Komponente führt den MQTT-Broker standardmäßig auf Port 8883 aus. Sie können bei der Konfiguration dieser Komponente einen anderen Port angeben.

    Wenn Sie einen anderen Port angeben und die MQTT-Bridge-Komponente verwenden, um MQTT-Nachrichten an andere Broker weiterzuleiten, müssen Sie MQTT Bridge v2.1.0 oder höher verwenden. Konfigurieren Sie es so, dass es den Port verwendet, an dem der MQTT-Broker arbeitet.

    Wenn Sie einen anderen Port angeben und die IP-Detector-Komponente zur Verwaltung von MQTT-Broker-Endpunkten verwenden, müssen Sie den IP-Detektor v2.1.0 oder höher verwenden. Konfigurieren Sie es so, dass der Port gemeldet wird, an dem der MQTT-Broker arbeitet.

  • Die Moquette MQTT-Broker-Komponente wird für die Ausführung in einer VPC unterstützt.

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, stellt sie AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereit. Das bedeutet, dass Sie die Anforderungen für die Komponente und all ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitstellen zu können. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können die Abhängigkeiten für jede Version der Komponente auch in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.

2.3.7

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.3.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Authentifizierung auf dem Client-Gerät >=2.2.0 <2.6.0 Hart
2.3.2 – 2.3.6

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.3.2 bis 2.3.6 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Authentifizierung auf dem Client-Gerät >=2.2.0 <2.5.0 Hart
2.3.0 and 2.3.1

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.3.0 und 2.3.1 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Authentifizierung auf dem Client-Gerät >=2.2.0 <2.4.0 Hart
2.2.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.2.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Authentifizierung auf dem Client-Gerät >=2.2.0 <2.3.0 Hart
2.1.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Authentifizierung auf dem Client-Gerät >=2.0.0 <2.2.0 Hart
2.0.0 - 2.0.2

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.0.0 bis 2.0.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Authentifizierung auf dem Client-Gerät >=2.0.0 <2.1.0 Hart

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den Komponentenrezepten.

Konfiguration

Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

moquette

(Optional) Die zu verwendende Moquette MQTT-Broker-Konfiguration. Sie können eine Teilmenge der Moqeutte-Konfigurationsoptionen in dieser Komponente konfigurieren. Weitere Informationen finden Sie in den Inline-Kommentaren in der Moquette-Konfigurationsdatei.

Dieses Objekt enthält die folgenden Informationen:

ssl_port

(Optional) Der Port, an dem der MQTT-Broker arbeitet.

Anmerkung

Wenn Sie einen anderen Port angeben und die MQTT-Bridge-Komponente verwenden, um MQTT-Nachrichten an andere Broker weiterzuleiten, müssen Sie MQTT Bridge v2.1.0 oder höher verwenden. Konfigurieren Sie es so, dass es den Port verwendet, an dem der MQTT-Broker arbeitet.

Wenn Sie einen anderen Port angeben und die IP-Detector-Komponente zur Verwaltung von MQTT-Broker-Endpunkten verwenden, müssen Sie den IP-Detektor v2.1.0 oder höher verwenden. Konfigurieren Sie es so, dass der Port gemeldet wird, an dem der MQTT-Broker arbeitet.

Standard: 8883

host

(Optional) Die Schnittstelle, an die der MQTT-Broker bindet. Sie können diesen Parameter beispielsweise so ändern, dass der MQTT-Broker nur an ein bestimmtes lokales Netzwerk bindet.

Standard: 0.0.0.0 (bindet an alle Netzwerkschnittstellen)

startupTimeoutSeconds

(Optional) Die maximale Zeit in Sekunden, die die Komponente zum Starten benötigt. Der Status der Komponente ändert sich auf, BROKEN wenn dieser Timeout überschritten wird.

Standard: 120

Beispiel: Aktualisierung der Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration legt fest, dass der MQTT-Broker auf Port 443 betrieben werden soll.

{ "moquette": { "ssl_port": "443" } }

Lokale Protokolldatei

Diese Komponente verwendet dieselbe Protokolldatei wie die Greengrass Nucleus-Komponente.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Um die Protokolle dieser Komponente einzusehen
  • Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. Ersetzen Sie /greengrass/v2 oder C:\greengrass\v2 durch den Pfad zum AWS IoT Greengrass Stammordner.

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

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.

Version

Änderungen

2.3.7

Die Version wurde für die Version 2.5.0 der Client-Geräteauthentifizierung aktualisiert.

2.3.6

Fehlerkorrekturen und Verbesserungen
  • Allgemeine Fehlerbehebungen und Verbesserungen.

2.3.5

Fehlerkorrekturen und Verbesserungen
  • Moquette wurde auf Version 0.17 aktualisiert.

2.3.4

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Problem, bei dem es auf Clients aufgrund doppelter Client-IDs beim Senden oder Empfangen von Nachrichten zu ungültigen Sitzungsfehlern kommen kann. Dieses Problem führte dazu, dass die Sitzung des Clients geschlossen wurde.

2.3.3

Neue Features

Fügt eine neue startupTimeoutSeconds Konfigurationsoption hinzu.

2.3.2

Die Version wurde für die Version 2.4.0 der Client-Geräteauthentifizierung aktualisiert.

2.3.1

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Race-Problem, bei dem die Verbindung von Clients nach einem erneuten Verbindungsversuch aufgrund einer ungültigen Sitzung unterbrochen werden kann.

2.3.0

Fügt Unterstützung für Zertifikatsketten hinzu.

2.2.0

Die Version wurde für die Version 2.2.0 der Client-Geräteauthentifizierung aktualisiert.

2.1.0

Fehlerkorrekturen und Verbesserungen
  • Aktualisiert diese Komponente auf die Verwendung von Moquette Version 0.16, was die Leistung verbessert und mehrere andere Verbesserungen beinhaltet.

  • Behebt ein Problem, bei dem das lokale MQTT-Serverzertifikat in bestimmten Szenarien häufiger rotiert als vorgesehen.

    Um diesen Fix anzuwenden, müssen Sie auch Version 2.1.0 oder höher der Authentifizierungskomponente für Clientgeräte verwenden.

2.0.2

Fehlerkorrekturen und Verbesserungen
  • Erhöht die maximale MQTT-Nachrichtengröße von 8.092 Byte auf 128 Kilobyte. Das effektive Limit für die Nutzlast von MQTT-Nachrichten ist etwas geringer, da das Limit für die Nachrichtengröße Nachrichtenkopfzeilen einschließt.

  • Fügt Unterstützung für Ganzzahlwerte im Parameter hinzu. ssl_port

2.0.1

Die Version wurde für die Version 2.4.0 von Greengrass Nucleus aktualisiert.

2.0.0

Erste Version