APP下载

基于ZigBee和以太网的远程环境监测系统*

2012-09-19黄召军张雍容万书芹虞致国陈子逢

电子与封装 2012年3期
关键词:发送给网关以太网

黄召军,张雍容,万书芹,虞致国,魏 斌,陈子逢

(中国电子科技集团公司第58研究所,江苏 无锡,214035)

1 引言

ZigBee技术是一种低速、低功耗、自组网的无线通信技术,该特性特别适合于那些数据通信量不大的数据采集系统,如环境监测系统[1]。因此近年来全国物联网技术飞速发展,ZigBee技术也被越来越多地应用到环境监测系统中。但是,ZigBee技术有其致命的缺点,即只能用于短距离传输。本文针对ZigBee技术的这一缺点,采用ZigBee技术结合以太网技术的方法,设计了基于ZigBee和以太网的远程环境监测系统,它可以将传感器采集的数据通过ZigBee网络发送给网关,网关通过以太网将数据发送到远程监控中心,用户在千里之外就可以监控和采集到其所要监测的环境参数。该系统充分结合了ZigBee技术和以太网技术的优点,使环境监测系统实现了远程传输的目的。

2 系统结构

基于ZigBee和以太网的远程环境监测系统由ZigBee采集网络、网关和远程监控中心三部分组成,系统结构如图1所示。

(1)ZigBee采集网络:ZigBee采集网络有两个功能:一是负责采集传感器数据,二是负责传输数据,即将环境监测系统中的传感器采集的数据通过ZigBee网络发送给网关。

(2)网关:网关负责实现ZigBee和以太网之间的通信,即要实现协议转化,将ZigBee协议数据转化成以太网协议数据和将以太网协议数据转化成ZigBee协议数据。

(3)远程监控中心:远程监控中心负责配置环境监测系统中传感器的采集参数、ZigBee网络参数等,存储并处理采集到的传感器数据。

图1 系统结构图

2.1 ZigBee采集网络设计

ZigBee采集网络主要由ZigBee网络节点组成,根据ZigBee协议规定,它主要分为三种节点:协调器节点、路由器节点和终端节点[1]。每个网络中仅有一个协调器节点,协调器节点负责组织和管理整个网络,允许其他节点加入网络。路由器节点负责多跳路由,允许其他设备加入网络和协助终端节点通信。终端节点没有维持网络结构的责任,它只需要负责通信,因此,它可以进入休眠状态,可以采用电池供电。路由器和终端节点上均连接有传感器,它们也称为传感器节点,只是路由器不仅负责采集传感器值,还负责路由其他节点的数据。

ZigBee采集网络要正常工作,仅靠ZigBee自组网是不行的,组网只是搭建了一个数据传输的通道,但通过通道的数据如何被识别和处理则是需要制定一个规则的,即定义数据包格式。节点在接收到数据包后,可以识别该数据包类型,并做相应的处理。ZigBee采集网络的数据包主要分为三种:节点自身信息、配置命令、传感器采集数据。

节点自身信息是各个节点在成功加入网络后,将自己的相关信息如节点类型(路由器节点、终端节点),MAC地址和网络地址发送给协调器,通过协调器转发给监控中心,监控中心将接收到的每个节点的信息都存入到相关的数据库中,在监控中心要配置每个采集节点的参数时,这些信息是非常有用的。节点自身信息数据包的格式如图2所示,各个部分的意义如下:

(1)DATA:标志头,表示该数据包类型为数据,即ZigBee各节点发送给协调器的数据。

(2)数据长度:表示整个数据包所占的字节数,该值在协调器提取该数据包时非常有用。

(3)数据类型:表示该数据包的类型,每种类型的数据包都有唯一一个值来表示其类型。

(4)节点类型:表示本节点的类型,即本节点是终端节点还是路由器节点,每个节点的类型是在设计该节点时由设计者指定的。

(5)MAC地址:本节点的MAC地址,MAC地址如同以太网的IP地址一样,要确保网络中每个节点的MAC地址的唯一性。

(6)短地址:短地址也叫网络地址,节点在加入网络后,网络会按照一定的算法给该节点分配一个网络地址,同一个网络中每个节点的网络地址也是唯一的。

图2 节点自身信息数据包格式

配置命令主要由监控中心发出,在ZigBee组网成功后,监控中心发出的配置命令通过协调器发送给ZigBee采集网络中各节点,各采集节点接收到配置命令后,配置自身参数。配置的参数包括:节点发射功率、选择采集节点中工作的传感器、传感器采集频率设置、传感器采集使能、终端节点休眠时间配置、休眠使能、启动传感器采集命令。ZigBee采集网络只有先配置了这些参数后才能正常启动。配置命令的数据包格式如图3所示,各个部分的意义如下:

(1)COMD:标志头,表示该数据包类型为配置命令,即监控中心通过协调器发送给ZigBee各节点的配置采集节点参数的命令。

