基于微信平台的萝卜小气候监测服务系统设计

2022-09-22 08:16李沁耘宫志宏黎贞发
天津农业科学 2022年9期
关键词:青萝卜服务器端萝卜

李沁耘,刘 涛,宫志宏,黎贞发,于 红

(1.天津农学院 计算机与信息工程学院,天津 300380;2.天津市气候中心,天津 300074;3.天津市西青区气象局,天津 300380)

萝卜作为我国主要蔬菜作物之一,栽培历史悠久。截至目前,我国每年萝卜播种面积保持在120万hm左右,总产量达4 000万t,是世界第一大萝卜生产国。萝卜产量、品质的好坏很大程度取决于生长环境中的气候条件。因此,做好萝卜生产设施小气候的监测预警服务是未来萝卜高产和优质生产的关键。

设施气候条件是影响萝卜生长发育的主要因素。目前,国内针对设施园艺气候监测的相关研究较多,如黎贞发等利用物联网技术开发集小气候实时监测、灾害预警、自动化控制等技术于一体的气象监测与灾害预警系统。孙志贵等通过多重因素关联规则学习方法,构建基于互联网气象数据、设施农业小气候环境数据及作物生育期等多重因素的设施农业气象灾害预警和生产管理专家知识规则,开发基于互联网数据挖掘和专家知识决策技术的设施农业气象灾害监测预警及智能决策推送服务系统。李慧等开发了一种基于物联网Android平台的水产养殖远程监控系统,实现了多传感器节点的信息远程采集和数据存储功能。宫志宏等基于Android手机平台,构建了一种作物苗情灾情快速上报系统,为获取实时农情数据和开展灾后救援工作提供可靠支撑。刘书伦等设计了基于物联网Android平台的农业远程智能节水灌溉系统,实现了对多传感器节点(空气温湿度、光照、土壤湿度、电磁阀、变频器等)远程采集和控制,以及对多个控制器节点的远程监测与控制。邓晓栋基于Android平台设计了一种温室大棚环境因子远程测控系统,该系统实现了远程监控,并设计了APP,实现了移动终端的实时监测和控制。以上研究为后者在利用智能手机进行数据监测以及服务方面提供了重要的参考价值。目前将实时监测、预报预警和实时农情、灾情上报的服务集于一体的平台很少,而且很多平台是基于APP开发的,但APP在实际使用中,下载、登录步骤相对繁琐,存在推广难度大的问题。微信小程序作为大数据时代的产物,成本低、运用简单、使用广泛,目前已逐步成为农业领域智能手机应用研究的热点。

本研究基于卫青萝卜生产者在实际生产中的气象监测与生产服务需求,将数据采集端、云服务器端和小程序端进行结合,设计并开发了基于微信平台的萝卜小气候监测服务系统。监测与服务系统通过实时监测棚室小气候环境,依托于卫青萝卜各生育期的气象指标,为农户生产决策提供科学指导,实现了设施卫青萝卜监测预警精细化、精准化。

1 系统总体设计

基于微信平台的萝卜小气候环境监测服务系统主要由数据采集端、云服务器端和小程序端三部分组成。数据采集端负责采集、传输数据,服务器端负责接收、存储、处理数据,小程序端负责实时展示监测数据、提供预报预警以及农情、灾情上报等服务。系统采用B/S和C/S混合架构,农民用户可以通过微信小程序随时查看小气候站监测的数据和气象部门发出的预报预警服务信息,同时可以通过微信小程序将农情信息上传到云服务器端,系统整体架构如图1所示。

图1 系统整体框架图

1.1 数据采集端

数据采集端负责数据的采集和存储。棚内的监测设备采用便携式智能小气候监测仪FLHBZ_B02,该设备采样要素包括光照、空气温湿度、土壤温湿度,通过4G移动网络连接至云服务器端;支持GPS定位;配置1.14寸TFT液晶屏,可以直观显示设备及采样信息;配置触控按键,通过不同触摸方式实现点亮液晶屏、开关机或者启动GPS等功能;配置USB TYPE-C接口,设备充电和数据调试更方便。该设备实现了气象要素的采集、显示,同时具备低功耗、低成本等特性。设备设置每10 min向云服务器端发送1次数据。

1.2 云服务器端

