基于ZigBee的区域环境质量监测系统

2015-07-21 09:31路佳宣王培锦王荐钧孙宇航
物联网技术 2015年7期
关键词:无线传感网络传感器

路佳宣+王培锦+王荐钧+孙宇航

摘 要:基于ZigBee技术设计了一个环境质量监测系统,以实现小范围内环境信息等参数的采集和推送。系统首先利用各种传感器采集温度、湿度、PM2.5等环境参数,然后由各终端节点通过2.4 G无线网络发送到中央协调器,协调器再将数据封装汇总,并通过USB串口传送到上位机。最后,上位机再通过一个友好的发送界面将收集到的信息通过互联网推送给需要的手机用户。这样不仅实现了通过Internet传递到所有注册的用户手机,同时还实现了低成本、大用户量的信息传递。

关键词:ZigBee;传感器;无线传感网络;环境实时监测

中图分类号:TP212 文献标识码:A 文章编号:2095-1302(2015)07-00-04

0 引 言

我国的空气质量监测以往以市为单位进行评估测量,但在一些城市内,高度污染区往往集中出现在一些小范围内,如一些工厂聚集区等,而在另一些地方则明显低于城市平均水平。鉴于国外发达国家,如美国将空气质量监测点位类型分为6类:区域内污染物最大浓度点位、高人口密度区典型浓度监测点位、污染源监控点、背景浓度点、污染物输送监控点、生态影响监控点位,可见其涉及的是较小范围内的空气质量检测,这将使得监测更精确和人性化。为此,本项目采用ZigBee技术对小范围(如校园、居民区等)的PM2.5、温湿度等空气质量指数进行实时监测,方便人们了解所处环境的空气质量,使生活更加智慧、舒适和健康。

1 系统设计

本项目主要以ZigBee无线发送模块为依托,结合无线传感器网络技术,采用星型网络拓扑结构,系统由一个协调器和多个终端节点组成。节点采用模块化的设计思想,主要包括微处理器模块、无线射频模块、数据采集模块和电源模块。终端节点通过各种传感器测量环境数据,对采集到的数据信息进行处理,并通过无线收发芯片发送给协调器。协调器的主要功能是组建网络和加入节点,并将传感器节点发送的数据通过串口发送给PC机,从而进行实时监测。系统的总体设计图如图1所示。

图1 系统总体设计框图

1.1 终端节点

终端节点主要由信号传感器电路、A/D 转换电路、CC2530微处理器和射频电路组成,如图2所示。传感器电路实现环境参数的提取, A/D 转换电路负责将数据转换成微处理器可接收的数字信号,CC2530微处理器按照时序读取传感器电路中的数据,最后各终端节点定时将传感器采集的信息以无线数据包的形式通过2.4 GHz天线发射给协调器节点。

终端节点的数据采集主要通过各种传感器来完成,同时将采集到的数据进行相应处理。控制芯片CC2530根据各种传感器的时序和使用方法来读取采集的信号。传感器分为模拟传感器和数字传感器,采集的信号分别为模拟信号和数字信号。模拟传感器发出的是连续信号,用电压、电流、电阻等表示被测参数的大小。数字传感器是指将被测量的非电学量转换成数字输出信号的传感器。

对温湿度参数的采集选择DHT11传感器。这种传感器较一般湿度传感器有显著优势:灵敏度高、功耗低,便于实现小型化、集成化。对DHT11的数据采集通过P1_1管脚按时序来读取数字信号,DHT11每隔4 ms左右发出一次单总线数据,每次共40位数据,高位在前,低位在后。然后控制芯片按照单总线格式发送命令和读取数据即可。对PM2.5的监测采用夏普原装GP2Y1010AU0F颗粒灰尘传感器,它属于光学传感器,由一个红外发光二极管和光电晶体管,对角布置成允许其检测到空气中的灰尘反射光。

1.2 ZigBee协调器

ZigBee协调器节点作为无线传感器网络的中心节点,协调器节点的主要任务是组建 ZigBee 网络、允许终端节点加入网络、绑定终端节点、对各个终端节点传送来的数据进行封装汇总,并通过串口传输给上位机进行分析处理,如图2所示。

图2 ZigBee终端节点和协调器节点

1.3 无线通信网络的构成

根据802.15.4协议进行ZigBee组网,小范围环境监测所需的终端节点较少,采用星型拓扑结构即可;而当所需传感器终端节点较多时,网络中可以视情况配置相应的路由器。路由器节点一方面作为终端采集环境信息,另一方面也可作为通信中继,将远端节点的数据发送至协调器节点。协调器采用持续电源供电,传感器终端节点采用电池供电,所有的终端节点之间均不通信,终端节点只与协调器节点通信。

