李双喜,徐识溥,刘 勇*,郑宪清,王运圣,吕卫光
(1上海市农业科学院生态环境保护研究所,上海201403;2上海市农业科学院农业科技信息研究所,上海201403;3上海数字农业工程与技术研究中心,上海201403)
信息技术和装备技术的进步给农业产业带来了巨大的机遇。不断改造传统农业,发展现代农业,成为未来农业的主要发展趋势。我国作为一个传统的农业大国,当前正处于现代农业快速发展阶段,迫切需要用现代科学技术对传统农业进行现代化装备与改造[1-2]。通过农业土壤监测获得土壤环境参数是作物生长发育、作物栽培管理、病虫害预警防治以及作物环境调控的重要参考指标[3-4],因此利用现代化设备对土壤环境进行监测具有重要的现实意义。目前使用的土壤监测手段主要有利用便携式仪器现场测量、获取土样进行实验室分析和土壤环境参数实时采集等,前两种方式费时费力,测量成本高,而且不能获得连续监测数据。土壤环境参数实时监测技术具有连续性、时效性和高效性特征,是土壤监测的最佳方式,该方式因监测对象和监测需求不同而有不同的技术实现方案。本研究根据上海市农业科学院生态环境保护研究所庄行综合试验站精准施肥试验提出的要求,选取对农作物生长影响较大的土壤参数:土壤温度、土壤湿度、土壤pH等,设计一套包含数据实时采集、远程传输、存储与展示功能的远程在线监测系统,该系统可在无人干预的情况下不间断对选取土壤参数采集、存储和浏览,用于指导施肥、灌溉等管理和环境调控。
本系统针对大田土壤环境参数监测而开发,目标用户为种植业从业人员或相关农业科研人员及政府机构。系统主要功能为大田土壤温度数据采集、土壤含水量数据采集及土壤pH采集,采集的数据通过TD-LTE模式的4G移动通信网络远程传输至运行在云服务器上的数据库中存储[5],数据库中的数据可通过BS架构的数据展示系统随时查看、下载和分析。系统总体结构如图1所示。
图2 系统硬件架构图Fig.2 Hardware architecture of this system
硬件系统包括传感器、微功率无线传输模块、嵌入式主控制器[6]、4G远传模块、太阳能供电系统等,硬件系统的架构如图2所示。每个田块内布置4组传感器,取4个传感器的均值作为该田块的土壤温湿度或pH,所选传感器均为485总线输出,通信协议遵循ModBus RTU标准[7]。
图3 嵌入式软件主程序流程图Fig.3 Embedded software flow diagram
软件是整个土壤环境远程监测系统的灵魂,包括运行于STM32处理器上的嵌入式软件和运行于服务器上的上位机软件。嵌入式软件主要负责土壤环境数据的采集和传输,具体而言就是相关传感器的操作、时序的控制和通信模块的调用,主程序流程如图3所示。
本系统的嵌入式软件使用ANSI标准的 C语言开发,为无操作系统的前后台程序,前台程序完成系统硬件初始化后即逐个发送读传感器命令,传感器返回数据在后台程序即外部中断中解析和打包,打包完成后再由前台程序调用通信模块进行发送,完成后即刻进入休眠状态,休眠时间结束后由定时间唤醒系统,如此往复循环。
图4 服务器端软件界面Fig.4 Server-side software interface
传感器用于感知物理世界的各种参数并将所关心的物理化学等信号转换为便于计算机处理的电信号[9-10],是农业物联网感知层的核心元件,也是本研究所设计土壤环境监测系统获取数据的源头。本研究涉及的传感器有土壤含水量传感器、土壤温度传感器和土壤pH传感器,以上传感器均选用RS485接口的数字信号传感器,RS485是一种半双工的串行通信接口,两根信号线采用差分信号负逻辑[11],逻辑“0”以两线间的电压差为+(2—6)V表示;逻辑“1”以两线间的电压差为-(2—6)V表示,从而增加抗干扰能力,使得最大传输距离达到1.2 km。RS485是一种总线接口,系统中所有的传感器都通过一个总线连接到RS485模块,再通过USART串行接口连接到主控制器,不同传感器必须有自己唯一的通信地址,主控制器作为RS485主设备使用ModBus RTU协议依序发送读取数据命令,传感器收到命令后返回数据,主控制器采用中断方式接收传感器返回的土壤含水量数据、温度数据和土壤pH数据。
由于大田环境不便于实现市电供电,故本系统设计为太阳能电池板加蓄电池的供电方案,为节省功耗,在数据采集的间隔期内系统自动进入休眠状态,同时将所有传感器断电,间隔超时后将自动唤醒并开始下一轮的采集(图5)。220 V的交流市电通过开关电源转变为12 V交流电之后为锂电池充电,如果没有市电接口,则可接上太阳能电池板,通过12 V的充电控制器给连电池充电[12]。本系统选用10 000mAh锂电作为电源缓存池,电池的输入端接防逆流二极管以防止太阳能和市电都没有输入时电池反向放电。锂电池输出为5 V直流电,可同时为主控制器、通信模块和传感器供电。
图5 市电和太阳能双供电系统结构图Fig.5 Double power supply system
数据结构关系到采集数据的打包方式、传输格式及上位机解析方式,由于本系统采集的传感器数据均为数值型,所以本研究设计的数据结构为一个结构体封装所有需要传输的信息。数据帧格式包含头部、田块号、传感器数据以及尾部,传感器数据以一个独立的土壤环境参数为单位用分隔符分开,每个田块内的参数按传感器序号依次排列。
传感器返回的原始值均为二进制数,为了调试方便,均转换为可显示的ASCII(美国标准信息交换代码)字符,整个数据包也都是采用ASCII编码,例如数据包头部为“$$|ZHST1|”,其中竖线为分隔符,两个“$”符号表示一帧数据的开始,“ZHST1”中字母为“庄行生态”的汉语拼音首字母,1表示第一个田块,尾部为“end”表示一个数据包的结束。上位机收到一个数据包后首先验证帧头帧尾是否完整并符合定义,如完整则根据田块号在相应数据库表中插入新的一行,并将数据包中的传感器数据和当前时间存入其中从而完成一次数据采集。
系统监测田块为上海市农业科学院庄行综合试验站内的精准施肥试验田,为了更好的满足作物生长需求,吻合作物需肥需水规律,降低肥料流失,缓解农业面源污染,目前共实现了对36个田块的大面积实时监测,监测系统布局如图6所示,每个田块内布置4个传感器组,以便于求取平均值从而反应出该田块内土壤参数的总体状况。每组传感器均可监测土壤温度、土壤湿度和土壤pH等参数。系统设计为每10min对所有传感器轮询一遍,完成后将数据打包,通过4G远程通信模块发送到云服务器。另外本系统为可扩展式设计,可根据用户需求增加或减少监测点数量。
图6 监测田块布局图Fig.6 Monitoring field layout
考虑到农田土壤的特性,为了在监测区域内得到全面、准确、实时的有效数据,对传感器的布置进行了合理的优化,同一类型的传感器在每个田块内均放置4个,取4个传感器的均值作为该田块的值,同时,当某个传感器出故障时还有其他三个在工作,不至于造成数据缺失。系统开发完成后首先在实验室内进行了反复测试,确保没有数据错误和逻辑错误后才最终安装布置到试验田里,至2017年4月已稳定运行10个月,系统源源不断地将土壤环境数据发送到服务器并展现给用户,通过手机和电脑查看的界面如图7和图8。
图7 手机端查看数据界面Fig.7 Data view interface on mobile phone
图8 电脑端查看数据界面Fig.8 Data view interface on PC
本研究根据大田土壤环境监测的实际需求,设计实现了一套基于4G无线传感网络的土壤环境远程监测系统,可以对农田土壤的温度、湿度、pH等信息进行长期远程监测,监测数据可以长期保存并且可以在有互联网接入的地方通过Web浏览器随时查看。系统采集的数据配合相应的专家系统及控制系统,可使农业科研人员或生产技术人员更加精准地掌握和控制影响作物生长的土壤环境参数,为农业科技工作者和农业从业者在精准农业和数字农业方面的研究与实践提供可靠和低成本的数据来源和便捷的操作,具有很好的应用和推广价值。