Contents ...
udn網路城邦
什麼是MQTT?
2025/12/04 12:01
瀏覽46
迴響0
推薦0
引用0

MQTT 是什麼?

MQTT 是一種 發布/訂閱(Publish / Subscribe)模式的通訊協定。

它的運作方式類似於:

  • Broker(伺服器) = 郵局

  • Publisher(發布者) = 寄信的人

  • Subscriber(訂閱者) = 收信的人

  • Topic(主題) = 信件的地址

只要設備訂閱某個 topic,Broker 上任何人發送到那個 topic 的訊息,它都會收到。


🟩 MQTT 的三大角色

1. Broker(中介伺服器)

  • 所有訊息都會先傳到 Broker

  • 常見 Broker:Mosquitto、EMQX、HiveMQ

2. Publisher(發布者)

  • 將訊息傳送到某個 Topic

  • 例:ESP32 傳送溫度到 "sensor/temp"

3. Subscriber(訂閱者)

  • 只要訂閱某個 Topic,就會收到消息

  • 例:電腦端訂閱 "sensor/temp" 就能看到 ESP32 發的資料


🟧 為什麼物聯網常用 MQTT?

特點說明
輕量對系統資源需求超低(非常適合 MCU)
低頻寬不需要很大的網路流量
即時性高訊息傳遞延遲很低
支援 QoS 等級保證訊息一定能送達(不同等級可選)
跨平台ESP32、樹莓派、手機、PC 都能用

🟨 MQTT 訊息流程(簡圖)

ESP32(Publisher) → Broker(Mosquitto) → 電腦(Subscriber)

你之前做的
ESP32 → MQTT Broker → PC 顯示資料
就是典型的 MQTT 架構。


🟦 QoS(訊息保證等級)

MQTT 提供三種訊息保證模式:

QoS名稱保證程度
0至多一次最快,但可能丟包
1至少一次會重送,可能重複
2恰好一次最安全,但最慢

一般物聯網常用 QoS 0 或 1

全站分類:興趣嗜好 其他
自訂分類:MQTT

限會員,要發表迴響,請先登入