View a markdown version of this page

CoreMQTT-Agentenbibliothek - FreeRTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CoreMQTT-Agentenbibliothek

Anmerkung

Der Inhalt dieser Seite ist möglicherweise nicht aktuell. Das neueste Update finden Sie auf der FreeRTOS.org Bibliotheksseite.

Einführung

Die CoreMQTT Agentenbibliothek ist eine API auf hoher Ebene, die Thread-Sicherheit erhöht. CoreMQTT-Bibliothek Damit können Sie eine spezielle MQTT-Agentenaufgabe erstellen, die eine MQTT-Verbindung im Hintergrund verwaltet und keine Intervention durch andere Aufgaben erfordert. Die Bibliothek bietet Thread-sichere Entsprechungen zu den CoreMQTT-APIs, sodass sie in Multithread-Umgebungen verwendet werden kann.

Der MQTT-Agent ist eine unabhängige Aufgabe (oder ein Ausführungsthread). Er gewährleistet Thread-Sicherheit, da er die einzige Aufgabe ist, die auf die API der MQTT-Bibliothek zugreifen darf. Sie serialisiert den Zugriff, indem sie alle MQTT-API-Aufrufe für eine einzelne Aufgabe isoliert, und macht Semaphore oder andere Synchronisationsprimitive überflüssig.

Die Bibliothek verwendet eine Thread-sichere Messaging-Warteschlange (oder einen anderen Kommunikationsmechanismus zwischen Prozessen), um alle Anfragen zum Aufrufen von MQTT-APIs zu serialisieren. Die Messaging-Implementierung ist über eine Messaging-Schnittstelle von der Bibliothek entkoppelt, sodass die Bibliothek auf andere Betriebssysteme portiert werden kann. Die Messaging-Schnittstelle besteht aus Funktionen zum Senden und Empfangen von Zeigern auf die Befehlsstrukturen des Agenten und Funktionen zur Zuweisung dieser Befehlsobjekte, sodass der Anwendungsautor die für seine Anwendung geeignete Speicherzuweisungsstrategie festlegen kann.

Die Bibliothek ist in C geschrieben und so konzipiert, dass sie mit ISO C90 und MISRA konform ist. C:2012 Die Bibliothek ist nicht von anderen Bibliotheken als CoreMQTT-Bibliothek der Standard-C-Bibliothek abhängig. Die Bibliothek verfügt über Beweise, die eine sichere Speichernutzung und keine Heap-Zuweisung belegen. Sie kann also für IoT-Mikrocontroller verwendet werden, ist aber auch vollständig auf andere Plattformen portierbar.

Diese Bibliothek kann frei verwendet werden und wird unter der MIT-Open-Source-Lizenz vertrieben.

Codegröße des CoreMQTT-Agenten (Beispiel generiert mit GCC für ARM) Cortex-M
Datei Mit -O1-Optimierung Mit -Os-Optimierung
core_mqtt_agent.c 1,7 K 1,5 K
core_mqtt_agent_command_functions.c 0,3 K 0,2 K
core_mqtt.c (CoreMQTT) 4,0 K 3,4 K
core_mqtt_state.c (CoreMQTT) 1,7 K 1,3 K
core_mqtt_serializer.c (CoreMQTT) 2,8K 2,2 K
Schätzungen insgesamt 10,5 K 8,6 K