首页 > 其他分享 >CoAP协议

CoAP协议

时间:2024-10-14 11:21:11浏览次数:1  
标签:协议 报文 CoAP COAP MQTT 标识符

本片文章通过协议的产生背景、应用场景、与MQTT对比三方面来阐述CoAP协议。
完成该文的阅读能初步了解CoAP协议是什么、解决什么。

CoAP协议产生的背景以及意义

想要弄明白CoAP协议需要对MQTT有一定的了解,物联网的应用层面MQTT是一个绕不开的话题。
而且在物联网发展的当下来说,大量的工作还是在MQTT相关的设备方面。
那为什么还会出现CoAP呢?
答:因为部分的环境信息对于MQTT来说就有些浪费资源,所以为了解决这类问题的解决物联网的方向会出现一些更简单更加容易操作的芯片,专门用于环境的采集。
这样一是节省资源开销、在一个对于设备来说也可以在硬件方面节约资金。
于是CoAP出现了!

在农业物联网的应用中类似传感器相关的设备想要把数据发送到云端还是基于的CoAP协议来实现,

MQTT是应用层的协议,它的传输层是TCP,是可靠连接并且是属于长连接的。
CoAP协议如果要保持长连接需要设备保持供电的状态,
为了解决这种情况CoAP协议的传输层是UDP,但是UDP属于不可靠传输,所以在应用层进行了改造,这里简单理解为UDP不可靠的性被应用层解决了。
固CoAP协议也属于可靠连接协议

MQTT与CoAP对比

MQTT:上行数据可下行数据量相对大一些
MQTT:相对来说对设备的电池容量也要比CoAP大一些,一些设备的内部多加一些电池的目的就是为了保持长连接,及时设备休眠也可以重新唤醒连接。
CoAP:因为传输层是用的UDP,设备唤醒之后会直接发送数据,发送后可以直接休眠。比MQTT协议更加省电
CoAP在资源量特别小的时候也可以使用

CoAP的主要应用场景

只进行数据的上报不进行控制的下发,如:水表、电表、烟雾报警器等

CoAP协议的官方报文格式(了解)


Ver => 版本号,可以自己通过版本号判断属于什么设备
T => type
TKL => COAP标识符长度。COAP协议中具有两种功能相似的标识符,一种为MessageID(报文编号),一种为Token(标识符)。其中每个报文均包含消息编号,但是标识符对于报文来说是非必须的。
Message ID => 一般用来定位问题
Code => 操作码/功能码/响应码。Code在COAP请求报文和响应报文中具有不同的表现形式,Code占一个字节,它被分成了两部分,前3位一部分,后5位一部分,为了方便描述它被写成了c.dd结构。其中0.XX表示COAP请求的某种方法,而2.X、4.X或5.X则表示CoAP响应的某种具体表现。
Token => 标识符具体内容。
Option => 报文选项,通过报文选项可设定COAP主机,COAP URI,COAP请求参数和负载媒体类型等等。

标签:协议,报文,CoAP,COAP,MQTT,标识符
From: https://www.cnblogs.com/Edehuag/p/18463539

相关文章

  • 智融SW3538支持 PD 的多快充协议双口充电解决方案
    1.概述SW3538是一款高集成度的多快充协议双口充电芯片,支持A+C口任意口快充输出,支持双口独立限流。其集成了7A高效率同步降压变换器,支持PPS/PD/QC/AFC/FCP/SCP/PE/SFCP/TFCP/VOOC等多种快充协议,支持140W输出功率,集成CC/CV模式、双口管理逻辑以及双芯片动态......
  • HTTP 协议详解
    HTTP协议是Web的基石,它定义了客户端和服务器之间的通信规则。本文将深入地探讨HTTP的核心概念,包括工作原理、请求方法、状态码以及不同HTTP版本的演进。一、HTTP的工作原理HTTP协议基于客户端-服务器模型,遵循请求-响应的循环:客户端发起连接: 客户端(例如浏览器)向......
  • Android 车载应用开发指南 - CAN Bus 协议详解
    ​在现代车载应用开发中,CAN(ControllerAreaNetwork)总线协议扮演着不可或缺的角色。作为一个汽车内部网络的标准协议,CANBus已经成为了车载系统通信的基础。而在Android车载应用开发的过程中,理解并利用好CANBus协议是必不可少的。那么,CANBus到底是什么?它又是如何在车载......
  • 一文带你了解生成树协议三个版本:STP、RSTP 和 MSTP
    生成树协议(SpanningTreeProtocol,STP)及其后续改进版,如快速生成树协议(RapidSpanningTreeProtocol,RSTP)和多生成树协议(MultipleSpanningTreeProtocol,MSTP),是保证网络冗余与稳定的关键技术。这些协议能够防止环路的出现,从而避免广播风暴和通信中断。本文将详细介绍STP、R......
  • BGP协议
    概念BGP协议是一种外部网关协议,用来连接不同自治系统中的主机为什么使用BGP协议在不同自治系统之间的路由选择,为什么不能使用内部网关协议?因为以下两点:互联网的规模太大,使得自治系统之间路由选择非常困难。连接在互联网主干网上的路由器,必须对任何有效的IP地址都能在路由表中......
  • 互联网的路由选择协议
    分层次的路由选择协议由于以下两个原因,互联网选择分层次的路由选择协议互联网的规模十分庞大,如果让每个路由器都直到所有网络应该怎样到达,处理起来的时间和资源开销太大许多单位不愿意让外界了解自己单位的网络布局细节和采用的路由选择协议,同时还希望连接到互联网上因此,把......
  • 计算机网络:数据链路层 —— PPP 点对点协议
    文章目录PPP帧PPP帧的格式PPP帧的透明传输面向字节的异步链路面向比特的同步链路PPP帧的差错检测PPP的工作状态点对点协议(Point-to-PointProtocol,PPP)是目前使用最广泛的点对点数据链路层协议,用于在两个节点之间进行数据传输。它通常用于建立在串行线路上的点对......
  • PROFINET 转 EtherCAT, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
    EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ft=t&id=822721028899协议转换通信网关PROFINET转EtherCATGW系列型号 MS-GW31概述简介MS-GW31是PROFINET和EtherCAT协议转换网关,为用户提供两种不同通讯协议......
  • SSE协议与HTTP协议
    SSE协议的全称是“Server-SentEvents”,它是一种用于服务器向客户端单向推送数据的技术,常用于实时更新网页内容。ChatGPT对话框交互通常是基于HTTP协议的请求-响应模型。SSE(服务器推送事件,Server-SentEvents)是一种允许服务器主动向客户端推送信息的协议。两者之间......
  • RTSP与ONVIF协议的区别及其在EasyCVR视频汇聚平台中的应用
    在视频监控和物联网设备领域,RTSP(RealTimeStreamingProtocol)和ONVIF(OpenNetworkVideoInterfaceForum)是两个重要的协议,它们各自在视频流的传输和控制上发挥着不同的作用,并在实际应用中相辅相成。本文将详细探讨RTSP与ONVIF协议的区别,并介绍它们在EasyCVR平台中的应用。1、RT......