APP下载

基于6LoWPAN和CoAP的农业环境信息传感系统的设计与实现

2017-01-12胡国强李茵蔚继承

现代电子技术 2016年23期
关键词:路由器传感边缘

胡国强+李茵++蔚继承

摘 要: 针对农业生产环境中信息监测点分散和学校现有无线传感网络(WSN)的不足,采用移植性强支持6LoWPAN协议栈的Contiki嵌入式操作系统在STM32平台上进行农业环境信息监测传感器节点设计;在DDWrt上实现了支持6LoWPAN协议栈的IPv4/IPv6双栈边缘路由器,将监测到的农业环境信息转发到IPv4/IPv6网络,最终实现了基于6LoWPAN的农业信息传感系统。在校园网环境下测试了农业环境信息传感节点与测试机网络的连通性,测试结果表明,基于6LoWPAN协议的无线网关与农业环境信息监测传感节点通过6LoWPAN协议可以正常通信,用户可通过CoAP协议访问6LoWPAN无线传感器网络。

关键词: 6LoWPAN; CoAP; WSN; Contiki; 农业环境信息

中图分类号: TN915.04?34; TP393.03 文献标识码: A 文章编号: 1004?373X(2016)23?0152?05

Design and implementation of agri?environmental information sensing

system based on 6LoWPAN and CoAP

HU Guoqiang1, LI Yin2, WEI Jicheng2

(1. Network and Education Technology Center, Northwest A&F University, Yangling 712100, China;

2. College of Information Engineering, Northwest A&F University, Yangling 712100, China)

Abstract: To overcome the insufficient of disperse information monitoring points in agricultural production environment and wireless sensor network (WSN) existing in college, the strong portability embedded operating system Contiki supporting 6LoWPAN protocol stack is adopted to design the agri?environmental monitoring sensor node on STM32 platform. The IPv4/IPv6 double?stack edge router supporting 6LoWPAN protocol stack was realized on DDWrt. The monitored agri?environmental information is transmitted to the IPv4/IPv6 network to realize the agricultural information sensing system based on 6LoWPAN. The connectivity between agri?environmental information sensor node and tester network was tested in campus network environment. The test results show that the 6LoWPAN protocol based wireless gateway can communicate with agri?environmental information monitoring sensor nodes via 6LoWPAN protocol normally, and users can access the 6LoWPAN wireless sensor networks via CoAP protocol.

Keywords: 6LoWPAN; CoAP; WSN; Contiki; agri?environmental information

0 引 言

近年来,随着高性能、低成本嵌入式技术的发展,受业界广泛关注的无线传感器网络WSN (Wireless Sensor Network,)已在农业环境信息监测方面得到了初步应用[1?3]。WSN是由部署在一定范围内用于传感温度、空气湿度、光照强度、土壤温度、土壤湿度等物理现象的传感器节点组成[4]。无线传感器网络在信息采集方面的广泛应用极大地促进了无线传感器网络在各个领域的研究发展[5]。现有的无线传感网络技术主要有两大类:第一类为非IP技术类型,比如大规模使用的ZigBee组网技术;另一类为基于IP的技术,比如uIPv6协议 [6]。

随着IPv4/IPv6网络和无线传感网络的飞速发展,将IPv6网络和无线传感网络结合的技术已成为国内外研究的热点[7]。IETF ( Internet Engineering Task Force)成立专门小组致力于实现IPv6网络的嵌入式设备化,发挥其在无线传感网络中的地址优势[6]。在IETF的不断努力下,低功耗802.15.4数据链路层和物理层协议及网络层协议的6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)协议栈被提出来,通过6LoWPAN适配层对IPv6数据包进行分片和重组,完成IPv6网络层与802.15.4物理层的融合[8?11]。

近年来,已有基于 6LoWPAN协议栈的无线传感技术在工农业和生活中应用的相关研究。文献[12]设计并实现了无线传感器网络6LoWPAN路由器,文献[13]设计并实现了基于6LoWPAN协议的监测系统,文献[14]实现了将WSN接入到IPv6系统,文献[15]设计了WSN计入到IPv6网络模型,文献[16]设计实现了6LoWPAN的智能家电监测与控制系统,文献[17]基于6LoWPAN对矿井无线传感器网络适配层进行了研究,文献[7]设计和实现了一个基于TinyOS的6LoWPAN无线传感器网络,上述研究有很高的应用价值,但也有值得改进之处。实际应用中部署的WSN与IPv4/IPv6网络之间无法进行点到点的通信,即用户无法迅速地对特定地理坏境的农业信息进行监测,无法通过命令管理每个空气湿度、光照强度、土壤温度、土壤湿度等调节装置[15]。为了让农业信息WSN支持IP网络架构,本文设计和实现了一个基于Contiki嵌入式操作系统的6LoWPAN农业环境实时传感系统。该系统实现了以IEEE 802.15.4作为物理层和数据链路层标准的WSN,灵活接入IPv4/IPv6网络中,完成了WSN与互联网之间的点到点通信。用户可以通过Web服务器对基于6LoWPAN的WSN进行实时管理。

