严 妍, 孙 桐, 严锡君
(1.河海大学 水利水电学院,江苏 南京 210098;2.河海大学 计算机与信息学院,江苏 南京 210098)
精准农业被称为人类农业生产的一场革命,并依托于信息技术。准确实时的信息供给是精准农业的首要条件,它的实现依赖于大气温湿度、风速、光照强度况等多种先进的传感器。近年来,出现了许多采用无线公共网络等无线通讯方式进行农、林、牧业的远程监测的研究。这些无线通信技术的优势是传输速度快、信息量大、传距离输远,但因其功耗高、时延长、通信费用高等因素,在农业环境监测中未得到广泛的应用[1-2]。
无线传感器网络有监测精度高、实时性好、容量大、覆盖区域大、功耗和成本低等显著优点,适合于精准农业环境监控系统的实现。开发用于精准农业监测的无线传感器网络,研究降低其能耗、提高其生命周期和可靠性等关键技术,具有重要的实用价值。
大多数精准农业监测系统中,各个监测区域相距较近,所布设的光照、湿度和温度等传感器节点可在同一无线节点的辐射区域内;同时,控制中心一般都可持续提供能量,汇聚节 点能量不限。为此,监测WSN采用星型拓扑结构,系统结构图如图1所示。
图1 精准农业监测WSN总体架构图Fig.1 Structure of precision agriculture WSN
1)信息中心 即管理节点,负责接收汇聚节点通过GPRS网络上行发送的数据,并提供Web服务功能;当传感器节点工作失常,或者“死亡”时,应能及时采取相应措施。
2)汇聚节点 周期性发送信标帧,接收传感器节点发送的数据帧并通过GPRS网络向信息中心转发;接受信息中心查询命令,并向传感器节点下传完成查询任务。
3)传感器节点 采集监测信息,并及时地向汇聚节点上传数据;当某个节点的能量低于一定门限时能及时上传低电量告警信息。传感器节点采用电池供电,在非工作状态时一般处于休眠状态。
精准农业监测WSN具有单覆盖、汇聚节点能量不限、实时性要求不高等特点,为了降低节点功耗、延长网络生命周期,改进传统的MAC协议,提出一种基于TDMA的星型MAC协议—START-MAC协议。
START-MAC协议采用信标帧、确认帧和数据帧3种帧格式。其中信标帧用于汇聚节点的广播同步;确认帧用于汇聚节点应答传感器节点;数据帧则用于承载传感器节点向汇聚节点发送的数据。
协议中汇聚节点始终处于发送/接收转换的状态,处于发送和处于接收状态的时间比为1:1。汇聚节点每隔周期T即发送一定数目的广播帧对全网进行广播,该广播帧包括了汇聚节点的同步信息。网内要传送数据的节点任意接收一帧广播帧,否则就丢弃。接收了广播帧的节点延时一段时间后待汇聚节点转入接收状态,在规定的时隙里发送数据,否则转入睡眠。这样既避免了数据碰撞,又降低了能量的损耗。
将传感器节点一个周期内协议步骤归纳如下:
1)控制传感器模块采集数据,判断是否为新数据,是则进入步骤2)否则进入步骤4);
2)接收一帧信标帧,然后进入低功耗状态;
3)延时至规定时隙,向汇聚节点发送数据;
4)进入低功耗,延时至下一周期。
汇聚节点一个周期内协议步骤如下:
1)进入发送状态;
2)若有确认帧需要发送,则发送确认帧,然后发送信标帧对全网进行时间同步;
3)转入接收状态,接收数据;
4)若接收状态接收到数据,需要进行存储、串口操作或LCD显示,则进行该操作,结束后转到步骤1。
一个完整的START-MAC协议如图2所示。
图2 通信协议结构图Fig.2 Communication-structure protocol
低功耗是设计传感器节点的关键指标,MSP430F149MCU芯片因具有超低功耗、较高的数据处理速度快和系统工作稳定而广泛地应用于的传感器节点设计[3-4]。选用MSP430F149和CC1000射频芯片设计温湿度传感器节点和光照传感器节点。
1)温湿度传感器节点硬件设计
选用SHT10作温湿度传感器,采集农田的大气温度和湿度,温湿度传感器节点硬件原理图如图3所示。
图3 温湿度传感器节点硬件原理图Fig.3 Hardware diagram of temperature and humidity sensor node
MSP430F149通过I/O口对SHT10的配置操作以及两者间的数据通信,采用模拟串行方式对CC1000芯片进行配置操作、设置无线传输模块的收发频率、发送功率、数据速率等参数,采用中断方式,对CC1000写入待发送的数据或读出接收到的数据。
2)光照传感器节点硬件设计
选用TSL230B作光照强度传感器,采集农田作物的光照情况,硬件原理图如图4所示。
MSP430F149通过I/O口对TSL230B进行配置操作,通过P1.1读取芯片的输出信号,计算频率值,并通过换算,获得最终的光照值。
图4 光照强度传感器节点硬件原理图Fig.4 Hardware diagram of light intensity sensor node
3)传感器节点软件设计
上电后,进行系统初始化。然后,节点进行判断,若节点为新节点,则进行申请入网操作。若不为新节点,则操作传感器模块进行数据采集,并与上一周期采集数据进行比较,若相同则丢弃,直接进入下一步,若不同,则记录该数据。若检测电量周期超时,则启动ADC模块进行低电量监测,若达到门限值,则标记告警数据帧。如果当前周期内,传感器节点有数据帧或告警数据帧需要发送,则等待两个信标帧的时长接收一帧信标帧,然后关闭无线传输模块进入LPM3低功耗状态,延时一段时间到规定时隙发送数据,完成后再进入低功耗状态等待下一周期。传感器节点主程序流程图如图5所示。
图5 传感器节点主程序流程图Fig.5 Main program flow chat of sensor nodes
1)汇聚节点硬件设计
选用高性能的ARM处理器LM3S6918设计汇聚节点,无低功耗要求,该节点硬件主要有时钟模块、射频模块、外部存储模块、电源模块、串口模块、看门狗及复位电路、LCD显示模块等模块组成。汇聚节点的硬件结构如图6所示。
图6 汇聚节点硬件结构图Fig.6 Sink Node hardware structure chart
当汇聚节点进行数据上传及存储时,要记录当前的时间信息,选用PCF8563作实时钟芯片,MCU通过I2C控制该芯片,由锂电池为实时时钟提供后备电源,采用CN3052A芯片控制锂电池的充电过程[5]。LM3S6918提供2个全双工同步/异步串口,扩展成一个RS232和一个RS485,分别用于连接显示设备和GPRS模块。
2)汇聚节点软件设计
汇聚节点上电后,首先进行系统初始化。然后进入周期的开始状态,即信标帧发送阶段。在此阶段中,若上一周期汇聚节点接收到来自传感器节点的加入申请或是告警数据帧,则需在该阶段的开始对传感器节点回复确认帧。接下来,汇聚节点开始发送信标帧,对网内欲发送数据的传感器节点进行时间同步。发送完所有的信标帧后,汇聚节点即转入接收状态,接收数据帧。等待接收周期结束后,汇聚节点进行其他操作,若接收到传感器数据,则读当前时间值,将其存储在外部Flash中,并通过串口上传信息中心。若接收到加入申请或告警数据,则也通过串口操作上传信息中心,待处理完成后标记确认帧。完成这些操作后,汇聚节点进入下一周期。汇聚节点的主程序流程图如图7所示。
1)丢包率测试
实验条件:射频收发频率为433.3 MHz,节点发送增益为10 dBm,数据传输速率为9.6 kbit/s,数据编码格式为NRZ码,调制方式为FSK。
图7 汇聚节点主程序流程Fig.7 Main program process of sink node
取一传感器节点于实验室环境下,传感器节点共发送3 000个数据包,根据汇聚节点接收到的数据包数,得到单点通信时网络的丢包率,实验结果如表1所示;取3个传感器节点于实验室环境下,对汇聚节点发送不同数据。每个节点均发送3 000个数据,根据汇聚节点接收到的数据包数,得到多点通信时网络的丢包率,实验结果如表2所示。从表中数据可以看到,系统的每个节点丢包率都在1%以下,能满足系统的要求。
表1 单点通信丢包率Tab.1 Packet loss rate of one-point
表2 多点通信丢包率Tab.2 Packet loss rate of multi-point communication
2)功耗测试
传感器节点主要有发射数据、接收数据、采集数据和休眠状态4个状态。经实验测得,传感器节点发射状态电流为24.72 mA,接收状态电流为12.74 mA,活动状态电流为2.53 mA,温湿度传感器节点采集数据时电流为3.20 mA,光照传感器节点采集数据时电流为3.40 mA,节点处于休眠状态时电流为2.1 μA。
射频模块从休眠状态转入接收或发射状态所需时间为4.3 ms和4.6 ms。传感器节点接收信标帧和发送数据帧的时间经试验测得分别为9.45 ms和7.95 ms。同时温湿度传感器采集一次完整数据的时间为4.1 ms,光照传感器采集一次完整数据的时间约为100 μs。
当系统采用电池供电时,系统的平均工作电流决定了系统的寿命[6]。根据系统平均工作电流的计算公式,Iavg为系统活动状态时的工作电流与活动时间的乘积与休眠状态电流与休眠时间的乘积之和再去除以总的工作时间。假设节点每个工作周期为2 s,节点每两个周期上传一次数据,每个周期都采集数据。可以计算出温湿度传感器节点平均工作电流为。
因为光照传感器节点采集数据时间远小于温湿度传感器节点,因此平均工作电流小于0.111 8 mA。节点的工作截止电压为2.7 V。假设采用常见的两节1.5 V、容量为2 700 mAh左右的锂电池供电,根据锂电池放电特性,当放电至2.7 V时,电池容量损耗约2 000 mAh。可以粗略估计出节点的使用寿命约为2 000/0.1118=17 889 h=745.4天。可以看到,传感器节点应当可以使用1年以上。
无线传感器网络的生命周期是其应用的关键,从硬件设计和通讯协议两个方面降低节点功耗,是目前普遍采用的主要措施。选用低功耗的MCU和射频器件,可降低节点的工作功耗,选用具有微静态功耗的MCU,能够大大降低节点的平均功耗。针对小规模的农田WSN星型结构的特殊性,采用改进的MAC协议,可进一步降低节点功耗,延长网络的生命周期。对中、大规模的农田WSN,研究其网络结构及其通讯协议,以达到各种精准农业监测WSN的实际需要。
[1]韩安太,何勇,李剑锋,等.基于无线传感器网络的多参数粮情自动检测系统设计[J].农业工程学报,2011,27(7):231-237.HAN An-tai,HE Yong,LI Jian-feng,et al.Design multiparameter grain for automatic detection system based on wireless sensor networks[J].Agricultural Engineering,2011,27(7):231-237.
[2]李建中,高宏.无线传感器网络的研究进展[J].计算机研究与发展,2008,45(1):1-15.LI Jian-zhong,GAO Hong.The development of study on wirelesssensornetworks[J].Study and developmentof computer,2008,45(1):1-15.
[3]秦龙.MSP430应用系统开发典型实例[M].北京:中国电力出版社,2005.
[4]沈建华,杨艳琴,翟骁曙.MSP430系列16位超低功耗单片机实践与系统设计[M].北京:清华大学出版社,2005.
[5]Fei Ldp.Energy-efficient MAC protocols for Wireless Sensor Networks[J].Information and Communications Technologies,2009,3(3):32-36.
[6]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005.