MQTT-Nachrichten mit dem AWS IoT MQTT-Client anzeigen - AWS IoT Core

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-Nachrichten mit dem AWS IoT MQTT-Client anzeigen

In diesem Abschnitt wird beschrieben, wie Sie den AWS IoT MQTT-Testclient in der AWS IoT Konsole verwenden, um die von gesendeten und empfangenen MQTT-Nachrichten zu beobachten. AWS IoT Das in diesem Abschnitt verwendete Beispiel bezieht sich auf die Beispiele in Erste Schritte mit AWS IoT Core; Sie können jedoch den in den Beispielen verwendeten topicName durch einen beliebigen Themennamen oder Themenfilter ersetzen, der von Ihrer IoT-Lösung verwendet wird.

Geräte veröffentlichen MQTT-Nachrichten, die durch Themen gekennzeichnet sind, um ihnen ihren Status mitzuteilen AWS IoT, und AWS IoT veröffentlichen MQTT-Nachrichten, um die Geräte und Apps über Änderungen und Ereignisse zu informieren. Sie können den MQTT-Client verwenden, um diese Themen zu abonnieren und die Nachrichten zu beobachten, sobald sie auftreten. Sie können den MQTT-Testclient auch verwenden, um MQTT-Nachrichten auf abonnierten Geräten und Diensten in Ihrem zu veröffentlichen. AWS-Konto

Anzeigen von MQTT-Nachrichten im MQTT-Client

So zeigen Sie MQTT-Nachrichten im MQTT-Testclient an
  1. Öffnen Sie die AWS IoT -Konsole und wählen Sie im linken Menü Test, um den MQTT-Client zu öffnen.

    Wählen Sie MQTT-Testclient aus dem Konsolenmenü in der linken Navigationsleiste.
  2. Geben Sie auf der Registerkarte Thema abonnieren den topicName ein, um das Thema zu abonnieren, zu dem Ihr Gerät veröffentlicht. Abonnieren Sie für die Beispiel-App „Erste Schritte“ #, womit alle Nachrichtenthemen abonniert werden.

    Um mit dem Beispiel Erste Schritte fortzufahren, geben Sie auf der Registerkarte Thema abonnieren im Feld Themenfilter # ein, und wählen Sie dann Abonnieren aus.

    Die Registerkarte „Ein Thema abonnieren“.

    Die Protokollseite der Themennachricht, #, wird geöffnet und # wird in der Abonnementliste angezeigt. Wenn das Gerät, auf dem Sie konfiguriert haben, das Beispielprogramm ausführt, sollten Sie die Nachrichten, an die es sendet, AWS IoT im # Message-Log sehen. Konfigurieren Ihres Geräts Die Nachrichtenprotokolleinträge werden unter dem Abschnitt Veröffentlichen angezeigt, wenn Nachrichten mit dem abonnierten Thema bei eingegangen AWS IoT sind.

    Der Abschnitt mit dem Thema wurde erfolgreich abonniert.
  3. Auf der Seite # Nachrichtenprotokoll können Sie auch Nachrichten zu einem Thema veröffentlichen, dafür müssen Sie jedoch den Namen des Themas angeben. Veröffentlichen Sie eine Benachrichtigung für das Thema #.

    Nachrichten, die zu abonnierten Themen veröffentlicht wurden, werden im Nachrichtenprotokoll angezeigt, sobald sie empfangen wurden, wobei die neueste Nachricht an erster Stelle steht.

Fehlerbehebung für MQTT-Nachrichten

Verwenden Sie den Themenfilter mit Platzhaltern

