APP下载

基于WSN的油菜生长环境数据采集系统

2013-03-07李建辉廖桂平王访

关键词:油菜无线能量

李建辉,廖桂平,王访

(湖南农业大学农业信息研究所,湖南 长沙 410128)

近年来油菜单产虽然逐年提高,但总产量增加缓慢,除种植面积减少外,与油菜种植的设施化水平较低有关,其中油菜产地信息化装备与应用程度不足是重要原因。油菜从播种到成熟,要经历发芽出苗期、苗期、蕾薹期、开花期和角果成熟期等 5个时期。油菜在各个时期的生长对环境条件有不同的要求。油菜的栽培需根据这些规律和要求,采取恰当的农业技术措施,充分发挥其增产潜力。各种环境因素中,温度、光照、水分和以氮含量为主的肥料浓度等,对油菜的生长最具影响力[1]。对于油菜生长环境信息的采集,传统手段包括采用微型气象站自动记录和人工投放数据采集器等,如湖南农业大学的国家粮食丰产科技工程油菜专项课题组已经在长沙科研与示范基地建立了微气象观察站。这些设置于田间的微气象观察站可提供温度、风向和相对湿度等气象数据。另外,部分试验基地将便携式温湿度记录仪直接放入油菜冠层不同部位进行测定,设定每10 min记录1次,收获时取回,导出数据用于计算温度、湿度的均值、最高和最低值、昼夜差、冠层内外差等[2]。这些方法应用广泛,但共同的不足之处在于,采购成本较为昂贵,实施和部署的劳动强度大,精度较低,实时性差,数据后期统计和处理不方便,对于精准建立油菜生长环境的数据模型作用较小。近年来,无线传感器网络(WSN)以其廉价、易于实现和部署等优良特性,在农业生产现场中被迅速推广和应用。最早基于WSN的农业环境数据采集系统可以追溯到20世纪初美国俄勒岗州的葡萄园监测系统[3]。该项目由Intel公司实施商用部署,通过放置大量的传感器,对影响葡萄品质的环境温度、光照和土壤水分等数据进行长期和频繁(每min 1次)的采集,用以建立环境因素和葡萄生长品质之间的定量关系。2007年,冯友兵等[4]为解决农田灌区的环境数据获取困难的问题,提出并实现了1套基于WSN的灌区数据精准采集系统。2009年以后,涌现了大量以紫蜂(Zigbee)技术为核心的农业数据采集系统。韩华峰等[5]提出了以紫蜂协议构建WSN,对温室环境数据进行监测和采集,并利用公用分组无线网络技术实现了监测数据的远程传输。2010年, 孙玉文等[6]开发了农作物决策管理平台,利用紫蜂技术实现了对大田温度、光照和湿度等信息的监测。J. Hwang等[7]研制了基于WSN的红椒生产管理系统,实现了基于WSN的温室大棚环境数据采集和温室环境数据智能调节的功能,能够创造红椒生长的最佳条件,从而达到优质高产的目标。目前,WSN领域成熟的紫蜂商用产品,基本都采用TI(德州仪器)和Microchip的产品实现,产品性能优良,市场占有率极高,Microchip还是全球第一个推出基于 IEEE802.15.4协议产品的公司。采用紫蜂实现WSN的主要问题在于,TI公司以库文件打包的形式提供IEEE802.15.4的协议栈,这意味着除TI以外的产品,都不会获得更好的支持,Microchip公司虽然开放了协议栈的源代码,但是分层组网的效率并不理想。另外,基于紫蜂技术的产品在组建WSN网络时,造价将超过nRF24L01的数倍。为此,笔者提出利用廉价的无线数据传输模块构建 WSN数据传输通道,同时采用提出的新型能量感知路由协议组织传感器网络,并结合单片机技术实现油菜生长数据的采集,从而有效提高油菜生长环境的温度、光照和湿度等数据的采集效率,克服传统农学测量方法、小型气象站以及上述商用 WSN产品带来的劳动强度大、数据不精准、成本昂贵等缺点,为合理调控油菜生长提供参考依据。通过后期的仿真测试和大田部署试验,证明了本系统的可行性与可靠性。

1 系统设计

1.1 总体设计

系统由无线传感器节点自组织的无线传感器网络和1个后台数据处理中心组成。传感器节点被部署在油菜生产现场,具备感知油菜生长环境的温度、湿度、光照度等多种物理量的能力。传感器节点根据提出的能量感知路由协议,进行数据融合,自组织获得最佳传输路径,将数据无线传输到后台数据处理中心。数据处理中心由上位PC机、接收模块、串行通讯模块和上位机软件等组成。

