我国是一个农业大国,温室大棚在我国农业生产中已经得到广泛应用。但目前国内温室控制网络化水平较低,随着Android手机的不断普及,实现手机APP网络化远程控制是温室控制发展的一大趋势[1]。在温室现场控制方面,工控机成本过高,不利于在广大农户中普及;单片机处理数据能力有限,处理速度慢,无法满足现代温室大棚生产要求;温室内的特殊环境不方便布线[2]。因此,文中设计并实现了一个应用无线传感器网络技术、嵌入式系统技术,结合Windows远程桌面平台以及手机APP远程监控的温室控制系统。该系统成本低,处理速度快,控制方便,能够使农户脱离现场,即时掌握温室现场信息[3],远程控制温室内设备,易于在广大农户中推广。 1 系统的总体设计
该系统使用多个硬件平台与操作系统,总系统分为无线采集模块、嵌入式中央控制器模块、PC机服务器模块、手机APP模块4个部分。在大棚现场使用多个传感器节点采集温室大棚内不同位置的温度与湿度,通过Zigbee无线传感器网络与SINK节点信息传递[4]。嵌入式中央控制器能够对各个环境因子的数据进行实时显示,进行数据存储及历史查询,自动或者触摸屏手动控制外围电路,调节当前的环境变量,使之达到植物生长的最优要求。嵌入式控制器载有DM9000网卡,能够与远端的PC机服务器建立TCP连接[5],进行网络通讯。手机APP以服务器为桥梁与嵌入式中央控制器进行信息传递,以实现对大棚的实时远程监控。
2 系统硬件无线数据采集模块采用基于CC2430的无线传感器模块,应用SHT10传感器,应用TinnyOS操作系统。CC2430内置8051内核,稳定性高,抗干扰能力强,电流损耗低,适合温室现场的要求[6, 7]。传感器节点硬件结构如图 2所示。汇聚节点负责接收处理各个传感器节点采集到的数据信息,通过串口通信与嵌入式中央控制器连接。
嵌入式中央控制器使用TQ2440开发板,如图 3所示。开发板应用S3C2440芯片,ARM9硬件开发平台,LCD触摸屏为创群7寸屏,均采用5 V供电。Nandflash为256 MB。开发板与汇聚节点通过串口通信。开发板网卡为DM9000网卡,经过调试,通过RJ45网络接口可以与远程服务器通信[8]。
服务器运行于32位windows操作系统的PC机,为满足oracle数据库的要求,至少需要1 024 MB的物理内存。手机APP模块使用Android手机。 3 系统软件 3.1 嵌入式中央处理器程序
开发板移植系统为Linux 2.6.30。在虚拟机内安装使用Fedora10操作系统,程序交叉编译后生成二级制文件,通过超级终端移植到开发板内[9]。
为使农户更加方便地使用该系统,中央控制器采用QT编写,具有良好的人机交互界面。农户可以通过LCD触摸屏选择自动或手动控制外围设备。控制器采用多线程设计模式。主线程实现人机界面显示以及各功能模块控制,线程2负责采集汇聚节点接收数据与TCP网络连接。程序流程如图 4、5所示。
多线程技术可以使程序响应的时间更快。主程序执行的同时读取串口数据,存储数据并将节点、温度、湿度、日期、时间信息发送至server。同时负责接收server发送的控制信息。 3.2 服务器模块程序
服务器应用程序使用myeclipse10开发平台,JAVA编程语言,数据库版本为Oracle10g。
服务器程序运行在能够上网的PC机上,是嵌入式控制器与手机APP的通信桥梁,嵌入式控制器与手机APP可以通过固定的外网IP地址加端口号来找到服务器。如果条件不允许(即用户使用内网)可以通过花生壳等软件辅助,通过域名解析,内网映射实现通信。
嵌入式控制器与手机APP同视为客户端,程序运行首先建立服务器监听,监听PC机未被使用的端口,等待客户端的连接。同样采用多线程技术,每接收到一个客户端连接,建立一个新客户端线程,并放入client线程集合,负责该客户端数据的接收,流程如图 6所示。服务器端可以把大棚信息数据转发给手机,手机的控制命令或设置参数转发给嵌入式控制器。在嵌入式控制器与APP发送的数据中设置标志位,区分嵌入式控制器与手机端。
服务器端拥有操作界面,用户可以在PC机上直接看到嵌入式控制器发来的温室内的数据信息,拥有与嵌入式控制器LCD触摸屏类似的控制按钮,可以直接远程控制。
服务器同样拥有数据库存储查询功能,采用JDBC技术连接Oracle数据库。在数据库中建立2个表,管理员表与大棚数据表。用户同样可以通过操作界面查询历史信息,通过JFreeChart类库可以直接把查询到的历史数据生成折线图,方便用户观察。 3.3 手机APP模块程序
手机应用程序使用Eclipse开发,通过Google专门为其设计的辅助插件ADT,使得Eclipse能够与Android SDK建立连接。在Eclipse中可以使用Android模拟器或者直接插入手机数据线调试。
与嵌入式中央处理器模块类似,手机应用程序同样采用基于TCP/IP的socket连接方式[10],在数据连接下,通过域名映射,访问远程服务器,建立连接。建立连接后手机端会受到服务器端转发过来的温室内的数据信息,即时显示,并能够发送控制指令,设置参数。手机端还具有报警功能,当接收到的温湿度信息超过或低于设置值时会响铃。APP主要功能模块如图 7所示。
4 系统测试与结论本系统采用模拟温室大棚做实验,如图 8所示,设有卷帘、加湿器、模拟加热装备、通风扇等外围设备。系统输出的控制信号通过驱动电路与被控对象连接,直接控制大棚中的风扇,卷帘等设备的工作状态。手机数据连接上网能够实现对温室的远程监控。
服务器端效果如图 9~11所示。手机APP模块部分界面如图 12所示。
5 结束语该温室监控系统功耗低,成本低,稳定性高,操作简单方便,能够与实际温室大棚生产无缝对接,易于在广大大棚农户中推广使用。
手机APP远程网络化监控是近期一发展趋势,本系统设计方法同样适用于其他领域。如智能家居,户主可以用手机远程监控家内空调,热水器等家用电器。
本系统还有很多发展空间,比如在现场终端可以加入GPRS模块,实现移动对象的监控,可应用在比如货运车辆管理系统,货运车辆将各种数据信息即时发送到远程服务器,实现货运车辆的网络化管理。服务器模块可以完善客户资料,建立使用客户数据库。手机模块功能可以更加丰富,比如加入视频功能,数据库功能。
[1] | 吴小伟,史志中,钟志堂,等. 国内温室环境在线控制系统的研究进展[J]. 农机化研究,2013(4):1-7,18. |
[2] | 张佳文. 基于嵌入式的温室控制系统[D].沈阳:沈阳工业大学,2014:6-18. |
[3] | 白云州. 基于W5100的网络化温室大棚环境监测系统[J]. 制造业自动化,2011(3):20-21,28. |
[4] | 肖薇,王向东,李树江. 基于WSN和嵌入式系统的农业温室智能控制器设计[J]. 微型机与应用,2013(21):65-68. |
[5] | 蔡尧. Linux环境下的嵌入式系统开发及其网络编程应用[D].西安:西安电子科技大学,2008:16-48. |
[6] | ZHANG Qian. A wireless solution for greenhouse monitoring and control system based on ZigBee technology[J]. Journal of Zhejiang university, 2007(10):1584-1587. |
[7] | 王博,辛云宏. TinyOS移植技术分析及在CC2430平台的应用[J]. 电子科技,2012(9):55-59,66. |
[8] | 高嵩,纪超,陈超波. 基于嵌入式Linux的DM9000网络驱动设计[J]. 计算机与数字工程,2013(2):304-306. |
[9] | 李良,姚凯. 嵌入式Linux系统的开发环境搭建与移植[J]. 电脑编程技巧与维护,2014(12):16-18. |
[10] | 张相蕾. 基于Android的远程监控系统技术研究[D].哈尔滨:哈尔滨工程大学,2012:16-48. |