1 基于6LoWPAN的农业信息传感系统总体设计

1.1 需求分析

本系统实现农业生产环境信息采集与控制,各个节点通过6LoWPAN协议将数据传输到6LoWPAN网关,最终通过IPV4/IPv6网络将采集的数据传送到Web服务器,具体要求如下。

(1) 传感器系统稳定性

传感器节点一般部署在环境恶劣、高海拔、高寒、潮湿、干旱半干旱地区,在这些极其恶劣的环境下,农业专家需要大量实时的连续数据研究农作物的生长。因此,需要末端传感器节点在复杂多变的环境中稳定地传输类型复杂多变、精度要求高的观测数据,同时还要求各节点故障率低,不间断观测。

(2) 所有传感器节点和边缘路由器全都支持6LoWPAN协议栈,每个都有惟一的IPv6地址。

(3) 传感器系统可扩展性

末端传感器节点能自由扩减,兼容性强,能稳定、节能地采集农业环境信息并将这些信息传输到信息管理服务器。

(4) 数据格式统一

各类传感器收集的数据类型不同,为了方便管理和处理这些数据,必须建立元数据模型。

(5) 便于用户访问

在REST(Representational State Transfer)即表现层状态转移架构的CoAP(Constrained Application Protocol)[18]中抽象传感器资源,优化 CoAP协议增加的报文传输时延,使得主机能直接通过网页访问传感器资源。

1.2 系统体系结构设计

系统主要包括以下两部分:

(1) 6LoWPAN 网络:用于采集环境数据或者根据后台指令执行具体的操作;

(2) 后台系统:用于存储数据和发出指令。其中 6LoWPAN网络又包含两种不同的节点:一个是普通的 6LoWPAN节点,用于数据的采集与指令执行;另一个是6LoWPAN路由器,用于连接6LoWPAN网络与IPv4/IPv6网络。

具体细划为支持6LoWPAN协议栈的WSN,6LoWPAN边界路由器,IPv6网络,Web服务器,终端用户五部分,如图1所示。

基于6LoWPAN的传感器节点采集农业生产环境的信息后传给节点的MCU[19](微处理器),MCU对数据包处理后经过6LoWPAN适配层的分片和重组,封装成802.15.4数据格式发送给边缘路由器的无线网卡模块;无线网卡上射频芯片接收数据包在6LoWPAN适配层分片和重组后经过串口发送给边界路由器,边界路由器把数据包转发到IPv4/IPv6网络,整个过程如图2所示。实现了基于6LoWPAN协议栈的WSN与IPv4/IPv6网络的互通和融合,用户可以通过IPv4/IPv6网络实时访问6LoWPAN网络。

2 系统硬件设计

2.1 传感器节点硬件设计

传感器节点由RF收发器、MCU及传感单元三部分组成,具体设计如图3所示。

本课题选用的MCU是意法半导体(STMicroelectronics)公司系统级芯片STM32F103RCT6,该芯片集成低功耗32位ARM Cortex?M3微处理器,256 KB FLASH闪存,48 KB RAM储存器和其他通用外设。RF收发器采用AT86RF231芯片,AT86RF231是一款工业级、低电压供电、超低功耗、方便操作的收发器。传感单元采用可以检测周围环境的湿度和温度的传感器DHT11。

传感器节点主要有两个功能:

(1) 传感单元采集农业环境信息后发送到MCU处理,处理后经过RF收发器发给边缘路由器;

(2) 传感器节点通过RF收发器接收边缘路由器的数据包,微处理器对数据包进行处理后发送命令给传感单元。

2.2 边缘路由器硬件设计

边缘路由器由两大模块组成:与传感器节点通信的传感网络模块和与IPV4/IPv6网络通信的IPV4/IPv6网络模块。两个模块通过串口或USB口相连,具体结构图如图4所示。

2.2.1 WSN模块硬件设计

基于两大模块的功能需求,采用双MCU架构。WSN网络通信模块仍采用AT86RF231和STM32F103RCT6,天线采用Antenova公司支持2.4 GHz的微型天线A5839。

2.2.2 IPv6模块硬件设计

