このページでは

Qt CoAP

Constrained Application Protocol(CoAP)は、モノのインターネット(IoT)におけるリソース制約のあるノードやネットワークで使用される、マシン間(M2M)のWeb転送プロトコルです。 Webとの統合を容易にするためHTTPとの連携が容易に設計されている一方で、マルチキャストのサポート、極めて低いオーバーヘッド、制約のある環境での簡便性といった特殊な要件も満たしています。

Qt CoAP モジュールは、RFC 7252で定義されているCoAPのクライアント側を実装しています。一般的に、CoAPはUDPなどのデータグラム指向のトランスポートを使用するように設計されているため、現在のトランスポートの実装はUDPに基づいています。ただし、TCPやWebSocketなどに基づくカスタムトランスポートの実装も可能です。

Qt CoAP モジュールは以下をサポートしています:

  • UDP 上の Datagram TLS (DTLS) に基づくセキュリティ
  • RFC7390で定義されたグループ通信
  • RFC 7959で定義されたブロック単位の転送
  • RFC 7641で定義されたリソースの監視
  • リソース検出(マルチキャストおよびシングルサーバー)

注:セキュリティは オプトイン方式です。QCoapClient はデフォルトでQtCoap::NoSecurity を使用しており、DTLSを有効にするにはセキュアモードで構築する必要があります。「セキュリティ」を参照してください。

モジュールの使用

Qt モジュールを使用するには、直接または他の依存関係を通じて、モジュールライブラリに対してリンクを行う必要があります。CMakeやqmake など、いくつかのビルドツールには、これに対する専用のサポートが用意されています。

CMake を使用したビルド

find_package() コマンドを使用して、Qt6 パッケージ内の必要なモジュールコンポーネントを特定します:

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

「CMake によるビルド」の概要も参照してください。

qmake によるビルド

qmake を使用してモジュールをビルドするように設定するには、プロジェクトの .pro ファイル内で、QT 変数の値としてモジュールを追加します:

QT += coap

記事とガイド

例

リファレンス

ライセンスと帰属表示

Qt CoAP は、The Qt Company から商用ライセンスの下で提供されています。また、GNU General Public License バージョン 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.