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 5-Broker (EMAX)
Die EMQX MQTT-Broker-Komponente (aws.greengrass.clientdevices.mqtt.EMQX
) verarbeitet MQTT-Nachrichten zwischen Client-Geräten und einem Greengrass-Core-Gerät. Diese Komponente stellt eine modifizierte Version des EMQX MQTT 5.0-Brokers bereit. Stellen Sie diesen MQTT-Broker bereit, um MQTT 5-Funktionen bei der Kommunikation zwischen Client-Geräten und einem Core-Gerät zu verwenden. Weitere Informationen zur Auswahl eines MQTT-Brokers finden Sie unter. Auswählen eines MQTT-Brokers
Dieser Broker implementiert das MQTT 5.0-Protokoll. Es unterstützt Ablaufintervalle für Sitzungen und Nachrichten, Benutzereigenschaften, gemeinsame Abonnements, Themenaliase und mehr. MQTT 5 ist abwärtskompatibel mit MQTT 3.1.1. Wenn Sie also den Moquette MQTT 3.1.1-Broker ausführen, können Sie ihn durch den EMQX MQTT 5-Broker ersetzen, und die Client-Geräte können weiterhin eine Verbindung herstellen und wie gewohnt arbeiten.
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:
Typ
Diese Komponente ist eine generische Komponente (aws.greengrass.generic
). Der Greengrass-Kern führt die Lebenszyklusskripte der Komponente aus.
Weitere Informationen finden Sie unter Komponententypen.
Betriebssystem
Diese Komponente kann auf Kerngeräten installiert werden, auf denen die folgenden Betriebssysteme ausgeführt werden:
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.
-
Auf Linux-Core-Geräten wurde Docker auf dem Core-Gerät installiert und konfiguriert:
-
Docker Engine 1.9.1 oder höher ist auf dem Greengrass-Core-Gerät installiert. Version 20.10 ist die neueste Version, für die verifiziert wurde, dass sie mit der Core-Software funktioniert. AWS IoT Greengrass Sie müssen Docker direkt auf dem Kerngerät installieren, bevor Sie Komponenten bereitstellen, auf denen Docker-Container ausgeführt werden.
-
Der Docker-Daemon wurde auf dem Kerngerät gestartet und ausgeführt, bevor Sie diese Komponente bereitstellen.
-
Der Systembenutzer, der diese Komponente ausführt, muss über Root- oder Administratorrechte verfügen. Alternativ können Sie diese Komponente als Systembenutzer in der docker
Gruppe ausführen und die requiresPrivileges
Option dieser Komponente so konfigurieren, dass der EQMX MQTT-Broker ohne Rechte ausgeführt wird. false
-
Die EMQX MQTT-Broker-Komponente wird für die Ausführung in einer VPC unterstützt.
-
Die EMQX MQTT-Broker-Komponente wird auf der Plattform nicht unterstützt. armv7
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 auch die Abhängigkeiten für jede Version der Komponente in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.
- 2.0.1
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.1 dieser Komponente aufgeführt.
- 2.0.0
-
In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.0 dieser Komponente aufgeführt.
- 1.2.2 – 1.2.3
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.2.2 bis 1.2.3 dieser Komponente aufgeführt.
- 1.2.0 and 1.2.1
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.2.0 und 1.2.1 dieser Komponente aufgeführt.
- 1.0.0 and 1.1.0
-
In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 1.0.0 und 1.1.0 dieser Komponente aufgeführt.
Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den Komponentenrezepten.
Konfiguration
- 2.0.0 - 2.0.1
-
Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.
Wenn Sie Version 2 der MQTT 5-Broker-Komponente (EMQX) verwenden, müssen Sie Ihre Konfigurationsdatei aktualisieren. Die Konfigurationsdateien der Version 1 funktionieren nicht mit Version 2.
- emqxConfig
-
(Optional) Die zu verwendende EMQX MQTT-Broker-Konfiguration. Sie können EMQX-Konfigurationsoptionen in dieser Komponente festlegen.
Wenn Sie den EMQX-Broker verwenden, verwendet Greengrass eine Standardkonfiguration. Diese Konfiguration wird verwendet, sofern Sie sie nicht mithilfe dieses Felds ändern.
Wenn Sie die folgenden Konfigurationseinstellungen ändern, wird die EMQX-Broker-Komponente neu gestartet. Andere Konfigurationsänderungen gelten, ohne dass die Komponente neu gestartet wird.
-
emqxConfig/cluster
-
emqxConfig/node
-
emqxConfig/rpc
aws.greengrass.clientdevices.mqtt.EMQX
ermöglicht es Ihnen, sicherheitsrelevante Optionen zu konfigurieren. Dazu gehören TLS-Einstellungen, Authentifizierungs- und Autorisierungsanbieter. Wir haben die Standardkonfiguration empfohlen, die die gegenseitige TLS-Authentifizierung und den Greengrass-Client-Geräteauthentifizierungsanbieter verwendet.
Beispiel: Standardkonfiguration
Das folgende Beispiel zeigt die für den MQTT 5 (EMQX) -Broker festgelegten Standardeinstellungen. Sie können diese Einstellungen mithilfe der Konfigurationseinstellung überschreiben. emqxConfig
{
"authorization": {
"no_match": "deny",
"sources": []
},
"node": {
"cookie": "<placeholder>
"
},
"listeners": {
"ssl": {
"default": {
"ssl_options": {
"keyfile": "{work:path}\\data\\key.pem",
"certfile": "{work:path}\\data\\cert.pem",
"cacertfile": null,
"verify": "verify_peer",
"versions": ["tlsv1.3", "tlsv1.2"],
"fail_if_no_peer_cert": true
}
}
},
"tcp": {
"default": {
"enabled": false
}
},
"ws": {
"default": {
"enabled": false
}
},
"wss": {
"default": {
"enabled": false
}
}
},
"plugins": {
"states": [{"name_vsn": "gg-1.0.0", "enable": true}],
"install_dir": "plugins"
}
}
- AuthMode
-
(Optional) Legt den Autorisierungsanbieter für den Broker fest. Dabei kann es sich um einen der folgenden Werte handeln:
-
enabled
— (Standard) Verwenden Sie den Greengrass-Authentifizierungs- und Autorisierungsanbieter.
-
bypass_on_failure
— Verwenden Sie den Greengrass-Authentifizierungsanbieter und dann alle verbleibenden Authentifizierungsanbieter in der EMQX-Anbieterkette, falls Greengrass entweder die Authentifizierung oder Autorisierung verweigert.
-
bypass
— Der Greengrass-Anbieter ist deaktiviert. Authentifizierung und Autorisierung werden von der EMQX-Anbieterkette abgewickelt.
requiresPrivilege
-
(Optional) Auf Linux-Core-Geräten können Sie angeben, dass der EMQX MQTT-Broker ohne Root- oder Administratorrechte ausgeführt werden soll. Wenn Sie diese Option auf setzenfalse
, muss der Systembenutzer, der diese Komponente ausführt, Mitglied der Gruppe sein. docker
Standard: true
startupTimeoutSeconds
-
(Optional) Die maximale Zeit in Sekunden, die der EMQX MQTT-Broker zum Starten benötigt. Der Status der Komponente ändert sich auf, BROKEN
wenn dieser Timeout überschritten wird.
Standard: 90
ipcTimeoutSeconds
-
(Optional) Die maximale Zeit in Sekunden, die die Komponente benötigt, um darauf zu warten, dass der Greengrass-Kern auf IPC-Anfragen (Interprocess Communication) reagiert. Erhöhen Sie diesen Wert, wenn diese Komponente bei der Überprüfung, ob ein Client-Gerät autorisiert ist, Timeout-Fehler meldet.
Standard: 5
crtLogLevel
-
(Optional) Die Protokollebene für die AWS Common Runtime (CRT) -Bibliothek.
Standardmäßig wird die Protokollebene (in) des EMQX MQTT-Brokers verwendet. log.level
emqx
restartIdentifier
-
(Optional) Konfigurieren Sie diese Option, um den EMQX MQTT-Broker neu zu starten. Wenn sich dieser Konfigurationswert ändert, startet diese Komponente den MQTT-Broker neu. Sie können diese Option verwenden, um zu erzwingen, dass Client-Geräte die Verbindung trennen.
dockerOptions
-
(Optional) Konfigurieren Sie diese Option nur auf Linux-Betriebssystemen, um der Docker-Befehlszeile Parameter hinzuzufügen. Um beispielsweise zusätzliche Ports zuzuordnen, verwenden Sie den -p
Docker-Parameter:
"-p 1883:1883"
Beispiel: Aktualisierung einer v1.x-Konfigurationsdatei auf v2.x
Das folgende Beispiel zeigt die Änderungen, die erforderlich sind, um eine v1.x-Konfigurationsdatei auf Version 2.x zu aktualisieren.
Die Konfigurationsdatei der Version 1.x:
{
"emqx": {
"listener.ssl.external": "443",
"listener.ssl.external.max_connections": "1024000",
"listener.ssl.external.max_conn_rate": "500",
"listener.ssl.external.rate_limit": "50KB,5s",
"listener.ssl.external.handshake_timeout": "15s",
"log.level": "warning"
},
"mergeConfigurationFiles": {
"etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
}
}
Die entsprechende Konfigurationsdatei für v2:
{
"emqxConfig": {
"listeners": {
"ssl": {
"default": {
"bind": "8883",
"max_connections": "1024000",
"max_conn_rate": "500",
"handshake_timeout": "15s"
}
}
},
"log": {
"console": {
"enable": true,
"level": "warning"
}
}
},
"authMode": "enabled"
}
Es gibt kein Äquivalent zum listener.ssl.external.rate_limit
Konfigurationseintrag. Die use_greengrass_managed_certificates
Konfigurationsoption wurde entfernt.
Beispiel: Legen Sie einen neuen Port für den Broker fest
Das folgende Beispiel ändert den Port, an dem der MQTT-Broker arbeitet, vom Standardport 8883 auf den Port 1234. Wenn Sie Linux verwenden, fügen Sie das dockerOptions
Feld hinzu.
{
"emqxConfig": {
"listeners": {
"ssl": {
"default": {
"bind": 1234
}
}
}
},
"dockerOptions": "-p 1234:1234"
}
Beispiel: Passen Sie den Log-Level des MQTT-Brokers an
Im folgenden Beispiel wird die Protokollebene des MQTT-Brokers auf geändert. debug
Sie können aus den folgenden Protokollebenen wählen:
-
debug
-
info
-
notice
-
warning
-
error
-
critical
-
alert
-
emergency
Die Standard-Protokollebene istwarning
.
{
"emqxConfig": {
"log": {
"console": {
"level": "debug"
}
}
}
}
Beispiel: Aktivieren Sie das EMQX-Dashboard
Das folgende Beispiel aktiviert das EMQX-Dashboard, sodass Sie Ihren Broker überwachen und verwalten können. Wenn Sie Linux verwenden, fügen Sie das dockerOptions
Feld hinzu.
{
"emqxConfig": {
"dashboard": {
"listeners": {
"http": {
"bind": 18083
}
}
}
},
"dockerOptions": "-p 18083:18083"
}
- 1.0.0 - 1.2.2
-
Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.
emqx
-
(Optional) Die zu verwendende EMQX MQTT-Broker-Konfiguration. Sie können eine Teilmenge der EMQX-Konfigurationsoptionen in dieser Komponente konfigurieren.
Dieses Objekt enthält die folgenden Informationen:
listener.ssl.external
-
(Optional) Der Port, an dem der MQTT-Broker arbeitet.
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
listener.ssl.external.max_connections
-
(Optional) Die maximale Anzahl gleichzeitiger Verbindungen, die der MQTT-Broker unterstützt.
Standard: 1024000
listener.ssl.external.max_conn_rate
-
(Optional) Die maximale Anzahl neuer Verbindungen pro Sekunde, die der MQTT-Broker empfangen kann.
Standard: 500
listener.ssl.external.rate_limit
-
(Optional) Das Bandbreitenlimit für alle Verbindungen zum MQTT-Broker. Geben Sie die Bandbreite und Dauer für diese Bandbreite, getrennt durch ein Komma (,
), im folgenden Format an:. bandwidth,duration
Sie können beispielsweise angeben50KB,5s
, dass der MQTT-Broker alle 5 Sekunden auf 50 Kilobyte (KB) an Daten begrenzt werden soll.
listener.ssl.external.handshake_timeout
-
(Optional) Die Zeitspanne, die der MQTT-Broker wartet, bis die Authentifizierung einer neuen Verbindung abgeschlossen ist.
Standard: 15s
mqtt.max_packet_size
-
(Optional) Die maximale Größe einer MQTT-Nachricht.
Standard: 268435455
(256 MB minus 1)
log.level
-
(Optional) Die Protokollebene für den MQTT-Broker. Wählen Sie aus den folgenden Optionen aus:
-
debug
-
info
-
notice
-
warning
-
error
-
critical
-
alert
-
emergency
Die Standard-Protokollebene istwarning
.
requiresPrivilege
-
(Optional) Auf Linux-Core-Geräten können Sie angeben, dass der EMQX MQTT-Broker ohne Root- oder Administratorrechte ausgeführt werden soll. Wenn Sie diese Option auf setzenfalse
, muss der Systembenutzer, der diese Komponente ausführt, Mitglied der Gruppe sein. docker
Standard: true
startupTimeoutSeconds
-
(Optional) Die maximale Zeit in Sekunden, die der EMQX MQTT-Broker zum Starten benötigt. Der Status der Komponente ändert sich auf, BROKEN
wenn dieser Timeout überschritten wird.
Standard: 90
ipcTimeoutSeconds
-
(Optional) Die maximale Zeit in Sekunden, die die Komponente benötigt, um darauf zu warten, dass der Greengrass-Kern auf IPC-Anfragen (Interprocess Communication) reagiert. Erhöhen Sie diesen Wert, wenn diese Komponente bei der Überprüfung, ob ein Client-Gerät autorisiert ist, Timeout-Fehler meldet.
Standard: 5
crtLogLevel
-
(Optional) Die Protokollebene für die AWS Common Runtime (CRT) -Bibliothek.
Standardmäßig wird die Protokollebene (in) des EMQX MQTT-Brokers verwendet. log.level
emqx
restartIdentifier
-
(Optional) Konfigurieren Sie diese Option, um den EMQX MQTT-Broker neu zu starten. Wenn sich dieser Konfigurationswert ändert, startet diese Komponente den MQTT-Broker neu. Sie können diese Option verwenden, um zu erzwingen, dass Client-Geräte die Verbindung trennen.
dockerOptions
-
(Optional) Konfigurieren Sie diese Option nur auf Linux-Betriebssystemen, um der Docker-Befehlszeile Parameter hinzuzufügen. Um beispielsweise zusätzliche Ports zuzuordnen, verwenden Sie den -p
Docker-Parameter:
"-p 1883:1883"
mergeConfigurationFiles
-
(Optional) Konfigurieren Sie diese Option, um die Standardeinstellungen in den angegebenen EMQX-Konfigurationsdateien zu ergänzen oder zu überschreiben. Informationen zu den Konfigurationsdateien und ihren Formaten finden Sie unter Konfiguration in der EMQX 4.0-Dokumentation. Die von Ihnen angegebenen Werte werden an die Konfigurationsdatei angehängt.
Das folgende Beispiel aktualisiert die etc/emqx.conf
Datei.
"mergeConfigurationFiles": {
"etc/emqx.conf": "broker.sys_interval=30s\nbroker.sys_heartbeat=10s"
},
Zusätzlich zu den von EMQX unterstützten Konfigurationsdateien unterstützt Greengrass eine Datei, die das Greengrass-Authentifizierungs-Plugin für EMQX konfiguriert namens. etc/plugins/aws_greengrass_emqx_auth.conf
Es gibt zwei unterstützte Optionen, und. auth_mode
use_greengrass_managed_certificates
Um einen anderen Authentifizierungsanbieter zu verwenden, setzen Sie die auth_mode
Option auf einen der folgenden Werte:
-
enabled
— (Standard) Verwenden Sie den Greengrass-Authentifizierungs- und Autorisierungsanbieter.
-
bypass_on_failure
— Verwenden Sie den Greengrass-Authentifizierungsanbieter und dann alle verbleibenden Authentifizierungsanbieter in der EMQX-Anbieterkette, falls Greengrass entweder die Authentifizierung oder Autorisierung verweigert.
-
bypass
— Der Greengrass-Anbieter ist deaktiviert. Authentifizierung und Autorisierung werden dann von der EMQX-Anbieterkette abgewickelt.
Wenn jause_greengrass_managed_certificates
, bedeutet diese Optiontrue
, dass Greengrass die Broker-TLS-Zertifikate verwaltet. Fallsfalse
, bedeutet dies, dass Sie die Zertifikate über eine andere Quelle bereitstellen.
Im folgenden Beispiel werden die Standardeinstellungen in der etc/plugins/aws_greengrass_emqx_auth.conf
Konfigurationsdatei aktualisiert.
"mergeConfigurationFiles": {
"etc/plugins/aws_greengrass_emqx_auth.conf": "auth_mode=enabled\n use_greengrass_managed_certificates=true\n"
},
aws.greengrass.clientdevices.mqtt.EMQX
ermöglicht es Ihnen, sicherheitsrelevante Optionen zu konfigurieren. Dazu gehören TLS-Einstellungen, Authentifizierungs- und Autorisierungsanbieter. Die empfohlene Konfiguration ist die Standardkonfiguration, die die gegenseitige TLS-Authentifizierung und den Greengrass Client Device Auth Provider verwendet.
replaceConfigurationFiles
-
(Optional) Konfigurieren Sie diese Option so, dass sie die angegebenen EMQX-Konfigurationsdateien ersetzt. Die von Ihnen angegebenen Werte ersetzen die gesamte vorhandene Konfigurationsdatei. Sie können die etc/emqx.conf
Datei in diesem Abschnitt nicht angeben. Sie müssen mergeConfigurationFile
zum Ändern verwendenetc/emqx.conf
.
Beispiel: Aktualisierung der Konfigurationszusammenführung
Die folgende Beispielkonfiguration legt fest, dass der MQTT-Broker auf Port 443 betrieben werden soll.
{
"emqx": {
"listener.ssl.external": "443",
"listener.ssl.external.max_connections": "1024000",
"listener.ssl.external.max_conn_rate": "500",
"listener.ssl.external.rate_limit": "50KB,5s",
"listener.ssl.external.handshake_timeout": "15s",
"log.level": "warning"
},
"requiresPrivilege": "true",
"startupTimeoutSeconds": "90",
"ipcTimeoutSeconds": "5"
}
Lokale Protokolldatei
Diese Komponente verwendet die folgende Protokolldatei.
- Linux
-
/greengrass/v2
/logs/aws.greengrass.clientdevices.mqtt.EMQX.log
- Windows
-
C:\greengrass\v2
\logs\aws.greengrass.clientdevices.mqtt.EMQX.log
Um die Protokolle dieser Komponente einzusehen
Lizenzen
Auf Windows-Betriebssystemen enthält diese Software Code, der unter den Microsoft-Softwarelizenzbedingungen - Microsoft Visual Studio Community 2022 vertrieben wird. Durch das Herunterladen dieser Software erklären Sie sich mit den Lizenzbedingungen dieses Codes einverstanden.
Diese Komponente wird im Rahmen der Greengrass Core Software-Lizenzvereinbarung veröffentlicht.
Änderungsprotokoll
In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.
- v2.x
-
Version
|
Änderungen
|
2.0.1
|
Die Version wurde für die Version 2.5.0 der Client-Geräteauthentifizierung aktualisiert.
|
2.0.0 |
Diese Version des MQTT 5-Brokers (EMQX) erwartet andere Konfigurationsparameter als Version 1.x. Wenn Sie eine nicht standardmäßige Konfiguration für Version 1.x verwenden, müssen Sie die Konfiguration der Komponente für 2.x aktualisieren. Weitere Informationen finden Sie unter Konfiguration.
- Neue Features
-
-
Führt ein Upgrade des MQTT-Brokers auf EMQX 5.1.1 durch.
-
Ermöglicht Änderungen der Broker-Konfiguration, ohne die Komponente neu zu starten.
- Aktualisierungen
-
|
- v1.x
-
Version
|
Änderungen
|
1.2.3
|
- Fehlerkorrekturen und Verbesserungen
-
|
1.2.2
|
Die Version wurde für die Version 2.4.0 der Client-Geräteauthentifizierung aktualisiert.
|
1.2.1
|
- Fehlerkorrekturen und Verbesserungen
-
-
Behebt ein Problem, bei dem die Komponente unter Windows nicht gestartet werden kann, wenn Visual C++ Redistributable nicht bereits vorhanden ist.
-
Aktualisiert EMQX auf Version 4.4.14.
|
1.2.0
|
Fügt Unterstützung für Zertifikatsketten hinzu.
|
1.1.0
|
- Neue Features
-
- Fehlerkorrekturen und Verbesserungen
-
|
1.0.1
|
Behebt ein Problem beim TLS-Handshake, das dazu führt, dass einige MQTT-Clients keine Verbindung herstellen können.
|
1.0.0
|
Erste Version
|