(2)命令长度:表示整个数据包所占的字节数,该值在ZigBee各节点提取该数据包时非常有用。

(3)命令类型:该值用于表示该命令是用于配置何种参数,网络中需要通过配置命令配置的参数主要有:节点发射功率,选择采集节点中工作的传感器,传感器采集频率设置,传感器采集使能,终端节点休眠时间配置,休眠使能,启动传感器采集命令。每一个参数值都对应一个唯一的值,表示一种命令。

(4)数据:用于配合各个配置命令,如配置传感器采集频率,配置选择传感器,配置发射功率,配置休眠时间,该空间可用于放置采集频率值、所选择的传感器地址、发射功率值、休眠时间值。

图3 配置命令数据包格式

传感器采集数据的信息包是由传感器采集节点采集到传感器值后,发送给协调器,通过协调器转发给监控中心。ZigBee采集网络启动后,传感器采集节点按照配置的采集频率采集所选择的传感器值并发送给协调器。采集节点发送的传感器采集数据信息包如图4所示:

(1)DATA:标志头,表示该数据包类型为数据,即ZigBee各节点发送给协调器的数据。

(2)数据长度:表示整个数据包所占的字节数,该值在协调器提取该数据包时非常有用。

(3)数据类型:表示该数据包的类型,每种类型的数据包都有唯一一个值来表示其类型。

(4)MAC地址:本节点的MAC地址,因为MAC地址如同以太网的IP地址一样具有唯一性,所以采用MAC地址来标志该传感器数据包来自何种节点。

(5)数据:采集到的传感器数据的存储空间,大小为N个字节,N值的大小由工作的传感器个数来决定,数据格式为:M*(传感器地址+传感器值),M为所选择的传感器个数。

图4 传感器采集数据数据包格式

2.2 网关设计

uClinux操作系统是Linux系统的一个分支,它是针对没有MMU管理单元的微控制器而设计的Linux系统。uClinux继承了标准Linux的优良特性,具有内嵌网络协议、支持多种文件系统的特点,它带有一个完整的TCP/IP协议,同时还支持许多其他网络协议。uClinux对于嵌入式系统来说是一个网络完备的操作系统,因此,它广泛应用于嵌入式系统中,例如VPN路由器/防火墙、家用操作终端、协议转换器、IP电话、工业控制器、Internet摄像机、PDA设备等。

网关节点用于实现ZigBee协议和以太网协议的转化,在监控中心发送配置命令时,网关负责将以太网协议的数据转化为ZigBee协议的数据,然后通过ZigBee网络将配置命令发送给传感器采集节点。当节点加入网络后或者采集到数据后,发送数据给协调器,协调器通过网关将ZigBee协议的数据转化为以太网协议数据,然后通过以太网发送给远程监控中心。网关节点由Xilinx公司的XC3S500E Spartan-3E FPGA开发板作为硬件平台,在该平台上采用uClinux操作系统实现。网关的结构图如图5所示。网关通过UART接口与ZigBee采集网络交换数据,通过以太网接口与远程监控中心交换数据。

图5 网关结构

ZigBee采集网络通过串口与网关交换数据,数据格式与ZigBee采集网络中的数据格式相同,在此不再复述。而重点描述在以太网中的数据格式。

监控中心通过以太网发送给网关的数据格式如图6所示,各个数据字段的定义如下:

(1)标志头:标志头用STA来表示。

(2)命令长度:为整个数据包的实际长度。

(3)命令类型:表示该命令的类型,与配置命令中相应的命令类型的意义相同。

(4)数据:与配置命令中相应的数据的意义相同。

(5)结束标志:结束标志用END来表示。

图6 监控中心发送给网关的数据包格式

网关通过以太网发送给远程监控中心的数据格式如图7所示,各个数据字段的定义如下:

(1)标志头:标志头用STA来表示。

(2)数据长度:为整个数据包的实际长度。之所以称为数据,是因为网关发送给监控中心的都是节点自身信息或者传感器采集数据。

(3)数据类型:表示该数据包的类型,目前该数据包的类型只可能有两种:节点自身信息、传感器采集数据。

(4)有效数据:与配置命令中相应的数据的意义相同。对于节点自身信息,该部分对应:节点类型+MAC地址+短地址,对于传感器采集数据,该部分对应:MAC地址+M*(传感器地址+传感器数据),M为所选择的传感器个数。

(5)结束标志:结束标志用END来表示。

图7 网关发送给远程监控中心的数据格式

2.3 远程监控中心设计

