入门介绍
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物联网平台