1.2 传感器节点设计

传感器节点的硬件电路主要包括单片机、温度传感器、湿度传感器、光照度传感器、串口通信模块和无线传输模块等几部分。各传感系统测得的数据可通过 1602液晶屏实时显示,从节能的角度考虑,液晶屏在实际应用中可以省略,同时,通过射频模块和串口通信模块将数据发送至上位机。采用Atmel公司生产的 AT89C51单片机,分别以DS18B20作为数字温度传感器、DHT11作为数字湿度传感器、BH1750FVI作为光照度传感器及采用nRF24L01+1作为无线数据传输模块构成整体系统。系统电路原理如图1所示。

图1 系统电路Fig. 1 System circuit schematic

系统选用的 DS18B20数字传感器,具有可编程的“一线式”高精度数字测温功能[8]。由于DS18B20传感器只有1条数据线,通信期间引脚少,因此不存在引线误差补偿问题,同时,DS18B20直接生成并传输数字信号,毋需像传统的模拟测温系统进行繁琐的数模转换工作,解决了信号放大电路产生的“零点漂移”误差等问题,有效提高了恶劣电磁环境下抗外部干扰的能力,使得最终获取的温度数据有较高的数值精度。

DHT11与单片机 P2.3口连接,进行湿度数据的通信。它含有已校准数字信号输出和“一线式”串行数据传输功能,在出厂前进行了精确的湿度校验校准[9]。

BH1750FVI光强传感器是近年来出现的新型数字光照度传感器,采集光强速度较快,受红外影响小,可以直接输出数字信号,光强测试范围为1~65 535 lx,可满足农业环境的测量要求。BH1750FVI与单片机之间的通讯协议使用标准的I2C协议[10],连接线路较简洁。

无线数据传输部件是 nRF24L01,利用其频分复用功能实现多路无线通信功能[11]。发射端使用初始指定的地址作为本机地址,接收端对不同的通道进行地址配置,在实际配置的过程中,通道 P0 与P1最高4个字节的地址不能够相同,否则,虽然不影响数据收发,但接收端会认为所有数据都来源于P0通道。下面给出地址配置的部分源代码,接收端通过读取STATUS中相关的位即可获得数据的来源通道。

uchar const TX_ADDRESS[TX_ADR_WIDTH] ={0x2C,0x2C,0x2C,0x2C,0x2C};//本地地址,实际地址为:2C2C2C2C2C2C。

uchar const RX_ADDRESS[RX_ADR_WIDTH] ={0x37,0x43,0x10,0x10,0xFF};//接收地址 P0,实际地址为:FF10104337。

uchar const RX1_ADDRESS[RX_ADR_WIDTH] = {0x35,0x43,0x10,0x10,0x03}; //接收地址 P1,实际地址为:0310104335。

uchar const RX2_ADDRESS[1]= {0x36};//接收地址 P2 只写入最低位,其余高位与P1 相同,以下类似,实际地址为:0310104336。

uchar const RX3_ADDRESS[1]= {0x34};//接收地址 P3,实际地址为:03101034。

uchar const RX4_ADDRESS[1]= {0x38};//接收地址 P4,实际地址为:03101038。

uchar const RX5_ADDRESS[1]= {0x39};//接收地址 P5,实际地址为:03101039。

为了与上位PC机取得同步,传感器节点的串行通信采用定时器1τ作为波特率发生器,并且采用查询方式发送和接收数据,传送的数据格式包含8位数据位和 1位停止位。串行通信速率为 14 400 bps,晶振频率设置为11.059 2 MHz,定时器配置成工作模式2,串行口设置为工作方式1,SMOD=0。上位机与下位机串行口之间由于工作电平不一致,必须进行电平转换,采用 MAX232芯片将单片机TTL电平转换为RS232电平。

1.3 WSN路由协议设计

系统设计中,通过跨层设计方法,提出了1种分层的轻量级能量感知路由协议(CLFP)。

一般认为,无线传感器的能量消耗发生在射频发射、接收数据和处理数据等几个阶段。为方便描述,采用第1序列无线电模型来描述能量的消耗,如图2所示。

图2 第1序列无线电模型Fig. 2 First order radio model

