1、一二CoAP协议概述CoAP协议格式简述三UDP工具调试CoAP及数据详解22022-11-212022-11-213一01CoAP协议来源02CoAP资源描述03CoAP观察模式04CoAP块传输2022-11-21401 CoAP协议来源 基于REST(Representational State Transfer)的网络传输协议 用于轻量级M2M(Machine to Machine)取代HTTP,用于物联网 协议传输层采用UDP 小巧,最小数据包4字节 可靠性远不如HTTP/MQTT 适用于连续流系统,如环境监测2022-11-21502 CoAP资源描述 一个CoAP资源可以描述成一
2、个URL 如:一个测量温度的传感嚣,其数据访问可以通过如下URL实现CoAP:/machine.address:5683/sensors/temperature2022-11-21603 CoAP观察模式客户端服务端ttT、Hum、发送观察请求请求信息被记录T、Hum有变化新值发回T、Hum显示等使用2022-11-21704 CoAP块传输 特点:小巧精简 也能传输大块数据协议有些选项可以设定分块大小基于分块选项,服务器完成数据拆分、客户端完成组装2022-11-218二2022-11-2197 76 65 54 43 32 21 10 016位Message ID2位版本号2位报文类型4位
3、Token长度8位Message ID编号,表示为c.dd固定的4字节5位d值3位c值之后的为可选项Token内容,字节长度由上述规定Option内容,长度不定,Option部分包含Option Delta、Option Length和Option Value三部分8位置1,值为0 xFF,为报文和负载之间的分隔符Payload内容,实际负载数据内容字节0字节1字节2字节3字节4-n字节n+1-k字节k+1字节m+1-x2022-11-21102022-11-2111三2022-11-2112确定与CoAP服务器的网络连接2022-11-2113NetAssist.exe分析工具2022-11
4、-21142022-11-2115改为 134.102.218.18:5683改为 42 01 00 01 59 5C B4 74 65 73 74发送发送 42 01 00 01 59 5C B4 74 65 73 74收到收到 62 45 00 01 59 5C 48 01 AA 57 EE B9 90 5F B6 80 FF 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 3
5、0 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 2022-11-21167 76 65 54 43 32 21 10 016位Message ID2位版本号2位报文类型4位Token长度8位Message ID编号,表示为c.dd5位d值3位c值Token内容,字节长度由上述规定Option内容,长度不定,Option部分包含Option Delta、Option Length和Option Value三部分8位置1,值为0 xFF,为报文和负载之间的分隔符Payload内容,实际负载数据内容发送发送 42 01
6、 00 01 59 5C B4 74 65 73 744201 00 01 59 5C B4 74 65 73 74版本号:01,Ver 1报文类型:00,即要求确认回复的信息 00:CONfirmable 01:NON-confirmable 10:ACKnowledgement 11:ReSeTToken长度为2个字节报文编号:c为000,即0;d为00001,即1;组合:0.01 表明本报文要取数据状态码请求类型0.00EMPTY0.01GET0.02POST0.03PUT0.04DELETE报文编号,这里组合为1,即第1个报文Token具体内容,可以表示参数或属性。根据实际需要。0 x
7、59、0 x5C 即为业务参数或参数因为没为0 xFF分隔字节,因此,该报文没有payload内容,其后各字节为option部分内容,需单独解析2022-11-2117OptionOption内容:内容:B4 74 65 73 74u 第1个字节:B4 10 11 01 00 Delta:11,表示取URL Length:4,表示option数据有4个字节u 其后4个字节为option数据 74:t 65:e 73:s 74:t11 11 4 42022-11-21182022-11-21基于Proteus的单片机项目实践教程-项目1之C51入门19收到收到 62 45 00 01 59 5C
8、 48 01 AA 57 EE B9 90 5F B6 80 FF 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 FF2022-11-2120收到数值拆分如下收到数值拆分如下:62:版本为01;消息类型为10,即ACK消息,对CON消息的回复;Tok
9、en长度为2。45:0100 0101;c=2,d=5,c.dd=2.05,表示内容回复正常。00 01:报文消息编号,表示消息只有1个。59 5C:Token数值,长度2字节,表示参数或属性。48 01 AA 57 EE B9 90 5F B6 80:option数值2022-11-2121收到数值拆分如下收到数值拆分如下:FF 分隔字节如下为真实负载内容77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 welcome to the ETSI plugtest!last change:2019-11-01 06:43:11 UTC