Qt CoAP

Constrained Application Protocol(CoAP) ist ein M2M-Web-Übertragungsprotokoll für den Einsatz mit eingeschränkten Knoten und eingeschränkten Netzwerken im Internet der Dinge (IoT). Es wurde entwickelt, um eine einfache Schnittstelle zu HTTP für die Integration mit dem Web zu schaffen und gleichzeitig spezielle Anforderungen wie Multicast-Unterstützung, sehr geringen Overhead und Einfachheit für eingeschränkte Umgebungen zu erfüllen.

Das Modul Qt CoAP implementiert die Client-Seite von CoAP, die in RFC 7252 definiert ist. Im Allgemeinen ist CoAP für die Verwendung eines datagrammorientierten Transports wie UDP ausgelegt, daher basiert die aktuelle Implementierung des Transports auf UDP. Die Implementierung benutzerdefinierter Transporte auf der Basis von TCP, WebSocket usw. ist jedoch ebenfalls möglich.

Das Modul Qt CoAP unterstützt:

  • Sicherheit basierend auf Datagram TLS (DTLS) über UDP
  • Gruppenkommunikation, definiert durch RFC 7390
  • Blockweise Übertragungen, definiert durch RFC 7959
  • Ressourcenbeobachtung, definiert durch RFC 7641
  • Ressourcenermittlung (Multicast und Einzelserver)

Verwendung des Moduls

Die Verwendung eines Qt-Moduls erfordert eine Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.

Bauen mit CMake

Verwenden Sie den Befehl find_package(), um die benötigten Modulkomponenten im Paket Qt6 zu finden:

find_package(Qt6 REQUIRED COMPONENTS Coap)
target_link_libraries(mytarget PRIVATE Qt6::Coap)

Siehe auch die Übersicht Bauen mit CMake.

Bauen mit qmake

Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variable QT in der .pro-Datei des Projekts hinzu:

QT += coap

Artikel und Anleitungen

Beispiele

Referenz

Lizenzen und Namensnennung

Qt CoAP ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter der GNU General Public License, Version 3, erhältlich.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.