要 件
〈TCP / IPスタック〉
embOS / IP CoAPクライアント/サーバにはUDP / IPスタックが必要です。embOS / IP用に最適化されていますが、RFC準拠のUDP / IPスタックを使用できます。出荷には標準のWinsock APIを使用するWin32シミュレーションと、embOS / IPのソケットAPIを使用する実装が含まれています。
〈マルチタスキング〉
クライアント/サーバーは、マルチタスク環境を実行する必要はありません。しかし、さまざまなCoAP APIはスレッドセーフではないため、異なるスレッドで使用する場合はそれに応じて保護する必要があります。
RFC実装
oAPクライアント/サーバーは、以下のRequest For Comments(RFC)の関連部分を実装しています。
[RFC 7252] The Constrained Application Protocol(CoAP)
直接ダウンロード:ftp://ftp.rfc-editor.org/in-notes/rfc7252.txt
[RFC 6690] 制約付きRESTful環境(CoRE)リンク形式
直接ダウンロード:ftp://ftp.rfc-editor.org/in-notes/rfc6690.txt
[RFC 7641] Constrained Application Protocol(CoAP)のリソースを監視する
直接ダウンロード:ftp://ftp.rfc-editor.org/in-notes/rfc7641.txt
[RFC 7959] Constrained Application Protocol(CoAP)のブロックワイズ転送
直接ダウンロード:ftp://ftp.rfc-editor.org/in-notes/rfc7959.txt
ディレクトリ
次の表に、embOS / IP CoAPルートディレクトリの内容を示します。
応用:embOS / IPを使用してCoAPクライアント/サーバーを実行するサンプルアプリケーションが含まれています。
設定:CoAP構成ファイルが含まれます。詳細については、ドキュメントを参照してください。
Inc:必要なインクルードファイルが含まれています。
IP:CoAPソースとヘッダーファイルが含まれます。
Windows/IP/ CoAP_Server embOS / IP CoAPサーバーのサンプルをMicrosoft Windowsホストで実行するためのソース、プロジェクトファイル、および実行可能ファイルが含まれています。
Windows /IP/CoAP_Client Microsoft Windowsホスト上でembOS / IP CoAPクライアントを実行するためのソース、プロジェクトファイル、および実行可能ファイルが含まれています。
CoAPとは
Constrained Application Protocol(CoAP)は、実装面積の小さいアプリケーションでMachine to Machine(M2M)通信を可能にするInternet of Things(IoT)プロトコルです。Uniform Resource Identifier(URI)を使用して、サーバー上のリソースを識別します。小型でシンプルな4バイトヘッダーを使用することで、限られたリソースを持つデバイスに最適です。
CoAPプロトコルは、以下の4つの方法に基づいてRESTfulなクライアント/サーバーを実装します。
GET:GETメソッドは、リクエストURIによって識別されるリソースに現在対応する情報の表現を取得します。
PUT:PUTメソッドは、要求URIによって識別されるリソースが囲まれた表現で更新されることを要求する。
POST:POSTメソッドは、要求に含まれる表現を処理して新しいリソースを作成するか、既存のリソースを更新するよう要求します。
DELETE:DELETEメソッドは、要求URIによって識別されるリソースが削除されることを要求します。
CoAPプロトコルはUDP(またはセキュリティで保護されたバージョンのDTLS)に基づいているため、潜在的なメッセージの消失と反復に対処する必要があります。エンドポイント間の単純なメッセージ交換です。
確認可能(CON)または確認不可能(NON)のメッセージに依存します。
embOS/IP CoAPサーバの実装は、プロキシとして使用することはできません。しかし、クライアントはCoAPプロキシに要求を送信できます。
〈ブロック転送オプション〉
embOS/IP CoAPクライアント/サーバはブロック転送オプションをサポートしています。このオプションを使用すると、大量のデータを小さなチャンクに転送できます。これは、ネットワークMTUが比較的小さい場合や、CoAPクライアント/サーバーを実装するシステムがメモリ使用量に強い制約がある場合に特に便利です。
〈観測オプション〉
embOS/IP CoAPクライアント/サーバはobserveオプションをサポートしています。このオプションを使用すると、クライアントは定期的にサーバーをポーリングしてリソースの状態を監視する必要はありません。代わりにリソースに登録して、リソースが変更されたときにサーバーによって自動的に通知されます。