周 鹏,燕 斌,田 晨,许爱霞,程 涛
(1.江苏农牧科技职业学院 农业物联网系,江苏 泰州 225300; 2.靖江市气象局,江苏 靖江 214500;3.泰州市姜堰区农业委员会,江苏 泰州 225500)
大田农业是指大面积种植农作物的大规模农业生产。小麦、水稻、玉米等在我国有着大面积种植范围的,均可称为大田农作物。农作物的生长离不开水,长时间干旱将对农作物产生不利的影响,甚至导致植株的死亡,而降水过多也容易造成农作物烂根等疾病。监测系统可以监测大田的降雨情况,当降雨时间过短,可实施人工灌溉,当降雨时间过长时,则应做好农田的排水措施。降雪量偏大的地区,如果覆盖在小麦上的冰雪层融化而气温又长期稳定在零下时,就有可能对冬小麦产生冻害。监测系统可对降雪进行监控,可对冬小麦等农作物实施抢收抢管。待天晴雪融后,可进行培土壅根、覆盖保苗,增施有机肥和钾肥等暖性肥料,以增强农作物的抗寒能力[1]。
大田气象环境监测系统的网络结构遵循物联网的三层基本结构[2]。感知层通过传感器节点,采集大田气象环境信息,并将数据汇聚至网关节点做滤波、融合等处理[3]后送服务器。用户借助计算机网络或移动数据网络访问服务器中保存的数据。用户在应用层实现大田气象环境信息的接收和发送控制命令[4]。
大田气象环境监测系统分为传感器节点、网关和服务器三大部分,整个系统的体系结构如图1所示。该系统的具体实施需要完成各种节点硬件平台、节点应用程序、Web Service设计,其中硬件平台的设计包括传感器节点和网关节点的设计[5]。
图1 大田气象环境监测系统
由于大田种植区域面积较大,因此大田中数据采集节点与服务器之间不便采用传统有线传输、蓝牙、Zigbee或Wifi等数据传输方式[6]。而采用NRF24L01+PA的大功率无线通讯进行信息传输是一种较为合理可行的数据传输方案[7]。
NRF24L01+PA的大功率无线通讯距离在2 300 m左右,如需将传感器节点收集到的数据共享到更广的区域内则需要借助其他技术手段,如以太网、GPRS等。以太网技术在众多领域均有应用,且软硬件技术成熟,适合远距离、数据量大及高传输速率的应用场合,在网关节点上配置NRF24L01+PA及网卡模块的方案可以解决大田缺乏计算机网络基础设施的情况下,可靠传输大田气象信息数据的问题。
传感器节点主要包含数据采集单元和数据传输模块。传感器节点采用STC公司型号为STC12C5A60S2的单片机为核心,雨雪、风速、风向、土壤湿度、光照等传感器将测量的数据送至STC12C5A60S2经必要处理后以无线传输的方式传送至网关节点。
网关节点主要由数据传输模块、数据处理单元和网卡模块组成,实现的功能主要包括接收传感器节点发送的数据,将基于自定义协议的数据转换成符合TCP/IP协议的数据。转换完成后,通过网卡模块把数据发送到计算机。
雨雪传感器节点主要由雨雪传感器及STC12C5A60S2单片机构成,土壤湿度传感器节点主要由土壤湿度传感器及STC12C5A60S2单片机构成。雨雪传感器和土壤湿度传感器都是将探头所接触介质的电导率变化转化为电压变化并送至STC12C5A60S2单片机做A/D转换,根据测量值可获取降雨、降雪及土壤湿度数据。单片机获取数据后通过NRF24L01+PA无线传输模块将数据传输至网关节点。
风速、风向传感器节点主要由风速、风向传感器及STC12C5A60S2单片机构成。风速、风向传感器的输出为模拟电压值,风速、风向的变化转化为电压变化并送至STC12C5A60S2单片机做A/D转换,根据测量值可获取风速、风向数据。单片机获取数据后通过NRF24L01+PA无线传输模块将数据传输至网关节点。
光照传感器节点主要由BH1750FVI光照传感器及STC12C5A60S2单片机构成,两者采用IIC总线方式进行数据传输。BH1750FVI光照传感器负责采集大田的光照数据并将数据通过NRF24L01+PA无线传输模块转发至网关节点。
网关节点主要由ENC28J60网卡模块、NRF24L01+PA无线传输模块及STM32F103单片机构成,ENC28J60带有SPI接口,通过该接口可以将其与STM32F103进行连接(图2)。NRF24L01+PA无线传输模块与网关节点采用串口连接,用于与其他传感器节点进行数据通信,对各传感器节点转发的数据做数据融合后,ENC28J60模块将处理好的数据借助计算机网络传输至计算机[8]。
图2 CC2530与网卡芯片ENC28J60的连接
大田气象环境监测系统中的雨雪传感器、土壤湿度传感器、风速、风向传感器节点都是输出模拟电压数据经STC12C5A60S2单片机采集后由NRF24L01+PA无线传输模块转发至网关节点。因此传感器节点的程序主要包括单片机AD采集与NRF24L01数据传输两部分(图3)。
图3 AD采集与NRF24L01数据传输程序流程
网关节点需要与其他多个传感器节点进行数据通信,通信部分程序流程图如图3所示。为保证网关节点接收到数据后能识别出不同类型传感器节点发送过来的数据,需要自定义一套通信协议。约定节点发送的指令/数据格式为帧头+节点编号+模块ID+命令/数据(ParamH+ParamL)+帧尾,其中网关节点的帧头为CC EE,传感器节点的帧头为EE CC;节点编号从01~FF;模块ID号从01~FF;帧尾为FF。根据自定义通信协议定义的数据包结构体如下:
typedef struct
{ uint8 Header_1;
uint8 Header_2;
uint8 NodeSeq; //
节点编号
uint8 NodeID; //
模块ID(00表示网关)
uint8 Command; uint8 Data[10];
uint8 Tailer;
}UART_Format;
网关节点需要实现的另一个功能是将其接收到的基于自定义通信协议的数据包转换成TCP/IP数据包。而在嵌入式设备上直接移植TCP/IP协议栈不仅工作量大而且难度高,因此改变思路移植一些经过改进的适用于嵌入式系统的TCP/IP协议栈则能起到事半功倍的效果。一些著名的轻量级TCP/IP协议栈有瑞典计算机科学研究院的Adam Dunkels等开发的LwIP协议栈和uIP协议栈等。当然还可以使用硬件协议栈即选择自带硬件TCP/IP协议栈的网卡芯片,如W5500以太网芯片。本设计采用的方案是在嵌入式微控制器上移植uIP协议栈[9]。
如何将网关节点汇聚并经滤波、融合过的数据提供给众多用户访问也是大田种植区域内气象环境监测系统研究的重点。Web Service通过为用户提供一组网页有效地解决了上述问题。Web应用程序一般都是B/S架构,即浏览器/服务器(Browser/Server)架构。B/S结构的程序开发、部署简单,用户易学易用,且网关升级时也不影响应用集成。根据大田气象环境监测系统的需求及特点,构建如图4所示的Web Service服务器[10]。
图4 Web和应用程序服务器
大田气象环境监测系统的前台采用JSP语言编写,通过JSP程序将数据库中的内容读出来显示在主页上,接收网关节点从客户端输入的气象信息并写入数据库。当后台数据库中的内容改变时,前台页面显示的信息也应随之变化。后台模块主要通过数据库实现,负责存储网关节点从客户端输入的信息并进行编号,同时管理员也可通过数据库实行动态管理。
本系统采用NRF24L01+PA无线传输模块和以太网相结合的通信方式实现对大田气象环境信息的监测。测试结果显示,大田气象环境监测系统能稳定、可靠地运行,实现了设计目标。本系统不仅适用于对大田气象环境的监控,还可用于其他众多场合,具有广泛的应用前景。
[1] 伍丹,高红菊,梁栋,等.无线传感器网络农田环境监测管理平台设计[J]. 农机化研究,2014(9):138-141.
[2] 郑纪业,阮怀军,封文杰,等.农业物联网体系结构与应用领域研究进展[J].中国农业科学,2017,50(4):657-668.
[3] 宋庆恒.基于多传感器数据融合的蔬菜大棚控制系统设计[J].农机化研究,2015(4):211-214.
[4] 李明河,郭建忠,王健.基于GPRS的村镇污水处理远程监控系统设计[J].控制工程,2017,24(4):799-803.
[5] 周鹏,燕斌.TinyOS在MSP430F149上的移植与应用[J].自动化仪表,2016 (8):13-15,20.
[6] 许童羽,王建东,须晖,等.基于ZigBee与WiFi的北方日光温室群监控系统设计[J].中国农机化学报,2016,37(1):59-64.
[7] 左湘文,薛筝筝,肖建辉.基于51单片机的气象数据无线传输系统的设计开发[J].气象科技,2015,43(5):829-832,879.
[8] 安葳鹏,屈星龙,李长青. 基于.ENC28J60以太网接口的矿用监控分站设计[J].测控技术,2016,35(11):91-94.
[9] 蒋莱. 几个主流TCP/IP协议栈介绍[J]. 计算机与网络,2016(8):46.
[10] 赵铁松,王晓云,李伟,等.基于B/S架构和开源WebGIS平台的气象观测站网可视化系统[J].气象科技,2013,41(1):57-61,96.