在这个模型中,ERx表示接收lbits报文时需要消耗的能量,ETx(l, d)表示发送lbits报文时需要消耗的能量。与发射所消耗的能量ETx相比,接收等量比特报文所消耗的能量ERx可以忽略不计。为了简化协议的设计,假定WSN的能量消耗仅与射频发射有关,本路由协议通过减少射频发射的次数来寻找最小能量消耗路径,并且在数据处理上进行了分层的融合,以便进一步降低能量的消耗,以期最大程度延长WSN的生命周期。

路由协议按3个阶段运行。第1阶段,分簇。按照经典的LEACH协议[12]进行。Leach算法可自适应地建立起节点分簇(Cluster)后的拓扑图。算法通过循环执行选举簇头,直到分簇和数据通信稳定后结束。所有本轮当选簇头的节点通过CSMA物理信道访问方法对全体节点进行广播。一旦簇头节点确定后,其余节点会根据本次收到的广播信号强度来决定归属相应的簇,并向这个簇头节点报告加入的信息。分簇稳定后,簇头节点创建 TDMA调度任务,并通知簇内各节点传输数据的时间。本阶段完成后,WSN将被分成多个簇。

第2阶段,裁剪有向图。协议将第1阶段所形成的簇头节点集合视为1个有向图G(v, e),路由协议的最终目标就是在这个有向图G中找到最佳传输路径。这个阶段将对有向图G(v, e)进行反复裁剪——从图G中删除边edge(i, j),Ecu≤ETX(l, di,j),即节点i或j当前剩余能量不足于完成发射lbits的能量,于是,新的有向图G’(v, e’)形成。通过Dijkstra’s算法,可以得到最小能量消耗路径ω——如果ω存在[13]。继续裁剪G’,假设Emin是G’最小能量,Ecu是G’中的每个节点的当前剩余能量。类似上述步骤,通过删除G’所有的边edge(i, j),这些边具有Ecu – ETX(l, di,j)≤Emin特征,此轮删除完成后,新的有向图.G”(v, e”)生成。如此循环,裁剪掉的边也许还有足够的能量,但是这种裁剪将有益于所有的节点在长时间的运转中具有均衡的能量。

第3阶段,寻找最优路径。最优路径必须保证不使网络出现“热点”。“热点”一旦出现,将会使某些节点的能量很快消耗殆尽,从而影响整个网络的寿命,因此,当节点i剩余的能量变小时,edge(i,j)应该分配更大的权重,权重值COSTij按公式(1)计算。

式中:系数λ是1个非负的常量,充当了算法的调节参数。这意味可以通过调节λ的值使算法适应不同的网络环境。对于每个节点,因子σ(i)被定义在公式(2)中。通过使用σ(i),路径将拒绝那些自身能量比Emin低的节点充当中继节点。

显然,问题可以归结为一个线性规划问题[14],能量最佳路径等价于式(3)的线性规划问题。

进一步建模,将上述问题表达为多目标模糊线性规划问题。

(4)式中,y=∑COSTij。下面的步骤,需要列出各目标的约束方程。采用对偶单纯方法求解,设ROW表示系数矩阵A的行,COL表示系数矩阵A的列,TARG是目标数量,ej是目标j可接受的偏差值,j{∈ 1, 2,…,TRAG},di是目标i可接受的偏差值,i{∈ 1, 2,…,ROW},Cji是目标j通过L个变量的权重系数,j{∈ 1, 2,…,TRAG},l{∈ 1, 2,…,ROW},gj是目标j的期望值,aij是矩阵A的元素,bi是第i个约束边界,i{∈ 1, 2,…,ROW}。对系数矩阵A进行定义。

需要指出的是,在(5)式中,M=ROW+TRAG,N=COL+1+M,C=(a01,…,a0,N–M)是目标函数的权重向量,BT=(a10,…,aM0)是约束向量。至此,原问题的各级目标已经转化成了式(5)的约束方程。上述步骤循环运行后,将得到数据传输的最优路由路径集β= {edge(chs,chr1),… ,edge(chrn,chd)},其中chs是信源簇头节点,chd是目标簇头节点,chri(i∈e)是中间路径的簇头节点。

路由协议CLFP开发环境为Keil uVision3,单片机代码均采用C语言编写,利用STC_ISP进行代码烧录。

2 上位机软件设计

