Qt interface library for Constrained Application Protocol (CoAP). 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 specialised 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)
CoAP discovery requests are used to query the resources available on an endpoint or in the complete network. Qt CoAP supports discovery requests to a single endpoint and to multicast groups.
Observe requests are used to receive automatic server notifications for a resource. The client becomes an observer of an observable resource by sending an observe request to the resource.
Since CoAP is based on datagram transports such as UDP, there are limits on how big a resource representation can be, to be transferred without fragmentation causing problems. Qt CoAP supports block-wise transfers for situations where a resource representation is larger than can be comfortably transferred in the payload of a single CoAP datagram.
The following security modes are defined for CoAP:
- Pre-Shared Key
- Raw Public Key
With your Marketplace purchase, you acquire this particular extension under the Qt Marketplace License Agreement.
Available in Qt Online Installer
Qt for Automation / Qt M2M Protocols licensees do not have to purchase this extension from the marketplace. The extension is already available in Qt Online Installer / Maintenance Tool.
After the purchase, users can install the extension using the Qt Online Installer / Maintenance Tool. The installer makes the integration of Qt extensions seamless to your development process.