人工智慧物聯網AIOT文章分享


人工智慧物聯網AIOT-025

先知科技總經理 高季安

August 08, 2024

在我們前一篇深入的探討中,我們涵蓋了多個關鍵通訊協定,如HTTP、TCP/IP、MQTT、OPC UA、Modbus 與 SECS/GEM,並掌握了它們各自的優勢及適用領域。今天,我們將專注於一個在物聯網應用中極為關鍵的通訊協定——MQTT(Message Queuing Telemetry Transport)。

在網路世界快速發展的當下,MQTT因其輕量級和高效能的特點而受到廣泛關注。它不僅是一種消息協定,更是一種橋樑,連接各種物聯網設備和服務。本文將透過深入淺出的方式,介紹MQTT的起源、結構、核心功能以及它如何在現代物聯網領域中扮演不可或缺的角色。

一、MQTT簡介

MQTT通訊協定是為了滿足物聯網及工業互聯網的需求而設計的,特別是在帶寬受限、網路不穩定的環境下,仍能有效地傳遞訊息。這種通訊協定利用發佈/訂閱(publish/subscribe)的模式運作,不同於傳統的點對點通訊模式。在MQTT中,客戶端不直接與其他客戶端通訊,而是通過一個中間的代理(broker)來發佈及接收訊息。這種架構使得通訊更加靈活和擴展性更強。

在設計上,MQTT支持三種不同級別的服務品質(Quality of Service, QoS),確保消息的可靠性。QoS 0代表最多一次傳遞,不保證訊息被送達;QoS 1保證至少一次送達,可能會有重複;QoS 2則保證消息只被送達一次,這對於需要高度可靠性的應用來說非常重要。

此外,MQTT支持持久會話(persistent sessions),這意味著即使設備暫時離線,一旦重新連接,任何未接收的消息都會被送達。這對於移動設備或間歇性連接的設備尤其有用。而輕量級的協議頭部(protocol overhead)使得MQTT在頻寬有限的情況下也能高效運行,這對於許多需要實時數據通信的物聯網應用來說至關重要。

二、 MQTT與HTTP的比較

在當代物聯網溝通的廣闊領域中,通訊協定扮演了不可或缺的角色,特別是在確保數據流與消息交換的效率與可靠性上。在諸多通訊協定中,HTTP和MQTT各自擁有其獨特的設計哲學和應用場景(如圖1)。

圖1. MQTT與HTTP的比較

HTTP(超文本傳輸協定)是網際網路上最常用的協定,設計用於網頁數據的傳輸,包括文本、圖片和其他多媒體內容。它的主要特點是基於「請求-響應」模式,客戶端發送一個請求,伺服器則回應相對應的數據。HTTP協定的設計雖然簡單且廣為人知,但其每次通訊都需要建立一個新的連接,這在物聯網設備中可能會造成較大的負擔(如圖2),尤其是在網路資源受限的環境中。

圖2. HTTP POST溫度=21 的內容

圖3. MQTT 發布溫度=21 的內容

相較之下,MQTT(訊息佇列遙測傳輸)提供了一個輕量級的消息交換協定,專為低帶寬和不穩定的網絡條件設計,非常適合用於物聯網應用(如圖3)。MQTT的核心在於其發佈/訂閱模型,使設備只需發送一次訊息,即可被多個訂閱者接收。此外,MQTT支持持久會話,即使在連接斷開的情況下,一旦重連就可以接收到未接收的消息,這對於確保消息的可靠傳輸至關重要。

從性能上看,MQTT在消息大小和傳輸延遲方面,通常優於HTTP。MQTT的消息更加精簡,減少了數據傳輸時的負擔,同時也縮短了傳輸的延時,這一點對於實時性要求高的物聯網應用尤為重要。而HTTP則提供了更為豐富和靈活的數據交換格式,適合於複雜的Web應用。

三、MQTT 機制

MQTT (Message Queue Telemetry Transport) 是一種專為物聯網設計的輕量級通訊協定,基於簡單的發布/訂閱模型,非常適合於帶寬有限、設備資源有限或網路不穩定的環境中使用。在這個模型中,有三個主要角色:發布者(Publisher)、代理(Broker)和訂閱者(Subscriber)。

圖4. MQTT 的發布/訂閱機制示意圖

圖5. MQTT 的階層結構示意圖

圖6. MQTT 的訊息示意

  1. 發布者(Publisher): 發布者的角色是生成並發送消息到代理。在MQTT的語境中,這些消息通常是來自感測器的數據或是控制指令。例如,在智能家居系統中,一個溫度感測器可以發布室內溫度的讀數。
  2. 代理(Broker): MQTT代理是訊息傳遞的中心節點,負責接收所有發布者發送的消息並根據訂閱者的訂閱,將消息轉發到適當的訂閱者那裡。代理的作用是解耦消息的生產者和消費者,使得發布者和訂閱者之間不需要直接通訊。
  3. 訂閱者(Subscriber): 訂閱者從代理訂閱感興趣的主題(topic),並接收相應主題的消息。在MQTT中,主題是一種地址標籤,代表消息的內容或類型,如家中各房間的「溫度」或「照明」狀態。

這種發布/訂閱模型使得MQTT在物聯網應用中非常有效,能夠支援大量網絡連接,同時保持通訊的低延遲和高效率。相對於HTTP協定,MQTT在消息傳遞方面提供了更高效的資源使用和更快的反應速度,特別是在需要即時更新的應用場合,如即時監控系統或遠程設備管理中。這使得MQTT成為一個在物聯網領域極具吸引力的選擇。

在關於MQTT通訊協定的探討中,我們不僅學習了MQTT的基本概念,也理解了其在實際應用中的重要性。透過發布者、代理及訂閱者這三者的有效協同,MQTT為物聯網世界提供了一個靈活且強大的數據交流平台。特別是在資源有限或網路條件較差的環境中,MQTT以其低帶寬和低功耗的特性,突破了傳統通訊協定的限制,使得遠端監控和即時反應成為可能。

這種以主題為基礎的消息傳遞機制不僅提高了數據處理的效率,也增強了系統的可擴展性和靈活性。學習並應用MQTT,將能讓我們在未來的智慧應用開發中,無論是在家庭自動化、工業監控還是健康照護領域,都能夠更好地實現物與物的智慧對話,推動生活和工作方式的革新。希望大家能夠透過這些知識,為自己的項目或日常生活帶來實際的改進和創新。

本篇文章資料來源: https://swf.com.tw/?p=1002

作者已盡力查證相關資料來源,若是讀者對此系列文章有任何資料來源的指正或其他意見,歡迎提供正確資料來源與建議,請投書: fs-tech@fs-technology.com。

由於篇幅限制,若讀者針對數位轉型(例如人工智慧或物聯網) 相關議題有興趣或想共同進行合作,皆可與先知科技聯絡 (fs-tech@fs-technology.com 或http://www.fs-technology.com/)。

  • E-mail: fs-tech@fs-technology.com

  • Link: http://www.fs-technology.com/