上位机作为WSN的数据中心,主要负责接收传感器已交付的数据,并对数据进行加工、显示以及发送下位机控制命令等操作。为了实现上述功能,选择DELPHI和MySQL作为软件开发平台,利用MSComm32控件实现与下位机简单高效的串行通信,可以对采集到的现场数据进行实时分析加工,生成各类直观的报表,同时在屏幕上以实时曲线图进行显示,还可以设置感知数据的报警阈值等功能。已实现的主要功能包括:①通过主界面以实时曲线的方式显示各传感器获取的温、光、湿度数值;②比较检测到的温、光、湿度值和报警值,发现超限立即通过邮件或手机短信报警;③所有数据均可以自定义筛选查找、导出或打印;④所有采集的数据均实时存储到标准关系型数据库中,方便二次加工或建模。软件界面如图3所示。

图3 上位机软件的主界面Fig. 3 The main interface of upper computer software

3 仿真和试验

3.1 WSN生命周期仿真

对提出的CLFP算法进行评估和仿真。WSN仿真平台采用NS2[15],随机布置100 个节点的网络,汇聚节点位于(20,95)。通过Nodes、Links、Agents和 Applications 来描述网络拓扑结构。Nodes即传感器节点,Links代表数据集线器,Agent是各种网络协议的载体,Applications用来产生数据和实现不同的应用函数。笔者在NS2中增加了MAC协议和信道传播Channel,用于仿真WSN。在仿真实现上,采用tcl语言编写Applications类的头文件,其他函数则用C++语言实现。

算法仿真试验用于对比CLFP和LEACH在同样条件下,所支持的WSN运行的生命周期时间,主要以网络存活的节点数量、有效包交付数量和网络正常工作周期为参量进行对比。初始参数设置如表1所示。天线离地高度取中值1 m。

表1 仿真参数Table 1 The characterization of WSN simulation

图4–a和图4–b表示WSN运行1轮仿真后,CLFP和LEACH算法各自存活的传感器节点数量对比。随着WSN运行时间的推移,网络中存活的节点将会不断减少,WSN生命周期与网络中存活的节点数量呈正比例关系,所以在同一时刻,存活节点数量的多少可以作为衡量本算法的WSN生命周期的重要指标。在分簇的WSN中,靠近SINK的内层网络能量损耗的速度远远大于位置较远处的外层网络,易形成“热点”[16]。从仿真结果可以看出,系统的路由算法CLFP存活的传感器节点数量明显超过LEACH,而且分布较为合理。LEACH由于采用静态的分簇,导致网络中出现了较多的“热点”分布,“热点”的出现加速了节点的死亡速度,从而引起网络生命周期缩短。

图4–c和图4–d显示,无论是第1个节点死亡时刻还是全部节点死亡时刻,运行CLFP协议的网络都比LEACH协议具有明显的优势,不但网络节点存活时间较长,并且相同时间下CLFP协议发送到SINK的有效数据包比LEACH也要多。综合图4的仿真结果,CLFP算法更好地利用了能量,能够更加有效地延长网络的寿命。

图4 2种算法仿真运算后的结果Fig. 4 The simulation results of LEACH and CLFP

3.2 无线传感器节点功耗测试

为了获取节点的实际功耗,采用Tektronix公司TDS5000数字存储示波器和TDSPWR2分析软件进行测量。参照Tektronix的指导手册可知,正确选择串接采样电阻是准确获得测量结果的关键环节。在实际的试验环境配置中,选择的是1 Ω高精度电阻,接入采样电阻后引起的压降可忽略不计。

测试得到通过串接采样电阻的总电流,与给定的工作电压相乘,获得实际的总功耗数值。图 5–a是数字显波器和分析软件输出的采样电阻上的电压波形图,TX脉冲幅度值转换后约为13 mA。为计算总功耗,需要继续测试,直到将节点工作过程中各阶段的电流值全部测出。测量的结果分别是:Frame组装阶段电流为1 mA,持续时长280 μs,TX准备阶段为8 mA和280 μs;TX完成阶段为13 mA和100 μs。

参照用户手册提供的计算方法,可以获得节点的功耗值为50 mW。

图5 功耗测试及通信仿真运算后的结果Fig.5 The results of power consumption test for wireless sensor node and communication simulation

若以标称电压为3.6 V、 标称容量为2 200 mA的电池供电,理论上计算节点工作时间约为367 d,实际测试时间为 142 d。为了解释这种差异产生的原因,在Matlab中进行仿真,并引入路径损耗对数距离模型(d):

式中:d0为参考距离,对于不同的应用环境,d0值各不相同。路径损耗指数n由无线信号的传播环境决定,取值范围是[2,6],当信道传播环境恶化时,n取值增大。对功率延迟、信道冲激响应等参数进行验证,图5–a和图5–b显示,在极端非可视距离的通信环境下,信号传播反射、散射和衍射现象较严重,各簇到达的时间不断重叠,致使同一时间的接收功率叠加,射频信号穿越障碍物时损失的能量较多,节点必须增加功率以保证接收端的RSSI质量,因此,造成了电池实际使用寿命与理论分析之间的差异。

