微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 无线物联网中CoAP协议的研究与实现

无线物联网中CoAP协议的研究与实现

时间:03-16 来源:3721RD 点击:

系统由用户浏览器、Web服务器、IPv6智能网关、MX231CC节点组成。用户浏览器通过HTTP协议访问Web服务器,MX231CC节点通过CoAP协议和IPv6智能网关进行通信,从而实现用户浏览器访问节点上资源的功能。图9中实线表示有线连接,虚线表示无线连接。

在当前的Contiki 2.5中,集成了CoAP 03和CoAP06这两个版本。这两个文件在Contiki 2.5的apps目录下,关于CoAP的核心内容都在这两个文件中。程序的主要部分为:

AUTOSTART_PROCESSES(PERIODIC_RESOURCE()为进程的主体部分。

然后进行编译,编译成。elf文件,用JTAG下载器下载到节点上。节点地址设置为:2001:2::11:22ff::fe33:4499.这时,用火狐浏览器访问节点,因为火狐浏览器自带coap插件,如果用其他浏览器,那么需要进行coap的代理设置。以控制节点上的三色LED灯反转为例,用下面的请求格式:GETcoap://[]:

/readings其中mote_ip_address是节点的IPv6地址,port_number是节点的端口号,readings是客户端请求的资源(温度)。

所以在浏览器地址栏输入:coap://[2001:2::11:22ff:fe33:4499]:61616/toggle,作用是让节点上的三色LED灯进行反转。服务器端的响应信息如图10所示。

从浏览器端可以看出,CoAP协议支持Discover和Observe功能,具有GET、POST、PUT和DELETE等方法。Type表示信息类型为ACK,Code为200,表示成功完成客户端的请求。事务ID为38 264,它用于重复信息检测,options为1表示有一个可选项,内容类型为text表示文本类型。

由此可以看出,通过火狐浏览器的CoAP协议,可以访问节点上的传感器资源。

3.3 CoAP协议的客户端实现(C/S架构)

上节通过火狐浏览器可以实现COAP协议,但是只能查看实时数据,不能查看历史数据。为此,这里搭建了一个C/S架构的环境。如图11所示。

图11中客户端软件是用基于。NET架构的C#语言编写的,数据库使用SQL Server 2008.通过此程序,可以每隔10 s读取一次数据,存入到数据库中。并可以通过前台的Web界面查看各种历史数据,包括温度、湿度、亮度等。

插入数据库中的数据如图12所示,图中显示的是室内的亮度值。

在Web浏览器端可以查看实时和历史数据,页面显示效果如图13所示。

由此看出,基于C/S架构的方式,不仅可以显示实时数据,还可以查看历史数据,以便及时发现问题,更加具有实用性。

4结论

本文详细介绍了CoAP协议的内容、特点、交互模型以及订阅机制,还给出了基于uIPv6 START KIT无线网络开发套件的系统配置方式,该网络可以通过火狐浏览器和客户端软件两种方式实现CoAP协议,用户不仅可以读取传感器上的实时数据,而且可以查看历史数据。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top