协调器节点启动后,应用层(APL层)发送请求原语给网络层(NWK层)开始建立网络。然后,MAC 层接收到网络层(NWK 层)的请求和命令后,将发送对应的原语给物理层(PHY 层),将对默认和要求信道进行能量检测扫描。信道扫描完成后,网络层管理实体将接收到能量扫描的结果,并选出满足能力水平的信道。之后,协调器管理实体将会检查PAN标识符,并且查找最小编号的信道,即为新建网络的最优信道。如果找到合适的信道,网络层管理实体则会为新建网络选择一个唯一的PAN标识符,表明已经成功建立网络;否则,网络层管理实体将终止建网过程,并通过原语向应用层发送建网失败信息。成功建网的协调器,如果发现其他设备扫描信道就会响应并声明它的存在,从而可以保证每个网络PAN ID的唯一性,也有利于路由器和终端加入网络。PAN_ID是一个用来标识网络唯一性和存在性的16位标识符,范围从0x0000-0xffff。每个网络都具有唯一的PAN ID,也对应一个唯一的传输信道。Z_Stack协议栈通过配置fSwConfig.cfg文件中DZDAPP_CONFIG_PAN_ID的值来配置网络的PAN ID。如果DZDAPP_ CONFIG_PAN_ID设置为0xffff,则协调器建立网络时会随机生成一个PAN ID;如果DZDAPP_ CONFIG_PAN_ID不是设置为0xffff,则协调器建立网络时的 PAN ID 由 DZDAPP_ CONFIG_PAN_ID 指定。协调器建立网络流程图如图3所示。协调器节点先进行信道能量监测、信道扫描,然后选择信道、PAN_ID和网络地址,然后建立网络。

成功建立并组建起传感器网络后,协调器进入轮询状态。在协调器建立网络之后,其他普通节点想要加入网络,就会使用 NLME_NETWORK_ DISCOVERY.request 原语来检测在特定的信道上是否有协调器,一旦发现在特定的信道上有协调器,它会开始发送加入网络的请求。当协调器接到节点加入网络的请求,并确认信息正确后,就会允许节点加入网络。在一个节点加入网络后,它就与允许让它加入网络的设备之间形成一个父子关系,新设备为子设备,而允许让其加入的设备为父设备。星型网络中协调器就是父设备,终端节点就是子设备。一个节点加入网络后,父设备会发送给子设备一个 16 位的短地址以及整个网络的其他一些网络描述参数。节点加入网络的握手示意图如图4所示。

图3 协调器建立网络流程图 图4 节点加入网络握手示意图

2 软件系统

本系统采用一种简单的策略,即一个终端节点设备在第一次被激活后,首先广播查询网络协调器的请求,如果接收到回应说明网络中已经存在网络协调器,再通过一系列认证过程,设备就成为了这个网络中的普通设备。如果没有收到回应,或者认证过程不成功,这个终端节点设备就可以建立自己的网络,并且成为这个网络的网络协调器。图5和图6分别描述了ZigBee网络中终端节点和协调器节点的软件运行流程图。

图5 终端节点软件实现流程图

终端传感器节点成功加入网络以后,每隔一定的周期采集、读取周围环境温度、湿度值以及灰尘浓度值,并且把数据打包后传输给协调器。当协调器接收到终端节点发送的数据信息后,将会进入到相应的接收数据处理函数。协调器将对接收到的数据进行解析,来提取有用信息。协调器的PHY层、MAC层以及NWK层均会将接收的数据除去同步头指针和本层协议头指针后将数据上传给上一层,最终将数据传递到APL层。由于在协议栈中已经将相应的接收函数进行了封装,在使用时只需调用接收函数,读取数据即可。

图6 协调器节点软件实现流程图

3 管理中心用户界面的建立

在本项目中整个系统的最后环节是上位监测系统的设计,也是最重要的部分。通过上位监测系统实现了数据采集与 PC 机的连接,将传感器采集到的数据最终汇集到后台数据库进行存储,实现对监测对象的监测管理和数据的实时传输、分析、处理等功能,并在后台计算机的用户界面上将最终处理的结果以图形的形式显示出来, 实时反映被测区域的环境质量变化,为用户提供第一手环境资料。

在本项目中,我们选择了Microsoft Visual VC++6.0作为监控软件的开发平台,通过基于Windows操作系统的可视化编程实现用户界面的建立,该环境监控界面包括串口通信功能、数据库查询功能以及动态图表的显示功能。

ZigBee协调器将环境参数数据通过通信线传送到计算机的COM口,计算机再通过环境监测系统的串口通信程序将数据接收上来,并在该串口通信程序中利用ADO数据库接口技术将数据存放到Access数据库中。数据库能将本系统所采集的各种环境数据进行保存,供以后查询、检索等使用。

3.1 串口通信的实现—MSComm控件

串口通信程序是在VC++6.0的环境下利用ActiveX控件MSComm实现的。MSComm 控件是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,通过串行端口传输和接收数据,为应用程序提供串行通讯功能。具体来说,它提供了两种处理通信问题的方法:一是事件驱动方法,一是查询方法。

本项目采用MSComm控件的事件驱动方式进行通信处理。事件驱动通讯是处理串行端口信息交互的一种非常有效的方法,因为在很多情况下用户希望每个事件发生后都会产生一个触发事件。例如,在串口接收缓冲区中有字符时,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。然后通过设置并返回波特率、奇偶校验、数据位、停止位,从串口正确接收要存储的数据。

3.2 数据库—ADO数据库接口技术