远程监控中心主要用于控制和配置ZigBee采集网络,监测和处理各种传感器节点采集的数据。在系统初始化时,ZigBee采集网络中协调器首先建立网络,采集节点加入网络后,立即发送自身信息给远程监控中心,监控中心存储各个采集节点的数据(节点类型、MAC地址、短地址),监控中心开始配置ZigBee采集网络的参数。配置完毕后,启动采集系统,各个参考节点将采集到的传感器数据发送给远程监控中心,监控中心对数据进行存储和处理。监控中心只需要一台PC机,它的监控平台是我们设计的ZWSN无线数据采集平台软件,该软件采用VB开发,其主要功能结构如图8所示,描述如下:

(1)socket网络接口:以太网采用socket协议,采用服务器/客户机模式,监控中心为服务器端,它配置并连接网关,主要通过选择网关的IP地址和端口号来实现连接网关[2];

(2)网络节点配置系统:用于配置ZigBee采集网络的各个节点的参数,包括节点发射功率,低功耗参数,模拟通道传感器参数,数字通道传感器参数等,从而使系统能够正常工作;我们设计了节点配置数据库,以便存储对每个节点的配置参数,在需要时我们可以查询对每个节点的配置情况;

(3)采集数据存储系统:对于接收到的传感器数据,根据地址类型,存储到数据库中,并且存储时添加采集时间到数据库中,以备以后用户在需要时对数据进行查询等操作;

(4)数据查询系统:主要提供对已采集到的数据进行查询,由于我们使用的传感器分为数字传感器和模拟传感器,它们被存储到了不同的数据库中,所以我们在查询的时候,也就分为数字传感器数据查询和模拟传感器数据查询。查询的条件主要包括:按节点类型,按传感器值范围,按传感器数据采集时间和选择排序类型等,并且可以按照用户需求,任意组合这些查询条件以便快速准确地找到用户关心的数据。

(5)报表系统:报表的类型分为日报表和月报表,日报表用于对一天的采集数据产生一个报表,月报表用于统计每月的采集数据;该系统主要分为报表生成、报表查看和报表打印三个操作;

(6)实时曲线显示系统:主要提供对实时数据生成曲线趋势图,将实时数据、以曲线的形式显示出来,从而直观地观察所监测环境参数目前的发展趋势。

(7)帮助文件系统:该系统主要是调出工具使用参考说明书,以供查询用户需要了解的信息。

软件界面如图9所示,它主要由如下五大部分组成:

(1)命令菜单:命令菜单主要包括发送配置ZigBee采集网络的各个命令,查询网络中各节点的配置参数,查询采集数据库中数据,生成报表,查看软件的帮助信息和退出软件等功能。

(2)曲线界面操作区:该区有多个命令按钮,用于对实时曲线显示区进行操作,包括放大/缩小曲线显示区、打印曲线显示区、复制曲线显示区等等。

(3)实时曲线显示区:用于实时生成所要显示的传感器数据的趋势线。

(4)添加删除曲线区:该区域有的命令按钮用于向实时曲线显示区添加要显示的传感器,或者从实时曲线显示区中删除已经存在的传感器曲线。

(5)状态栏:主要用于显示软件的当前状态,如软件工作的当前日期、时间、软件所属公司等信息。

(6)网络节点查询区:该区用于查询ZigBee采集网络中的所有节点,用户可根据数据类型查询相应的节点。

3 系统测试

基于ZigBee和以太网的远程环境监测系统在所有部分都设计完毕后,连接系统进行测试。在ZigBee采集网络组网成功后,配置节点采集30000001工作,配置选择该节点上连接的三种传感器数据:温度、湿度和虚拟的ADC通道0采集的数据。设置采集频率为5s,系统运行后采集到的传感器曲线如图10所示。由图中我们可以看到,温度值为25℃,湿度为73,ADC采集值为122。经过测试,系统连续工作三天均未出现任何问题。

图8 监控中心软件功能结构

4 结束语

基于ZigBee和以太网的远程环境监测系统是一种嵌入式传感器数据采集系统,它结合了ZigBee技术和以太网技术,充分利用了ZigBee技术在数据采集方面的优势和以太网在长距离传输方面的优势,使该系统解决了一般的传感器数据采集系统不能实现长距离传输或者布线麻烦的问题。该系统主要分成三个部分:ZigBee采集网络、网关和远程监控中心,通过对这三个部分的精心设计,优化了部分参数,实现了一个采集系统的全部功能,测试结果表明,本系统工作良好,能够满足正常的数据采集需要。

图9 软件界面

图10 软件界面的测试结果

[1]董亚超.基于ZigBee技术的无线环境监测网络的开发[D].大连:大连理工大学,2008.

[2]高俊光,赵崇辉,施真芳.基于VB的Winsock控件的原理与应用[J].应用科技,2004,31(3):12.14.

猜你喜欢

发送给网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
信号系统网关设备的优化
谈实时以太网EtherCAT技术在变电站自动化中的应用
公告
LTE Small Cell网关及虚拟网关技术研究
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
关注微信,分享资讯,免费获取电子阅读卡
关注微信,分享资讯,免费获取电子阅读卡
我的录梦机