<ph type="x-smartling-placeholder"></ph> 在 GitHub 上查看源代码
OpenThread 同时提供安全 CoAP 服务器和客户端功能,使设备能够 连接到安全 CoAP 服务器上的资源,并观察每个资源 当前状态的变化
Secure CoAP 使用数据报传输层安全协议 (DTLS) 来建立 进行连接
CLI 中提供的安全 CoAP 代理可以充当安全 CoAP 客户端或安全 CoAP 服务器。
本指南介绍了一些使用较常见的 Secure CoAP (coaps
) 命令的基本任务。
安全 CoAP 命令
如需查看 Secure CoAP 命令的列表,请输入 help
:
coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done
CLI 命令参考
有关所有命令的说明和语法,请参阅 CLI 命令参考。 Secure CoAP 命令按字母顺序开头为 coaps connect。
安全 CoAP 服务器和客户端命令用法示例
此示例使用基本的 CLI 命令启动安全 CoAP 服务器和客户端, 在安全 CoAP 服务器上创建测试资源,并安装安全 CoAP 客户端 与资源交互示例数据仅作说明之用。
配置 DTLS 加密套件
coaps
CLI 提供了 psk
和 x509
命令,可用于
PSK 密钥和 X.509 证书。
有关命令语法和示例,请参阅
coaps psk 和
coaps x509。
设置安全 CoAP 服务器
在安全 CoAP 服务器节点上,执行以下步骤:
启动 Secure CoAP 代理。
coaps start
Done创建测试资源。
coaps resource test-resource
Done
设置安全 CoAP 客户端
在安全 CoAP 客户端节点上,执行以下步骤:
启动 Secure CoAP 代理:
coaps start
Done运行
connect
命令以初始化与对等设备的 DTLS 会话:coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
Done coaps connected运行
get
命令可获取有关资源的信息:coaps get test-resource
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400服务器响应的最后一部分是
with payload:
,后跟 所有载荷字节(采用十六进制数字格式)。在本示例中,with payload: 68656c6c6f576f726c6400
指示当前载荷 是十六进制值68656c6c6f576f726c6400
,该值会转换为字符串helloWorld
。如需详细了解如何使用payload
选项,请参阅 coaps 博文。您可以使用
put
命令修改资源:coaps put test-resource con hellothere
Done coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744在此示例中,
con
表示您需要一条可靠的消息, 使用可确认消息 (con
) 获取,发送到安全 CoAP 服务器。 默认设置是发送一条不可确认 (non-con
) 的消息。字符串
hellothere
是使用可选payload
的示例 参数(当type
为con
或non-con
时)。 如需了解详情,请参阅 coaps put。服务器通过其 IPv6 地址进行响应,表明请求已处理。
发送到安全 CoAP 服务器的响应
在服务器上,此示例的输出类似于以下内容:
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET coaps response sent coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265 coaps response sent
68656c6c6f7468657265
的 payload
值是转换后的字符串 hellothere
转换为 ASCII 码字节序列。