时间:2015-12-21 00:14:31 所属分类:农业工程 浏览量:
引言 农业用水的现代化、信息化是解决我国水资源短缺问题最现实、最实际的办法。灌区作为农业水利事业的一部分,决不应该独立于信息化的浪潮之外。 灌区管理的信息化、自动化建设目标是调水、取水、用水的科学化与高效化。随着灌区管理所无人值班 及状态监测
引言
农业用水的现代化、信息化是解决我国水资源短缺问题最现实、最实际的办法。灌区作为农业水利事业的一部分,决不应该独立于信息化的浪潮之外。
灌区管理的信息化、自动化建设目标是调水、取水、用水的科学化与高效化。随着灌区管理所“无人值班”
及状态监测工作的深入开展,对灌区系统的管理、运行提出了更严格的要求。灌区信息采集系统是灌区信息化建设的重要内容之一,利用先进的以数字化、网络化、智能化为主要特征的信息化作为手段和途径,实现灌区管理所需的水情、墒情、工情等信息的采集、传输、存储、处理与分析,提高信息的时效性及调度的灵活性。
气象要素的观测和预报对发展灌区高效、优质农业具有十分重要的作用。气象条件负责提供作物生长发育所必需的能量和物质资源,它的变化直接影响了灌区作物产量的高低和品质的优劣。另外,灌区管理人员要了解灌区作物长势以及基础设施( 渠道、闸门等) 是否正常、完好,需要到达灌区现场检查,这无疑是增加了灌区额外的人力。图像所包含的信息量巨大,是获取和交换信息的主要来源,并且图像信息具有直观性、可靠性等一系列的优点。为此,针对目前大型灌区人工监测已经不合适的特点,将气象数据采集、图像采集与传输引入大型灌区的监测中,实现灌区信息采集与远程传送,以解决对地域广阔的大型灌区人工监测难以实现实时性的问题。
1 系统总体设计
通过实地调查,在对灌区信息采集系统进行需求分析的基础上,确定了其主要应实现的功能。综合考虑系统的实用性、稳定性、低功耗等因素,本系统以高性能低功耗的 S3C2440 微处理器为核心,通过模块化的设计思想把整个系统划分为气象数据采集模块、图像信息采集模块、3G 无线通信模块以及上位机监测中心等几大部分。系统结构框图,如图 1 所示。【图1】
采集终端安装在灌区的不同监测点,主要用于对灌区多种气象环境信息( 包括温度、湿度、降雨量等)以及灌区图像信息( 包括作物长势、基础设施等) 的定时采集,并能够通过 3G 无线模块实现与监测中心的数据传输。上位机监测中心主要用于接收来自远程监测模块所发送的各种灌区现场信息,同时实现对数据的存储、处理以及分析。2 系统硬件设计主控模块采用三星公司研发的嵌入式微处理器S3C2440。它是一款基于 ARM920T 核的 16 /32 位RSIC 结构的嵌入式微处理器,主频 400MHz,最高可达533MHz。该处理器具有功耗低、实时性快、性价比高等优点,特别适用于对成本要求低、处理速度快的应用领域。系统扩展了 256M 的 Nand Flash 和 2M 的Nor Flash,采用 289 - FBGA 封装,提供了一套完整的通用系统外设,包括带有外部请求引脚的 4 通道DMA、3 通道 UART、2 通道 SPI、兼容 SD 主接口协议1. 0 版和 MMC 卡协议 2. 11 兼容版、摄像头接口、130个通用 I/O 口和 24 通道外部中断源等。嵌入式处理器通过 UART 串行接口电路、CMOS CAMERA 摄像头接口电路、USB 无线网卡接口电路与气象数据采集传感器、CMOS 摄像头以及 3G 无线上网卡相连接构成整个硬件系统。采集系统硬件结构如图 2 所示。【图2】
灌区现场需要采集的气象因子涉及多项参数,本文主要介绍温度、湿度、降雨量等的采集。其中,温湿度的测量选用 Sensirion 公司推出的数字式温湿度传感器 SHT10,该传感器测量温度的范围是 - 40 ~ +123. 8℃ ,分辨率为 0. 01℃ ; 测量的相对湿度范围为 0~ 100% RH,分 辨 率 达 0. 03% RH,最 高 精 度 为± 1. 8% RH。SHT10 非常适用于灌区温湿度的测量。
降雨量传感器采用邯郸市大自然测控技术有限公司生产的单翻斗雨量计 BCQ - YL2,雨水通过盛水桶导入雨量计内部的黑色翻斗内,装满雨水后黑色翻斗翻转,每次翻转动作通过干簧管转换成一个脉冲信号( 1脉冲 =0. 2mm 降水量) 传输到单片机采集处理系统,其测量范围是 0 ~4mm/min,测量精度小于 5% 。
图像采集模块选用 Omni Vision 公司生产的一款高集成度彩色 CMOS 图像传感器芯片 OV9650,该摄像头具有130 万像素,最大可采样 4 096 ×4 096 像素的图像。
接口电路将图像信号进行 A/D 转换处理,传送到S3C2440 的 CAMIF( Camera Interface) ,微处理器通过 I2C串行总线实现对摄像头的控制。因为 COMS 摄像头具有集成度高、功耗低、编程方便、成本低等优点,所以它是目前低像素图像采集系统的最佳选择。3G 第三代移动通信技术是指支持高速数据传输的蜂窝移动通讯技术,目前我国3G 技术主要有移动的 TD - SCDMA、联通的 WC-DMA 和电信的 CDMA - 2000。为简化接口设计,本系统选用华为公司的 USB 接口3G 上网卡 E1750,它支持联通的 WCDMA 网络,在 3G 网络下支持上行最高速率 5.76Mbps,下行最高速率 7. 2Mbps,完全能够满足大容量数据传输的要求。
3 系统软件设计
灌区信息采集系统的软件设计采用 C/S( 客户机/服务器) 模式,以 S3C2440 平台作为客户机,以 PC 上位机监测中心作为服务器。客户机的主要任务是把得到的气象及图像数据通过 3G 网络发送到 Internet上去,服务器的任务是从 Internet 上接收所监测到的数据并将其以文件的形式保存起来。
3. 1 嵌入式操作系统的移植
本文以 PC 机为宿主机,它装有 VMware 10 虚拟机并带有 Fedora 14 操作系统。Fedora 是一款基于Linux 的操作系统,由 Fedora Project 社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由和开源的操作系统。系统的开发环境就建立在此平台之上,主要包括: 交叉编译环境的构建、BootLoader 的移植、内核的裁剪与移植、根文件系统的构建等。
对嵌入式系统的开发,由于没有足够的资源在目标板上运行开发工具及调试工具,通常采用交叉编译调试的方式。本文采用的交叉编译器为 arm -linux - gcc,将压缩包解压到安装目录下,命令行输入#tar xvzf arm - linux - gcc - 4. 3. 2. tgz – C / 命令后完成解压; 再把编译器路径加入系统环境变量,执行命令#gedit / root / . bashrc 编辑 / root / . bashrc 文件,将最后一行 export PATH = $ PATH 路径改为编译器的安装目录,这样 arm - linux - gcc 交叉编译环境就安装成功。
开发时使用宿主机上的交叉编译、汇编及连接工具形成可执 行 的 二 进 制 代 码,然 后 通 过 串 口 利 用 Se-cureCRT 软件把可执行文件下载到目标板上运行。
Bootloader 以其本身的含义来讲就是下载和启动系统,它类似于 PC 中的 BIOS( 基本输入输出系统) ,大部分芯片厂商所提供的嵌入式系统都提供有这样的程序。
本系统采用的是友善之臂公司提供的 Supervivi,是基于 vivi 发展而来的,在保留原始 vivi 功能的基础之上整合了诸多其他实用功能。目标板采用的内核版本为 Linux -2. 6. 32. 2,解压后执行命令 make menuconfig进入内核配置界面,完成对串口、SD/MMC 卡、CMOS摄像头、USB 无线上网卡等多项驱动的配置,并对YAFF2S 根文件系统进行配置,配置完成后在主菜单选择 < EXIT > 保存退出; 输入命令# make zImage 开始编译内核,编译完成后会在 arch/arm/boot 目录下生成linux 内核镜像文件 zImage,将其下载到目标板中即可。
3. 2 数据采集存储模块软件设计
气象数据传感器负责实时采集灌区中的温度、湿度和降雨量信息,并通过 RS232 串口将气象数据发送给 S3C2440 平台; 中央处理器 S3C2440 采用 SD 卡将时间和气象信息以文本的方式进行存储。本系统选用 SPI 模式对 SD 卡进行操作: SD 卡插入后,默认进入SD 模式,等待电压稳定需上电延时 250ms 即等待 74个时钟周期; 将时钟频率设置为 100 ~400kHz,保持片选信号 CS 为低电平,向 SD 卡发送复位命令 CMD0,如果收到应答信号 01H,则表示 SD 卡进入 SPI 模式;SD 卡以 FAT32 文件系统作为存储形式,将采集到的气象数据存储在 TXT 文件中,文件名为当前时间以便于日后查阅。
V4L( Video for Linux) 是 Linux 环境下的一个视频驱动标准,其目的是为上层应用提供一套标准的接口来访问视频驱动,V4L 规定了在 Linux 文件系统中设备的位置及名称,还规定了查询和设置设备参数的标准接口。摄像头属于视频类设备,遵循 V4L 标准,它已经被直接编译进内核而不需要编译成模块的形式从而进行加载。V4L 下图像采集的流程图如图3 所示。
图像采集编程实现过程主要用到以下几个函数:
首先打开视频设备,采用系统调用函数 vd - > fd =open( ‘/ dev / video0’,O_RDWR) ; 然后利用 ioctl( vd -> fd,VIDIOCGCAP,&( vd - > videocap) ) 函数获取摄像头信息; 通过 ioctl( vd - > fd,VIDIOCGPICT,&vd -> videopict) 函数获取摄像头中的 video_picture 缓冲信息; 调用 mmap( ) 函数把设备文件映射到内存中,使用户用直接与内核共享内存,加快访问速度; 图像的采集主要是调用了两次 ioctl( ) 函数,设置图像采集第一帧 vd - > vmmap. frame = 0,使用 ioctl ( vd - > fd,VIDIOCMCAPTURE,&( vd - > vmmap) ) 函数开始截取图像,然后使用 ioctl( vd - > fd,VIDIOCSYNC,&( vd -> vmmap. frame) ) 函数判断该帧图像是否截取完,在循环语句中调用以上两个函数完成每帧图像的截取,然后把采集到的数据源存放在缓冲区中; 最后调用close( ) 函数关闭摄像头设备退出程序。【图3】
3. 3 无线数据传输软件设计
S3C2440 平台通过 3G 无线网络执行 PPP 协议拨号接入互联网,3G 无线技术具有高频谱利用率及实用多业务环境的特点,并具有网络灵活性和全覆盖能力。本系统选用基于 UDP 协议的 Datagram Sockets( 数据报套接字) 来实现气象和图像数据源的网络传输功能。UDP 是非连接的、不可靠的、传递数据报的传输协议,取消了重发校验等机制,能够达到较高的通信速率。无线数据传输程序通过 Linux 下的 socket套接字编程创建套接字、绑定端口号,由 S3C2440 平台作为客户机将采集到的数据经 3G 无线上网卡发送,PC 上位机监测中心作为服务器接收数据。无线数据传输流程如图 4 所示。
服务器使用 socket( ) 函数创建一个套接字,然后用 bind( ) 函数将套接字与本地地址和端口号进行绑定; 绑定成功后,客户端根据服务器域名获取服务器的 IP 地址,然后利用 socket( ) 创建套接字; 客户端调用 sendto( ) 函数向服务器发送服务请求报文,调用 re-cvfrom( ) 函数等待并接收服务器的应答报文; 双方通过 socket 套接字进行数据的发送与接收,实现 ARM9平台与 PC 上位机之间的通信。【图4】
4 结论
设计了一种基于嵌入式 Linux 的灌区信息采集与无线传输系统,以嵌入式微处理器 S3C2440 为核心,结合气象传感器和摄像头实现对灌区多个采集点的气象要素及图像信息的采集。同时,以 SPI 模式下的SD 卡存储数据信息,利用数据报套接字通过 3G 网络实现实时数据信息高速透明、安全可靠的无线传输。
该系统具有性能稳定、实时性好、可靠性高等优点,可广泛应用在我国地域广阔的大型灌区中,以解决灌区人工监测难以实现实时性的问题。
参考文献:
[1] 陈兴,程吉林,朱春龙,等. 大型灌区管理信息系统的研究与开发[J]. 灌溉排水学报,2006( 2) : 53 -57. [2] S K Luthra,M J Kaledonkar. Design and development of anauto irrigation system[J]. Agricultural Water Management,1997,33: 169 - 181. [3] 叶瑜. 灌区信息采集系统设计研究[J]. 工程与建设,2007( 6) : 957 - 958. [4] 潘根兴,高民,胡国华,等. 气候变化对中国农业生产的影响[J]. 农业环境科学学报,2011( 9) : 1698 -1706. [5] 宁金花,申双和. 气候变化对中国农业的影响[J]. 现代农业科技,2009( 12) : 251 -254,256. [6] 张卫华. 基于 STM32 的灌区监测系统的研发[D]. 杨凌:西北农林科技大学,2013.
转载请注明来自:http://www.zazhifabiao.com/lunwen/nykx/nygc/33199.html