核心MQTT程式庫 - 免費RTOS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

核心MQTT程式庫

注意

此頁面上的內容可能不是 up-to-date。如需最新更新,請參閱 免費 RTOS.org 程式庫頁面

簡介

核心MQTT程式庫是 MQTT(訊息佇列遙測傳輸) 標準的用戶端實作。此MQTT標準提供輕量型發佈/訂閱 (或 PubSub) 訊息通訊協定,其執行於 TCP/IP 之上,且通常用於機器對機器 (M2M) 和物聯網 (IoT使用案例。

核心MQTT程式庫符合 MQTT 3.1.1 通訊協定標準。此程式庫已針對低記憶體佔用空間進行最佳化。此程式庫的設計涵蓋不同的使用案例,從僅使用 QoS 0 MQTT PUBLISH 訊息的資源限制平台,到使用 QoS 2 MQTT PUBLISH over TLS(Transport Layer Security) 連線的資源豐富平台。程式庫提供組合式函數的功能表,可選擇並組合,以精確符合特定使用案例的需求。

程式庫以 C 撰寫,且設計為符合 ISO C90MISRA C:2012。此MQTT程式庫沒有任何其他程式庫的相依性,但下列除外:

  • 標準 C 程式庫

  • 客戶實作的網路傳輸介面

  • (選用) 使用者實作的平台時間函數

透過提供簡單的傳送和接收傳輸介面規格,程式庫會與基礎網路驅動程式解耦。應用程式寫入器可以選取現有的傳輸介面,或針對其應用程式實作自己的介面。

程式庫提供高階API連線至MQTT代理程式、訂閱/取消訂閱主題、將訊息發佈至主題,以及接收傳入的訊息。這API會將上述傳輸介面作為 參數,並使用 來傳送和接收來自MQTT代理程式的訊息。

程式庫也會公開低階序列化器/還原序列化器 API。這API可用於建置簡單的 IoT 應用程式,僅包含必要的MQTT功能子集,而不需要任何其他額外負荷。序列化器/還原序列化器API可與任何可用的傳輸層搭配使用API,例如通訊端,以傳送和接收來自代理程式的訊息。

在 IoT 應用程式中使用MQTT連線時,我們建議您使用安全傳輸介面,例如使用TLS通訊協定的介面。

此MQTT程式庫沒有平台相依性,例如執行緒或同步。此程式庫確實有證明安全記憶體使用和無堆積分配的證據,這使其適合 IoT 微控制器,但也可以完全可攜到其他平台。它可以自由使用,並根據MIT開放原始碼授權 進行分發。

核心MQTT的程式碼大小 (使用 GCC 為 ARM Cortex-M 產生的範例)
檔案 使用 -O1 最佳化 使用 -Os 最佳化
core_mqt.c 4.0K 3.4K
core_mqtt_state.c 1.7K 1.3K
core_mqtt_serializer.c 2.8K 2.2K
預估總數 8.5K 6.9K