主要内容

MQTT基础知识

MQTT是一种发布/订阅体系结构,主要用于通过无线网络连接带宽和功率受限的设备。它是一个简单而轻量级的协议,运行在TCP/IP套接字或WebSockets上。WebSockets上的MQTT可以使用SSL进行保护。发布/订阅体系结构允许将消息推送到客户端设备,而不需要设备连续轮询服务器。

MQTT代理是通信的中心点,它负责在发送者和合法的接收者之间调度所有消息。客户端是连接到代理的任何设备,可以发布或订阅主题以访问信息。主题包含代理的路由信息。每个想要发送消息的客户端都将消息发布到某个主题,而每个想要接收消息的客户端都订阅某个主题。代理将带有匹配主题的所有消息交付给适当的客户机。

ThingSpeak™在URL上有一个MQTT代理mqtt3.thingspeak.com和端口1883.ThingSpeak代理同时支持MQTT发布万博1manbetx和MQTT订阅,如下图所示。

MQTT发布

该图描述了主题结构。经纪人确认正确连接请求与CONNACK

MQTT订阅

该图描述了主题结构。经纪人确认正确订阅请求与SUBACK

创建一个ThingSpeak MQTT设备

对信道的MQTT访问,包括凭据,由ThingSpeak MQTT设备处理。您的设备配置了MQTT客户端与ThingSpeak通信以及授权特定通道所需的凭据。使用以下步骤创建MQTT设备。

  1. 在ThingSpeak菜单中单击设备>MQTT

    设备菜单

  2. 在MQTT设备页面上,单击添加新设备

    添加设备选项

  3. 填写Add a new device对话框:

    新设备对话框

    1. 提供一个设备名称。

    2. 提供一个可选的描述。

    3. 在“授权通道”部分中,从列表菜单中选择一个通道,然后单击添加通道.重复此操作,直到在“授权通道”列表中有所有想要连接到设备的通道。将每个设置为根据需要允许发布和订阅。

    4. 点击添加设备

    5. 此时,ThingSpeak会为您的设备生成一个证书列表,其中包括客户端ID、用户名和密码。您可以从该页面上查看和复制这些项目,或单击下载证书将凭据保存在本地文件中。重要的:现在就记录或保存你的凭证,因为你不会再有机会查看或保存密码。

    6. 点击完成完成设备的创建。

您的新设备现在出现在MQTT设备页面上。您可以通过单击更改设备设置并向其添加频道编辑.您可以在MQTT客户端中使用客户端ID、用户名和密码访问ThingSpeak MQTT设备,以便发布和订阅其频道。

请注意

每个用户最多可以拥有100个MQTT设备,每个设备最多可以拥有10个授权通道。如果您需要更多的设备或通道,联络支持万博1manbetx

有关使用桌面MQTT客户机的信息,请参见使用桌面MQTT客户端发布和订阅通道

连接的服务器响应

如果连接成功,ThingSpeak MQTT代理将响应连接确认,CONNACK.MQTT代理响应成功的订阅请求SUBACK消息,并将发布到订阅通道或字段的任何新数据中继到客户端。有关这些消息的详细信息,请参见MQTT v3.1.1规范。然后可以使用表单将消息发布到主题发布到频道提要发布到信道字段提要

MQTT客户端配置

ThingSpeak在URL上有一个MQTT代理mqtt3.thingspeak.com.配置您的MQTT客户端以基于以下选项之一与ThingSpeak MQTT代理通信:

港口

连接类型

加密

1883

TCP

没有一个

8883

TCP

TLS / SSL

80

WebSocket

没有一个

443

WebSocket

TLS / SSL

在配置客户端连接时,请考虑以下几点:

  • 如果您的硬件支持安全SSL套接字连万博1manbetx接模式,请尽可能使用该模式与ThingSpeak MQTT代理通信。

  • ThingSpeak实现了MQTT发布和订阅功能QoS0.这个“发送-忘记”协议意味着当你发布到ThingSpeak频道时,你的客户端不会收到确认。

  • MQTT连接空闲一小时后超时。

  • 当使用WebSocket连接时,需要的路径是/ mqtt

    • 在Python中使用Paho库®在树莓派上,默认的MQTT路径为“/ mqtt”,但你也可以用代码行设置:

      client.ws_set_options (" / mqtt”)
    • 在HiveMQ MQTT命令行中,可以使用命令选项设置路径:

      MQTT pub…-ws -ws:path / MQTT…

另请参阅

|||

相关的话题

外部网站