文档章节

CoAP 综述

Jr小王子
 Jr小王子
发布于 2017/02/08 17:57
字数 503
阅读 102
收藏 1

CoAP


参考

IETF
RFC 7252 中文
coap.technology
www.rfc-base.org Constrained RESTful Environments (CoRE) Parameters


CoAP

RFC 7252 Constrained Application Protocol
“The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation.”

Specification
CoAP is specified in a Standards-Track RFC. RFCs that serve as Internet Standards Documents are generated by the IETF based on an extensive technical review and quality control process. These are meant to last.


涉及标准

适用场景 特点 局限性

  • 点对点通信
  • 数据采集
  • M2M
  • 反向控制能力弱
  • 无状态连接
  • 遵循RESTful
  • DTLS

CoAP占用资源

RFC 7228 Terminology for Constrained-Node Networks

  • RAM:10KB
  • ROM:100KB

CoAP 实现

  • wakaama http://www.eclipse.org/wakaama/
    OMA Lightweight M2M C implementation designed to be portable on POSIX compliant systems

  • libcoap https://libcoap.net/
    C-Implementation of CoAP
    libcoap implements a lightweight application-protocol for devices that are constrained their resources such as computing power, RF range, memory, bandwith, or network packet sizes

  • microcoap https://github.com/1248/microcoap
    A tiny CoAP server for microcontrollers
    最精简实现,只有最简单的CoAP build dump,适用于单片机

  • lobaro-coap http://www.lobaro.com/portfolio/lobaro-coap/
    Complete CoAP Implementation in C 完整的实现CoAP
    The target audiance are experienced programmers with rich knowledge of the „C“ programming language.

    • Royalty-free CoAP stack
    • complete request/response logic
    • easy to use
    • small memory footprint
    • using C99 stdlib, suitable for embedded projects
    • detached packet receive/send logic
    • Arduino support (experimental)

DTLS

  • tinydtls
    tinydtls is a library for Datagram Transport Layer Security (DTLS) covering both the client and the server state machine. It is implemented in C and provides support for the mandatory cipher suites specified in CoAP.

COAP工具

为了测试代码的正确性,需要CoAP相关测试工具。

  • CoAP-cli,一个基于NodeJS的CoAP命令行工具,其核心是基于Node-CoAP库。
  • libcooap,一个用C写的CoAP命令行工具。
  • FireFox Copper, 一个Firefox的插件。
  • Wireshark,Wireshark 支持CoAP协议的解析器

REST model for small devices

server 提供可用的资源在一个URL下,client 使用四种方法获取GET, PUT, POST, and DELETE.

  • GET
  • PUT
  • POST
  • DELET

REST

web client 可以通过跨协议代理(CoAP HTTP)访问web资源和传感器资源,client不必关心资源到底是web提供还是传感器提供。

Discovery integrated

© 著作权归作者所有

共有 人打赏支持
Jr小王子
粉丝 11
博文 119
码字总数 18368
作品 0
深圳
程序员
CoAP协议学习笔记——CoAP格式详解

  CoAP是受限制的应用协议(Constrained Application Protocol)的代名词。在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然...

中成才
2016/09/01
87
0
物联网应用协议学习笔记 2.1.2 一张表了解 CoAP 协议

1 前言 对于CoAP协议的学习,这份100多页的文档肯定没法背下来。我们只需把协议当作工具书,大体知道主体的内容,在遇到细节问题时再去具体章节找问题。 本篇笔记中先对 CoAP 协议内容做个基...

iotisan
04/25
0
0
物联网应用协议学习笔记 2.1.3 用UDP工具来调试CoAP

1 前言 CoAP的调试,目前没找到好用的工具,网上说的火狐插件现在也不能用了,多希望手头的TCP/UDP网络调试工具就可以支持。 既然CoAP是基于UDP来组包的,那肯定是可以实现。 所以这篇文章给...

iotisan
04/25
0
0
物联网系统 CoAP版--iot-coap

iot-coap 是一个开源的最小物联网系统的CoAP版,如果你还是一个初学者建议用HTTP版 开源IOT 依赖库 RESTify Node-CoAP Node Sqlite3 安装 需要安装有Sqlite3及Nodejs 安装node依赖 npm inst...

Phodal
2014/08/18
3.5K
0
物联网应用协议学习笔记 2.1.1 为什么物联网要使用 CoAP 协议

1 前言 前几年,Json比较火的时候,和朋友在讨论项目协议时就在感慨,要是咱们的这些设备都能走Json,那该多爽。由于HTTP协议对于物联网设备实在是太铺张了,我们只好作罢。 知识限制了我们的...

iotisan
04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部