Constrained Application Protocol (CoAP) is a machine-to-machine (M2M) web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things (IoT). It is designed to easily interface with HTTP for integration with the Web, while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.
The Qt CoAP module implements the client side of CoAP defined by RFC 7252. Generally, CoAP is designed to use datagram-oriented transport such as UDP, so the current implementation of the transport is based on UDP. However implementing custom transports based on TCP, WebSocket, and so on, is also possible.
The Qt CoAP module supports:
- Security based on Datagram TLS (DTLS) over UDP
- Group communication defined by RFC 7390
- Blockwise transfers defined by RFC 7959
- Resource observation defined by RFC 7641
- Resource discovery (multicast and single server)
find_package() command to locate the needed module components in the
find_package(Qt6 REQUIRED COMPONENTS Coap) target_link_libraries(mytarget PRIVATE Qt6::Coap)
See also the Build with CMake overview.
To configure the module for building with qmake, add the module as a value of the
QT variable in the project's .pro file:
QT += coap
© 2023 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.