OT CLI を使用した制約付きアプリケーション・プロトコル(CoAP)リソースへの接続テスト

GitHub でソースを表示

OpenThread は CoAP サーバーとクライアントの両方の機能を提供し、デバイスが CoAP サーバー上のリソースに接続し、各リソースの現在の状態の変化を監視できるようにします。CLI で提供される CoAP エージェントは、CoAP クライアントまたはサーバーとして機能します。

CoAP コマンド

coap コマンドのリストを表示するには、「help」と入力します。

coap help
help
cancel
delete
get
observe
parameters
post
put
resource
set
start
stop
Done

CLI コマンド リファレンス

すべてのコマンドの説明と構文については、CLI コマンド リファレンスをご覧ください。coap コマンドはアルファベット順で coap cancel で始まります。

CoAP サーバーとクライアント コマンドの使用例

この例では、基本的な CLI コマンドを使用して CoAP サーバーとクライアントを起動し、CoAP サーバーでテストリソースを作成し、CoAP クライアントがそのリソースとやり取りします。サンプルデータは説明のみを目的としています。

CoAP サーバーを設定する

CoAP サーバーノードで、次の操作を行います。

  1. CoAP エージェントを起動します。

    coap start
    Done
    
  2. テストリソースを作成します。

    coap resource test-resource
    Done
    

CoAP クライアントを設定する

CoAP クライアント ノードで、次の操作を行います。

  1. CoAP エージェントを起動します。

    coap start
    Done
    
  2. get コマンドを実行して、リソースに関する情報を取得します。

    coap get fdde:ad00:beef:0:d395:daee:a75:3964 test-resource
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac] with payload: 30
    

    サーバー response の最後の部分は with payload: という用語で、その後に 16 進数形式のすべてのペイロード バイトが続きます。したがって、この例で with payload: 30 は、リソースの現在のペイロードが、16 進数が 0x30 の 1 バイトのペイロード情報に設定されていることを示します。payload オプションの使用方法については、coap 投稿をご覧ください。

  3. このリソースを変更するには、put コマンドを使用します。

    coap put fdde:ad00:beef:0:2780:9423:166c:1aac test-resource con hellothere
    Done
    coap response from [fdde:ad00:beef:0:2780:9423:166c:1aac]
    

    この例の con は、確認可能なメッセージ(con)を使用して取得した信頼性の高いメッセージを CoAP サーバーに送信することを意味します。デフォルトでは、確認不可能なメッセージ(non-con)が送信されます。

    文字列 hellothere は、typecon または non-con の場合に、オプションの payload パラメータを使用する例です。詳細については、coap put をご覧ください。

    サーバーが IPv6 アドレスで応答し、リクエストが処理されたことを示します。

CoAP サーバーに送信されたレスポンス

サーバーでは、この例の出力は次のようになります。

coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] GET
coap response sent
coap request from [fdde:ad00:beef:0:b3:e3f6:2dcc:4b79] PUT with payload: 68656c6c6f7468657265
coap response sent

68656c6c6f7468657265payload 値は、ASCII コードバイト シーケンスに変換された文字列 hellothere です。