Embedded MQTT Client Library
SharkMQTT ist eine extrem kompakte und abgesicherte MQTT Client Bibliothek, optimiert für kleine resourcenlimitierte embedded Systeme.
SharkMQTT wurde speziell für die kompakte SSL-Bibliothek SharkSSL angepasst und verwendet SSL Zertifikate nach höchstem Industriestandard für Authentifizierung und Verschlüsslung.
SSL Zertifikate erlauben eine sichere Implementierung der Authentifizierung des MQTT Brokers. Sie erlauben es ebenso dem MQTT Broker das Endgerät (Device) sicher zu Authentifizieren. Insgesamt ein erheblich sichereres Verfahren als die Standard MQTT Authentifizierung.
SharkMQTT ist eine abgesicherte Implementierung des MQTT v3.1.1 Standards.
SharkMQTT Resourcenbedarf
SharkMQTT ist sehr kompakt, 22Kb ROM und 8Kb RAM reichen auf einem Cortex-M4 schon aus. Der MQTT Stack benötigt dabei 2.868 bytes und SharkSSL 19.380 bytes.
Die kompelette Bare-Metal Cortex-M4 Referenz-Plattfrom von Real-Time-Logic benötigt, inkl. Beispielcode, SharkMQTT, TCP/IP Stack und Treibern nur 38.5Kb ROM und 16Kb RAM. In dieser Demo, Broker und Client verwenden X.509 Zertifikate zur Authentifizierung.
SharkMQTT Features und Vorteile
- C Source Code Library
- Optional Standard MQTT Authentifizierung
- Optional MQTT Broker Authentifizierung mit Digitalen X.509 Zertifikaten
- Optional MQTT Client Authentifizierung mit Digitalen X.509 Zertifikaten
- Entwickelt zur einfachen Verwendung mit SharkSSL
Hintergrundinfos zu MQTT
MQTT (Message Queue Telemetry Transport) ist ein Machine-to-Machine (M2M)/"Internet of Things" Verbindungs Protokoll. Es wurde als resourcensparendendes Nachrichtenbasiertes "publish/subscribe" Nachrichtenprotokoll entworfen. Das Protokoll ermöglicht auf eine sehr einfache Art ein Beobachter-Verhaltensmuster.
Entwickelt wurde es von IBM und Cirrus Link Solutions. Es ist seit 2013 durch die OASIS als Protokoll für den IoT Sektor standardisiert, hier dazu ein Artikel aus der iX des Heise Verlags