基于C#的温室大棚ScareCrow云平台设计与实现
2018-04-09吕志刚鲁可心李亮亮
吕志刚 鲁可心 李亮亮
摘 要 当前,农业生产中化肥、农药等化工产品的广泛应用,造成了土壤的污染。为了达到经济与生态环境的协调发展,开发了基于WEB技术的云平台服务系统,实现对温室大棚内相关参数的采集分析,并提供便捷人性化数据服务。工作人员可通过电脑、手机APP以及其它移动设备,查看温室大棚监控数据及数据历史曲线,便于及时处理和分析温室环境是否处于最佳状态。本系统使用VisualStudio2012下的ASP.Net开发环境,开发了基于B/S模式的云端服务平台。同时,结合SQL Server2008R2数据库,实现对海量数据的存储及管理功能。系统开发简洁、稳定运行,便于维修管理,已成功应用在温室大棚的生产一线。
【关键词】温室大棚 数据曲线 C#语言 B/S SQL Server MVC
目前,中国的科技工业正处于3.0状态,农业是1.0,2.0,3.0并存的现状。农业4.0时代是集物联网、大数据、移动互联以及云计算的全新模式。在我国,温室大棚的应用以及开发工作已经相对成熟。但随着大环境的智能化,传统意义的农业生产和大棚已经与时代步伐相差甚远。
本系统是基于现代科技智能化、环保可循性的4.0大环境下,实现一套完整经济智能化“生态系统”。本文设计的云端服务平台可实现对指定温室环境空气、土壤、水质等一系列参数的采集及分析预估,以实现整个“生态系统”的监测。同时实现数据云端SQL数据库存储。单个采集项目可进行相应的历史曲线以及在线采集曲线的实时显示,便于工作人员的直观掌控环境参数,当数据出现异常时可进行声音、颜色等的多种报警方式,提醒工作人员进行相应的远程调控。
ScareCrow云端服务平台的设计保障了温室环境的在线掌控,同时解决了移动设备因未配置数据库以及C#运行环境而不能实时掌控的问题。采用在线Web界面的访问,操作简单、界面直观。极大的提高了工作效率和环境数据的实时掌控。
1 系统的总体设计方案
本系统主要由硬件数据采集,客户端上位机以及网页云端服务系统组成。数据采集部分主要实现对温室的水质、空气、土壤等环境参数,根据客户端上位机等控制终端指令进行自动、手动、远程等控制方式的切换,实现最优参数的实时掌控。
由于SQL Server 2008允许使用Microsoft .NET和Visual Studio开发的自定义应用程序中使用数据。因此,工作人员可通过链接WEB网页指定IP地址配置相应端口即可实现移动设备对云端服务平台的访问及相应控制操作。系统过工作原理图如图1所示。
2 数据采集终端硬件设计
数据采集终端硬件使用大量的传感器节点构成监控网络,对主要的农业生产影响因素进行数据采集。通过无线网络汇聚至STM32协调控制器进行处理液晶显示,通过RS485网络接口传输至PC监控终端进行数据存储及分析。如图2所示。
3 Web云平台设计
利用Microsoft Visual Studio 2012开发工具下的ASP.Net 、AJAX和SQL查询实现Web页面的环境信息显示、折线图分析和控制指令发送等。通过操作人员正确输入IP地址及端口可在移动设备上随时查看环境运行参数。同时可远程发送控制指令,以实现设备的自动调控,从而保证农作物良好适宜的生长环境,从而达到增产增收、提高品质的目的。如图3所示。
3.1 环境监控功能
环境监控窗口保證环境各个参数的在线实时显示,同时查看各种控制继电器当前的工作状态,从而提醒工作人员是否有必要开启控制指令。通过正确链接SQL数据库,将当前采集的环境参数以及控制继电器的状态实时同步至WEB服务器,便于工作人员的及时处理查看。其中最为关键的就是链接环境数据库,使用链接语句:SqlConnection con = new SqlConnection("server="@"PERFECTWANAN-PC\SQLEXPRESS;database=农业数据库;Trusted_Connection=yes;Connect Timeout=90")确保正确链接数据库,采用“Windows”验证方式登录。采用con.Open()语句打开已经链接的数据库。利用语句:SqlCommand com = new SqlCommand("select 空气温度,空气湿度,土壤温度,土壤湿度,土壤酸碱,二氧化碳,氧气浓度,PM25浓度,光照强度,雨量信息,烟雾浓度, 水浑浊度,水含氧量,水电导率,水酸碱度 ,喷灌状态,通风状态,遮阳状态 from 农业数据库 ", con)与SqlDataReader dr = com.ExecuteReader()将数据表提取进行实时显示及绘图操作。正确链接数据库,实时同步数据,如图4所示。
3.2 数据分析功能
如图5所示,在数据分析界面主要实现数据的实时曲线绘制,便于工作人员直观了解参数数据的历史走势,便于下一步的操作处理。通过创建二维数据表实现数据的曲线绘制,使用Chart控件进行数据曲线绘制,通过对Chart控件属性的修改,实现纵横坐标的范围标题的显示。曲线绘制代码如下:主要实现二维数据表的建立。
protected DataTable CreatData()
{DataTable dt = new DataTable();
dt.Columns.Add("shuju采样点", System.Type.GetType("System.String"));
dt.Columns.Add("DATA数值", System.Type.GetType("System.String"));
for (int i = 0; i < ListBoxFenXi.Items.Count; i++)
{DataRow dr = dt.NewRow();
dr["shuju采样点"] = i;
dr["DATA数值"] = ListBoxFenXi.Items[i].Text;
dt.Rows.Add(dr);
}return dt;
}
3.3 手机访问WEB云平台功能
采用网络端口映射实现外部网络访问本地Web界面。使用NAT123工具进行IP端口映射,其中连接网站在NAT123p2p访问者软件中進行打开查看端口为443的网址,即为访问Web云平台服务的IP地址。首先开启“NAT123”映射服务软件,同时启动WEB云平台服务后。手机正确输入IP地址和端口号例如:“http://10.74.143.127:443”,点击访问即可实现ScareCrow云平台服务系统的登录访问。需要注意的是根据PC机所连接的网络不同,映射的IP地址不同,使用时需要提前告知映射IP端口即可正确访问ScareCrow云平台,便于工作人员在线掌控温室环境,以实现一套完整经济智能化“生态系统”。如图6所示为端口映射。
在浏览器中正确输入IP和端口号,实现对ScareCrow云服务平台的访问与操作。如图7所示。
4 结束语
通过ASP.NET设计实现了服务器端软件设计,完善了ScareCrow系统的服务功能。学习了Ajax模型和ASP.NET中Ajax的控件实现方式。加深了网页系统开发的理解。C#开发软件界面设计友好、美观,数据库存储安全、可靠等特点值得深入研究。极大的提高了工作效率和环境数据的实时掌控,为实现设备的自动调控,保证农作物良好适宜的生长环境,达到增产增收、提高品质提供了可行性基础范例。
(通信作者:吕志刚)
参考文献
[1]黎明.“农业4.0”背景下我国精密农业发展趋势分析[J].南方农业,2017,11(22):71-72.
[2]刘卫英.探讨SQL Server数据库的性能分析与优化策略研究[J].中国信息化,2017(07):85-87.
[3]黄东连.基于ASP.NET MVC框架的Web开发研究[J].河南科技,2015,567(07):26-27.
作者简介
吕志刚(1978-),男,硕士,副教授,主要从事嵌入式、现场总线技术方面的研究。
作者单位
西安工业大学电子信息工程学院 陕西省西安市 710021