文献标识码:A
文章编号: 0258-7998(2015)06-0139-04
0 引言
虽然我国的信息化农业较美国等发达国家起步晚,但现阶段我国正在大力发展农业的信息化、科技数字化。政府对数字农业发展的大力支持和鼓励,并在黑龙江等省市进行数字农业实施[1],使我国在这些省市区的信息网络基本完成建设并且逐步向基层发展,重大科技专项领域也取得了非常可喜的成果。
随着社会的进步、科学技术的飞速发展、农村电视网络的普及以及城市先进思想的影响,使现在农民思想进步了很多。根据国家出台的相应的政策措施,农村土地将会最终趋于集中化、规模化,加之农民创业、就业的增加,将来农村的劳动力资源就会偏向不足。而且农民因为可以利用国家的小额贷款政策,所以资金比较充足。因此温室就急需要一些科技设备来对农作物生长环境进行监测[2-3]。现在全球科学技术飞速发展,数字化的发展也相当迅速,并且被应用到许多的行业中。加之全球数字农业的快速发展,全球农业走向规模化、专业化是必然趋势,而且我国政府现在出台的政策也是让我国的农业与国际接轨,使现在农业自动化逐渐地深入,农业现在也在逐渐数字化,必然会使视频图像采集逐渐被应用到农业中,这样可以准确获得农作物的实时动态信息,进而能更好、更方便地管理农业生产,用最少的投资来获取最高的收益。
本系统以云计算[4-5]框架为开发平台,利用无线通信网络的移动终端设备进行数据的传输,实现了为移动用户终端设备提供远程监控的设计。此设计可以对温室的环境进行监测,提高工作效率的同时也增加了用户对终端设备使用的灵活性。
1 设计原理及内容
1.1 设计原理
基于云计算的温室视频采集模块设计的硬件部分是由主控芯片、外扩两部分构成的,其中主控芯片是三星公司的S3C2440芯片,外扩部分包括:LCD显示部分、USB控制器、摄像头、网络传输等。本设计的相关软件部分有:Linux系统的搭建、USB摄像头的驱动程序、视频采集程序、LCD实时显示程序、网络传输程序等。总体结构如图1所示。
软件部分主要实现将前端采集的数据存储在分布式文件系统(HDFS)中,分布式文件系统是基于云计算框架开发的。由于此平台是分布的,多台计算机可并行计算,提高运算效率。
1.2 主要研究的内容
通过对黑龙江省齐齐哈尔市周边的温室大棚进行详细的调查和理论分析,得到温室视频采集模块的具体要求如下:
(1)采集到的农作物的视频图像清晰度必须要保证能够使操作人员从中很迅捷地获得植物的自身生长发育以及病虫害情况。
(2)采集的视频图像信息不仅要有农作物的近景,也必须有较远的图像信息,并且是可以进行操控的。
(3)要能够把采集到的视频图像信息以非常高的质量传输到控制中心,进而保证对农作物进行实时有效的监测。
(4)采集模块不需要进行安装与维护,并且体积要尽量小,能够方便在温室进行安装和转移。
(5)要求采集模块有很好的扩展性,采集的性能非常稳定,还要功耗较低,性价比高。
(6)由于采集到的视频信息需要长时间保存,有助于对农作物的分析,就要求很大的存储空间与计算能力。
2 总体设计
2.1 温室视频采集模块硬件设计
选用FL2440开发板,可以提供丰富的USB硬件接口。主板采用两层的PCB板设计,有两个串口、一个采用DM900AE的100M网口、4个USB接口、一个SD卡接口、有扩展LCD或者触摸屏的接口、一个CMOS摄像头接口等,可以满足本实验所需的所有接口。因此本次研究的硬件系统非常适合采用FL2440开发板。
主控芯片主要采用S3C2440微处理器芯片。它的内部嵌有先进微控制器总线架构。S3C2440微处理器支持的最大寻址空间是4 GB,它的数据存储器和程序存储器在内存空间中的总线接口不同,但是编址采用的是统一的。在本次研究中,S3C2440微处理器地址空间是1 GB,而且该地址空间被分成8份,每一份的容量是128 MB。它的存储器可以被认为是由零地址为开始的字节的线性组合,存储器存储字数据的方式有大端和小端的两种,这两者的具体数据存储如图2和图3所示。S3C2440微处理器有7种处理器工作模式,并且每种模式下的寄存数组和访问权限都不一样。
2.2 温室视频采集模块软件设计
从软件的方面划分嵌入式操作系统,可以分成三部分:一个是引导加载程序,实质是一段很小的程序;第二个在本大田视频采集模块中所使用的是Linux内核;在这两者的后面是涵盖有系统命令和应用程序的文件系统。嵌入式中储存结构图如图4所示,包含有引导加载程序、内核启动参数、内核映像以及文件系统。
2.3 内核剪裁、制作和移植
Linux内核有五个基本元素,它们的名称及相互关系如图5所示。因为内核是为软硬件提供服务的,所以对于不同的硬件平台就需要使用不同的内核。因此,当要把内核移植到一个嵌入式平台时,就需要对要进行移植的内核进行编译。
2.4 系统文件的制作和移植
最常见的储存器件有SDRAM、DRAM和ROM(常用Flash存储器)。而日常学习工作中常见的基于存储设备的根文件系统有YAFFS、YAFFS2等。本设计的硬件系统采用的储存器件是NAND闪存,因此本系统的文件系统采用的是基于NAND闪存的YAFFS文件系统。
设计系统所运行的文件系统为:管理层所进入的入口、系统内YAFFS内部自身运行的层面以及系统进入NAND闪存的入口层。这样用户在做它与系统的入口的相关程序时就非常简单了,能够更加快速便捷地把自己设计的程序模块集成到所使用的系统里。综合上面的比较,YAFFS的运行速率更迅速,并且内存空间使用小。
2.5 摄像头驱动程序设计
USB摄像头移除函数在该驱动程序中的名字是sp_discon,它的参数有u_dev *dev和 *ptr,该函数的作用是注销USB摄像头的video设备、释放端口、传输URB包、释放内存空间等工作。该驱动模块的操作函数是file_opt。这个驱动程序完成设备的关键系统调用,它所依据的是V4L协议。因为这是摄像头驱动程序,它的主要功能就是完成数据的采集和传输功能,不需要向摄像头写数据,所以不需要有写操作,因此系统也不会调用write函数。USB摄像头驱动的具体代码如下所示:
PDEBUG(S,"iface alt size :%d %d %d",spca50px->iface ,alt, size);
if(usb_set_interface(spca50px->dev, spca50x->iface,alt)<0){
err("Set packet size:set interface error");
return -EBUSY;
}
ep=SPCA50X_ENDPOINT_ADDRESS -1;
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,3)
intf=usb_ifnum_to_if(dev,spca50x->iface);
if(intf){
interface=usb_altnum_to_altsetting(intf,alt);
}else{
PDEBUG(0,"intf not found");
return -ENXT0;
}
整个温室视频采集模块最重要的部分就是视频图像的采集部分,通常视频数据的采集方式有内存映射式和直接读取式两种。本文采用的是内存映射方式,它是要经过执行mmap函数来实现内存映射的。mmap系统调用的实质就是让两个进程映到一个相同的普通文件从而来达到内存共享的目的。这样进程对文件的操作就如同操作内存一样了。
3 温室视频采集模块的安装与调试
3.1 视频图像编码
因为用USB摄像头所采集到的原始视频图像的信息特别大,并且现在所用网络的传输量很有限;所以要对采集到的原始视频图像先进行压缩,然后再进行传输。不同的视频采集设备所采集到的视频图像的格式是不同的,在该系统中使用的ZC301的USB摄像头采集的格式是RGB,还有YUV、JPG等。对采集到的原始视频图像一般要进行JPEG编解码,编码如图6所示。
3.2 视频图像编JPEG解码
本系统使用的USB摄像头的芯片是ZC301,它内置的DSP能够进行快速的压缩编码。所以如果要进行视频图像显示,就必须对USB摄像头传输回来的数据进行解码,具体的解码流程如图7所示。
3.3 图像数据的网络传输
本文使用的是socket中比较常用的流式套接字类型。使用流式套接字的TCP服务器端通信流程是:最开始就要用socket函数来初始化和创建流式套接字,接着通过bind函数来把端口号绑定,再通过listen函数来等候客户端所发送的连接请求,然后系统就会通过accept函数来完成服务器与客户端的连接,这样就把一个新的通信进程创建完成了。相比较下,客户端要进行的编程就容易多了,只要如服务器端先初始化和创建流式套接字,再通过使用connect函数来发送请求以及创建与TCP服务器的连接。这一步完成后,就能够进行两者之间的通讯了。
3.4 云计算集群的搭建及数据查询
利用云计算集群的优势,首先搭建集群由一台Master节点分发任务线程,由若干个Slave负责任务的执行。数据查询系统框架如图8所示。
3.5 Web服务器端显示
基于云计算的温室大棚视频监控系统中,前端采集到的视频信息通过云计算架构存储在分布式文件系统中,查看数据信息时,由于是多台服务器分布式并行计算,因此计算效率明显提高。图9为视频采集模块创建连接端口命令,通过二次模块调试可以看出,温室视频采集模块对农作物视频采集稳定,触屏的视频图像显示非常清晰,并且以非常高的质量把采集到的视频图像传输到了PC上,在其上显示的视频图像很清晰、连贯,即能够对农作物进行非常有效的实时监测,使操作人员能够从其中迅速获得所观测农作物的生长发育情况和是否有病虫害等信息。而且对于温室的农作物,视频信息采集受阳光的影响很小,本次实验非常的成功。
4 结论
本文采用先进的云计算技术应用在温室大棚视频监控系统中,不但可以长期存储海量的视频数据,也可以通过服务器集群并行计算的方式快速地查找相关视频信息,有利于农户实时观察农作物的生长状况,增加经济效益,使农业生产达到信息化。
参考文献
[1] 张喜海,于啸,吴亚春,等.数字农业教育与学生创新意识培养[J].计算机教育,2010(8):11-13.
[2] 郭文川,程寒杰,李瑞明,等.基于无线传感器网络的温室环境信息监测系统[J].农业机械学报,2010,41(7):181-185.
[3] 李莉,李海霞,刘卉,等.基于无线传感器网络的温室环境监测系统[J].农业机械学报,2009,40(z1):228-231.
[4] 国际电联电信标准化顾问组,张进京.智能网格与云计算发展问题讨论[J].中国信息界,2010(5):69-70.
[5] 刘洋,张钢,韩璐,等.基于物联网与云计算服务的农业温室智能化平台研究与应用[J].计算机应用研究,2013,30(11):3331-3335.