IPv4/IPv6模块利用支持DDWRT的BUFFALO WXR?1900DHP千兆路由器进行开发,其使用双核Broadcom BCM4709A处理器,Broadcom BCM4360双频无线网络芯片,内存512 MB,FLASH 128 MB,刷机系统可扩展能力强。首先,升级DDWRT固件,使其支持IPv4/IPv6双栈,实现6LoWPAN传感网络向IPv4/IPv6网络的数据转发;其次开发能识别通过USB接口相连的WSN模块的驱动程序,使其识别WSN网络的数据包,实现6LoWPAN传感网络与IPv4/IPv6相互通信。

3 软件设计

3.1 无线传感器节点软件设计

无线传感器节点和边缘路由器WSN模块移植Contiki操作系统[20],Contiki是一种物联网开源操作系统。Contiki连接微小的、低成本、低功耗微控制器网络。它由C语言实现的基于事件驱动的开源多任务操作系统组成。其使用轻量级protothreads进程模型,可以在事件驱动内核上提供一个线性的、类似于线程的编程风格[21],移植性强。虽然CoAP协议目前还在制定当中,但Contiki和Ti?nyOS嵌入式操作系统已经支持CoAP协议[22]。REST中对资源的请求操作包括获取、创建、修改和删除。目前通常采用HTTP(超文本转移协议)实现RESTfuI架构,因为HTTP提供了GET,POST,PUT和DELETE几种操作方法,与REST要求相一致,是一种无状态协议。由于HTTP是基于TCP协议的,在使用时需要保持连接,这对于带宽有限的传感器网络来说是不小的开销。采用UDP作为传输层协议的CoAP(Constrained Application Protocol)协议更适合在资源受限的网络设备上使用[23]。

传感器节点的软件架构包括系统支撑层、传输层、协议层及应用层,传感器节点软件流程设计图如图5所示。传感器节点上电初始化后处于监听边缘路由器的状态。一旦边缘路由器发来数据包,传感器节点就对数据包进行解析。如果是监测指令,传感器节点就查询当前环境信息,把数据压缩之后通过射频模块发送给边缘路由器;如果是控制指令,传感器节点将会控制环境信息传感器的开关状态,其完成指令后,也会通过射频模块向边缘路由器发送应答信号。

3.2 边缘路由器软件设计

边缘路由器内有两个独立的操作系统, STM32平台的Contiki系统和WXR?1900D DDWRT固件自带的Linux系统。两套系统之间通过USB转串口通信。6LoWPAN边缘路由器的软件框架包括三个层次:传输层、协议层及CoAP应用层,传输层包括无线传输层与有线传输层。具体设计流程如下:

从有线传输层接收CoAP数据报文,对数据报文进行分段,并按照路由表的信息,通过无线传输层将CoAP数据报文发送到Web服务器;从无线传输层获取服务器发送的CoAP数据报文,对CoAP数据报文进行恢复,并按照路由表的信息,通过有线传输层将数据报文发送到WSN节点。

3.3 Web服务器

用户机想要直接访问传感节点可以使用火狐浏览器,在火狐浏览器上安装插件Copper(Cu)后就可以直接在地址栏输入要访问的节点的IP地址和端口号即可。为了便于用户直接用HTTP方式访问,架设了Web服务器,具体流程如图6所示。

图6 Web服务器的设计流程图

(1) Web服务器向某一特定区域为标识的传感节点发出数据请求到边缘路由器;

(2) 边缘路由器将IPv6头部按照事先的标准优化压缩成6LoWAPN头部,并转发到图6中相应的6LoWAPN物联网;

(3) CoAP消息由边缘路由器转发到最终物联网节点,物联网节点获取权限范围内的区域标识信息。标识信息经过步骤(1)~步骤(3)的反过程先到Web服务器,最终到达用户机;

(4) 用户机向Web服务器发起服务请求,通过获取Web服务器发布服务说明的信息后,采用CoAP/HTTP方式向Web服务器进行服务调用;

(5) Web服务器收到用户机发起的服务请求后,处理消息内容,并把用户机请求的数据格式及发送数据的方式回送给用户机。

4 系统试验验证

在实验室随机设置一个节点,节点IPv6地址(FC00::0212:4b00:053d:7789),该节点开启了两个任务,占用两个端口,其中5683是CoAP使用的端口,12346端口做UDP传输用。边缘路由器IPv6地址(FC00::0212:4b00:0612:8e25),从校园网获取IPv4地址(210.27.82.231)。传感节点加入边缘路由器创建的6LoWAPN网,如图7所示。

为了方便用户通过IPv4网络访问,在网关上做了NAT64转换。测试机从校园网获取IPv4地址(210.27.82.130),通过CoAP协议访问,如图8所示。

该试验说明,6LoWAPN网络搭建成功,在IPv4环境下用户可以通过CoAP协议访问边缘路由器。IPv6环境下的测试方法相同,如果在IPv6环境下,用户可以通过CoAP协议直接访问传感节点。

