文献标识码: A
文章编号: 0258-7998(2013)12-0086-04
传统的农业监测系统往往采用有线组网技术。但由于农业现代化迅速发展以及采集节点数目大幅增加,所以布线的难度和成本也不断地增加[1]。随着农业物联网概念的深入,GPRS无线通信技术开始快速发展,它有着通信距离远的优势,但成本也相对较高。与此同时,ZigBee无线通信技术也开始在畜牧业、种植业等领域有了广泛的应用。该通信方式性能稳定,技术成熟,最重要的一点就是成本较低,符合中国农业的可持续发展。系统采用了太阳能电池优先供电的方案,这很大程度地解决了一些场合没有市电可供的问题,同时也利用了清洁能源。另外该设计采用了TI公司的超低功耗单片机MSP430,进一步降低了系统功耗。
本文给出了一种基于ZigBee的农业物联网监测系统方案。每个采集器可同时采集多达8路传感器信号,且通过RS232串口便可进行本地配置。多个采集器节点可进行mesh组网,能够实时与中央服务器之间进行数据交互。在种植业的应用中,系统共设有5种传感器,分别是测量CO2浓度值、土壤水分、光照强度、空气温湿度和土壤温度,最终实现了对大棚环境的ZigBee无线智能监测。
1 系统结构与基本原理
监测系统总体框架设计如图1所示,系统主要由采集器和中央服务器组成。每个采集器主要由电源管理模块、传感器、信号调理和采集电路、MSP430单片机、ZigBee模块、RS232串口模块等组成,用于采集并发送各路传感器信号。中央服务器则拥有平台软件和ZigBee协调器,用于接收和保存数据、配置参数、保存报警信息等。
传感器上电,当采集等待时间结束时,对多路传感器进行信号采集,即信号经过调理后,模拟传感器信号通过AD7689进行模数转换,数字传感器信号通过单总线方式进行采集。采集完毕后,使传感器断电。单片机对数据进行转化和处理后,最终由ZigBee模块(设置成终端设备)通过天线将数据发送至中央服务器。中央服务器配置参数时由ZigBee协调器发出命令,采集器上的ZigBee模块经天线接收到要配置的参数,即实现了远程配置功能。本地配置时通过RS232串口对每个采集器节点进行具体的参数配置即可。采集器的总体框图如图2所示。
2 硬件设计与实现
2.1 电源管理设计
电源管理框图如图3所示,太阳能电池和市电均可充当采集器的电源。12 V~24 V的主电压输入经LT8610电源芯片转化得到3.7 V,再经过LT1962线性稳压芯片转化得到3.3 V电压。主电压又经另一路LT8610电源芯片转化为5.8 V,再经过LM2941线性稳压芯片转化得到5.3 V电压。3.3 V电压主要给单片机和放大器供电,5.3 V电压主要给传感器供电。通过对LT8610电源芯片的使能管脚的开断控制,就可以实现对稳压芯片LM2941进行开断的控制,从而实现对传感器的供电开断控制。
2.2 信号调理电路设计
模拟信号调理电路如图4所示,4路传感器输出信号范围都在0~5 V以内,由于A/D采样基准为2.5 V,因此传感器输出信号需通过调理电路处理,使其输出为其输入的一半。
数字信号调理电路如图5所示。4路信号输出为单总线信号,电阻R118与电容C64起滤波作用。当传感器输出线路拉得较远时,上拉电阻R117可以减小由线路造成的压降。电阻R212起到限流作用,保护处理器,钳位管D11把输入到处理器的信号幅值钳住在-0.3 V~+3.6 V之间,保护处理器。
2.3 ZigBee模块接口设计
ZigBee模块接口电路如图6所示,RXD、TXD与单片机的UART相连,RESET1置低电平至少200 ns可让ZigBee模块复位重启。当该模块配置为周期管脚休眠模式时, 给Module_
Sleep一个下降沿电平可唤醒该模块。当ON/SLEEP输出高电平时,则表示模块已被唤醒。ASSOC可表示设备的网络状态,若模块没有连接网络,则ASSOC电平输出高电平。一旦模块成功连接上网络,ASSOC以一定规则的时间间隔进行电平翻转。
3 软件设计与实现
3.1 系统流程简介
系统分为两种工作模式。(1)低功耗模式,即在传感器采集结束后马上关断传感器,此模式应用于太阳能供电的场合。(2)连续工作模式,即在整个采集周期里不关断传感器,此模式应用于市电供电的场合。系统流程图如图7所示,系统初始化完成后进行系统自检。自检内容包括3.3 V、5 V、电池电压自检,以及外部RTC、外部EEPROM的自检。如果自检后有故障,则报警灯将闪烁,并将报警码存储到外部EEPROM中,然后让所有传感器上电。当采集等待时间结束时,给外部ADC上电,对模拟传感器和电池电压进行采样。采样结束让ADC断电,再通过单总线方式对数字传感器进行信号采集。采集结束后,如果系统处于低功耗模式,则关断传感器,然后读取当前实时时间,发送采集数据包至中央服务器,等待下个采集周期到来。一旦采集周期到,先判断传感器是否关断,如果仍是开启状态,则再次对传感器进行信号采集,否则,就重新让所有传感器上电,紧接着开启下一个新的循环。
3.2 ZigBee模块的软件设计
ZigBee模块采用美国DIGI公司的XBee Pro S2B,通过X-CTU软件可配置该模块的具体参数,如波特率、局域网ID、休眠模式等[3]。把一个ZigBee模块配置为终端设备,应用于采集器中。然后把另一个ZigBee模块配置为协调器,应用于中央服务器中。为了适用低功耗场合,系统将ZigBee模块终端设备配置成周期和管脚休眠模式。协调器的休眠时间SP配置成5 s。终端设备的休眠时间SP也配置为5 s,休眠前时间ST配置为1 s。
采集器上的ZigBee模块通过UART与单片机相连。在模块初始化过程中,读取信道、局域网ID、别名、信号强度、读取和设置休眠模式、休眠时间、休眠前时间。初始化完成后,发送设备注册包,用于节点地址、MAC地址、网络地址的绑定,因为网络地址会因某些情况发生变化,且节点地址比MAC地址更容易记忆。数据的接收和发送均采用串口中断,同时使用该模块的API通信方式。当传感器采集完毕后,ZigBee模块即刻发送一个数据包,数据信息包括节点地址、系统状态、上传时间、各路传感器的类型和开关情况,以及各路传感器采集值,电池电量和信号强度。数据总长度达97 B。当连续10次发送数据无回应时,ZigBee模块将重启,并置网络异常标志。一旦ZigBee模块接收到回应后,就会清除该异常标志。
3.3 信号采集和处理模块的软件设计
4路模拟信号通过AD7689采样,将实际电压值(采样值的2倍)直接上传至中央服务器,由平台软件将其转化成浓度值。4路数字信号则通过单总线方式读取到空气温湿度值[2]和土壤温度值。
采集过程大致如下:在采集传感器信号时,打开AD7689电源,并延时100 ms,接着对各路模拟信号分别进行8次采样,每次采样间隔为10 ms,排除最大值和最小值,再求平均得到最终采样值。采样完毕,关闭AD7689电源。在对数字信号采集前,先关闭全局中断,采集完毕后,开启全局中断,原因是单总线通信对时序的要求非常严格。本系统对各路数字传感器分别进行连续2次采集,以保证数据的准确性。
3.4 远程配置与本地配置的软件设计
中央服务器通过平台软件可发出一系列命令对每个采集器节点进行远程配置。平台软件会维护一个数据库。当采集器初始化完成后,会主动发出注册包,这时每个采集器节点的MAC地址、网络地址、节点地址都将绑定在一起。因此平台软件在收到这个注册包后,便可对每个采集器节点进行远程配置,如读取和设置采集周期、采集等待时间、系统时间、系统工作模式等。
通过RS232串口可对采集器进行本地配置。串口波特率设定为9 600 B。本地配置采用MODBUS协议[4] 的RTU通信方式,实现了一系列的功能,如读取和清空报警信息、读取和设置仪器序列号、读取软件版本号、电池电量和信号强度,读取和设置采集周期和采集等待时间、系统时间、传感器配置信息、系统工作模式、节点地址和ZigBee模块的波特率等。
4 系统测试与总结
4.1 功耗测试
本次测试在接有5种传感器的种植业环境下进行,同时系统运行在低功耗模式下, 采集周期默认设置为10 min,采集等待时间设置为4 min,剩余6 min传感器处于关闭状态。最终功耗记录如表1所示。
假定电池工作效率为0.9,则本系统可工作11天左右,符合预期要求。
4.2 通信距离测试
通过按键可将运行灯和报警灯转换成网络信号强度指示灯。网络强度高的情况下,两盏灯常亮;网络强度中等的情况下,两盏灯均2 s闪烁1 s,网络强度弱的情况下,两盏灯均5 s闪烁1 s。经过测试,在比较理想的条件下,最大通信距离可到达500 m。
4.3 组网测试
8台采集器进行组网,系统运行正常。中央服务器既可正常接收每个节点的数据,也可正常进行远程配置,且丢包率极低。
本系统实现了低功耗的要求,即在太阳能电池供电的情况下采集器能够保证正常工作7天以上。通信距离也符合实际需求。中央服务器可远程地对各个采集器节点进行参数配置,如配置采集周期和采集等待时间,为该系统增加了灵活性和实用性。ZigBee组成的mesh网络拥有健壮性好、结构灵活等优点。总之本方案为农业物联网的无线监测提供了一个很好的范例。
参考文献
[1] 韩华峰, 杜克明, 孙忠富,等.基于ZigBee网络的温室环境远程监控系统设计与应用[J]. 农业工程学报, 2009,
25(7):158-163.
[2] 辛颖, 谢光忠, 蒋亚东. 基于ZigBee协议的温度湿度无线传感器网络[J]. 传感器与微系统, 2006,25(7):82-84.
[3] Digi International,Inc.XBee/XBee-PRO ZB RF Modules[z].2010-11.
[4] PEFHANY S. MODBUS Protocol[EB/OL].[2013-07-18]. http://www.modicon.com/techpubs/toc7.html.