使用 OT CLI 测试与受限应用协议 (CoAP) 资源的连接

<ph type="x-smartling-placeholder"></ph> 在 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:,已关注 所有载荷字节(采用十六进制数字格式)。 因此,在此示例中,with payload: 30 表示: 资源的当前载荷被设置为 一个字节的有效负载信息,具有 0x30 十六进制值。 如需详细了解如何使用 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 是使用可选 payload 的示例 参数(当 typeconnon-con 时)。 如需了解详情,请参阅 倒推

    服务器通过其 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 值是转换后的字符串 hellothere 转换为 ASCII 码字节序列。