唐英姿 蒋峰
摘要:温室大棚种植技术对现代化的农业生产具有重大的意义,是一种全新的农作物种植技术。为实现对温室大棚的多通道、高精度控制,设计了1种基于ARM处理器、多级组网模式的远程无线高精度温室大棚环境监控系统。该系统以数字传感器采集温室大棚环境数据,通过ZigBee无线通信技术以及全球移动通信系统(GSM)技术实现与远程电脑(PC)终端以及无线手持监控终端的远程通信控制。试验表明,该系统具有环境参数控制精度高、响应时间快、无线通信距离远以及操作方便等优点,为实现农业的集团化种植及精准控制提供了借鉴。
关键词:温室;ZigBee;高精度;GSM;环境监控
中图分类号: TP273文献标志码: A
文章编号:1002-1302(2017)15-0217-06
温室大棚突破了传统农作物种植受气候、自然条件、地域环境等多种因素制约的限制,对现代化的农业生产具有重大的意义,是一种全新的农作物种植技术[1]。对于温室大棚里面的农作物而言,大棚中的温度、空气湿度、光照度、CO2浓度等因素将严重影响产量,因此,实现对这些因素的智能控制是当前温室大棚种植的关键问题和研究热点[2],对中国这个人口大国的农业现代化生产以及解决人们的菜篮子需求具有深远意义。
目前,我国温室大棚控制系统主要有2种模式:(1)利用单片机为控制核心的独立控制系统模式[3-4],该模式控制简单,实时性差,不能远距离控制,且人机界面不友好,操作复杂。(2)利用无线网络[3-4]构成的智能控制系统模式,但这种模式主要是以1个大棚为主,缺乏对多个大棚的集约化控制,且对面积过大的大棚而言,其数据采集量不够,控制精度不高,同一大棚内其环境参数变化较大,误差较高。本研究根据现有温室大棚智能控制技术的现状[5-8],结合无线传感技术,设计了1种基于ARM处理器的、多通道、远程无线高精度温室大棚环境监控系统,该系统通过ZigBee协议进行无线组网。
1系统总体架构组成
为实现对多个大棚的集约化控制,整个系统由无线传感数据采集节点及执行终端、路由节点、协调器(网关)、上位机数据中心以及手持终端组成。无线传感数据采集节点主要用于监测大棚中的温度、空气湿度、光照度、CO2浓度,为了防盗还增加了人体感应监测功能;执行终端主要根据指令实现对风机、喷灌装置、卷帘以及报警器等终端的直接控制;路由节点主要允许扩展网络覆盖的物理范围和通信數据报文的路由,完成中继数据,实现多个大棚的多通道集约化控制;协调器(即网关)主要用于网络的建立、数据汇集和维护,实现通信协议的转换,完成对采集数据的远程监控以及对执行终端的远程控制;网关通过全球移动通信系统(GSM)模块实现对上位机以及手持终端的远程通信。系统中的采集节点、执行节点、路由以及网关的通信都采用ZigBee协议实现。
为实现多通道集约化控制,整个系统拟采用树型网络拓扑结构。树型拓扑结构包括1个协调器设备以及若干路由器设备和终端设备。协调器设备连接一系列的路由器设备和终端设备,其子节点路由器设备也可以连接一系列的路由器设备和终端设备,这样可以重复多个层级。
在树型拓扑结构中,协调器设备和路由器设备都可以包含自己的子节点,而终端设备不能有自己的子节点。将包含同一个父节点的节点称为兄弟节点,有同一个祖父节点的节点称为堂兄弟节点。每个节点都只能和其父节点和子节点之间通信。如果需要从一个节点向另一个节点发送数据,那么信息将沿着树的路径向上传递到最近的祖先节点然后再向下传递到目标节点。这种拓扑方式的缺点就是信息只有唯一的路由通道。另外信息的路由是由协议栈层处理的,整个路由过程对于应用层是完全透明的。整个系统的结构框如图1所示。
2系统硬件设计
根据系统的整体组成架构,整个系统的硬件由数据采集执行终端、无线收发模块、路由模块、GSM通信模块、网关处理模块等组成。如前文所述,系统是通过ZigBee协议进行组网的,设计中选用TI公司生产的ZigBee协议处理芯片——CC2530实现。由于该芯片内嵌1个增强型的8051单片机内核,故还可将其用作数据采集执行终端的控制器。因此,整个系统可以集成为3个部分:无线数据采集执行终端、路由模块、网关处理控制模块。
2.1无线数据采集执行终端
无线数据采集执行终端主要实现对温室大棚中的空气温湿度、CO2浓度、光照度以及人体感应监测的数据采集;实现对风机、喷灌装置、卷帘以及报警器等终端的直接控制,并通过ZigBee协议实现与远端的通信,其终端节点的硬件组成如图2所示。
为简化设计,温湿度采集选用SHT10,SHT10温湿度传感器的工作电压在2.4~5.5 V,采用贴片形式封装,体积小,功耗低。SHT10既可采集温度,也可采集环境的湿度数据,直接输出数字量,便于和中央处理器(CPU)之间的连接。SHT10测试相对湿度(RH)的精度为±4.5%,温度测试精度为 ±0.5 ℃,精度高,非常适合温室大棚环境的温湿度监测。SHT10通过SCK、DATA引脚与CPU进行连接,SCK引脚为数据的传输时钟,DATA引脚为数据读写引脚。
CO2浓度的监测选用传感器S-100H。S-100H传感器是当前最小、最轻的使用非分散红外线(NDIR)技术的CO2传感器模块。该模块使用简单、方便,可以采用插针进行插拔[CM(25],与设备连接方便,且能进行UART、I2C总线方式的输出,方便与CPU的连接和数据读取。S-100H功耗低,且具有自动校准模式,使其能长期稳定、高精度地工作。S-100H能检测的量程最大可达10 000 μmol/mol,响应时间短,使用寿命可达10年。
光照度采集模块选用HA2003,量程为200~20 000 lx,其内部通过光电转换模块,将光照度转换为电压值,然后通过信号调理电路将该输出电压值选定在0~5 V。该模块精度高、体积小、响应速度快、寿命长,适用于温室大棚的光照度监测。endprint
人体感应模块选用的是热释电红外传感器模块。该模块由红外传感器控制芯片BIS0001以及被动式红外(PIR)探头组成,是1种能检测人所发射的红外线而输出电信号的传感模块。热释电红外传感模块有3个引脚:1脚接地,3脚接电源正极,2脚为信号引脚,高电平有效;且该模块还能通过自带的电位器進行感应灵敏度以及输出信号的延时调整。
无线通信以及数据采集和执行控制都由TI公司生产的ZigBee协议处理芯片——CC2530实现。CC2530内部集成了1个增强型的51单片机内核,具有程序存储器和8 kB的随机储存器(RAM),还集成了射频(RF)收发器等模块。它是1个IEEE 802.15.4标准的2.4 GHz射频收发器[9],是1个真正的片上系统(SoC)解决方案,CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。
根据器件手册,为增加其工作的稳定性,CC2530芯片内的1.8 V稳压器须外接去耦电容,故在40脚接1个1 μF的电容进行去耦。引脚32、33以及22、23用于外接电容和晶振以分别构成32.768 kHz、32 MHz的振荡电路。引脚26、25为差分信号输入引脚,因此如果设计时使用了不平衡单极子天线,则须用巴伦匹配电路进行阻抗匹配,本研究选用分立电感和电容来实现阻抗匹配。具体应用电路如图3所示。
须要注意的是:CC2530芯片的工作电压为3.3 V,为实现电源的匹配,须设计电源匹配电路完成5 V到3.3 V的转换,设计中选用SPX1117-3.3芯片实现,其电路如图4所示。此外,为了降低环境干扰,进行电路布线时,芯片的下方,特别是天线的四周尽量不要走电源线;在芯片电源输入端就近放置滤波电容。
除了报警外,整个终端的执行控制都由弱电控制强电实现,须用光耦进行强、弱电之间的隔离,从而提高系统的稳定性能。其通用的控制驱动电路如图5所示。
2.2网关处理控制模块
网关用于完成数据传输格式的转换,实现与远程终端的通信与管理。本研究所设计的网关由按键、液晶显示器(LCD)、ARM处理器、GSM模块以及ZigBee模块等组成,其工作过程如下:通过协调器接收路由器传送的数据信息,并将其通过串口送入ARM处理器进行处理,然后通过串口将数据传送给GSM模块,由GSM模块送给远端的监控中心和手持用户;远端的监控中心和手持用户在收到数据后,可以根据温室大棚环境的实际情况,通过远端的PC机和手持终端发送控制命令,由GSM模块接收送入网关的ARM处理器,处理器根据指令的定义进行处理并最终通过协调器发送给各个温室大棚的控制终端,实现对多个温室大棚的控制。此外,如果现场工作人员想实现对温室大棚的直接控制,可以通过网关或者执行节点的按键进行操作。网关的组成结构如图6所示。
考虑到设计成本以及系统的复杂程度,ARM处理器选用S3C2440。S3C2440内部集成了USBHost、UART、SPI等多种控制器,并拥有丰富的通用输入/输出(GPIO)等外围资源。设计中闪存(FLASH)选用K29F2808,同步动态随机存储器(SDRAM)选用HY57V561620CTP-H实现。设计中,S3C2440采用NAND Flash启动模式,其映射空间为nGCS0;复位时,NAND Flash控制器自动装载启动代码。S3C2440有3个串口,它通过串口分别与协调器和GSM模块进行通信。
3系统软件设计
根据系统的组成以及实际需要,为方便操控,整个系统的软件根据其组成架构可以由网关控制程序、ZigBee无线通信程序、GSM通信程序、多点数据处理程序、底层的数据采集以及驱动程序等模块组成。网关控制程序主要是嵌入式操作系统的移植,下面将着重介绍操作系统的移植、ZigBee无线通信程序、GSM通信程序以及多点数据处理程序。
3.1Linux操作系统移植
Linux操作系统的移植包含Bootloader启动、Linux内核裁剪、文件系统以及应用程序。常用的Bootloader有U-Boot、vivi、grub等,本设计中选用U-Boot。其移植过程如下:解压下载的U-Boot压缩包;进入board/samsung目录复制smdk2410文件并将其文件名修改为mini2440,然后进入该目录,将目录下的文件smdk2410.c名字修改为mini2410.c,并对Makefile中的文件也进行相应修改;接着进入include/configs目录,复制smdk2410.h文件并将其重命名为mini2410.h。打开根目录下的Makefile文件,修改文件定位,然后执行make命令,编译后下载.bin文件到开发板即可。
下载Linux2.6.32版本进行内核裁剪,选择以菜单方式进入内核定制界面,根据网关的实际需要,对其进行配置后,进行编译,在../arch/arm/boot的目录下可以看见所生产的内存映像文件zImage。对该文件使用mkimage工具对其添加文件头,生成uImage文件,然后将该文件下载到开发板即可。
文件系统选用yaffs。该文件系统载入(Mount)后,会在内存中建立1个系统的映象。选用BusyBox工具根据网关的实际需要进行文件配置,选用mkyaffs2image制作出适合本研究中网关运行的文件系统。
3.2ZigBee无线通信程序
本研究的数据采集和执行节点、路由以及协调器都选用ZigBee无线通信技术。ZigBee协议的无线通信程序的核心就是ZigBee协议的启动(包括Router的启动和Coordinator的启动)。ZigBee协议栈的启动包括初始化硬件、初始化操作系统及任务分配、事件触发及处理3个过程。其启动过程按顺序调用函数:硬件初始化程序(根据系统的实际组成编写调用);osal_init_system(void);osal_start_system(void)实现。其中,函数osal_init_system(void)用于初始化操作系统,并通过调用osalInitTasks(void)函数进行任务的划分并分配任务的ID号[通常情况下,用户自己建立的任务须在osalInitTasks(void)函数中进行定义并分配];osal_start_system(void)用于启动操作系统并通过调用函数osal_run_system(void)进行事件的轮询;osal_run_system(void)通过判断tasksEvents[idx]的值进行事件的处理。ZigBee协议启动流程如图7所示[9]。endprint
当温室大棚环境执行控制终端接收到触发变量 AF_INCOMING_MSG_CMD 的事件,将调用事件处理函数,并根据无线手持遥控终端所发送的Cluster ID不同转入不同的处理程序,并最终实现温湿度、报警、滴灌等控制。温室大棚环境执行控制终端接收数据的程序流程如图8所示[9]。
3.3GSM无线通信程序
温室大棚环境的远程无线控制,选用GSM通信模式。根据GSM的通信原理,须采用指令集(AT)命令进行操作,来实现无线的短信收发[10]。GSM通信有2种模式:TEXT模式以及PDU模式[11]。PDU模式能够发送汉字和英文字符,采用unicode编码,但是其实现较复杂,设计周期长;TEXT模式虽只能发送英文字符,但不需要进行编码,实现简单。设计中选用TEXT模式,通过命令“AT+CMGF=1”实现。
具体操作步骤如下:(1)建立握手连接;(2)设置通信速率;(3)设置通信模式;(4)设置短信中心码;(5)设置数据接收模式。其初始化程序如下,其中Send_Command()函数中第1个参数表示AT指令码,第2个参数表示指令码的字符长度:
3.4多点数据处理程序
为提高温室大棚环境监测数据的精度,实现对其精准数字控制。在温室大棚中根据温室面积的大小,按照数据传感器的采集范围,在其出入口处、大棚中部位置的空间中部以及顶部、大棚1/3位置处的空间中底部、大棚2/3位置处的空间中底部都布置了数据采集传感器。因此,须对同一物理量不同位置所采集的数据进行多点数据处理。本研究采用均值数据处理算法来获取精度更高的采集数据。
4测试
系统设计完成后,通过手机进行了远程温室大棚的温度采集测试报警试验,设定温度上限为32 ℃,温度下限为 25 ℃。实测结果见图10,分析可知:
(1)12:36、15:36测试的2次,收到了高温报警短信,而收到2条的原因是因为温度一直没有降下来,所以报警会一直持续。
(2)21:35收到了1次高温报警,之后启动风机进行降温,当降到25 ℃以下后,收到的短信显示高温报警解除。
5结论
本研究所设计的远程无线高精度温室大棚环境监控系统具有环境参数控制精度高、响应时间快、操作方便以及无线通信距离远等优点,特别是多级的组网结构以及多点的数据采集方法,增强了该系统的多通道控制能力以及数据采集的精度,为实现农业的集团化种植以及精准控制提供了借鉴。
参考文献:
[1]黄伟锋,叶祥. 温室环境多点数据嵌入式智能监测系统[J]. 农机化研究,2010,32(6):133-136.
[2]刘方,栗震霄. 我国农业温室控制系统控制模式的研究[J]. 农机化研究,2008(10):223-226.
[3]曹新,董玮,谭一酉. 基于无线传感网络的智能温室大棚监控系统[J]. 电子设计应用,2012,38(2):84-87.
[4]宋蛰存,陳宁,李迪飞. ZigBee无线传感技术在森林火灾监测中的应用[J]. 自动化仪表,2011,32(4):50-52.
[5]许明,闫旻. 基于ARM11和Win CE的温室大棚嵌入式监控系统设计[J]. 仪表技术与传感器,2013(3):88-90.
[6]祝敏. 基于CAN总线的大棚温湿度监控系统的设计[J]. 自动化与仪器仪表,2010(1):57-60.
[7]李世红,陈斌,胡慧铺. 基于CAN总线和GPRS的温室大棚监控系统的设计[J]. 浙江农业学报,2014,26(4):1090-1094.
[8]廖建尚. 基于物联网的温室大棚环境监控系统设计方法[J]. 农业工程学报,2016,32(11):233-243.
[9]蒋峰,赵伟. ZigBee技术在温室无线监测系统中的应用[J]. 农机化研究,2013,35(9):218-222.
[10]侯波,徐小华,胡晓飞. 基于LabVIEW和GSM的温室大棚环境远程监控系统设计[J]. 江苏农业科学,2015,43(1):393-395.
[11]韩剑,莫德清. 基于Android与GSM的温室大棚远程监控系统[J]. 江苏农业科学,2015,43(4):397-399.endprint