Something beautiful is on the way.

MQTT

MQTT (Message Queuing Telemetry Transport) 是一种基于发布/订阅模式的“轻量级”通讯协议,它构建于 TCP/IP 之上,是物联网(IoT)领域最主流的通信标准之一。

🤔 MQTT 是什么?

你可以把 MQTT 想象成一个“邮局系统”

  1. 代理 (Broker):这就是“邮局”。它负责接收所有消息,并根据规则将它们分发给正确的收件人。
  2. 发布者 (Publisher):这就是“寄信人”。它不关心谁收信,只负责把信(消息)寄到某个“邮箱”(主题)。例如,一个温度传感器可以扮演发布者,不断向 home/livingroom/temperature 这个主题发送温度数据。
  3. 订阅者 (Subscriber):这就是“收信人”。它需要告诉邮局自己对哪个“邮箱”(主题)感兴趣。例如,你的手机App可以订阅 home/livingroom/temperature 主题,这样就能收到温度传感器发来的所有数据。

MQTT 的核心优势在于它非常轻量省电,特别适合网络不稳定或带宽有限的物联网设备。

🛠️ 如何开始使用 MQTT?

结合你之前对 MQTTX 的兴趣,最快的上手方式就是用它来体验 MQTT 的发布和订阅。

第一步:准备一个 MQTT 代理 (Broker)

MQTT 需要一个中心服务器(即 Broker)来运作。对于学习和测试,最简单的方法是使用免费的公共 Broker。

  • 公共 Broker 地址: broker.emqx.io
  • 端口: 1883 (TCP协议)

第二步:使用 MQTTX 进行连接和测试

  1. 打开 MQTTX,点击左上角的 “+” 新建一个连接。
  2. 配置连接信息
    • Name: 随意填写,例如 TestClient1
    • Client ID: 保持默认生成的随机值即可,它在 Broker 中必须是唯一的。
    • Host: 输入 broker.emqx.io
    • Port: 输入 1883
  3. 点击 “Connect” 建立连接。

第三步:体验发布与订阅

现在你已经连接到了公共的“邮局”,可以开始收发“信件”了。

  • 模拟收信 (订阅)

    1. 在连接窗口下方,点击 “New Subscription”
    2. Topic 栏输入一个主题名,例如 test/my-topic
    3. 点击 Subscribe。现在,任何发往 test/my-topic 的消息都会在这里显示。
  • 模拟寄信 (发布)

    1. 在底部的消息输入框,确保 Topic 也是 test/my-topic
    2. 在消息内容区输入 {"msg": "Hello MQTT!"}
    3. 点击发送。你会发现,你刚刚订阅的窗口里立刻收到了这条消息。

💡 核心概念速览

概念 说明
发布/订阅模式 消息发送方(发布者)和接收方(订阅者)互不关心对方,通过主题进行解耦。
主题 (Topic) 消息的分类标签,类似文件路径,用斜杠 / 分隔,如 home/livingroom/light
服务质量 (QoS) 定义消息投递的保证级别,从“最多一次”到“恰好一次”。
遗嘱消息 (Last Will) 客户端意外断开时,由 Broker 代为发送的一条消息,用于通知其他客户端。

通过这种方式,你可以轻松模拟多个设备(打开多个 MQTTX 窗口)之间的通信,是学习和调试 MQTT 协议的绝佳起点。

posted @ 2026-04-14 10:21  张朋举  阅读(14)  评论(0)    收藏  举报