1. 什么是CoAP

CoAP是受限制的应用协议(Constrained Application Protocol)的简称。最近几年专家们预测会有更多的设备相互连接,而这些设备的数量将远超人类的数量。在这种大背景下,物联网和M2M技术应运而生。虽然对人们而言,连接入互联网显得方便容易,但是对于那些微型设备而言接入互联网非常困难。在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求为了让小设备可以接入互联网,CoAP协议被设计出来。CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。CoAP协议非常小巧,最小的数据包仅为4字节。

2. CoAP协议是否可以替换HTTP协议?

CoAP并不能替代HTTP协议,但是对于那些小设备(256KB Flash 32KB RAM 20MHz主频)而言CoAP的确是一个好的解决方案。

3. CoAP消息类型

CoAP采用与HTTP协议相同的请求响应工作模式。CoAP协议共有4种不同的消息类型:

  1. CON 需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。
  2. NON 不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。
  3. ACK 应答消息,接受到CON消息的响应。
  4. RST 复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。

4. CoAP消息结构


一个CoAP消息最小为4个字节,以下是CoAP协议不同部分的描述:

  1. Ver 即版本Version:类似于IPv4和IPv6,仅仅是一个版本号。
  2. T 即消息类型Message Type:CON,NON,ACK,RST。
  3. Message ID 即消息ID :每个CoAP消息都有一个ID,在一次会话中ID总是保持不变。但在这个会话之后该ID会被回收利用。
  4. Token 即标记:标记是ID的另一种表现。
  5. Options 即选项:CoAP选项类似于HTTP请求头,它包括CoAP消息本身,例如CoAP端口号,CoAP主机和CoAP查询字符串等。
  6. Payload 即负载:真正有用的被交互的数据。

5. CoAP的URL

CoAP资源可以被一个URI所描述,例如一个设备可以测量温度,那么这个温度传感器的URI被描述为:CoAP://machine.address:5683/sensors/temperature。请注意,CoAP的默认UDP端口号为5683。

6. CoAP观察模式

在物联网的世界中,你需要去监控某个传感器例如温度或湿度等。在这种情况下,CoAP客户端并不需要不停的查询CoAP服务器端的数据变化情况。CoAP客户端可以发送一个观察请求到服务器端。从该时间点开始计算,服务器便会记住客户端的连接信息,一旦温度发生变化,服务器将会把新结果发送给客户端。如果客户端不在希望获得温度检测结果,那么客户端将会发送一个RST复位请求,此时服务器便会清除与客户端的连接信息。

7. CoAP块传输

CoAP协议的特点是传输的内容小巧精简,但是在某些情况下不得不传输较大的数据。在这种情况下可以使用CoAP协议中的某个选项设定分块传输的大小,那么无论是服务器或客户端可完成分片和组装这两个动作。

物联网协议-CoAP协议简介相关推荐

  1. 【物联网】CoAP协议总结

    [物联网]CoAP协议总结 一.概述 二.CoAP报文结构 1.报头 2.可选字段 3.数据 参数详解 三.CoAP逻辑分层 四.CoAP传输模型 4.1 CoAP Message模型 1. CoAP ...

  2. 物联网协议Coap协议介绍

    COAP协议简介 Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252.COAP名字翻译来就是" ...

  3. 物联网的coap协议

    1. CoAP协议的简单介绍 CoAP是一种面向网络的协议,采用了与HTTP类似的特征,核心内容为资源抽象.REST式交互以及可扩展的头选项等.这些关键特征使得因特网由简单的文档检索机制(World ...

  4. Thingsboard 物联网平台 CoAP 协议介绍

    可复制:121202538 中文社区:http://thingsboard.org.cn TB的MQTT设备协议 TB官网: https://thingsboard.io/ TB GitHub: ht ...

  5. CoAP协议学习笔记(一)

    目录 CoAP协议定义 CoAP协议特点 协议模型 Message Format Message Hader(CoAP报文结构) CoAP的响应码 Message分类 Message的可靠传输 Mes ...

  6. 物联网通信之Coap 协议

    物联网通信之Coap 协议 Coap 简介 名为受限制的应用协议,是UDP上的应用层协议.适用于小内存,低处理和低存储能力的设备.传输内容小巧精简,对于较大的数据可分块传输.客户端可以发送观察者请求, ...

  7. 物联网基础之了解CCP协议,COAP协议,MTQQ协议等

    首先介绍下背景.最近开始研究物联网的套件.公司选中了阿里物联网套件,所以博主就开始投入到漫长的开发文档中.由于博主并非嵌入式开发者,所以一些名字没有听过,这对文档的阅读造成了不少的困扰,所以在此记录一 ...

  8. 阿里云物联网平台 > 设备接入 > 使用开放协议自主接入 > CoAP协议接入 >

    CoAP连接通信 更新时间:2020-08-27 17:20:05 编辑我的收藏 本页目录 基础流程 使用对称加密自主接入 使用DTLS自主接入 物联网平台支持CoAP协议连接通信.CoAP协议适用在 ...

  9. 物联网平台 源码 智慧农业物联网平台 ,支持mqtt,h ttp,coap协议 java+postgresql,支持集群

    物联网平台 源码 智慧农业物联网平台 ,支持mqtt,h ttp,coap协议 java+postgresql,支持集群. 支持萤石云摄像头接入,云台控制,支持nbiot,lora物联网平台,5g物联 ...

最新文章

  1. HDU 2159 FATE【二维完全背包】
  2. 送你一份 Nginx 最佳入门手册
  3. python3射线法判断点是否在多边形内
  4. javese 5 中的枚举类及单例模式
  5. lixuxmint系统定制与配置(4)-应用安装
  6. 记住要重置线程上下文类加载器
  7. leetcode107. 二叉树的层次遍历 II
  8. Cython 3.0 中文文档校对活动 | ApacheCN
  9. Python中 文件处理
  10. 深度学习(四十二)网络压缩-未完待续
  11. 软件开发学什么编程语言好
  12. Filezilla Server使用教程
  13. 最新Web前端面试题精选大全及答案
  14. 图像质量指标:峰值信噪比PSNR和结构相似性SSIM
  15. 大数据与AI平台:人工智能+大数据赋能产业供应链智能化风控核动力 PPT分享
  16. php 会议室源码,PHP和jQuery实现会议排座管理.doc
  17. 成都拓嘉启远:拼多多上产品清单的条件
  18. 安装Linux CentOS7操作系统
  19. win11快速启动有必要关闭吗?如何关闭?
  20. 斯坦福博士退学,在 3 个领域改变世界,科技狂人马斯克的巅峰之路

热门文章

  1. Android butterknife黄油刀使用大全
  2. 【热门】现在的美颜特效有多可怕?基于Opencv的美颜相机告诉你
  3. uni-app小程序结合腾讯地图获取定位以及地图选址
  4. 概率论 1 随机试验 样本空间 随机事件事件间的运算
  5. 删除桌面菜单中的图形选项
  6. 软件开发工程师招聘笔试题面试题223套和招聘考察内容
  7. 香港理工大学李青教授团队招收机器学习方向全奖博士/博后/RA
  8. Redis资料汇总(二) 数据类型
  9. 新冠疫情对AI技术发展的影响
  10. python读书心得体会范文_读书的心得体会范文3篇