前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CoAP协议学习笔记 1.2 一张表了解 CoAP 协议

CoAP协议学习笔记 1.2 一张表了解 CoAP 协议

作者头像
twowinter
发布2020-04-17 10:44:58
1.3K0
发布2020-04-17 10:44:58
举报
文章被收录于专栏:twowinter

1 前言

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

本篇笔记中先对 CoAP 协议内容做个基础了解,然后搬出重量级干货《coap-cheatsheet_note.pdf》,最后展示出协议附录中的示例。

这是本能手的学习记忆路线,希望对您有所帮助。

小能手正在学习 CoAP 协议,CoAP协议学习笔记可点此查看

2 基础了解

2.1 CoAP消息类型

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

CON——需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。

NON——不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。

ACK——应答消息,接受到CON消息的响应。

RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。

2.2 CoAP帧格式

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

【版本Version】:类似于IPv6和IPv6,仅仅是一个版本号。

【消息类型Message Type】:CON,NON,ACK,RST。

【消息ID Message ID】:每个CoAP消息都有一个ID,在一次会话中ID总是保持不变。但在这个会话之后该ID会被回收利用。

【标记 Token】:标记是ID的另一种表现。

【选项 Options】:CoAP选项类似于HTTP请求头,它包括CoAP消息本身,例如CoAP端口号,CoAP主机和CoAP查询字符串等。

【负载Payload】:真正有用的被交互的数据。

2.3 CoAP的URL

在HTTP的世界中,RESTFul协议由于其简单性和适用性,在WEB应用中越来越受欢迎,这样的道理同样适用于CoAP。一个CoAP资源可以被一个URI所描述,例如一个设备可以测量温度,那么这个温度传感器的URI被描述为:CoAP://machine.address:5683/sensors/temperature。请注意,CoAP的默认UDP端口号为5683。

2.4 CoAP观察模式

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

2.5 CoAP块传输

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

3 一张表

国外网友有一张 CheatSheet,把CoAP的主体内容都涵盖进来。我在上面增加了一些备注,方便消化理解。

小能手的一番心意,嘿嘿,读者朋友们请收下。

点此下载

4 示例

RFC7252 在协议最后的附录中有给了3个很好的示例。

1.获取温度数据,最简格式。

2.获取温度数据,增加了 token。

3.获取温度数据,重传。

4 END

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 前言
  • 2 基础了解
    • 2.1 CoAP消息类型
      • 2.2 CoAP帧格式
        • 2.3 CoAP的URL
          • 2.4 CoAP观察模式
            • 2.5 CoAP块传输
            • 3 一张表
            • 4 示例
            • 4 END
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档