- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
无线物联网中CoAP协议的研究与实现
2.3 CoAP的交互模型CoAP使用类似于HTTP的请求/响应模型:CoAP终端节点作为客户端向服务器发送一个或多个请求,服务器端回复客户端的CoAP请求。不同于HTTP,CoAP的请求和响应在发送之前不需要事先建立连接,而是通过CoAP信息来进行异步信息交换。CoAP协议使用UDP进行传输。这是通过信息层选项的可靠性来实现的。CoAP定义了四种类型的信息:可证实的CON(Confirmable)信息,不可证实的NON(Non-Confirmable)信息,可确认的ACK(Acknowledgement)信息和重置信息RST(Reset)。方法代码和响应代码包含在这些信息中,实现请求和响应功能。这四种类型信息对于请求/响应的交互来说是透明的。
CoAP的请求/响应语义包含在CoAP信息中,其中分别包含方法代码和响应代码。CoAP选项中包含可选的(或默认的)请求和响应信息,例如URI和负载内容类型。令牌选项用于独立匹配底层的请求到响应信息。
请求/响应模型:请求包含在可证实的或不可证实的信息中,如果服务器端是立即可用的,它对请求的应答包含在可证实的确认信息中来进行应答。图5是基本的GET请求和响应模式,其中图5(a)表示成功发送请求和收到ACK确认信息,图5(b)表示重传了请求信息,然后才收到ACK确认信息。
虽然CoAP协议目前还在制定当中,但Contiki和TinyOS嵌入式操作系统已经支持CoAP协议。Contiki是一个多任务操作系统,并带有uIPv6协议栈,适用于嵌入式系统和无线传感器网络,它占用系统资源小,适用于资源受限的网络和设备。目前,火狐浏览器已经集成了Copper插件,从而实现了CoAP协议。但是这种方式只能读取传感器节点上的实时数据,而不能查看各种历史数据。为此,在Contiki系统的基础上,基于uIPv6START KIT无线网络开发套件,用自己编写的客户端程序实现了和数据库的交互,把历史数据存入数据库中,从而在Web浏览器端不仅可以访问传感器节点上的实时数据,还能查看历史数据,以便于分析问题。
3实验平台及CoAP协议的实现
3.1实验平台硬件平台式是美信凌科公司的IPv6智能网关(MXG300)、MX231CC节点、USB无线网卡(STICK)和JTAG下载器。实验的硬件平台配置和硬件平台如图6,图7所示。软件平台是WinAVR和AVR studio,用于向节点和USB网卡中下载程序。
其中IPv6智能网关上的主要芯片有:BCM 6358UKFBG支持多用户以太网功能,具有高度优化的32 MIPS CPU和标准的EJTAG调试器;BCM53 25EKQMG集成了5个收发器,具有128 KB的数据包缓冲区,最多可以支持2K的MAC地址,支持地址自动学习,提供真正的即插即用连接,而且是低功耗的;SIGe2521A60提供2.4~2.5 GHz的无线工作频段范围,应用于ISM 2.4.GHz的无线解决方案。
图8是IPv6智能无线网关的接口布局,它是基于OPENWRT系统定制完成的。具备3个局域网口,1个广域网口,1个802.11a/b/g WiFi无线网络接口,1个标准USB口和1个可选的串口调试口。该智能无线网关除具备通用无线路由器的功能以外,还可以实现基于Contiki操作系统的USB UIP网络和普通IP网络之间的IPv6互连,同时还支持有能力的系统在OPENWRT的基础上开发自己的应用软件包,实现更复杂的应用。
OPENWRT是一个开源的Linux版本。主要应用于嵌入式系统。网关和节点上同时装有Contiki系统,它提供宏定义和RESTful网络服务实例。
MX231CC节点上的主要芯片是ATmega1284P,它具有128 KB的可编程闪存,4 KB的E2PROM,16 KB的片内SRAM,JTAG接口,优化的功耗和处理速度。节点上运行Contiki系统。节点上还有光敏传感器、室内温度传感器、三色LED指示灯等。
3.2 CoAP协议的火狐浏览器实现(B/S架构)
B/S架构的系统结构如图9所示。
上一篇:联通打造移动互联全开放模式
下一篇:虚拟化成就WLAN