CoAP协议专门为M2M通信设计(设备间通信),在设备通信过程中很少会有人的干预。为了实现在没有人干预的情况下正常工作,CoAP提供了资源发现机制。这就是的客户端理解哪些URI是被支持,并且客户端可以获知该URI的具体含义。
CoAP协议建议,服务器端应该支持一个/.well-known/core,该URI可以被任何客户端访问。一个专门用于资源发现的服务器必须侦听默认的5683端口。
当客户端请求该预先协商好的URI时,服务器返回一系列的URI。这些URI遵循CoRE链接标准。[A simplistic view of the specification is outlined in this post. The content-type of the response that contains the list of resources
in “CoRE Link Format” is “application/link-format”.]这是一个新引入的类型,不过不必担心该新类型易于被理解和执行。
CoRE链接标准定义了非常多的选项,但是其中的很多部分并没有被我们深入的理解,所以在设计代码的锅工程中我们进行了适当的简化,只支出了部分选项。
如果访问预先协商好的URI /.well-known/core,将会获得以下形式的响应:
<sensors/temp>;sz=512;title=Temperature Sensor;ct=50,<actuators/jack>;sz=256;title=Hydraulic Jacks;ct=50
上面的例子可以帮助我们深入理解服务器如何告诉客户端此处有哪些资源可以利用,通过这个例子可以获得以下信息:
- 有一个URI为“sensors/temp”的设备,该设备的名称为“温度传感器”。有效载荷的内容类型为50字节(application/json,JSON格式)。当使用一个GET方法访问资源时,最小消息的长度为512字节。
- 除了温度之外还有另外一个资源,通过上面的例子可以发现资源和资源之间通过逗号分隔,该资源的URI为actuators/jack,该资源的名称为液压千斤顶,如果使用GET方法访问该资源的话,那么最大的数据包大小为256字节。有效载荷内容的大小为50字节(application/json,格式)。
除了这些之外,我们鼓励多多阅读 CoRE链接标准方面的文档,如果你有更好的理解的话,也请发表博客分享你的知识。
分享到:
相关推荐
物联网技术异军突起,越来越多的使用到了物联网协议,本文档是关于coap协议的学习笔记
RFC7252定义的CoAP为受限网络中的受限节点了提供了一种RESTfull服务,CoAP Server对Resource的Representation负责,CoAP Client对自身感兴趣的资源的状态发起Request,CoAP Server通过Response返回资源的当前状态 ...
菜鸟江涛带你学最小物联网系统(外篇)——NB-IoT服务器搭建,基于CoAP协议的初次运行 - 菜鸟江涛的博客 - CSDN博客 https://blog.csdn.net/u010898329/article/details/86305111
CoAP资源目录服务器下添加DNS发现方式方案设计,雪青豪,魏更宇,为了满足物联网或者机器到机器(IoT/M2M)的通信需求,IETF CoRE工作组定义了受限网络通信架构和受限网络应用协议(CoAP),其中受限节点��
由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于REST架构的CoAP协议。CoAP是6LowPAN...
CoAP协议 DTLS加密\CoAP 协议 RFC7252 的第9章 Securing CoAP
coap协议以太网报文,可以用wireshark软件打开,适用于学习coap报文解析,学习各种工业以太网协议可参考本人其他下载文件
CoAP标准参考文档,该文档详细描述的CoAP标准协议的规范和操作,CoAP是用于物联网的协议标准。
介绍java-coap,coap java库.zip
CoAP 协议是为物联网中资源受限设备制定的应用层协议。CoAP 是受 限制的应用协议(Constrained Application Protocol)的代名词。
java代码实现coap 协议请求 服务器端+客户端+所需要的jar包资源,服务端代码包含私有协议的解析
基于CoAP协议的传感器资源搜索系统设计与实现(使用CAJViewer阅读器打开)
OneNET_M5310_COAP_onenet_m5311coap_coapm5311_coap_nbiotonenet_源码.zip
目前市面上大多数IoT模组都支持TCP、UDP、CoAP、LwM2M、MQTT等协议,这里面既有传输层的协议也有应用层的协议,协议众多,适用的场景也不同。但是设计产品时通常只需要运用一种协议,那么怎么来选择一种符合自己产品...
CoAP资源发现 rfc6690 - Constrained RESTful Environments (CoRE) Link Format
是个PPT文件,比较详细介绍了COAP协议,对于想深究COAP协议的朋友们来说,只要能耐心看完,对COAP协议还是能比较全面的了解的
COAP是一个应用层协议,该协议是用于在资源受限的网络连接设备,例如无线传感器网络节点使用。 COAP被设计为容易地转换为HTTP与Web简化集成,同时也能满足特殊的要求,例如多播支持,非常低的开销,和简单性。多播...
包括NB-IOT设备,路灯水表等COAP协议数据样包。
COAP协议规范文本,详细介绍了COAP协议的包结构,包传输机制等内容