MQTTKernbibliothek - Kostenlos RTOS

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.

MQTTKernbibliothek

Anmerkung

Der Inhalt dieser Seite ist möglicherweise nicht up-to-date. Das neueste Update finden Sie auf der Seite der RTOS Free.org-Bibliothek.

Einführung

Die MQTT Kernbibliothek ist eine Client-Implementierung des Standards MQTT(Message Queue Telemetry Transport). Der MQTT Standard bietet ein einfaches Publish/Subscribe- (oder PubSub) Messaging-Protokoll, das auf TCP /IP läuft und häufig in Anwendungsfällen von Machine to Machine (M2M) und Internet of Things (IoT) verwendet wird.

Die MQTT Kernbibliothek entspricht dem 3.1.1-Protokollstandard. MQTT Diese Bibliothek wurde für einen geringen Speicherbedarf optimiert. Das Design dieser Bibliothek umfasst verschiedene Anwendungsfälle, die von ressourcenbeschränkten Plattformen, die nur QoS MQTT PUBLISH 0-Nachrichten verwenden, bis hin zu ressourcenreichen Plattformen mit QoS 2-Over-Verbindungen (Transport Layer Security) reichen. MQTT PUBLISH TLS Die Bibliothek bietet ein Menü mit zusammensetzbaren Funktionen, die ausgewählt und kombiniert werden können, um genau den Anforderungen eines bestimmten Anwendungsfalls zu entsprechen.

Die Bibliothek ist in C geschrieben und so konzipiert, dass sie mit C90 und C:2012 kompatibel ISO ist. MISRA Diese MQTT Bibliothek ist nicht von zusätzlichen Bibliotheken abhängig, mit Ausnahme der folgenden:

  • Die Standard-C-Bibliothek

  • Eine vom Kunden implementierte Netzwerktransportschnittstelle

  • (Optional) Eine vom Benutzer implementierte Plattformzeitfunktion

Die Bibliothek ist durch die Bereitstellung einer einfachen Spezifikation für die Sende- und Empfangsschnittstelle von den zugrunde liegenden Netzwerktreibern entkoppelt. Der Anwendungsautor kann je nach Anwendung eine vorhandene Transportschnittstelle auswählen oder eine eigene Schnittstelle implementieren.

Die Bibliothek bietet eine allgemeine Möglichkeit, eine Verbindung API zu einem MQTT Broker herzustellen, ein Thema zu abonnieren/abzubestellen, eine Nachricht zu einem Thema zu veröffentlichen und eingehende Nachrichten zu empfangen. Dabei API wird die oben beschriebene Transportschnittstelle als Parameter verwendet, um Nachrichten an den Broker zu senden und von diesem zu empfangen. MQTT

Die Bibliothek stellt auch API Serializer/Deserializer auf niedriger Ebene zur Verfügung. Dies API kann verwendet werden, um eine einfache IoT-Anwendung zu erstellen, die nur aus der erforderlichen Teilmenge von MQTT Funktionen besteht, ohne dass weitere Kosten anfallen. Der Serializer/Deserializer API kann in Verbindung mit jeder verfügbaren Transportschicht wie Sockets verwendet werdenAPI, um Nachrichten an den Broker zu senden und von diesem zu empfangen.

Bei der Verwendung von MQTT Verbindungen in IoT-Anwendungen wird empfohlen, eine sichere Transportschnittstelle zu verwenden, z. B. eine, die das TLS Protokoll verwendet.

Diese MQTT Bibliothek hat keine Plattformabhängigkeiten wie Threading oder Synchronisation. Diese Bibliothek verfügt über Beweise, die eine sichere Speichernutzung und keine Heap-Zuweisung belegen. Dadurch ist sie für IoT-Mikrocontroller geeignet, aber auch vollständig auf andere Plattformen portierbar. Sie kann frei verwendet werden und wird unter der MITOpen-Source-Lizenz vertrieben.

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