3.3 大田部署试验

试验田主要种植甘蓝型油菜,植株平均高度约为180 cm,冠层直径为60~120 cm。试验中引入传统农学“五点”采样法,取样点基本等距分布。汇聚节点靠近农田边缘,与上位机距离较近。最远处传感器测试点距离汇聚节点约为(120±5) m,最近节点约(25±5) m,试验中传感器节点位置、植被深度和植株密度,对无线射频信号都有一定的衰减影响,因此,略为提升供电电压,以加大发射功率,传感器采用2节3.2 V磷酸铁锂电池稳压后供电。共用25个传感器,每个取样点部署5个传感器,以2 m高的油菜为例,将植株按高度分层,按照表2分层测试各种现场信息。

表2 传感器分层测试和部署Table 2 Sensor placement in a hierarchical setting

采用对比方法,将本系统传感器获取的数据与传统的农学测试手段包括水银温度计、指针式相对湿度计和 TES1335数字式光照度计获取的数据进行比较。表3为以采集到的数据中连续2 h的数据量进行对比,数据获取的频率是每30 min 1次。

表3 2种采集方法得到的温光湿数据Table 3 Data comparison

从表3可以看出,本系统与传统农学测量手段相比较,获取数据的数值接近,但前者精度更高,测量范围更广。通过7 d不间断测试,系统运行稳定,实时性好,使用方便,极大地降低了获取数据的劳动强度,并且为二次开发积累了丰富的一手数据。

[1] 官春云.优质油菜的高产栽培技术[M].长沙:湖南科学技术出版社,1997.

[2] 刘华林,李长俊,陈尚松,等.自动气象站的研制[J].桂林电子工业学院学报,2001,21(9):69–72.

[3] 乔晓军,张馨,王成,等.无线传感器网络在农业中的应用[J].农业工程学报,2005,21(增):232–234.

[4] 冯友兵,张荣标,沈敏.面向精确灌溉的无线传感器网络构建[J].农业机械学报,2009,40(1):56–59.

[5] 韩华峰,杜克明,孙忠富,等.基于ZigBee网络的温室环境远程监控系统设计与应用[J].农业工程学报,2009,25(7):158– 163.

[6] 孙玉文,沈明霞.农田无线传感器网络的节点部署仿真与实现[J].农业工程学报,2010,26(8):211– 215.

[7] Hwang J,Shin C,Yoe H.A wireless sensor network based ubiquitous paprika growth management system[J]. Sensors,2010 (10):11566– 11589.

[8] 王社会.基于DS18B20的数字式测温计设计[J].山西大同大学学报:自然科学版,2009,25(5):29–31.

[9] 倪天龙.单总线传感器DHT11在温湿度测控中的应用[J].单片机与嵌入式系统应用,2010(5):60–62.

[10] 洪群欢,吕昂.一种基于STM32的温室SCADA系统[J].农机化研究,2010(5):128–132.

[11] 王博,李迅,马宏.基于nRF2401的无线数据传输系统[J].电子工程师,2004,30(8):17–20.

[12] Javed Aslam,Qun Li,Daniela Rus.Three power-aware routing algorithms for sensor network[J].Wireless Communications and Mobile Computing,2003,13(3):187–208.

[13] Akylidiz I F,Su W,Sankarasubramaniam Y,et al. Wireless sensor networks:A survey on sensor networks [J].IEEE Communications Magazine,2002,40(8):102–114.

[14] Nash S G,Sofer A.Linear and Nonlinear Programming [M].New York:McGraw–Hill,1996.

[15] 周少琼,徐祎.基于NS2仿真的Ad hoc网络AODV路由协议性能研究[J].舰船电子工程, 2010,30(5):111–114.

[16] 邬学军,孟利民,华惊宇,等.基于能量控制的无线传感网络最优化算法研究[J].传感器技术学报,2011,24(3):436–439.

英文编辑:张 健

猜你喜欢

油菜无线能量
油菜田间管理抓『四防』
油菜可以像水稻一样实现机插
《无线互联科技》征稿词(2021)
能量之源
无线追踪3
基于ARM的无线WiFi插排的设计
油菜烩豆腐
诗无邪传递正能量
种油菜
ADF7021-N在无线寻呼发射系统中的应用