5 结 论

针对现有农业环境信息传感系统在实际应用中存在的不足,实现了基于6LoWPAN和CoAP无线传感器网络的农业环境信息传感系统,本系统实现了WSN 与IPv4/IPv6网络之间的点到点通信,用户可以通过CoAP/HTTP方式访问6LoWPAN网络,进而对特定的农业环境信息进行采集或控制。本系统没有开发专门的上位机软件,如果结合上位机软件将更加完美,这也是下一步课题研究的重点。

参考文献

[1] YICK J, MUKHERJEE B, GHOSAL D. Wireless sensor network survey [J]. Computer networks, 2008, 52(12): 2292?2330.

[2] 彭燕,何东健.基于ZigBee技术的果园生态环境监测系统[J].农机化研究,2009,31(4):164?167.

[3] ZHANG Q, YANG X L, ZHOU Y M, et al. A wireless solution for greenhouse monitoring and control system based on ZigBee technology [J]. Journal of Zhejiang University, 2007, 8(10): 1584?1587.

[4] AKYILDIZ I, SU W, SANKARASUBRAMANIAM Y, et al. Wireless sensor networks: a survey [J]. Computer networks, 2002, 46(4): 1123?1130.

[5] 罗万明,阎保平,晋锐,等.面向生态监测的IPv6无线传感器网络研制及应用[J].科研信息化技术与应用,2013(4):58?67.

[6] 崔博涵.基于6LoWPAN的无线传感网络平台的设计与实现[D].哈尔滨:哈尔滨工业大学,2013.

[7] 向浩,李堃,袁家斌.基于6LoWPAN的IPv6无线传感器网络[J].南京理工大学学报,2010,34(1):56?60.

[8] 李堃.基于6LoWPAN的IPv6无线传感器网络的研究与实现[D].南京:南京航空航天大学,2008.

[9] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,2010.

[10] 付诚.基于6LoWPAN的无线传感器网络路由研究及实现[D].北京:北京邮电大学,2012.

[11] 朱晓荣,李凤国.基于Contiki的6LoWPAN适配层的研究与实现[J].信息通信技术,2013(3):66?70.

[12] 苑乐.无线传感器网络6LoWPAN路由协议设计与实现[D].北京:北京交通大学,2011.

[13] 刘保君.基于6LoWPAN协议的农业物联网技术研究[D].北京:北京邮电大学,2014.

[14] 闻志平,李迅,李洪峻.无线传感器网络IPv6接入系统的设计与实现[J].计算机工程,2010(3):109?111.

[15] 王晓喃,殷旭东.基于6LoWPAN无线传感器网络的农业环境实时监控系统[J].农业工程学报,2011,26(10):224?228.

[16] 魏燕达,周卫星.基于6LoWPAN的智能家电监测与控制系统设计与实现[J].现代电子技术,2015,38(14):101?104.

[17] 张凯婷,徐钊,张峰,等.基于6LoWPAN的矿井无线传感器网络适配层研究[J].工矿自动化,2012,38(6):43?47.

[18] BORMANN C, CASTELLANI A P, SHELBY Z. CoAP: an application protocol for billions of tiny internet nodes [J]. IEEE Internet computing, 2012, 16(2): 62?67.

[19] ZHOU J Y, CHEN J L, XUE B, et al. On the four axis aircraft design based on STM32 [J]. Journal of Qinzhou University, 2015, 30(2): 30?33.

[20] DUNKELS A, GRONVALL B, VOIGT T. Contiki: a light?weight and flexible operating system for tiny networked sensors [C]// Proceedings of 2004 the 29th IEEE International Conference on Local Computer Networks. Sweden: IEEE, 2004: 455?462.

[21] 马亲民.专为物联网开发的开源操作系统Contiki[EB/OL].[2015?12?14].http://blog.sina.com.cn/s/ blog_6de000c201010z7n.html.

[22] 汤春明,张荧,吴宇平.无线物联网中CoAP协议的研究与实现[J].现代电子技术,2013,36(1):40?44.

[23] 黄忠.物联网资源寻址和访问方法研究[D].济南:山东大学,2013.

[24] AISHWARYA V, FELIX ENIGO V S. IP based wireless sensor networks with Web interface [C]// Proceedings of 2011 IEEE International Conferences on Recent Trends Information Technology. India: IEEE, 2011: 462?466.

猜你喜欢

路由器传感边缘
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
买千兆路由器看接口参数
路由器每天都要关
IPv6与ZigBee无线传感网互联网关的研究
无线路由器的保养方法
一张图看懂边缘计算
某型Fabry-Perot光纤应变计的传感特性试验
无线路由器辐射可忽略
在边缘寻找自我