基于太阳能光伏的无线户外环境监测系统设计
2018-01-05陈章龙李红飞
陈章龙,马 俊,李红飞
(青海师范大学 计算机学院,西宁 810008)
基于太阳能光伏的无线户外环境监测系统设计
陈章龙,马 俊,李红飞
(青海师范大学 计算机学院,西宁 810008)
设计了一种采用太阳能供电模式的无线户外环境监测系统;该系统由终端节点,ZigBee-GSM网关和上位机数据存储中心组成,集成ZigBee和GSM无线通信,根据用户发送的短信指令控制终端节点数据采集的通断,同时用户发送短信指令远程查询户外环境的重要信息;针对户外环境因子的特点,选用工业级、灵敏度高的传感器,对户外不同位置的PM2.5浓度和紫外线指数进行测量,测量结果既可在上位机实时显示和存储,也可以由ZigBee-GSM网关通过SIM900A模块发送至移动终端;户外测试结果表明,该系统运行稳定,数据传输可靠,能快速地实现远程遥测功能,为户外环境远程监测提供了一种技术手段。
CC2530;SIM900A;无线传感器网络;远程遥测
0 引言
近年来,雾霾频发,臭氧层的破坏程度日益加剧,PM2.5和紫外线所造成的污染,是继噪声等污染之后的两种新的环境污染源,当前正在威胁着人们的健康。PM2.5在大气中停留时间长、输送距离远,富含大量有毒物质,且能进入人体的肺泡、血液系统中[1];过强的紫外线,是引起皮肤癌、白内障的主要原因之一,这两种污染源都对人体健康有很大影响。由于PM2.5粒径小和紫外线的波长处于100 nm到400 nm,人们不仅看不见这两种污染源,而且也无法用肉眼辨别出PM2.5的浓度以及紫外线强度的大小,因此,远程实时地查询PM2.5浓度以及紫外线强度指数的大小对提高生活质量,保障人们的户外活动安全,都有着重要的意义。
本文将ZigBee和GSM技术相结合,设计一种控制简单,查询便捷的无线户外PM2.5浓度和紫外线指数实时监测系统,系统融合ZigBee无线传感器网络与GSM网络,根据实际监测的需求,ZigBee网络采用星型拓扑结构,由一个中心节点和多个终端节点组成。终端节点负责采集PM2.5浓度和紫外线指数的数据信息,并通过ZigBee网络把采集的数据信息发送到中心节点,中心节点通过USB通信方式将数据传送到上位机进行显示和存储,并且通过GSM模块接收用户的控制和查询命令,将数据以短信形式发送至远端手机,实现对户外不同位置环境信息的远程查询和本地存储。
1 系统结构的整体设计
系统由终端节点,ZigBee-GSM网关和上位机数据存储中心3部分组成。其系统结构如图1所示。分布于监测区的终端节点和协调器节点间通过自主组网[2],形成ZigBee无线传感器网络。ZigBee终端节点由PM2.5传感器、紫外线传感器、ZigBee通信模块和电源管理模块组成,PM2.5传感器负责实时采集户外PM2.5浓度的数据信息,也接收主控制器提供的输入脉冲,紫外线传感器负责实时采集户外紫外线强度的数据信息,然后再由ZigBee通信模块通过无线方式发送给协调器节点,终端节点也接收协调器节点下发的控制命令。协调器节点汇集接收分散在不同位置的终端节点发来的数据信息,通过串口0转USB接口把收到的数据传送到上位机进行显示和存储。上位机将协调器节点发来的数据信息以图表形式在由LabVIEW开发的界面中显示,同时将数据存储以便查询。通过协调器和SIM900A之间的串口通信来实现两种网络互联的ZigBee-GSM网关,负责接收短信指令并将所查询的数据反馈给SIM900A通信模块,由SIM900A模块将此数据信息以短信方式发送到用户手机,用户可以随时随地查询户外环境信息。
图1 系统结构框图
2 系统硬件设计
2.1 ZigBee终端节点设计
ZigBee终端节点主要由数据测量单元、主控制器、数据传输单元和电源管理模块四部分组成,数据测量单元包括PM2.5传感器模块和紫外线传感器模块两部分。主控制器和数据传输单元通过继电器电路与数据测量单元的电源管理模块连接,当数据传输单元接收到协调器节点发送过来的open命令时,主控制器通过程序打开继电器,使数据测量单元被供电进入工作状态。当数据传输单元接收到协调器节点发来的停止采集命令时,主控制器关闭继电器,断开数据测量单元的电源供应,使数据测量单元停止工作,实现了远程对户外环境监测的控制。
2.1.1 PM2.5传感器模块
该模块选用模拟式传感器GP2Y1014AU0F,利用光敏原理来工作,内部的光电晶体管能够感应粉尘的散射光并输出相应的电信号[3],传感器内置有信号调理电路。该传感器与主控制器的接口电路如图2所示,图2中P1.2引脚经过偏置电阻R5后,利用NPN晶体管Q1驱动传感器;传感器的输出5脚通过三个阻值分别为0.7 k 、1 k 和3.3 k 的平衡电阻所起的分压作用,实现主控制器和本模块的电平匹配。主控制器的P1.2引脚用作定时器1的通道0,工作在比较模式,并且设置为输出方式,P1.2引脚作为给传感器提供启动脉冲的输出脚,通过定时器1的比较通道0输出周期为10 ms,高电平脉宽为0.32ms的周期性矩形脉冲,为传感器提供输入信号,利用定时器3自由运行模式实现定时9.95 ms,通过定时器3中断服务程序启动片内的ADC进行采样,由ADC第5个通道输入的模拟信号通过片内的12位A/D转换器转换结束后,使用DMA传送,读取数据,得到数字量,再结合标度变换公式计算出对应的粉尘浓度值。
图2 PM2.5传感器与主控制器接口电路
2.1.2 紫外线传感器模块
本模块采用只对紫外线敏感的模拟式传感器GUVA-S12GD测量户外的紫外线强度,探测响应的波长范围为240 nm到370 nm[4],涵盖对人体有危害的波段,该传感器利用光电效应原理,在太阳光照射下传感器产生的微弱光电流,不仅与紫外线强度呈线性变化,而且与世界卫生组织分级标准的紫外线指数呈线性变化,产生的微弱光电流经过信号调理电路,输出对应紫外线指数的线性电压,再输入到主控制器的模拟口,经过内置的A/D转换电路转换成数字量,进行标度变换。在信号调理电路设计过程中采取微弱光电流经过RC积分网络放大后,再经过一个电阻R8输出,利用三个阻值分别为0.7 k、1 k 和3.3 k 的平衡电阻所起的分压作用,实现主控制器和传感器模块的电平匹配后,送入主控制器的P0.0模拟口进行A/D采集。信号调理电路如图3所示。
图3 信号调理电路
2.1.3 主控制器
ZigBee终端节点主控制器选用ZigBee硬件开发平台CC2530射频模块,主控芯片CC2530F256是TI公司推出的8位增强型高速8051内核微处理器,片内集成8通道12位A/D转换器,具有捕获/比较通道的定时器,2个串行通信接口USART0和USART1以及21个通用I/O引脚,运行温度范围为-40~125 ℃[5]。
2.1.4 数据传输单元
终端节点采用ZigBee双向无线通信技术传输数据,ZigBee是一种高可靠的无线传输协议,ZigBee网络传输模块类似于移动网络基站,传输距离近300米,并支持无限扩展[6]。终端节点硬件平台采用核心板与扩展底板结合的设计方式,核心板引出全部IO口,扩展底板使用CC2530最小系统未使用的GPIO口,在扩展底板上实现I2C总线接口,传感器接口等外部应用电路。数据传输单元的功能是负责上传节点编号、户外PM2.5浓度值和紫外线指数值的数据信息,同时接收协调器的控制命令。
2.1.5 电源管理模块
终端节点的电源管理模块主要由太阳能光伏模块、继电器电路模块、LM7805和MCP1700电压转换芯片组成。太阳能电源模块的输出电压为12 V,由于终端节点需要的是5 V和3.3 V电源,所以需要通过不同的电压转换芯片以满足不同模块的电压要求,12 V电压经过7805芯片转换后,能够为传感器模块和继电器模块提供5 V稳定电压。5 V电压通过MCP1700得到3.3 V电压以供主控制器使用。终端节点的电源分为两部分,中间选用继电器模块连接,从而可由主控芯片控制传感器采集通断。第一部分用电系统由继电器模块和CC230最小系统组成,该部分电源为常通状态,为该部分持续提供电源是为了时刻接收协调节点发送过来的控制命令,并由主控制器完成该命令指示的操作。第二部分用电系统由PM2.5传感器和紫外线传感器组成,该部分电源的通断受主控芯片控制。电源分为两部分实现了节能环保的目的。数据测量单元的电源控制原理如图4所示。
图4 数据测量单元的电源控制原理
2.2 网关设计
图5 ZigBee-GSM网关程序流程图
ZigBee-GSM网关由ZigBee协调器模块、SIM900A模块和电源管理模块组成。根据上位机在数据处理和存储能力方面强大的特点,结合户外环境多点分布式传感网络数据量大的需求,系统需要借助于上位机进行数据存储,协调器模块通过在串口0端增加PL2303芯片,以串口0转USB接口串行通信方式,实现与上位机进行有效通信,把终端节点采集的数据通过USB接口上传到上位机。同时,协调器模块通过串口1与SIM900A模块3.3 V的TTL串口交叉互连,在检测收到用户手机发来的查询与控制命令时,借助SIM900A,把户外环境的实时PM2.5浓度和紫外线指数的数据,以短信方式发送给移动终端。
3 系统软件设计
3.1 ZigBee-GSM网关软件设计
由ZigBee协调器和SIM900A模块构成的ZigBee-GSM网关节点,其核心控制芯片仍是CC2530,ZigBee-GSM网关的软件设计以Z-Stack协议栈为基础,通过在协调器节点的ZigBee协议栈的APP层添加模块化代码,实现无线通信与网络管理。如图5所示为ZigBee-GSM网关程序流程图。ZigBee-GSM网关软件设计分为2大部分:ZigBee协调器节点软件设计和SIM900A模块软件设计。
3.1.1 ZigBee协调器节点软件设计
协调器是本星型网络的中心,协调器节点上电后,从ZMain.c文件中的main()函数开始执行[7],进行协议栈及SIM900A等硬件初始化操作,网络层利用物理层提供的信道能量检测结果选择可用的信道,根据已固化的8字节MAC地址给协调器配置网络地址和网络ID来建立并启动网络。ZigBee网络建立后,终端节点发送加入网络的请求,协调器收到网络请求绑定信息后,作出响应,并将所分配的网络地址发送给终端节点。本系统设计3条短信命令,分别为open采集命令,close控制命令与inquire短信查询命令,利用标志变量flag的两种取值,将短信命令分为两大类,当协调器接收到close命令时,变量flag为0;当协调器收到open命令或者inquire命令时,变量flag为1。协调器始终处于监听状态,若协调器串口1传来open命令时,协调器将open命令以广播方式发送给所有的终端节点,等待一段时间,当接收到终端节点发过来的数据信息时,就会触发SYS_EVENT_MSG事件,并处理AF_INCOMING_MSG_CMD消息,调用函数MYApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )将无线数据包解包[8],得到传感数据和节点编号,同时把得到的数据通过串口0上传给上位机,但协调器此时并不将得到的数据转发给SIM900A模块。只有当串口1在传来open命令后,又传来inquire命令时,协调器就将此时得到的数据反馈给SIM900A模块,通过相关的AT指令控制SIM900A模块,由SIM900A将传感数据和节点编号以短信方式发送给用户。若串口1传来的是close命令,协调器将close命令以广播方式发送给所有的终端节点,由终端节点完成相应的控制功能。经过手机端多次发送和接收短信的时间测试,系统均在13秒内完成短消息处理。
3.1.2 SIM900A模块软件设计
图6 终端节点工作流程图
本模块软件设计采用模块化程序设计思想,在SIM900A.c和uart.c文件中定义SIM900A初始化等功能函数,Z-Stack协议栈的应用层移植模块化文件SIM900A.c和uart.c。MYApp工程目录中的MYApp.c和ZMain.c文件通过调用各功能函数,以实现串口初始化设置、短消息循环处理等功能。当协调器设备的网络状态发生改变时,调用定期触发事件函数,定期13s触发MYApp_MY_EVT事件,每隔13 s执行1次SIM900A.c文件中的短消息处理函数send(),从而实现协调器始终处于侦听状态,周期性地检测来自用户手机的3条短信命令。
3.2 终端节点软件设计
3.2.1 紫外线传感器的标度变换
根据传感器GUVA-S12GD的资料说明书[9],可得到传感器的输出电压值与紫外线指数的关系对照表,将传感器的输出电压值作为横坐标,紫外线指数作为纵坐标,对数据采用Matlab进行最小二乘法线性拟合处理,拟合结果图略。
3.2.2 终端节点主程序设计
终端节点的启动过程和协调器类似,但两者协议栈的编译选项不同[10]。本设计中终端节点加入网络后则是时时侦听信道,负责接收来自协调器下发的open采集命令和close控制命令,并执行命令,控制继电器的通断。当终端节点接收到open字符串时,就会打开继电器,接通传感器和信号调理电路的供电电源,启动传感器工作,等待1 s后,调用API函数Osal_start_timerEx(MYApp_TaskID, MYApp_SEND_PERIODIC_MSG_EVT,2000),通过PM2.5()和UV()函数每隔2s读取PM2.5浓度值和紫外线指数值,并将所读取的传感数据和节点编号一并打包后,通过点播函数MYApp_SendPointToPointMessage()内部的数据发送函数AF_DataRequest()将数据发送给协调器节点,若终端节点接收的是close字符串,就会关闭继电器,断开传感器和信号调理电路的电源供应,不再采集数据。终端节点工作流程图如图6所示。终端节点接收到协调器下发的open命令和close命令时,MYApp.c文件中与执行命令有关的代码如下给出:
void MYApp_MessageMSGCB(afIncomingMSGPacket_t *pkt)
{
switch(pkt->clusterId)
{
case MYApp_CLUSTERID: //读取协调器节点发来的簇ID
if(examine("open"))//终端节点检测接收到open字符串时,执行open命令的代码 {
P1DIR|=0x01;
P1_0=1; //打开继电器,接通供电电源
delay_1s();
Osal_start_timerEx(MYApp_TaskID,MYApp_SEND_PERIODIC_MSG_EVT,2000);
}
else if(examine("close"))//终端节点检测接收到close字符串时,执行close命令的代码
{
P1DIR|=0x01;
P1_0=0; //关闭继电器,断开电源供应
delay_1s();
}
break;
...
}
}
3.3 上位机数据存储中心
基于LabVIEW2012平台设计上位机数据存储中心,LabVIEW又称做图形化编程语言,对照其他常规编程语言,该语言使用图形方式编程[11],以“数据流”作为本语言的核心编程思想。本上位机界面分为三个终端界面,除了终端1界面多了串口通信子界面外,每个终端界面都包含有传感器数据显示子界面和文件保存子界面。通过运用输入输出控件,使用四种程序运行结构和调用库函数完成上位机的设计。
4 测试与分析
该系统在西宁人流密集的城中区中心广场进行了为期30 d的试验,各节点均采用光伏便携电源供电,电池板功率为25 W,锂电池总量为11 A,ZigBee-GSM网关部署在广场的中央花圃位置,三个终端节点分别部署在与中央花圃相连的三条人行道,ZigBee-GSM网关与三个终端节点距地面高度均为40 cm,对ZigBee网络的数据丢包率和有效通信距离进行测试和评估,以验证系统的性能指标满足实际应用要求。试验从2017年4月21日开始,上位机主界面监测的环境信息显示如图7,移动终端的远程遥测界面如图8所示。
图7 上位机主界面监测的环境信息显示图
图8 移动终端的远程遥测结果
4.1 ZigBee网络的数据丢包率测试
测试前,设置各终端节点和协调器节点的发射功率均为4 dBm,载波频率均选用与WiFi信道不重叠的2.405 GHz,测试过程中,于晴天在距协调器节点不同通信距离的人行道放置终端节点,选定的测试距离分别为160 m、180 m、200 m、220 m、240 m、260 m,在每个距离上,当各终端节点接收到open命令后,每2 s发送1个数据包,连续发送1 h,总共发送3 600个数据包,由于协调器节点接收到的数据包数量与上位机接收到记录数量相等,可根据上位机接收到的记录数量与3 600的比值,得出本通信距离的丢包率,试验测得节点1到节点3的数据丢包率与通信距离的关系如表1所示。
表1 数据丢包率与通信距离的关系
由表1测试结果可知,当通信距离在200 m范围内,各终端节点的丢包率均小于5%,当通信距离达220 m时,各终端节点的丢包率均超过了5%,当通信距离在240~260 m之间,各终端节点的丢包率大幅上升,呈指数增长的趋势,信号传输不稳定。结合浙江省无线局域网建设及服务规范数据丢包率不大于5%的要求,本系统ZigBee网络的最大有效通信距离范围为200~220 m之间,传感数据基本能被有效地传输,针对西宁大多数户外活动场所人行道的长度情况,最大有效通信距离能满足设计要求。
5 结论
通过太阳能光伏供电技术、ZigBee网络、GSM网络和LabVIEW虚拟仪器技术,以PM2.5传感器、紫外线传感器、CC2530各功能节点、SIM900A模块为硬件基础,设计了一种基于太阳能光伏的无线户外环境监测系统,具有监测点多、覆盖范围广和远程查询灵活等优点,实现了对户外环境信息的远程查询。在终端节点的电源管理设计中采用以CC2530为核心的继电器控制电路的设计方法,达到节能环保的目的。基于LabVIEW语言开发的上位机应用软件,实现了户外环境参数的存储处理功能。测试结果表明:用户能快速地对户外环境因子进行远程查询,系统运行效果良好,具有一定的推广应用价值。下一步工作是增加监测参数,为户外活动场所环境质量改善工作提供精细的数据支撑。
[1]常 青. 大气PM2.5与急性心肌梗死入院人数的时间序列研究[D]. 石家庄:河北医科大学,2014.
[2] 葛广英, 葛 青, 赵云龙. ZigBee原理、实践及综合应用[M]. 北京: 清华大学出版社,2015.9.
[3] 吴东东. 低功耗室内空气质量检测系统的设计与研究[D].上海:上海师范大学,2016.
[4] Genicom.Datasheet GUVA-S12SD[EB/OL]. [2017-2].http://www.geni-uv.com/chn/download/eng/UV-A_Sensor/GUVA-S12SD.pdf.
[5] Texas Instruments. CC2530F32, CC2530F64, CC2530F128, CC2530F256[EB/OL]. [2017-2]. http://www.ti.com.cn/cn/lit/ds/symlink/cc2530.pdf.
[6] 苏 倩. 基于ZigBee的多智能机器人无线通信系统的硬件平台研究 [D].西安:西安电子科技大学,2012.
[7] 孙 博. 无线传感器网络与Internet融合关键技术研究与应用 [D].成都:电子科技大学,2015.
[8] 王素青, 吴 超. 基于CC2530的环境监测系统的设计与实现[J]. 计算机测量与控制,2015,23(8):2650-2653.
[9] DFRobot.Datasheet GUVA-S12GD[EB/OL]. [2017-2]. http://wiki.dfrobot.com.cn/index.php/ (SKU:SEN016 2)_UV_Sensor.
[10] 武 一, 包春兰. 基于GSM和ZigBee技术的智能家居系统设计[J]. 河北工业大学学报,2014,43(1):15-18.
[11] 陈树学, 刘 萱. LabVIEW宝典[M]. 北京:电子工业出版社, 2016.5.
Design of Wireless Outdoor Environment Monitoring System Based on Solar Photovoltaic Power
Chen Zhanglong,Ma Jun,Li Hongfei
(College of Computer Science,QingHai Normal University,Xining 810008, China)
A wireless outdoor environment monitoring system that uses solar power mode is designed. The system consists of terminal nodes, ZigBee-GSM gateway and PC data storage center. It integrates ZigBee and GSM wireless communication technology. It can control the on-off of terminal node data acquisition, and be requested the important information of the outdoor environment remotely according to SMS command. Based on the traits of outdoor environment factors, the concentration of PM2.5 and ultraviolet index of different locations of outdoor areas are measured by the use of sensors of industrial-grade and high sensitivity. The measured results can be not only displayed and stored in the upper machine in real-time, but also it can be sent to the mobile terminal by SIM900A module of ZigBee-GSM gateway. The outdoor test results show that the system can run stably, data transmission is reliable, and it can realize the remote telemetry function fast. It provides a technical means for the remote monitoring of outdoor environment.
CC2530; SIM900A; wireless sensor networks; remote telemetry
2017-05-10;
2017-06-07。
国家自然科学基金项目(51167016);教育部春晖计划(Z2011019,Z2015062);青海师范大学成果转化项目。
陈章龙(1988-),男,广东茂名人,硕士研究生,主要从事电子信息技术方向的研究。
马 俊(1973-),男,青海民和人,教授,博士研究生导师,主要从事电子信息技术、无线电与智能系统方向的研究。
1671-4598(2017)12-0025-05
10.16526/j.cnki.11-4762/tp.2017.12.007
TP271
A