首页 > 代码库 > CoAP与物联网系统

CoAP与物联网系统

CoAP简介

引自维基百科上的介绍,用的是谷歌翻译。。。

受约束的应用协议(COAP)是一种软件协议旨在以非常简单的电子设备,使他们能够在互联网上进行交互式通信中使用。它特别针对小型低功率传感器,开关,阀门和需要被控制或监督远程,通过标准的Internet网络类似的组件。 COAP是一个应用层协议,该协议是用于在资源受限的网络连接设备,例如无线传感器网络节点使用。 COAP被设计为容易地转换为HTTP与Web简化集成,同时也能满足特殊的要求,例如多播支持,非常低的开销,和简单性。多播,低开销,以及简单性是因特网极其重要物联网(IOT)和机器对机器(M2M)设备,这往往是积重难返,有太多的内存和电源,比传统的互联网设备有。因此,效率是非常重要的。 COAP可以在支持UDP或UDP的模拟大多数设备上运行。

简单地来说,CoAP简化了HTTP协议,只提供了REST的四个方法,PUT,GET,POST和DELETE,和其与HTTP的不同之处在于——CoAP简化了HTTP协议。至于为什么是REST可以看一下这个页面物联网系统设计的相关文章。

CoAP使用UDP的好处在于: 对于微小的资源受限,在资源受限的通信的IP的网络,HTTP不是一种可行的选择。它占用了太多的资源和太多的带宽。而对于物联网这种嵌入式设备来说,这是我们需要优先考虑的问题。

  1. CoAP采用了二进制报头,而不是文本报头(text header)
  2. CoAP降低了头的可用选项的数量。
  3. CoAP减少了一些HTTP的方法
  4. CoAP可以支持检测装置

看看这张图

CoAP & UDP

CoAP相关库

在百科上找到了几个未来可能用到的库

  • Copper 一个Firefox的插件
  • node-coap Nodejs的CoAP库
  • libCoAP 轻量级的C实现
  • txThings CoAP库用于Twisted框架。

Arduino CoAP库

在Github上找到了两个库

  • https://github.com/1248/microcoap 
  • https://github.com/dgiannakop/Arduino-CoAP

需要借助于网络驱动板。

其他

最小物联网系统 CoAP版进行中

https://github.com/gmszone/iot-coap