ADO(ActiveX Data Objects)是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。它是Microsoft为最新和最强的数据访问范例OLE DB而设计的,是一个基于组件的数据库编程接口,它是一个和编程语言无关的COM组件系统。其主要特点是易于使用、速度快、内存支出少和磁盘遗迹小,同时又减少了ODBC、DAO中必需的、繁琐的数据源驱动的建立过程。利用 ADO对象以及ADO的附加组件(称为Microsoft ADO Extensions for DLL and Security(ADOX))来创建或修改表和查询、检验数据库,或者访问外部数据源。还可在代码中使用ADO来操作数据库中的数据。

在项目中,我们使用了Access数据库,分别为每个传感器节点创建对应的数据表,并利用ADO数据库接口技术建立与Access数据库的连接,将接收到的环境参数数据按照不同的节点,实时存放到Access数据库对应的数据表中。同时通过调用它的表,进行数据的写入和修改。

3.3 动态图表显示—Teechart控件

本项目使用Teechart控件来实现动态图表的显示功能。TeeChart Pro ActiveX是一个图表控件,适用于可识别ActiveX的编程环境,如:MicroSoftOffice,VB,VC++,ASP以及.NET 等等。该控件的结构和特征功能集是通过与客户多年的交互式开发建立起来的,所以说它是一个强大的图表控件,能够给用户提供极其高效、直观、节省时间的编程接口。TeeChart Pro ActiveX控件能够在多种编程环境中提供大量的返回信息。

4 系统整体测试

本项目目前在实验室测试情况良好,可以应用于室内和室外环境的监控,而且在实验室测试中,PM2.5值以及温湿度条件发生变化时在计算机的监控界面上可以明显地观测出当前节点数据的变化。所以本项目成果在基本的环境条件下可以完成环境参数的监控功能,并且能够很方便地对存储环境信息的数据库进行查询,操作界面简单、清晰,功能强大。图7为实验室监测系统的运行图。

图7 监测系统整体运行图

5 结 语

本项目建立了一个基于ZigBee技术的环境质量监测系统,可以实时地向上位机的环境监测软件传送环境参数信息(温度、湿度、PM2.5值等),使得用户可以方便查询周围的环境信息。完成了PM2.5的监测,使人们能够通过数据直观地了解到雾霾天气的情况,以便在雾霾天气做好相应的防护措施,合理安排健身时间,健康绿色的生活;实现了数据融合,将多种环境参数进行统一处理,汇总在一个数据包中进行发送和接收;用户界面合理友好、功能强大。用户可以方便快捷地对环境质量信息进行监测和查询。而且该环境监测系统的扩展性和移植性很强。系统构建简单,站点扩充容易,而且只需很小的改动便可以很好的应用于其他需要对环境进行监控的领域,实现信息的实时监控功能,方便人们的工作和生活,有较为广泛的用途。

参考文献

[1]于海斌,曾鹏.智能无线传感器网络系统[M].北京:科学出版社,2006.

[2]陈莉.基于ZigBee协议的环境监测无线传感网络测量节点的设计[D].上海:上海交通大学,2008.

[3]李学威.基于物联网的环境监测系统研究——以新乡市废水与废气监测为例[D]. 新乡:河南师范大学,2012.

[4] Matthias Kranz, Paul Holleis, Albrecht Schmidt. Embedded Interaction: interacting with the Internet of Things[J]. IEEE Internet Computing, 2010, 14(2): 46-53.

[5]杨新兴,冯丽华.大气颗粒物PM2.5及其危害[J]. 前沿科学, 2012,6(1):22-31.

[6]郭昌飞.基于ZigBee的无线传感器组网技术研究与应用[D].北京:北京信息科技大学, 2013.

[7]唐宏,谢静,鲁玉芳,等.无线传感器网络原理与应用[M]. 北京: 人民邮电出版社,2010.

[8] Wei Xu, Qi Yin. Research on Some Key Techniques of Wireless Sensor Network [J]. Recent Advances in Computer Science and Information Engineering, 2012, 127(4):255-260.

[9]潘恒曦, 辛旺, 范蟠果. ZigBee在无线传感器网络中的应用[J]. 机械与电子, 2010,7 (1): 245-248.

[10] Huang Yueh-Min, Hsieh Meng-Yen, Frode Eika Sandnes. Wireless Sensor Networks and Applications. Sensors[M]. Berlin: Springer Berlin Heidelberg, 2008.

[11] Wang Dan, Liu Jiangchuan,Wang Feng. Traffic-Aware Relay Node Deployment for Data Collection in Wireless Sensor Networks[C]. Sensor, Mesh and Ad Hoc Communications and Networks, 2009. SECON09. 6th Annual IEEE Communications Society Conference. Rome: IEEE, 2009: 1-9.

[12]王蕴喆.基于CC2530的办公环境监测系统[D]. 长春:吉林大学,2012.

[13] Chipcon. The Data Sheet of CC2530[EB/OL]. http://www.chipcon. Com

[14]苏晓书. 环境参数采集模块在核仪器中的嵌入式设计[J].核电子学与探测技术, 2011, 31(3):335-337.

猜你喜欢
无线传感网络传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
试论无线传感网络动态休眠通信协议