MQTTNachrichten 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.

MQTTNachrichten 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 überwachen AWS IoT. Das in diesem Abschnitt verwendete Beispiel bezieht sich auf die Beispiele, die in Erste Schritte mit AWS IoT Core Tutorials verwendet wurden. Sie können das jedoch ersetzen topicName wird in den Beispielen mit einem beliebigen Themennamen oder Themenfilter verwendet, der von Ihrer IoT-Lösung verwendet wird.

Geräte veröffentlichen MQTT Nachrichten, die nach 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 verfolgen, sobald sie erscheinen. Sie können den MQTT Testclient auch verwenden, um MQTT Nachrichten auf abonnierten Geräten und Diensten in Ihrem AWS-Konto zu veröffentlichen.

MQTTNachrichten im Client anzeigen MQTT

Im folgenden Verfahren wird erklärt, wie Sie ein bestimmtes MQTT Thema abonnieren, zu dem Ihr Gerät Nachrichten veröffentlicht, und wie Sie diese Nachrichten in der AWS IoT Konsole anzeigen.

So zeigen Sie MQTT Nachrichten im MQTT Testclient an
  1. Wählen Sie in der AWS IoT Konsole im linken Menü Test und dann MQTTTestclient aus.

    Wählen Sie im Konsolenmenü in der linken Navigationsleiste die Option MQTT Testclient aus.
  2. Geben Sie auf der Registerkarte Thema abonnieren den topicName 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.

    Der Tab „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.

Meldungen zur Fehlerbehebung MQTT

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 Themenfilter mit MQTT mehreren Ebenen besteht aus einem Hash- oder Rautenzeichen (#) und kann als Themenfilter im Themenfeld Abonnement 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

MQTTBei Themennamen und Themenfiltern wird zwischen Groß- und Kleinschreibung unterschieden. Wenn Ihr Gerät beispielsweise Nachrichten zu Topic_1 (mit einem großen T) veröffentlichttopic_1, anstatt zu dem Thema, das Sie abonniert haben, werden die 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.

MQTTNachrichten vom Client veröffentlichen MQTT

Um eine Nachricht zu einem MQTT Thema zu veröffentlichen
  1. Geben Sie auf der MQTT Testclient-Seite auf der Registerkarte In einem Thema veröffentlichen im Feld Themenname den topicName Ihrer Nachricht. 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 Fenster „Nachrichten-Payload“ Folgendes JSON 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. Die Nachricht sollte im MQTT Testclient unter dem Payload-Fenster „Nachricht veröffentlichen“ angezeigt werden.

    Der Bildschirm mit dem veröffentlichten Thema wurde empfangen.

Sie können MQTT Nachrichten zu anderen Themen veröffentlichen, indem Sie die topicName klicken Sie im Feld Themenname auf die Schaltfläche Veröffentlichen.

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.

Geteilte Abonnements im Client testen MQTT

In diesem Abschnitt wird beschrieben, wie Sie den AWS IoT MQTT Client in der AWS IoT Konsole verwenden, um die AWS IoT mit Shared Subscriptions gesendeten und empfangenen MQTT Nachrichten zu überwachen. Geteilte Abonnementsermöglichen 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 sich mehrere MQTT Clients (in diesem Beispiel zwei MQTT Clients) dasselbe Abonnement teilen, ö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 Tutorials verwendeten Beispiele. Weitere Informationen finden Sie unter Geteilte Abonnements.

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

  2. Geben Sie auf der Registerkarte Thema abonnieren den topicName 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, auf der gezeigt wird, 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. Verwenden Sie topic1 in diesem Beispiel. Versuchen Sie, die Nachricht ein paar Mal zu veröffentlichen. Aus der Abonnementliste beider MQTT Clients sollten Sie erkennen können, dass die Clients die Nachricht nach dem Zufallsprinzip 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 erhalten und der MQTT Client auf der rechten Seite hat die Nachricht einmal erhalten.

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