国外课栈 - 跨学科知识视角栈

两个ESP32和Raspberry Pi代理间的MQTT通讯

 二维码 22
文章附图

在本教程中,您将了解有关 MQTT 消息传递协议、为什么要使用它以及它是如何实现的所有信息。 简而言之,MQTT 使用您现有的 Internet 家庭网络向您的 IoT 设备发送消息并响应这些消息。

要按照本教程中的示例进行操作,您将需要以下硬件。您可能不需要所有东西,但取决于您拥有的东西。

硬件需求

选配件

MQTT 基础知识

在您学习如何构建 MQTT 网络之前,了解一些使用的术语以及每个部分如何组合在一起以创建您的网络会有所帮助。

  • 代理 - 代理是将信息分发给连接到服务器的感兴趣的客户端的服务器。

  • 客户端 - 连接到代理以发送或接收信息的设备。

  • 主题 - 消息的名称。客户端发布、订阅或同时执行一个主题。

  • 发布 - 向代理发送信息以根据主题名称分发给感兴趣的客户端的客户端。

  • 订阅 - 客户端告诉代理他们对哪些主题感兴趣。当客户端订阅一个主题时,任何发布到代理的消息都会分发给该主题的订阅者。 客户端还可以取消订阅以停止从代理接收有关该主题的消息。

  • QoS - 服务质量。 每个连接都可以使用 0-2 范围内的整数值指定代理的服务质量。 QoS 不影响 TCP 数据传输的处理,仅影响 MQTT 客户端之间的传输。 注意:在后面的示例中,我们将仅使用 QoS 0。

    • 0 指定最多一次,或一次且仅一次而无需确认交付。

    • 1 指定至少一次。消息被多次发送,直到收到确认,否则称为确认传递。

    • 2 只指定一次。发送方和接收方客户端使用两级握手来确保只收到一份消息副本,这称为有保证的交付。


工作原理

设置代理

设置客户端

发布客户端 - 开关

订阅客户端 - 灯

源代码


阅读完整文档