AWS IoT MQTT クライアントでデバイスの MQTT メッセージを表示する - AWS IoT コア

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

AWS IoT MQTT クライアントでデバイスの MQTT メッセージを表示する

このセクションでは、AWS IoT コンソールで AWS IoT MQTT クライアントを使用して、 によって送受信された MQTT メッセージを監視する方法について説明します。AWS IoTこのセクションで使用する例は、 の使用を開始するAWS IoT Core で使用する例に関連しています。ただし、topicName ソリューションで使用されるトピック名またはトピックフィルターを持つ例で使用されます。IoT

デバイスは、トピックによって識別される MQTT メッセージを発行して AWS IoT に状態を伝えるとともに、AWS IoT は MQTT メッセージを発行して、デバイスとアプリに変更とイベントを通知します。MQTT クライアントを使用すると、これらのトピックをサブスクライブして、発生時にメッセージを確認できます。MQTT クライアントを使用して、AWS アカウントでサブスクライブしたデバイスやサービスに MQTT メッセージを発行することもできます。

MQTT クライアントで MQTT メッセージを表示する

MQTT クライアントで MQTT メッセージを表示するには

  1. コンソールの左側のメニューで、[AWS IoTテスト] を選択します。

  2. にサブスクライブする topicName デバイスがパブリッシュする 。入門サンプルアプリについては、# にサブスクライブします。これにより、すべてのメッセージトピックにサブスクライブされます。

    「使用開始」の例を続行して、[Subscribe] ページの [Subscription topic] フィールドに「#」と入力し、[Subscribe to topic] を選択します。

    トピックメッセージログページの [#] が開き、# が [Subscriptions] 列に表示されます。

  3. デバイスを設定する」で設定したデバイスがプログラム例を実行している場合は、AWS IoT に送信するメッセージが # メッセージログに表示されます。サブスクライブされたトピックを持つメッセージが によって受信されると、メッセージログエントリが [発行AWS IoT] セクションの下に表示されます。

  4. [#] メッセージログページで、トピックにメッセージを発行することもできますが、トピック名を指定する必要があります。# トピックに発行することはできません。

    サブスクライブされたトピックに発行されたメッセージは、受信時にメッセージログに表示され、最新のメッセージが最初に表示されます。

MQTT メッセージのトラブルシューティング

ワイルドカードトピックフィルターを使用する

メッセージがメッセージログに期待どおりに表示されない場合は、「トピックフィルター」の説明に従って、ワイルドカードトピックフィルターをサブスクライブしてみてください。MQTT マルチレベルワイルドカードトピックフィルターは、ハッシュまたはシャープ記号 ( # ) であり、[トピックのサブスクリプション] フィールドでトピックフィルターとして使用できます。

トピックフィルターをサブスクライブすると、メッセージブローカーが受信したすべてのトピックがサブスクライブされます。#トピックフィルターのパスの要素を # の複数のレベルのワイルドカード文字または「+」の単一レベルのワイルドカード文字に置き換えることで、フィルターを絞り込むことができます。

トピックフィルターでワイルドカードを使用する場合

  • マルチレベルのワイルドカード文字は、トピックフィルターの最後の文字である必要があります。

  • トピックフィルターパスは、トピックレベルごとに 1 つのレベルのワイルドカード文字のみを使用できます。

次に例を示します。

トピックのフィルター

でメッセージを表示します

#

任意のトピック名

topic_1/#

で始まるトピック名topic_1/

topic_1/level_2/#

で始まるトピック名topic_1/level_2/

topic_1/+/level_3

で始まるトピック名は topic_1/ で終わり、その間に任意の値の要素が 1 つあります。/level_3

トピックフィルターの詳細については、「トピックフィルター」を参照してください。

トピック名のエラーを確認する

MQTT トピック名とトピックフィルターでは、大文字と小文字が区別されます。たとえば、デバイスが Topic_1 ではなく (大文字の Ttopic_1) にメッセージを発行している場合、サブスクライブしたトピックのメッセージは MQTT クライアントに表示されません。ただし、ワイルドカードトピックフィルターにサブスクライブすると、デバイスがメッセージを発行していることが表示され、予期したものでないトピック名が使用されていることがわかります。

MQTT クライアントから MQTT メッセージを発行する

MQTT トピックにメッセージを発行するには

  1. MQTT クライアントのページの、[Publish (発行)] セクションの [Specify a topic and a message to publish (発行するトピックとメッセージを指定する)] フィールドに、topicName メッセージの 。この例では を使用します。my/topic.

    注記

    MQTT クライアントで使用する場合でも、システム実装で使用する場合でも、トピック名に個人を特定できる情報を使用しないでください。トピック名は、暗号化されていない通信およびレポートに表示される場合があります。

  2. メッセージペイロードウィンドウで、次の JSON を入力します。

    { "message": "Hello, world", "clientType": "MQTT client" }
  3. トピックに発行] を選択して、メッセージを AWS IoT. に発行します。

  4. [サブスクリプション] 列で、[my/topic] を選択してメッセージを表示します。MQTT クライアントにメッセージのペイロードを発行ウィンドウの下に表示されます。

MQTT メッセージを他のトピックに発行するには、topicName [Specify a topic and a message to publish (発行するトピックとメッセージを指定する)] フィールドで、 を選択します。Publish to topic ボタンを使用します。