云服务器端负责采集端数据的接收、存储、处理。卫青萝卜气象监测数据通过4G移动网络存储到MySQL数据库中,库表为采集数据记录表,包括的字段有时间、空气温度、空气湿度、土壤温度、土壤湿度、光照强度、经度、纬度、供电电压等。卫青萝卜的信息使用MySQL数据库建立站点表,如卫青萝卜气象指标库表、卫青萝卜产品信息表、卫青萝卜站点信息表等。棚外气象数据包括天气实况数据、预报预警数据,这些数据均来源于和风天气。

1.3 小程序端

小程序端是基于微信平台的,主要向用户展示监测数据、预报预警信息和气象服务产品等功能,基于MINA框架进行开发,通过视图层和逻辑层组成。视图层使用WXML和WXSS来实现,负责界面的布局和样式;逻辑层使用JS即JavaScrip语言来实现,负责界面数据的交互。

系统开发环境为:Windows Server 2019+tomcat 9+JDK1.8+IntelliJ IDEA 2019.3.5+微信开发者工具;系统测试环境为:智能手机荣耀30S。

2 系统功能设计

基于微信平台的萝卜小气候监测服务系统的功能主要由实时监测、预报预警、农情互动和萝卜专题4个模块组成,如图2所示,每个模块下有对应的子模块。

图2 系统功能设计图

2.1 实时监测模块

实时监测模块包括棚内的气象监测数据、棚外的自动站实况信息。棚内的气象监测数据是由固定式小气候站监测设备提供的,能够实时显示大棚内的空气温度、空气湿度、土壤温度、土壤湿度、光照强度这5个气象要素,小程序界面以表单形式展示实时监测的数据,方便用户直观地获取棚内信息。设施农业棚外实况信息是通过和风天气提供实时天气数据API接口,通过高德地图提供定位API接口,从而获取了基于位置的棚外天气实况信息。

2.2 预报预警模块

预报预警模块包括棚内未来3 d预报、棚外未来7 d预报和气象预警信息3个子模块。棚内未来3 d预报主要针对空气温度进行预报,为农户便捷管理棚室提供了可能;棚外7 d预报是通过和风天气提供7 d预报的API获得数据,为农户管理温室提供了重要的参考价值;气象预警信息通过和风天气提供灾害预警API以及天津的LocationID来获取实时天气灾害预警数据,并且小程序根据预警信息推送相应的防范措施,实现气象预警的智能化。

2.3 农情互动模块

农情互动模块包括卫青萝卜服务产品、专家指导农户农事活动和农户实时农情灾情上报3个子模块。服务产品模块主要是分析近期天气对卫青萝卜的影响,同时为农户管理卫青萝卜提供科学依据,以pdf文档形式展示在小程序上;专家指导农户农事活动模块是通过对话框的形式来沟通交流;实时农情灾情上报模块是农户通过将当前位置、时间、作物、受灾情况等信息发送至云服务器端,来实现农情灾情上报功能。

2.4 萝卜专题模块

萝卜专题模块包含卫青萝卜的品种介绍、气象条件适宜度分析、农事管理以及发展历程4个子模块。通过对卫青萝卜的品种介绍,农户可以选择优质品种实现高产高质;根据专家提供的卫青萝卜适宜气象条件,结合当前生育期气象数据,分析卫青萝卜环境适宜度,方便农户科学管理大棚;农事管理模块是通过专家获取《保护地沙窝萝卜栽培技术规范》,将各生育期肥水管理、病虫害防治技术以列表形式展示;卫青萝卜的发展历程以堆叠图形式展示了卫青萝卜近年种植面积及产量变化特征。

3 系统关键技术

3.1 数据交互的方式

3.1.1 采集端数据获取 当传感器设备观测到数据时,会自动触发监听事件,服务器监听程序就会监听到设备上传数据操作,数据控制中心界面会显示“注册”“断开连接”指令,说明数据控制中心正在接收设备传输的数据,之后进行解析,通过配置文件连接数据库,将数据写入数据库,最终采集端数据获取成功。

