适用于茶园旱情监测系统的WSN网关设计

描述

引言

WSN是wireless sensor network的简称,即无线传感器网络。无线传感器网络(Wireless Sensor Network, WSN)就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。传感器、感知对象和观察者构成了无线传感器网络的三个要素。随着微机电系统(Micro-Electro-Mechanism System, MEMS)、片上系统(SOC, System on Chip)、无线通信和低功耗嵌入式技术的飞速发展,孕育出无线传感器网络(Wireless Sensor Networks, WSN),并以其低功耗、低成本、分布式和自组织的特点带来了信息感知的一场变革。无线传感器网络就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳自组织网络。

很多人都认为,这项技术的重要性可与因特网相媲美:正如因特网使得计算机能够访问各种数字信息而可以不管其保存在什么地方,传感器网络将能扩展人们与现实世界进行远程交互的能力。它甚至被人称为一种全新类型的计算机系统,这就是因为它区别于过去硬件的可到处散布的特点以及集体分析能力。然而从很多方面来说,现在的无线传感器网络就如同远在 1970 年的因特网,那时因特网仅仅连接了不到 200所大学和军事实验室,并且研究者还在试验各种通讯协议和寻址方案。而现在,大多数传感器网络只连接了不到 100个节点,更多的节点以及通讯线路会使其变得十分复杂难缠而无法正常工作。另外一个原因是单个传感器节点的价格目前还并不低廉,而且电池寿命在最好的情况下也只能维持几个月。不过这些问题并不是不可逾越的,一些无线传感器网络的产品已经上市,并且具备引人入胜的功能的新产品也会在几年之内出现。

这里的目的是设计、开发一种适合于山地茶园旱情的WSN网关。

1网关系统的硬件设计

系统的硬件组成框图如图1所示。由CPU、存储模块、本地连接模块、簇内网络连接模块以及簇外网络连接模块组成。

存储器

系统采用三星公司的S3C2410作为CPU。S3C2410是一款基于ARM920T内核的16/32位RISC嵌入式处理器,内部有内存管理单元(memory managerunit,MMU),可以稳定运行在266 MHz。

存储模块由FLASH存储器、SDRAM以及SD卡组成。其中,FLASH 7存储器采用三星公司的K9F1208UDM NAND FLASH;内存SDRAM部分采用Hynix Semiconductor公司的HY57V561620芯片;S3C2410带有SD卡接口,系统扩展出SD卡插槽,用SD卡扩展数据存储空间。

本地连接模块由串口电路、USB接口电路以及JTAG接口电路3部分组成。串口电路用于系统调试以及连接(自身)汇聚节点的DB51针扩展接口。USB接口用来连接USB设备,以及实现与工作站连接、下载Linux内核等功能。该模块还提供了JTAG接口,方便用户进行JTAG调试。

簇内网络连接模块主要负责网关与汇聚节点的连接,汇聚节点通过DB51针连接器与网关本地连接模块中DB9串口连接,实现了网关与汇聚节点的连接功能。

簇外网络连接模块的功能是实现网关系统利用以太网或GPRS网络接入Internet进行数据传输,供远程终端进行数据查询以及远程监控。簇外连接模块由以太网接口电路以及GPRS接口电路组成。

2  网关系统软件平台搭建

Linux是内核可裁剪、重新配置的操作系统。在ARM平台上移植Linux嵌入式操作系统的工作分为建立交叉编译环境、Bootloader移植、Linux内核(kernel)移植、文件系统移植和系统驱动程序设计等。Linux系统移植示意图如图2所示。

存储器

交叉编译环境是由编译器、连接器和解释器组成的综合开发环境,可以将应用程序转换成能在目标机上运行的二进制代码。

Bootloader是嵌入式系统上电后执行的第一个软件代码。它的主要运行任务就是将内核映像从硬盘上读到RAM中,然后跳转到内核的入口点去运行,即开始启动操作系统。

文件系统是指在物理设备上的任何文件组织和目录,它构成了Linux系统上所有数据的基础。该系统选用JFFS2作为文件系统。

