APP下载

基于Android的智能温室环境测控系统研究与实现

2016-05-03赵继春刘世洪乔珠峰

江苏农业科学 2016年3期
关键词:无线传感器

赵继春+刘世洪+乔珠峰

摘要: 介绍了基于Android移动终端的温室环境信息远程数据采集及智能控制研究和实现方法,探讨使用JZ4730微处理器控制无线通信模块MU736和现场的无线传感器网络,在移动终端上开发基于Android的应用管理系统,实现温室环境信息的智能采集、传输和控制;同时,给出了系统的硬件、软件设计实现方式以及试验的测试效果。系统的主要优势是通过移动终端APP方式远程实现监控温室环境信息,打破时间和空间限制,应用方便快捷。

关键词: Android;温室环境测控;无线传感器

中图分类号: S24;TP277.2 文献标志码: A 文章编号:1002-1302(2016)03-0394-04

温室环境信息变量的采集、传输和控制对于指导农业生产、提高农业现代化水平具有重要的意义。目前,大多数温室的控制方式是通过短距离的通信方式,将现场的传感器信号采集到控制主机,控制主机与现场的上位机进行通信,通过上位机实现控制信息的回馈调节[1]。主要的缺点是,管理者一旦离开温室生产现场,无法对温室实现远程控制。移动终端APP的控制方式是通过移动通信网络,与现场的无线通信模块进行通信,打破时间和空间的限制,实现远程信息的随时随地查看和控制。本研究通过无线传感器网络(wireless sensor networks,WSN)将温室的传感器信号,包括现场图像、空气温度、土壤温度、空气湿度、二氧化碳浓度、光照度等,高效地传输到远程移动终端。在系统设计的时候充分考虑到了扩展性,根据实际工作的需要,用户可以自由拓展传感器的类型和数量,通过移动终端APP软件实现信息的查看和回馈调节,为管理者提供方便、快捷、个性化的管理功能,通过测试完善,系统工作稳定达到了推广应用程度。

1 Android和无线传感器网络概述及优势

Android是1种开源的操作系统,在嵌入式Linux操作系统的基础上发展起来,主要是在移动设备上应用的操作系统,例如常用的平板电脑和智能手机。Android系统由4部分组成:操作系统、用户界面、中间件和应用软件。与苹果操作系统和微软操作系统相比,Android操作系统的主要优点在于其开放性,开发者平台允许任何移动终端制造厂商加入。目前Android系统的市场份额超过了80%,而苹果操作系统不到13%,微软嵌入式操作系统不到4%。同时,Android系统相对比较廉价,而且工作性能比较高效。基于此,本研究在温室环境测控系统软件开发方面使用Android操作系统,应用软件安装在移动终端上实现温室环境信息的远程随时随地采集控制[2]。

农业环境信息的获取和传输离不开无线传感器技术,无线传感器网络技术是一种点到点技术,集成了传感器、网路和通信技术[3-4],由散步的传感器节点和数据汇聚节点组成,节点具有传感、数据处理和网络通信的功能[5]。根据无线传感器在农业环境中的部署位置不同,可以将传感器分为无线地上传感器网络与无线地下传感器网络。无线地上传感器网络主要是在作物生长的地上空间布置相应的传感器,根据采集信息的需要,合理选择布设的传感器网络结点,实现最优的环境信息采集和传输控制。无线地下传感器网络主要研究点是关于土壤类型、土壤结构与成分、土壤含水率、节点距离、节点埋藏深度、网络拓扑结构、频率与功率范围、路由算法、组网方式等对电磁波多路径传输的最大传输距离、路径损失、含水量测试误差、误码率等方面的影响[6]。

目前农业环境信息获取和传输系统多为有线方式,布线复杂程度较高,农业环境中布设很多分散的传感器元器件,这些设备会随着作物生长的改变而进行位置改变或者调整,需要做大量的线缆铺设工作,而无线传感器网络具有特有的优越性,减少了大量麻烦的布线工作。本研究通过构建高可靠性的无线传感器通信网络,以实现温室环境数据的高效采集传输[7-11]。

2 系统整体设计

基于Android的智能温室环境测控系统由温室传感器采集控制系统、无线通信网络和移动控制终端组成,温室传感器采集控制系统通过无线传感器网络采集现场的传感器信号,包括图像、空气温度、土壤温度、空气湿度、二氧化碳浓度、光照度等,这些信号以短距离无线通信方式传送给控制主机。温室传感器采集控制系统通过无线通信模块与移动控制终端APP系统通信,实现温室环境信息的控制,用户可以根据需求下达指令给控制主机系统,从而控制温室的开窗、风扇和灌溉系统等,也可以预先配置实现对作物的自动监测控制管理。系统总体结构如图1所示。