3.1.2 小程序数据交互 后台使用SpringBoot框架、MyBatis框架进行开发。使用SpringBoot框架添加@RestController注解,可以开发HTTPS请求接口,小程序端通过该接口向服务器端发送请求,服务器端将请求的信息放在数据包,将数据包封装到POST中,以json格式传给前端。MyBatis框架集成了SQL语句的相关操作,后台与MySQL数据库交互时,使用ProductMapper.xml文件的标签,通过该标签可复用SQL语句片段,在执行SQL语句标签时直接引用即可。注意实体类中的字段名称及类型与数据库中的字段名称及类型必须保持一致,否则无法获取数据。

3.1.3 预警预报数据及位置的获取 获取棚外数据时,在index.js文件中编写Weather:function()函数,通过wx.request()发起HTTPS网络请求,与此同时,必须设置自己的用户认证key,获取key需要进入和风天气的控制台,点击应用管理,创建应用即可,应用类型选择web API,完成之后便可以获取实时天气以及未来7 d的数据,在index.wxml文件中将获取到的数据显示在小程序界面上,并进行界面整体布局。获取位置数据时,通过genCodeLocation:function(lat,longi)函数,来获取位置信息,并调用Weather(lat,longi)函数获取当地的天气实况,从而获得精确的地理位置及天气信息。获取预警信息时,获取接口数据,通过getWarning:function()函数发起网络请求,在onLoad:function(res)函数中调用getWarning(),可以获得天津市气象局发出的预警信息,结合该信息,可以直接推送防灾措施。

3.1.4 产品文件展示方式 产品文件是通过西青区气象局业务人员获得,将获取到的文件以pdf格式上传到云存储,后台经过解析,可以获取url接口,通过调用wx.downloadFile()函数,最终将产品展示在小程序上。

3.2 数据存储的方式

本系统从小气候站获取到的数据通过4G网络传输到MySQL数据库中。MySQL数据库软件体积小,使用简单,且支持多种操作系统,所以使用MySQL数据库来存储数据。在服务器上部署MySQL数据库,根据系统功能的需求,设计了tabtimedatam、condition、information、station、device等表,用来存储设备采集到的实时监测数据、卫青萝卜气象指标数据、卫青萝卜生育期信息、棚室站点信息、仪器设备基础数据等。

3.3 数据展示的方式

微信小程序在逻辑层将数据进行处理后发送给视图层进行展现,同时接受视图层事件反馈。wxml文件用于描述页面的结构,具有数据绑定、列表渲染、条件渲染、模板及事件绑定的能力,wxml文件中所绑定的数据,均来自于对应页的js文件中Page方法的data对象。

本系统微信小程序根据微信官方文档提供的框架、组件来实现。scroll-view标签实现了小程序的页面滚动;picker组件实现从底部弹起可滚动选择的功能;通过引入echarts模块,微信小程序实现数据可视化,数据以图表形式直观展示;navigator标签当中的url属性可以实现小程序内页面的跳转。

4 系统测试

基于微信平台的萝卜小气候环境监测服务系统于2021年秋季在天津市西青区辛口镇蔬菜基地(39°04'N,116°54'E)进行测试。经测试,此系统可以实时获取棚室内、外空气温湿度、土壤温湿度及光照强度等数据,同时能够及时为生产者提供气象灾害预警信息以及农业生产管理决策建议,还可以根据萝卜关键生育期气象条件需求,展示相关气象部门的服务产品,部分小程序界面及功能如图3所示。结果表明,此系统具有较好的稳定性与实用性,基本满足了农户的实际需求,可以进行大范围地推广。

图3 智能监测与服务系统主要界面示意图

5 结论与展望

本研究设计了基于微信平台的萝卜小气候环境监测服务系统,不仅可以自动实时采集空气温湿度、土壤温湿度以及光照强度等数据,还可以将这些数据同步展示在小程序端,并且结合卫青萝卜生育期的适宜气象条件,为生产管理者提供决策服务。同时本系统通过实时监测预警信息,可以为生产管理者提供实时、个性化的科学指导,大大提高了系统的实用性。系统是基于微信平台开发的,可以调用微信原生的API,很大程度降低了系统开发成本,在一定程度上,提高了系统的稳定性。

猜你喜欢
青萝卜服务器端萝卜
平凡的孩子
卫青萝卜水肥一体化技术试验研究
Linux环境下基于Socket的数据传输软件设计
萝卜蹲
青萝卜护绿与热泵干燥动力学研究
买萝卜
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
网页防篡改中分布式文件同步复制系统
“津翠”青萝卜新品种介绍