入门介绍
CoAP 是一种计算机协定,利用于物联网,基于 REST 架构。它是由 IETF 的 CoRE 工作组提出的,专门用于解决物联网中设施资源受限的问题。在物联网中,很多设施具备较少的内存空间和无限的计算能力,因而传统的 HTTP 协定并不适用于所有设施。为了解决这个问题,CoAP 被设计成一种轻量级的协定,可能无效地解决物联网设施的资源限度。
CoAP 的次要作用是为物联网中的设施提供一种牢靠且无效的通信形式。它能够实现设施之间的信息替换和通信,从而实现所有物品与网络的连贯,不便辨认、治理和管制。
CoAP 基础知识
CoAP 是一种用于受限设施的轻量级物联网协定。
一种专用的 Web 传输协定,它相似 HTTP,是一种受约束的利用协定,可与物联网中的受约束的节点和受约束的网络一起应用。
CoAP 的特点
资源占用极少
CoAP 是为机器对机器(M2M)利用而设计的,它的设计初衷是使简略、受约束的设施即便通过具备低带宽和低可用性的受约束网络也能够退出物联网。例如:近程抄表、资产追踪、楼宇自动化等。
因为 CoAP 基于 IP 上的 UDP 协定,并不需要简单的传输堆栈管制,所以设施上运行 CoAP 协定客户端,只须要极少的 RAM 代码空间,对微控制器的要求非常低。
安全性
CoAP 应用 UDP 传输信息,同时也依附 UDP 平安性能来爱护信息,因而 CoAP 应用基于 UDP 的 DTLS 加密传输。
CoAP 的 DTLS 参数默认抉择等效于 3072 位 RSA 密钥,但在最小的节点上依然能够失常运行。
上手容易
像 HTTP 一样,CoAP 协定中的 URL 也反对 REST 模型,即客户端应用诸如 GET、PUT、POST 之类的办法拜访这些 API 资源。
同时,CoAP 还能够承载不同类型的无效负载,也包含 ThingsKit 内置规范设施拜访协定的 JSON
格局。
这都使得设施在通过 CoAP 接入云平台时,不论是云平台提供的 API 调用形式,还是您须要领有的技术常识,都和 HTTP 接入基本相同。
CoAP 身份验证和错误代码
咱们将在本文中应用_拜访令牌_设施凭证,稍后将它们称为 $ACCESS_TOKEN。** 应用程序须要将 **$ACCESS_TOKEN 作为门路参数蕴含到每个 CoAP 申请中。可能的错误代码及其起因:
- 400 有效申请 – 有效的 URL、申请参数或注释。
- 401 未经受权 – 有效的$ACCESS_TOKEN。
-
404 未找到 – 未找到资源。
遥测上传接口
为了将遥测数据公布到 ThingsKit 服务器节点,请向以下 URL 发送 POST 申请:
PS:平台 CoAP 默认端口:5683coap://host/api/v1/$ACCESS_TOKEN/telemetry
最简略的反对数据格式是:
{"key1":"value1", "key2":"value2"}
或者
[{"key1":"value1"}, {"key2":"value2"}]
请留神 ,在这种状况下,服务器端工夫戳将调配给上传的数据!
如果您的设施可能获取客户端工夫戳,您能够应用以下格局:{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}
调用管制接口
服务器端 RPC
为了从服务器订阅 RPC 命令,将带有察看标记的 GET 申请发送到以下 URL:
coap://host/api/v1/$ACCESS_TOKEN/rpc
订阅后,客户端可能会收到 RPC 申请。RPC 申请体示例如下所示:
{ "id": "1", "method": "setGpio", "params": { "pin": "23", "value": 1 } }
- id – 申请 id,整数申请标识符;
- method – RPC 办法名称,字符串;
- params – RPC 办法参数,自定义 json 对象。
附:应用 Java 模仿客户端实际 CoAP
模仿 CoAP 设施接入
文章起源(首发地址):ThingsKit 物联网平台