使用 Amazon IoT MQTT 客户端查看 MQTT 消息 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon IoT MQTT 客户端查看 MQTT 消息

此部分描述如何使用 Amazon IoT 控制台中的 Amazon IoT MQTT 客户端以查看 Amazon IoT 发送和接收的 MQTT 消息。本部分中使用的示例涉及 Amazon IoT Core 入门 使用的示例;但您可以将示例中使用的 topicName替换为您的 IoT 解决方案使用的任何主题名称或主题筛选条件

设备发布有关主题的 MQTT 消息以将其状态传达给 Amazon IoT,而 Amazon IoT 发布 MQTT 消息以向设备和应用程序通知更改和事件。您可以使用 MQTT 客户端订阅这些主题,并在出现消息时查看这些消息。您还可以使用 MQTT 客户端将 MQTT 消息发布到您 Amazon Web Services 账户 中的订阅设备和服务。

查看 MQTT 客户端中的 MQTT 消息

查看 MQTT 客户端中的 MQTT 消息

  1. Amazon IoT 控制台的左侧菜单中选择 Test(测试)。

  2. 订阅您的事物发布的 topicName。对于入门示例应用程序,请订阅 #,它订阅了所有消息主题。

    继续使用入门示例操作,在 Subscribe to a topic(订阅主题)选项卡上的 Topic filter(主题筛选条件)字段,输入 #,然后选择 Subscribe(订阅)。

    主题消息日志页 # 将会打开,且 # 会显示在 Subscriptions(订阅)列表。

  3. 如果您在 配置您的设备 中配置的设备正在运行示例程序,您应该看到它发送到 # 消息日志中的 Amazon IoT 的消息。当 Amazon IoT 收到订阅主题的消息时,消息日志条目将显示在 Publish(发布)部分下。

  4. # 消息日志页面,您还可以将消息发布到主题,但需要指定主题名称。您无法发布到 # 主题。

    发布到已订阅主题的消息将在收到时在消息日志中显示,最近的消息将首先显示。

排除 MQTT 消息的故障

使用通配符主题筛选条件

如果您的消息未按预期在消息日志中显示,请尝试按照 主题筛选条件 中所述订阅通配符主题筛选条件。MQTT 多级通配符主题筛选条件是哈希或井号 (#),并且可以用作 Subscription topic(订阅主题)字段中的主题筛选条件。

订阅 # 主题筛选条件将订阅消息代理接收的每个主题。您可以将主题筛选条件路径替代为 # 多级通配符或“+”单级通配符,从而缩小筛选条件的范围。

在主题筛选条件q中使用通配符时

  • 多级通配符必须是主题筛选条件中的最后一个字符。

  • 主题筛选条件路径在每个主题级别中只能有一个单级通配符。

例如:

主题筛选条件

显示带有以下内容的消息

#

任何主题名称

topic_1/#

topic_1/ 开头的主题名称

topic_1/level_2/#

topic_1/level_2/ 开头的主题名称

topic_1/+/level_3

topic_1/ 开头并以 /level_3 结尾的主题名称,并且在之间有一个任意值的元素。

有关主题筛选条件的更多信息,请参阅 主题筛选条件

检查主题名称错误

MQTT 主题名称和主题筛选条件区分大小写。如果您的设备将消息发布到 Topic_1(带有一个大写的 T)而不是您订阅的主题 topic_1,则其消息将不会显示在 MQTT 客户端中。但是,订阅通配符主题筛选条件时,会显示设备正在发布消息,并且您会看到它使用的主题名称不是您所期望的主题名称。

从 MQTT 客户端发布 MQTT 消息

向 MQTT 主题发布消息

  1. 在 MQTT 客户端页面上,在 Publish to a topic(发布到主题)选项卡上的 Topic name(主题名称)字段中,输入您消息的 topicName。在此示例中,使用 my/topic

    注意

    不要在主题名称中使用个人可识别信息,无论您是在 MQTT 客户端还是在系统实施中使用了这些信息。主题名称可以出现在未加密的通信和报告中。

  2. 在消息负载窗口中,输入以下 JSON:

    { "message": "Hello, world", "clientType": "MQTT client" }
  3. 选择 Publish(发布)以将消息发布到 Amazon IoT。

    注意

    确保您已订阅 my/topic 主题,然后再发布您的消息。

  4. Subscription(订阅)列中,选择 my/topic 以查看消息。您应该看到该消息显示在发布消息负载窗口的 MQTT 客户端下中。

您可以通过更改 Topic name(主题名称)字段中的 topicName,然后选择 Publish(发布)按钮,以将 MQTT 消息发布到其他主题。