全部文档
OneOS简介 硬件支持 快速开发指南 编译构造工具 API参考文档 高级语言 用户编程手册 OnePos定位 应用笔记 FAQ

简介

CoAP(Constrained Application Protocol,受限应用协议)是一种应用在物联网世界的类web协议。由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于REST(Representational State Transfer)架构的CoAP(Constrained Application Protocol)协议,它的详细规范定义在RFC 7252。

CoAP协议特点

  • COAP协议网络传输层由TCP改为UDP
  • 它基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST、GET、PUT、DELETE方法来访问server,对HTTP做了简化
  • COAP是二进制格式的,HTTP是文本格式的,COAP比HTTP更加紧凑
  • 轻量化,COAP最小长度仅仅4字节,一个HTTP的头就占用几十字节
  • 支持可靠传输、数据重传、块传输, 确保数据可靠到达
  • 支持IP多播,即可以同时向多个设备发送请求
  • 非长连接通信,适用于低功耗物联网场景

CoAP的URI

一个CoAP资源可以被一个URI所描述,例如一个设备可以测量温度,那么这个温度传感器的URI被描述为:CoAP://machine.address:5683/temperature?v=1&t=2。

  • Uri-Host:服务器主机名称,如machine.address
  • Uri-Port:服务器端口号,默认为5683
  • Uri-Path:资源路路径,如/temperature
  • Uri-Query:访问资源参数,例如?v=1&t=2

CoAP的请求码

在CoAP请求中,请求方法有GET、POST、PUT和DELETE,这些方法和HTTP协议非常相似。

  • GET方法:用于获得某资源
  • POST方法:用于创建某资源
  • PUT方法:用于更新某资源
  • DELETE方法:用于删除某资源

配置指南

在OneOS的SDK根目录下打开\projects\xxxxx文件夹,右键启动OneOS-Cube 工具,在命令行输入 menuconfig 打开可视化配置界面,选择"Components → Network → Protocols → libCoAP"选项。其中第一项用于使能libCoAP模块,该模块使能后可以选择“Enable libCoAP example”使能示例代码。

(Top) → Components → Network → Protocols → libCoAP
[*] Enable libCoAP: A C implementation of the CoAP(RFC 7252)
[*]     Enable libCoAP example

注意事项

无。

results matching ""

    No results matching ""

    返回顶部