3 硬件设计

在系统硬件设计过程中,充分考虑到系统扩展性和可靠性,使系统具有较好的抗干扰、故障自动恢复以及较好的输入输出转化能力。系统实现温室环境数据的采集、传输和控制功能。系统的硬件原理如图2所示,整个系统的硬件组成包括核心处理器、传感器网络电路、传感器信号接收电路、无线数据通信模块、液晶显示、存储器SRAM、按键电路和电源等。

主要的硬件组成部分说明如下:(1)核心处理器采用的是JZ4730,CPU处理器是1个32位嵌入式处理器,JZ4730处理器是君正公司开发的基于XBurst CPU微体系架构,CPU主频可以高达336 MHz,在处理器上集成了串口、并口、以太网口、USB接口等丰富的通用外设接口,具有较强的运算和数据处理能力。

(2)传感器网络电路包括温度传感器、湿度传感器、光照传感器以及二氧化碳传感器等,可以根据需要扩展所需要的传感器。这些传感器组成传感器网络通过无线发射芯片PT2262传送到控制主机,控制主机通过PT2272芯片进行解码接收。温度、湿度传感器分别采用的是PT100、SA801,光照传感器模块采用BH1750FVI,二氧化碳传感器模块采用T6615。图像传感器采用的是OV511 Camera芯片,处理器对其具有较好的支持。

(3)无线通信模块采用的是MU736,该模块是华为公司生产的用于无线数据传输的通信模块,支持各大运营商的移动通信网络,通信模块工作可靠性较高。

(4)串口通信模块采用的是MAX232,MU736无线通信模块在与核心处理器连接的时候,MU736模块采用的电平标准是RS232,然而核心处理器的电平标准是TTL电平标准,因此需要转化模块MAX232进行电平的匹配。

(5)液晶显示屏采用的是ZXM480272,按键电路采用的是82C79。电源主要采用太阳能电池板进行供电。

(6)控制输出电路采用的是MOC36,主要目的是通过降低电磁信号的干扰,提高系统的稳定性。

4 软件设计

在外围硬件设备软件驱动设计方面,JZ4730核心处理器对液晶显示屏、按键、串口、USB接口等具有较好的驱动能力,直接调用相应的底层驱动程序即可。传感器网络信号的采集、图像数据的采集和无线数据的远程传输是软件设计的重要部分。

4.1 传感器网络信息采集

传感器网络信息的采集是通过程序的轮训操作实现的。首先,对传感器网络中的传感器进行初始化,轮训查询传感器节点,当检测到测量信息时,开始传感器数据的采集接收,当程序检测没有测量信息时,传感器节点地址加1,也就是检测下一个传感器节点是否需要数据信息采集。当一个传感器信息数据接收完成后,开始检测下一个传感器节点。传感器网络信息采集软件实现流程如图3所示。

4.2 图像传感器数据采集

图像传感器采用OV511芯片,在Linux嵌入式操作系统下进行视频图像采集。首先在Linux Kernel中添加关于模块驱动程序支持,接下来编写图像数据采集程序,通过嵌入式系统Video4Linux模块提供的程序接口从图像传感器OV511设备中获取图像帧。图像传感器数据采集流程如图4所示。

图像传感器数据采集实现的核心代码如下:

for(Sframe=0;Sframe mapbuf.frame=Sframe;

if(ioctl(cam,ImageCMCAPTURE,&mapbuf)<0){

perror(“ImageCMCAPTUR”);

exit(-1);}

}

frame=0;

while (1){

i=-1;

while(i<0){

i=ioctl(cam,ImageCSYNC,&Sframe);

if(i < 0 && errno==EINTR) continue;

break;

}

buf=bigbuf+vidbuf.offsets[Sframe];

mapbuf.frame=Sframe;

if (ioctl(cam,ImageCMCAPTURE,&mapbuf)<0) {

perror(“ImageCMCAPTURE”);

exit(-1);

}

Sframe++;

if (frame>=vidbuf.frames) Sframe=0;

}

4.3 无线数据传输控制

无线通信模块MU736与核心处理器JZ4730采用的是串口的连接方式,主要是通过对网络套接字的编程实现传感器信号的传输。无线数据传输实现的原代码核心部分如下:

if ((MD=open(“Idata”,O_RDWR,0A77)) >0)

len=read(MD,buff,46000);

printf(“Image=%d\n”,len);

open_mcom(76800);//打开串口操作

init_timer();//初始化定时去操作

Iframe=sys_mstime();

printf(“The time:%d- - - -Iframe=%d\n”,ii,Iframe);

init_Ilib();//初始化图像处理库

printf(“init_Ilib\n”);

m=init_MU736();//初始化无线通信模块MU736

