Sur cette page

Qt CoAP

Le protocole d'application contraint(CoAP) est un protocole de transfert web de machine à machine (M2M) destiné à être utilisé avec des nœuds et des réseaux contraints dans l'internet des objets (IoT). Il est conçu pour s'interfacer facilement avec HTTP pour l'intégration avec le Web, tout en répondant à des exigences spécifiques telles que la prise en charge de la multidiffusion, une très faible surcharge et la simplicité pour les environnements contraints.

Le module Qt CoAP implémente le côté client de CoAP défini par la RFC 7252. En général, CoAP est conçu pour utiliser un transport orienté vers les datagrammes tel que UDP, de sorte que l'implémentation actuelle du transport est basée sur UDP. Cependant, il est également possible d'implémenter des transports personnalisés basés sur TCP, WebSocket, etc.

Le module Qt CoAP prend en charge

  • la sécurité basée sur Datagram TLS (DTLS) sur UDP
  • Communication de groupe définie par RFC 7390
  • Transferts dans le sens des aiguilles d'une montre définis par le RFC 7959
  • Observation des ressources définie par le RFC 7641
  • Découverte de ressources (multicast et serveur unique)

Utilisation du module

L'utilisation d'un module Qt nécessite l'établissement d'un lien avec la bibliothèque du module, soit directement, soit par l'intermédiaire d'autres dépendances. Plusieurs outils de construction disposent d'un support dédié à cet effet, notamment CMake et qmake.

Construction avec CMake

Utilisez la commande find_package() pour localiser les composants du module nécessaires dans le paquet Qt6:

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

Voir aussi l'aperçu de la construction avec CMake.

Construction avec qmake

Pour configurer le module afin qu'il soit construit avec qmake, ajoutez le module comme valeur de la variable QT dans le fichier .pro du projet :

QT += coap

Articles et guides

Exemples

Référence

Licences et attributions

Qt CoAP est disponible sous licence commerciale auprès de The Qt Company. En outre, il est disponible sous la licence publique générale GNU, version 3.

© 2026 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.