Wenn Ihre Nachrichten nicht wie erwartet im Nachrichtenprotokoll angezeigt werden, versuchen Sie, wie unter Themenfilter beschrieben, ein Platzhalter-Thema zu abonnieren. Der mehrstufige MQTT-Wildcard-Themenfilter ist das Hash- oder Rautenzeichen (#) und kann als Themenfilter im Themenfeld Abonnementsthemen verwendet werden.

Wenn Sie den # Themenfilter abonnieren, abonnieren Sie jedes Thema, das der Message Broker empfängt. Sie können den Filter eingrenzen, indem Sie Elemente des Themenfilterpfads durch ein # Platzhalterzeichen mit mehreren Ebenen oder das einstufige Platzhalterzeichen '+' ersetzen.

Bei der Verwendung von Platzhaltern in einem Themenfilter
  • Das Platzhalterzeichen mit mehreren Ebenen muss das letzte Zeichen im Themenfilter sein.

  • Der Themenfilterpfad kann nur ein Platzhalterzeichen mit einer Ebene pro Themenebene enthalten.

Beispielsweise:

Themenfilter

Zeigt Nachrichten an mit

#

Beliebiger Themenname

topic_1/#

Ein Themenname, der mit topic_1/ beginnt

topic_1/level_2/#

Ein Themenname, der mit topic_1/level_2/ beginnt

topic_1/+/level_3

Ein Themenname, der mit topic_1/ beginnt, mit /level_3 endet und dazwischen ein Element beliebigen Wertes enthält.

Weitere Informationen zu Filtern finden Sie unter Themenfilter.

Suchen Sie nach Fehlern beim Themennamen

MQTT-Themennamen und Themenfilter berücksichtigen Groß- und Kleinschreibung. Wenn Ihr Gerät beispielsweise Nachrichten an Topic_1 (mit einem großen T) statt an topic_1, das Thema, das Sie abonniert haben, veröffentlicht, werden seine Nachrichten nicht im MQTT-Testclient angezeigt. Wenn Sie jedoch den Themenfilter mit Platzhaltern abonnieren, wird angezeigt, dass das Gerät gerade Nachrichten veröffentlicht, und Sie könnten sehen, dass es einen Themennamen verwendet, der nicht dem entspricht, den Sie erwartet haben.

Veröffentlichen von MQTT-Nachrichten vom MQTT-Client

So veröffentlichen Sie eine Nachricht in einem MQTT-Thema
  1. Geben Sie auf der Seite des MQTT-Testclients auf der Registerkarte In einem Thema veröffentlichen im Feld Themenname den topicName Ihrer Nachricht ein. Verwenden Sie my/topic in diesem Beispiel.

    Anmerkung

    Verwenden Sie keine persönlich identifizierbaren Informationen in Themennamen, unabhängig davon, ob Sie sie im MQTT-Testclient oder in Ihrer Systemimplementierung verwenden. Themennamen können in unverschlüsselten Mitteilungen und Berichten vorkommen.

  2. Geben Sie im Abschnitt für die Nachrichten-Nutzlast den folgenden JSON-Code ein:

    { "message": "Hello, world", "clientType": "MQTT test client" }
  3. Wählen Sie Veröffentlichen aus, um Ihre Nachricht in AWS IoT zu veröffentlichen.

    Anmerkung

    Vergewissern Sie sich, dass Sie das Thema my/topic abonniert haben, bevor Sie Ihre Nachricht veröffentlichen.

    Die Registerkarte „In einem Thema veröffentlichen“.
  4. Wählen Sie in der Spalte Abonnement die Option my/topic aus, um die Nachricht anzuzeigen. Sie sollten sehen, dass die Nachricht im MQTT-Testclient unter dem Payload-Fenster für die Nachrichtenveröffentlichung erscheint.

    Der Bildschirm, auf dem das veröffentlichte Thema angezeigt wird, wurde empfangen.

Sie können MQTT-Nachrichten in anderen Themen veröffentlichen, indem Sie topicName im Feld Themenname ändern und die Veröffentlichen-Schaltfläche auswählen.

Wichtig

Wenn Sie mehrere Abonnements mit sich überschneidenden Themen erstellen (z. B. Sonde1/Temperatur und Sonde1/#), besteht die Möglichkeit, dass eine einzelne Nachricht, die zu einem Thema veröffentlicht wurde, das zu beiden Abonnements passt, mehrfach zugestellt wird, einmal für jedes sich überschneidende Abonnement.

Testen von geteilten Abonnements im MQTT-Client

In diesem Abschnitt wird beschrieben, wie Sie den AWS IoT MQTT-Client in der AWS IoT Konsole verwenden, um die mit Shared Subscriptions gesendeten und empfangenen MQTT-Nachrichten anzusehen. AWS IoT Geteilte Abonnementsermöglicht es mehreren Clients, ein Abonnement für ein Thema gemeinsam zu nutzen, wobei nur ein Client Nachrichten erhält, die zu diesem Thema veröffentlicht wurden, und zwar nach dem Zufallsprinzip. Um zu simulieren, dass mehrere MQTT-Clients (in diesem Beispiel zwei MQTT-Clients) dasselbe Abonnement nutzen, öffnen Sie den AWS IoT MQTT-Client in der AWS IoT Konsole von mehreren Webbrowsern aus. Das in diesem Abschnitt verwendete Beispiel bezieht sich nicht auf die in Erste Schritte mit AWS IoT Core verwendeten Beispiele. Weitere Informationen finden Sie unter Geteilte Abonnements.

Um ein Abonnement für ein MQTT-Thema zu teilen
  1. Wählen Sie in der AWS IoT -Konsole im Navigationsbereich Test und dann MQTT-Testclient aus.

  2. Geben Sie auf der Registerkarte Thema abonnieren den topicName ein, um das Thema zu abonnieren, zu dem Ihr Gerät veröffentlicht. Um geteilte Abonnements zu verwenden, abonnieren Sie den Themenfilter eines geteilten Abonnements wie folgt:

    $share/{ShareName}/{TopicFilter}

    Ein Beispiel für einen Themenfilter kann $share/group1/topic1 sein, der das Nachrichtenthema topic1 abonniert.

    Die Registerkarte zeigt, wie Sie einen Themenfilter für gemeinsame Abonnements angeben.
  3. Öffnen Sie einen anderen Webbrowser und wiederholen Sie Schritt 1 und Schritt 2. Auf diese Weise simulieren Sie zwei verschiedene MQTT-Clients, die dasselbe Abonnement $share/group1/topic1 verwenden.

  4. Wählen Sie einen MQTT-Client aus und geben Sie auf der Registerkarte In einem Thema veröffentlichen im Feld Themenname den topicName Ihrer Nachricht ein. Verwenden Sie topic1 in diesem Beispiel. Versuchen Sie, die Nachricht ein paar Mal zu veröffentlichen. Aus der Abonnementliste der beiden MQTT-Clients sollten Sie erkennen können, dass die Clients die Nachricht mit einer zufälligen Verteilung empfangen. In diesem Beispiel veröffentlichen wir dreimal dieselbe Nachricht „Hallo von der AWS IoT Konsole“. Der MQTT-Client auf der linken Seite hat die Nachricht zweimal empfangen und der MQTT-Client auf der rechten Seite hat die Nachricht einmal erhalten.

    Bei geteilten Abonnements teilen sich zwei Clients ein Abonnement für ein Thema, und nur ein Client erhält Nachrichten, die zu diesem Thema veröffentlicht wurden, nach dem Zufallsprinzip.