if (m==0)

printf(“init_MU736 OK m=%d\n”,m);

else if (i==-1)

printf(“init_MU736 fault m=%d\n”,m);

printf(“send over Image=%d \n”,Image);

m=send_Image((u_char *)“SIM Number”,(u_char *)“test”,Mlen,buff);

printf(“send over i=%d \n”,i);

return 0;

5 移动端APP控制系统开发

移动端开发采用的是基于Android操作系统,集成开发环境采用的是Myeclipse,程序设计语言为Java,数据库采用的是MYSQL。在开发设计过程中,充分考虑系统的扩展性以及人机交互界面的友好性。系统的主要功能模块包括APP前端数据展示系统、APP管理设置系统和历史数据查询功能,前端展示系统主要是进行监控数据的展示,包括温度、湿度、二氧化碳、光照度以及图像数据,同时还有传感器的开关控制功能。APP管理设置系统主要是设置温室现场环境的阈值,历史记录查询主要是查询历史监控的温室环境数据。功能结构如图5所示。移动终端APP原型页面如图6所示。

6 应用与讨论

基于Android的智能温室环境测控系统开发完成后,在北京市密云县实验温室进行了应用测试,在温室内部署了图像传感器、温度传感器、湿度传感器和二氧化碳传感器,利用移动终端APP软件远程监测并调控温室的环境。表1记录了温室二氧化碳气体的采集与调控数据,随着白天时间的推移,温室的光合作用加大,温室内二氧化碳的气体量减少。在11:00,二氧化碳的浓度降为260 mg/L,小于预设的阈值,此时系统远程自动开启二氧化碳自动发生器装置。在14:00,由于开启二氧化碳发生器产生作用,此时二氧化碳的浓度达到550 mg/L,启动通风窗,降低二氧化碳浓度,同时起到降低温室内温度作用。测试结果表明,该系统工作稳定,传感器的现场信号数据能够通过现场无线数据传输模块传送给JZ4730处理,然后再通过MU736移动通信模块传输给远程的移动手机终端,同时移动终端可通过APP软件有效地调控现场设备,达到了预期设计效果。7 结论

本研究开发了基于Android的智能温室环境测控系统,通过无线传感器网络传输温室的传感器信号,将现场图像、空气温度、土壤温度、空气湿度、二氧化碳浓度、光照度等高效地传输到手持移动终端软件;同时实现信息的回馈控制,采用基于移动终端的控制方式,打破时间和空间的限制,管理者可以随时随地查看和管理温室环境数据。该系统已经开始正式应用,并取得了一定成效。随着应用的深入,将进一步开展智能分析研究,利用积累的历史数据进行数据分析,为管理者提供便捷的种植决策服务。

参考文献:

[1]袁小平,徐 江,侯攀峰. 基于物联网的智慧农业监控系统[J]. 江苏农业科学,2015,43(3):376-378.

[2]周 琴. 无线传感器网络MAC协议的研究[J]. 湖北生态工程职业技术学院学报,2012,2:57-60.

[3]孙忠富,曹洪太,李洪亮,等. 基于GPRS和WEB的温室环境信息采集系统的实现[J]. 农业工程学报,2006,22(6):131-134.

[4]崔 莉,鞠海玲,苗 勇,等. 无线传感器网络研究进展[J]. 计算机研究与发展,2005,42(1):163-174.

[5]贾 晓,王 成,乔晓军,等. 大田灌溉系统终端驱动及触摸式人机界面[J]. 农业工程学报,2008(增刊2):133-137.

[6]高百惠,张长利,王 欢,等. 基于 ZigBee 技术的食用菌栽培环境监控系统的研究[J]. 农机化研究,2013,35(11):99-102.

[7]刘 彤,贺宏伟,李 尧,等. 基于 Android 平台的家庭植物工厂智能监控系统[J]. 农机化研究,2015(4):197-202.

[8]郭文川,程寒杰,李瑞明,等. 基于无线传感器网络的温室环境信息监测系统[J]. 农业机械学报,2010(7):181-185.

[9]石繁荣,黄玉清,任珍文,等. 自适应Tree-Mesh结构的大棚无线监测网络设计[J]. 农业工程学报,2013,29(5):102-108.

[10]赵春江,吴华瑞,朱 丽. 基于ZigBee的农田无线传感器网络节能路由算法[J]. 高技术通讯,2013,23(4):368-373.

[11]屈利华,赵春江,杨信廷,等. Zigbee 无线传感器网络在温室多源数据采集系统中的应用综述[J]. 中国农机化,2012(4):179-183.

猜你喜欢

无线传感器
基于无线传感器网络火情定位方法
无线传感器网络故障检测研究
能量均衡的无线传感器网络路由算法的研究