在Linux中,设备驱动程序的设计和使用一般有两种方式可供选择。第一种方式是将设备驱动程序作为可加载的模块,动态地加载到内核,模块是内核的一部分,但以独立的个体形式存在;第二种方式是将设备驱动程序作为内核代码的一部分编译到内核中去,是以内核模式运行的。本文选用了第二种方式。

3  远程数据传输方式设计与实现

在无线传感器网络与外部网络进行远程数据传输的过程中,网关处于承上启下的地位,是数据传输的中枢节点。本文的通信软件包括网关与汇聚节点通信模块和网关与远程终端通信模块。

网关与汇聚节点之间的通信主要是指网关接收汇聚节点数据的过程,一般采用串口通信方式。由于Linux内核中已嵌入了串口驱动程序,对串口的操作可通过设备文件来实现。

网关与远程终端进行数据传输则分别通过开发以太网应用程序和利用PPP协议,实现了以太网的有线通信和GPRS的无线通信。采用面向连接的客户机/服务器模型,其通信过程见图3。考虑到对数据传输的可靠性要求较高,故采用基于TCP的流式套接字(socket)通信机制。利用Sierra Wireless公司的Aircard750上网卡连接移动GPRS网络接入Internet,从而实现网卡与远程监控中心的数据交换。利用PPP协议栈把数据包封装成IP包的格式,发送给无线模块。完成从拨号到最终逻辑通信链路的建立需要经过:网关首先通过拨号呼叫ISP,在得到ISP应答后,建立起初始的物理连接,此时可以检测到载波信号;然后终端与ISP之间开始传送一系列经过PPP封装的LCP分组,用于协商选择将要采用的PPP参数,参数协商完成后开始认证过程;认证成功后,通信双方开始交换一系列的NCP分组来配置网络层。对于上层使用IP协议的情况而言,此过程是由IPCP完成的;当NCP配置完成后,逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据。该过程中PPP状态转换如图4所示。

存储器

4  试验分析

网关系统要完成的主要任务包括采集传感器节点旱情监测的相关数据,对数据进行处理和封装后通过以太网或GPRS网络发送到远端具有固定公网IP的PC机。为了验证该网关系统数据传输的实时性、可靠性和适应性,分别对以太网连接和GPRS远程传输可靠性进行了测试试验。

试验条件:

(1)Ethernet Switch交换机1个,EIA/TIA 568B标准网线(直连网线)2根;

(2)网关系统1套,采用嵌入式Linux操作系统、以太网口驱动程序、串口数据采集程序、socket套接字联接程序;

(3)利用10Base-T接至网络的PC机1台,采用Windows XP操作系统;

(4)Crossbow公司MICAz节点和MTS310传感器6套,采用Crossbow公司的Moteview监控软件。

以太网的连接试验主要是针对网关连接、网关接收汇聚节点数据以及远程数据传输进行测试。网关连接测试是验证网关嵌入式Linux操作系统、CS8900网卡初始化和驱动程序的运行正常与否,以及网关与监测中心能否通过以太网进行正常的网络连接。试验证明,网关系统能够实时采集WSN节点数据,并通过以太网远程传输到监控中心,系统运行稳定可靠。

GPRS数据传输可靠性可以由误码率和丢包率来衡量。为了节省网络带宽,该实验以丢包率作为分析的主要依据。由于GPRS传输延迟的不确定性,数据传输的可靠性与数据包的发送时间间隔相关,间隔时间越大,数据传输的可靠性就会降低。由于茶园旱情监测对数据传输的实时性没有过高的要求,因此,网关GPRS远程传输采用TCP方式,间隔时间选为5 s。

存储器

5  结  语

针对目前无线传感器网络的应用特点及发展趋势,结合现今网络技术、嵌入式系统技术的发展,设计采用嵌入式系统平台实现多种远程数据传输技术的WSN网关,用于茶园旱情监测系统。网关通过串行口与汇聚节点通信,可以通过以太网或GPRS两种可选方式监测数据发到远程监控中心。开发了功能完善的WSN网关应用软件,在实际应用中取得了良好的效果。随着3G时代的到来以及工业级3G通信模块的推出,如何利用网关系统实现WSN与3G的互联是今后拟研究解决的问题。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分