环境监测中网关系统广泛接入机制研究
2013-05-11张正华殷有烨
张正华,殷有烨,汤 旭
(扬州大学信息工程学院,江苏扬州225000)
0 引言
自然环境与人类生产生活密切相关,对于环境中一些重要参数的及时获取,可以有效地帮助人们解决实际生产生活中所遇到的问题。近年来物联网技术日新月异。人们可以借助于物联网的技术及时准确地获取自己想要的环境数据。以基于ZigBee的无线传感器网络技术是目前比较流行的一种近程通信技术手段[1]。在环境监测应用中,通过其自组网和多跳技术的方式[2],能够满足普通环境下终端监测节点传回数据的要求。然而为了使得环境监测系统适用于更为复杂的野外环境,可以考虑通过多种无线通信的方式(比如GPRS、Wi-Fi以及蓝牙等技术)实现数据的有效传输,从而要求环境监测系统中的网关能够对多种传输协议下所传输的信息进行解析,数据格式转换,实现网关能够广泛接入多种通信技术。这也是目前物联网网关研究热点之一,其应用前景较为广阔。
1 环境监测系统的总体设计
一个完整的物联网环境监测系统,一般是由3大部分组成:无线传感器网络(WSN)、网关和后台监控中心。在文中选取TI公司的片上系统CC2430芯片和SHT11的温湿度传感器,通过I2C总线将其构建成环境监测系统中的终端节点。终端的传感器节点分布在所要监测的环境区域内,同时能够正确地采集监测范围内的温度和湿度信息,并且各个节点能在监测范围内以自组网的方式构建网络,然后以多跳技术方式将数据传输至网关部分。网关部分对接收到的数据进行一系列的重新打包处理,最后选择通过Wi-Fi的传输方式上传至监控中心。对于整体系统只做了个简要概述,主要针对网关系统进行了研究。
2 环境监测网关系统的硬件实现
三星公司的基于ARM9架构的S3C2440[3]微处理器是一款高性能、低功耗的16/32位的RISC处理器[4]。这款微处理器主频高达400MHz,拥有完整的系统外围设备,省去了系统额外配置器件的需要,降低了成本。此外,这款微处理器可以扩展丰富的外部资源,如外部存储器、串口和网口等,这就为以后所设计系统的升级开发打下了基础。
设计选用的是基于S3C2440的Micro2440一个双层电路核心板。这款核心板其实是个最小系统,包括了最基本的电源电路(5V供电)、复位电路和JTAG口等。核心板板上引出了各种常见接口,多余的I/O口则通过插针引出,方便了网关系统的设计,网关硬件框图如图1所示。
图1 网关硬件框图
3 环境监测网关系统的软件设计
Linux操作系统其源码公开,内核精悍,运行稳定,所需资源少,支持硬件数量庞大。而且各种硬件驱动程序源代码都可以得到,为用户带来很大方便。选择移植Linux操作系统也为网关实现广泛接入带来很大方便。对于操作系统的移植主要包括了Bootloader移植[5]、Linux系统移植、根文件系统制作和各个模块驱动程序实现[6]。
网关中的组建网络及应用程序设计主要有3个步骤:首先是网络初始化,由网关中的协调器节点建网,然后是子节点加入网络,最后是读取子节点上的数据,转换并发送[7]。图2和图3是网关的具体程序设计流程。
图2 网络初始化
图3 网关APP工作流程
4 广泛接入机制的实现方法
在上述中监测系统是以ZigBee这一固定设备构建的无线传感器网络作为接入对象的,通过测试证明在环湖景点这样普通环境下是可行的。但是在更为复杂环境下,需要多种通信设备的接入,这就提出了网关广泛接入的要求。在本文中构建了一种新型的网关功能层次模型。该模型分别由协议适配层、统一信息格式转换层和标准信息构成层组成,如图4所示。
图4 网关功能层次模型图
各个层的功能明确,协议适配层负责解析出数据,格式转换和标准信息层主要负责对数据重新打包处理。这其中协议适配层是实现广泛接入机制的关键,在这一层中主要实现的是将各个不同设备构建的异构网络上传的信息进行解析,获得有效数据,由于不同感知网络存在着明显不同,所以要使用同一种模式进行适配是不可行的。本文中提出一种模块可加载的方法,通过灵活添加不同的硬件设备以及相应的驱动程序软件,来实现不同网络在该适配层进行统一配置[8]。
该模型硬件构成和操作系统都是以文中前面所述框架为基础的,要实现广泛接入机制主要是在APP应用程序上结合Linux共享库文件(.so文件)来实现动态加载的。首先需要编译一个共享函数库文件(.so文件)。应用程序里只需一个“指向”位置,程序本身不再包含函数代码,然后将应用程序编译成可执行文件[9],并装载到网关系统的内存中执行,当可执行文件需要用到共享函数库机制时,函数引用才会被解析并产生对共享库的调用[10],共享库才会被加载到内存中执行。APP的可执行文件中具有指向共享函数库的指针,是拥有指向功能,因此在接入不同的近程通信设备时只需升级共享函数库,APP的可执行文件无需重新编译变动,就可以实现对升级后的共享库文件的调用,从而实现了网关系统的广泛接入机制。图5就是一个动态链接加载实现框图。
图5 动态链接加载框图
5 网关接收数据实验结果
网关能够很好地接收以ZigBee构建的无线传感器网络上传的数据,并对数据进行重新打包处理后上传至服务器,最后通过设计的数据支撑软件服务界面显示出来,如图6所示。
图6 测试图
图7所示的是环湖景点环境监测系统实验结果平面图。
图7 环湖景点平面图
由上述2幅实验图可见基于ZigBee构建的环湖景点的环境监测系统是成功的,所以网关的设计也是合理的,网关能够很好地接入ZigBee设备,并接受处理ZigBee传输的温湿度数据。因此在这设计合理的网关系统上进行一次延伸,给出的广泛接入机制的实现方法是可行的。
6 结束语
在以ZigBee作为无线数据传输设备接入网关的物联网环境监测系统的实验基础上,提出一种物联网环境监测中的网关广泛接入机制的研究实现方法。该方法可以灵活方便地使得环境监测中的网关接入不同的通信设备,从而拓展了物联网技术在环境监测中的应用,同时也是针对物联网网关进行标准化工作以及实现各种通信技术标准的互联互通奠定了基础。
[1]章伟聪,梁越,俞新武.基于CC2430的温室智能无线传感器节点设计[J].农机化研究,2011,6(6):159-162.
[2]张演飞.基于CC2430的ZigBee组网技术[J].物联网技术,2011,3(6):65-67.
[3]魏亚楠,吴伯农.基于S3C2440家庭网关设计[J].计算机系统应用,2012,21(6):244-248.
[4]张金金,高军伟,张明超.基于S3C2440的无线传感器网络汇聚节点设计[J].工业控制计算机,2012,25(9):1-2.
[5]文全刚.嵌入式Linux操作系统原理与应用[M].北京:北京航空航天大学出版社,2011.
[6]王永锋,杨育,顾永明.基于S3C2440和Linux的温湿度测控系统设计[J].现代科学仪器,2011,12(6):37-40.
[7]潘云宽.基于ZigBee的无线传感网络环境监测系统研究[D].南京:南京理工大学,2010.
[8]孟勇涛.基于嵌入式系统的物联网网关研究与实现[D].北京:北京邮电大学,2012.
[9]Neil Matthew,Richard Stones.Linux程序设计[M].陈健,宋健健 译.北京:人民邮电出版社,2010.
[10]鸟哥.鸟哥的Linux私房菜[M].北京:人民邮电出版社,2010.