核心MQTT代理程式程式程式庫 - 免費RTOS

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

核心MQTT代理程式程式程式庫

注意

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

簡介

核心MQTT代理程式程式程式庫是將執行緒安全性API新增至 的高階核心MQTT程式庫。它可讓您建立專用MQTT代理程式任務,以管理背景中的MQTT連線,且不需要其他任務的任何介入。程式庫提供與核心 MQTT的 相等的執行緒安全APIs,因此可用於多執行緒環境。

MQTT 代理程式是獨立的任務 (或執行緒)。它是唯一允許存取MQTT程式庫 的任務,藉此實現執行緒安全API。它透過將所有MQTTAPI呼叫隔離到單一任務來序列化存取,並消除了對 semaphores 或任何其他同步原始碼的需求。

程式庫使用執行緒安全訊息佇列 (或其他程序間通訊機制) 來序列化所有呼叫 MQTT 的請求APIs。訊息實作會透過訊息界面從程式庫解耦,讓程式庫能夠移植到其他作業系統。訊息界面是由傳送和接收代理程式命令結構指標的函數組成,以及配置這些命令物件的函數,這可讓應用程式寫入器決定適合其應用程式的記憶體配置策略。

程式庫以 C 撰寫,且設計為符合 ISO C90MISRA C:2012。除了 核心MQTT程式庫和標準 C 程式庫之外,程式庫沒有任何其他程式庫的相依性。該程式庫具有證明顯示安全記憶體使用和無堆積分配的證據,因此可用於 IoT 微控制器,但也可完全可攜到其他平台。

此程式庫可以自由使用,並根據MIT開放原始碼授權 進行分發。

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