首页 理论教育 Contiki物联网操作系统:使用CoAPAPI

Contiki物联网操作系统:使用CoAPAPI

时间:2023-11-20 理论教育 版权反馈
【摘要】:要建立新的CoAP 资源时,可以使用Contiki 系统中定义的基本“资源”类型:normal resource、parent resource、separate resource、event resource 和periodic resource。文件apps/rest-engin/rest-engin.h中给出了这些资源的宏定义。如普通资源的宏定义如下:#define RESOURCE\resource_t name = {NULL, NULL, NO_FLAGS, attributes, get_handler,post_handler,put_handler,delete_handler,{NULL}}普通资源由与资源处理函数相关的静态uri-path 定义,它是所有其他资源类型的基础。父资源通过评价uri-path管理几个子资源。

Contiki物联网操作系统:使用CoAPAPI

Contiki 操作系统中CoAP 协议的实现是基于REST 引擎的,CoAP 引擎在er-coap-engine.c 程序中实现,该程序保存在apps/er-coap/文件夹下,引擎接口由下面的结构体提供,我们把它称为CoAP应用编程接口API:

可用下面的函数调用CoAP引擎:

REST.get_query_variable();

基本的REST 设计使用了CoAP 协议的POST、GET、PUT 和DELETE 等方法,Web服务被看成是由URIs唯一标识的资源(resources),在Web服务器上有多种可用的资源,每个资源都有REST层调用的处理函数,以便为客户请求提供服务,REST 服务器通过向客户发送其请求的资源内容作为响应。要建立新的CoAP 资源时,可以使用Contiki 系统中定义的基本“资源”类型:normal resource、parent resource、separate resource、event resource 和periodic resource。文件apps/rest-engin/rest-engin.h中给出了这些资源的宏定义。如普通资源的宏定义如下:

#define RESOURCE(name, attributes, get_handler, post_handler, put_handler,delete_handler)\

resource_t name = {NULL, NULL, NO_FLAGS, attributes, get_handler,post_handler,put_handler,delete_handler,{NULL}}(www.xing528.com)

普通资源(normal resource)由与资源处理函数相关的静态uri-path 定义,它是所有其他资源类型的基础。父资源(parent resource)通过评价uri-path管理几个子资源。

一旦声明和实现了资源,需要通过使用以下函数初始化REST框架,启动HTTP或CoAP进程:

void rest_init_engine(void)

然后再用下面的函数激活每个声明的资源:

void rest_activate_resource(resource_t*resource,char*path)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