文档章节

CoAP 综述

Jr小王子
 Jr小王子
发布于 2017/02/08 17:57
字数 503
阅读 86
收藏 1
点赞 0
评论 0

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
物联网应用协议学习笔记 2.1.1 为什么物联网要使用 CoAP 协议

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

iotisan
04/25
0
0
CoAP协议学习笔记 2.2 阿里云IoT平台接入 基础版CoAP协议接入测试

这篇笔记涉及 阿里云CoAP接入,CoAP协议学习笔记可点此查看。 1 前言 上篇笔记完成了云端产品功能定义,并生成了相应的设备证书。 这篇笔记将会跟着教程走,使用 Ubuntu 对 SDK 编译验证,先...

iotisan
05/11
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
EMQ 2.3.0 正式版发布, 百万级 MQTT 消息服务器

EMQ 2.3.0 正式版发布,改进了 PubSub 设计与消息路由性能,更新 EMQ 自带的自签名 SSL 证书,改进 Dashboard 界面与 API 设计。 Bugfix and Enhancements Fixed the issue that Retained me...

emqtt
2017/11/23
2.2K
1
CoAP协议的常用开源代码实现

名称 开发语言 CoAP版本 客户端/服务端 实现的CoAP特征 开源协议 项目链接地址 Californium Java RFC 7252 Client + Server Observe, Blockwise Transfers, DTLS EPL+EDL https://www.eclip...

RainyZou
01/10
0
0
phodal/iot-coap

#CoAP IOT Framework Mini IoT System with CoAP Protocol, HTTP protocol to https://github.com/phodal/iot ##Thanks to RESTify Node-CoAP Node Sqlite3 MongoDB ##install :windows系统......

phodal
2014/08/18
0
0
NB-IoT移远BC95调试笔记 02 CoAP协议

前言 用华为方案的NB-IoT难免要进行数据通信,经常会看到各类AT文档中首推的CoAP协议方式。CoAP这几年随着物联网的浪潮也火了起来,和MQTT有并驾齐驱的势头,在一些物联网云平台中都有运用。...

iotisan
2017/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统

expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 expect脚本指定host和要同步的文件 更改权限,执行脚本 构建文件分发系统 需求背...

Zhouliang6
11分钟前
1
0
Hive应用:外部分区表

Hive应用:外部分区表 介绍 Hive可以创建外部分区表。创建表的时候,分区要在建表语句中体现。建完之后,你不会在表中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示...

星汉
21分钟前
0
0
点击Enter登录

1. 效果 2. 实现过程(记得引入jq文件) //6.回车事件 登录 $(function() { document.onkeydown = function(event) { var e = event || window.event || arguments.callee.caller.arguments......

Lucky_Me
26分钟前
1
0
点击菜单内容切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .menu{ height: 38px; background-color: #eeeeee; line-height: 38px; } .mao{ ......

南桥北木
今天
1
0
OSChina 周六乱弹 —— 妹子和游戏哪个更好玩

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享唐朝乐队的单曲《国际歌》 《国际歌》- 唐朝乐队 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子- :日常祈雨 邪恶的大祭...

小小编辑
今天
460
6
流利阅读笔记32-20180721待学习

“人工智能”造假:只有人工,没有智能 Lala 2018-07-21 1.今日导读 当今社会,擅长单个方面的人工智能已经盛行,手机借助 AI 智慧防抖技术帮助大家拍出清晰照片,谷歌研发的 AI 助手将可以帮...

aibinxiao
今天
6
0
我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
今天
1
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
7
0
idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
2
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部