基于ZigBee和ARM的温室大棚多点温度采集系统的设计

2014-09-02 03:13胡衡梁岚珍
江苏农业科学 2014年7期
关键词:驱动程序内核嵌入式

胡衡 梁岚珍

摘要:针对我国温室大棚大型化和规模化的趋势,为了实现对多点温度数据的采集,采用嵌入式ARM技术和ZigBee技术,设计了无线多点温度采集系统。系统以ARM9微处理器S3C2440为控制核心,以嵌入式Linux为实时操作系统,通过温度传感器DS18B20采集各处的温度值,经由无线收发模块CC2430完成数据的传输,最终将采集到的数据信息显示在LCD上。测试表明,多点温度采集系统实时性好,可靠性高,并且易于扩展,具有广阔的应用价值。

关键词:温室大棚;温度采集;ARM-Linux操作系统;ZigBee无线收发模块;LCD信息显示

中图分类号: S625.5+1;TP274+.2 文献标志码: A 文章编号:1002-1302(2014)07-0416-04

收稿日期:2013-10-08

作者简介:胡衡(1988—),男,河南信阳人,硕士研究生,主要从事智能控制与嵌入式应用研究。E-mail:843392514@qq.com。作为新的农作物种植技术,温室大棚早已突破了传统农作物种植受地域、自然环境和气候等诸多因素的限制,对农业生产具有重大意义[1]。温室温度是影响温室内种植的农作物产量的重要因素之一,如何进行温室内温度的实时监测,以及如何降低运行成本、提高效率、实现环境的精确控制成为目前研究的关键问题[2]。

面对温室环境中较大面积的作物,大量的布线在设备的安装和维护方面会造成很多困难。因此无线温室采集系统的应用可以极大提高温室系统的可靠性、实时性,并且系统的开发价格较低廉,性价比高,组装维护方便[3-5]。温室大棚的大型化、集约化和规模化发展,使得传统的基于单片机技术的温度采集系统的局限性愈加显现。随着嵌入式ARM技术的不断发展和完善,其在实时批处理数据和网路功能方面的优势日益突出[6-7]。然而,目前基于ARM9体系结构的温度采集研究大多针对单点温度,对于多点温度,尤其是采用无线分布式的多点温度采集的研究却非常少,制约了嵌入式技术在温室大棚中的应用。为此,本研究设计了一种结合嵌入式技术和无线传感技术的多点温度采集系统,该系统具有高性能、低功耗、快速处理数据的特点。

1系统总体设计

无线多点温度采集系统主要由ARM控制核心、ZigBee无线通讯网路、终端采集单元3部分组成,其整体示意图如图1所示。

在无线多点温度采集系统中,终端检测单元部分通过分布在各处的温度传感器完成温度的实时采集,将温度参数进行检测和变送;ZigBee网关与从节点构成星型拓扑结构[8],网关汇总各从节点采集得到的温度数据,并且定时将其发送给ARM控制平台;最终所得到的温度数据实时同步显示在ARM控制平台的LCD触摸屏上。

2系统硬件设计

本系统的硬件电路框图如图2所示,主要由ARM9中央控制模块、ZigBee无线收发模块、温度采集模块、LCD显示模块、电源及复位模块等构成。

2.1ARM9中央控制模块

ARM9中央控制模块由ARM9处理器、FLASH、SDRAM、电源及复位模块、LCD触摸屏及相关外围电路组成。ARM9处理器是整个系统的核心部分,用来对ZigBee通讯模块进行相应的配置并接受和处理来自ZigBee终端节点的数据。综合性能、功耗、成本方面的考虑,本系统采用Samsung公司的32位ARM9处理器S3C2440作为主控制器,该处理器集成了LCD控制器、USBHost、NAND控制器、中断控制、功率控制、存储控制、UART、SPI和GPIO等丰富的外围资源,通过外扩存储器、串口、USB接口和JTAG调试接口等构成硬件平台[9]。系统采用64M的NAND型FLASH K29F2808来存放系统启动代码、内核代码及根文件系统;SDRAM选用2片HY57V561620CTP-H构成容量为64MB的高速动态随机存储器。由于主控芯片S3C2440没有实现ZigBee协议的功能,为了能与ZigBee设备进行通讯,需要通过串口UART与ZigBee协调器相连。

2.2ZigBee无线收发模块

ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、高灵敏度、具有出众的抗噪声及抗干扰能力的双向无线通信技术[10]。为了满足多点温度采集系统简洁、方便的要求,系统采用ZigBee无线通信技术组建无线网络。

ZigBee无线收发模块采用TI公司的基于IEEE802.15.4协议的CC2430芯片,通过Z-Stack协议栈实现带有网络自启动功能的星型ZigBee无线网络。星型网络配置由一个协调器节点和1个或多个终端节点组成,协调器节点是该网络的控制中心,负责创建维护网络,是无线网络与外界通信的出入口,终端节点负责采集信息发送至协调器,或接收控制命令完成相关功能。系统中所有的终端节点由协调器节点分配不同的网络地址,只与协调器节点进行无线通信,而协调器节点通过串口UART0与ARM9处理器S3C2440进行通信,S3C2440对接收到的ZigBee信息进行解析后,根据不同的网络地址判断信息来自哪个ZigBee终端节点。ZigBee网络中的所有节点都可以使用同一个电路,在ZigBee无线网络中的协调器功能和终端功能是由软件来区分的。CC2430使用SFD、FIFO、FIFOP和CCA 4个引脚表示收发数据状态:SFD引脚高电平表示处于接受状态,FIFO和FIFOP引脚表示接受FIFO缓冲区的状态,CCA引脚在信道有信号时输出高电平,只在接收状态下有效。CC2430是1个半双工芯片,在同一时刻只处于一种工作状态,有15个固定地址的命令寄存器,并且接收缓冲和发送缓冲是分开的。

2.3温度采集模块

温度采集模块的主要任务是负责温度采集,由温度传感器和CC2430终端节点构成,在温室大棚中均匀分布若干个终端从节点用于采集各处的温度数据。endprint

温度传感器选用Dallas半导体公司生产的应用可组网的单线式数字温度传感器DSl8B20,测量温度范围为-55 ℃至125 ℃,精度为0.5 ℃,用9bit数字量表示温度,每次将温度转换成数字量需200 ms。采用直接数字化输出,内部传感元件及转换电路集成在形如1只三极管的集成电路内,3个端口分别是地线(G N D)、数据线(DQ)、电源(VDD),从芯片CC2430的I/O 口上接入温度传感器DS18B20的DQ端。

3系统软件设计

本系统在RedHat9.0下创建嵌入式系统的Linux开发环境,使用arm-linux-gcc3.4.5作为交叉编译器,并采用yaffs类型的根文件系统和Linux2.6.29版本的内核来构建嵌入式系统。linux2.6.29内核具有强大的进程、中断和设备管理,支持各种文件系统。本系统软件设计部分主要包括:Linux操作系统移植、底层设备驱动程序设计和系统应用主程序设计三大部分。

3.1Linux操作系统移植

嵌入式Linux操作系统移植包括:移植U-boot、移植Linux内核以及制作根文件系统[11]。

3.1.1移植U-bootU-boot是在嵌入式操作系统运行前执行的一段Bootloader程序,其作用在于初始化硬件设备、建立内存空间的映射关系,将系统的软硬件环境带到一个合适的状态,为最终调试操作系统内核准备好正确的环境。他的源代码是免费公开的,可从网站上直接下载获得,本系统所用版本为U-boot1.1.4。在U-boot目录下进行相关配置并执行#make CROSS_COMPILE=arm-linux编译成功后,可将其烧入到FLASH中运行。

3.1.2移植Linux内核首先从网站上下载免费开源的Linux2.6.29内核源代码,在编译前进入根目录,修改其目录下的Makefile文件,设置目标平台和交叉编译器。然后运行#make menuconfig进入配置菜单,选择需要配置的选项后保存退出,再执行内核编译命令#make uImage,编译成功后会得到编译好的内核镜像文件zImage。

3.1.3制作根文件系统首先编译安装Busybox,然后根据需要建立相应的根目录,并编辑好系统运行所需的配置文件,最后采用制作yaffs文件系统的软件来制作出文件系统镜像。最终用U-boot通过tftp服务器下载内核镜像和根文件系统镜像到NAND FLASH中,如果系统启动正常,则成功移植了Linux操作系统。

3.2底层设备驱动程序设计

底层设备驱动程序是操作系统和设备进行通信的特殊程序,一般集成在操作系统内核中,有直接编译到内核(静态编译)和模块(动态编译)2种方式,前者是将驱动作为内核的一部分,直接编译到内核中;后者则为动态链接:单独作为1个模块进行编译,按需加载到内核中[12],本设计使用动态编辑方式。本系统的底层设备驱动主要是DS18B20驱动和 ZigBee 无线收发模块驱动;另外LCD触摸屏、串口等的驱动已经按需编译到Linux内核中。

3.2.1DS18B20驱动程序设计DS18B20是在1根总线上读写数据的,因此对读写的数据位有着严格的时序要求,同一时刻单总线上只能有1个控制信号或数据,必须有严格的通信协议来保证各位数据的正确性和完整性。为保证数据可靠地传送,进行数据通信时一定要符合单总线协议[13]。为了读出所有DS18B20的温度值,利用DS18B20的相关ROM命令并结合相关子函数完成该驱动的设计,其流程如图3所示。

3.2.2ZigBee无线收发模块驱动设计本系统采用的是星形网络拓扑结构,网络中存在协调器和终端两种设备。上电后,协调器首先完成应用层初始化,然后初始化I/O端口并打开全局中断,接着协调器搜索选择合适的信道并组建一个ZigBee网络;温度采集节点上电后,初始化后先扫描信道并寻找协调器,与之建立连接,连接成功后,终端节点每隔一定时间采集1次温室内的温度信息,然后传输给协调器,协调器接受各个节点的温度值,最终将其传输给ARM9处理器。ZigBee协调器和终端节点程序流程图分别如图4和图5所示。

3.3系统应用主程序设计

本系统通过创建打开DS18B20、ZigBee模块的驱动进程,使得系统在操作系统打开后通过进程调度对驱动进行操作[14-15],从而实现无线多点温度采集的目的。系统应用主程序流程图见图6所示。

4结论与讨论

本研究介绍了一种基于ARM与ZigBee技术的温室大棚多点温度采集系统,并给出了详细的系统架构方案,从软硬件方面阐述了设计思路和实现方法。测试表明,将低成本、低功耗的无线ZigBee技术应用于多点分布式温度采集系统,不但能够实现对温室大棚内多处温度的自动实时采集,而且提高了系统的可靠性和灵活性,同时也减少了现场布线带来的各种问题。此外,ARM-Linux具有较强的批量数据处理能力和网络功能,因此本系统在大规模、大面积、监测节点数较多的温室大棚中具有极大的推广应用价值。以后的研究可以进一步深入:软件扩展升级可以在操作系统中进行,使其具有更好的通用性以便于不同的用户通过简单的修改就可以成功添加不同种类和个数的传感器,甚至利用网络功能实现远程数据采集和监测;硬件扩展升级可以添加新的终端节点来采集其他环境参数如光照、湿度、CO2浓度等;此外还可以增加网络接口模块来实现远程数据传输。

参考文献:

[1]黄伟锋,叶祥. 温室环境多点数据嵌入式智能监测系统[J]. 农机化研究,2010,32(6):133-136.

[2]蒋录全. 信息生态与社会可持续发展[M]. 北京:北京图书馆出版社,2003:238-242.

[3]宋蛰存,陈宁,李迪飞. ZigBee无线传感技术在森林火灾监测中的应用[J]. 自动化仪表,2011,32(4):50-52.

[4]侯艳波,秦会斌,胡建人,等. 基于嵌入式和ZigBee技术的节能系统的设计与实现[J]. 电子器件,2012,35(6):670-673.

[5]杨玮,吕科,张栋,等. 基于ZigBee技术的温室无线智能控制终端开发[J]. 农业工程学报,2010,26(3):198-202.

[6]焦哲勇,程友联. 基于ARM的农业温室多点温度采集系统的设计[J]. 农业开发与装备,2007(5):19-21.

[7]张丽莲. 基于S3C2440的温室大棚多点温度监测系统的研究[J]. 安徽农业科学,2010,38(20):10923-10924.

[8]Adams J. Designed with 802.15.4 and Zig-Bee:ZigBee Alliance[EB/OL]. (2009-04-05)[2013-10-01]. http://www.zigbee.org.

[9]韦东山. 嵌入式Linux应用开发完全手册[M]. 北京:人民邮电出版社,2008.

[10]李新春,赵双华. 基于ARM与GPRS的家庭智能控制系统的设计与实现[J]. 计算机系统应用,2010,19(5):227-229.

[11]程昌南,方强. ARM Linux入门与实践[M]. 北京:北京航空航天大学出版社,2008.

[12]闫林生,肖伸平,邓鹏,等. 基于物联网的室内环境监控系统的设计[J]. 计算技术与自动化,2012,31(4):47-50.

[13]关学忠,姜南,王一群,等. 基于ZigBee技术的多点温度监测系统的设计[J]. 自动化技术与应用,2011,30(10):41-44.

[14]白复东. 嵌入式Linux驱动程序的开发[J]. 信息技术,2009(9):185-186,189.

[15]朱珍民,隋雪青,段斌. 嵌入式实时操作系统及其应用开发[M]. 北京:北京邮电大学出版社,2006.endprint

温度传感器选用Dallas半导体公司生产的应用可组网的单线式数字温度传感器DSl8B20,测量温度范围为-55 ℃至125 ℃,精度为0.5 ℃,用9bit数字量表示温度,每次将温度转换成数字量需200 ms。采用直接数字化输出,内部传感元件及转换电路集成在形如1只三极管的集成电路内,3个端口分别是地线(G N D)、数据线(DQ)、电源(VDD),从芯片CC2430的I/O 口上接入温度传感器DS18B20的DQ端。

3系统软件设计

本系统在RedHat9.0下创建嵌入式系统的Linux开发环境,使用arm-linux-gcc3.4.5作为交叉编译器,并采用yaffs类型的根文件系统和Linux2.6.29版本的内核来构建嵌入式系统。linux2.6.29内核具有强大的进程、中断和设备管理,支持各种文件系统。本系统软件设计部分主要包括:Linux操作系统移植、底层设备驱动程序设计和系统应用主程序设计三大部分。

3.1Linux操作系统移植

嵌入式Linux操作系统移植包括:移植U-boot、移植Linux内核以及制作根文件系统[11]。

3.1.1移植U-bootU-boot是在嵌入式操作系统运行前执行的一段Bootloader程序,其作用在于初始化硬件设备、建立内存空间的映射关系,将系统的软硬件环境带到一个合适的状态,为最终调试操作系统内核准备好正确的环境。他的源代码是免费公开的,可从网站上直接下载获得,本系统所用版本为U-boot1.1.4。在U-boot目录下进行相关配置并执行#make CROSS_COMPILE=arm-linux编译成功后,可将其烧入到FLASH中运行。

3.1.2移植Linux内核首先从网站上下载免费开源的Linux2.6.29内核源代码,在编译前进入根目录,修改其目录下的Makefile文件,设置目标平台和交叉编译器。然后运行#make menuconfig进入配置菜单,选择需要配置的选项后保存退出,再执行内核编译命令#make uImage,编译成功后会得到编译好的内核镜像文件zImage。

3.1.3制作根文件系统首先编译安装Busybox,然后根据需要建立相应的根目录,并编辑好系统运行所需的配置文件,最后采用制作yaffs文件系统的软件来制作出文件系统镜像。最终用U-boot通过tftp服务器下载内核镜像和根文件系统镜像到NAND FLASH中,如果系统启动正常,则成功移植了Linux操作系统。

3.2底层设备驱动程序设计

底层设备驱动程序是操作系统和设备进行通信的特殊程序,一般集成在操作系统内核中,有直接编译到内核(静态编译)和模块(动态编译)2种方式,前者是将驱动作为内核的一部分,直接编译到内核中;后者则为动态链接:单独作为1个模块进行编译,按需加载到内核中[12],本设计使用动态编辑方式。本系统的底层设备驱动主要是DS18B20驱动和 ZigBee 无线收发模块驱动;另外LCD触摸屏、串口等的驱动已经按需编译到Linux内核中。

3.2.1DS18B20驱动程序设计DS18B20是在1根总线上读写数据的,因此对读写的数据位有着严格的时序要求,同一时刻单总线上只能有1个控制信号或数据,必须有严格的通信协议来保证各位数据的正确性和完整性。为保证数据可靠地传送,进行数据通信时一定要符合单总线协议[13]。为了读出所有DS18B20的温度值,利用DS18B20的相关ROM命令并结合相关子函数完成该驱动的设计,其流程如图3所示。

3.2.2ZigBee无线收发模块驱动设计本系统采用的是星形网络拓扑结构,网络中存在协调器和终端两种设备。上电后,协调器首先完成应用层初始化,然后初始化I/O端口并打开全局中断,接着协调器搜索选择合适的信道并组建一个ZigBee网络;温度采集节点上电后,初始化后先扫描信道并寻找协调器,与之建立连接,连接成功后,终端节点每隔一定时间采集1次温室内的温度信息,然后传输给协调器,协调器接受各个节点的温度值,最终将其传输给ARM9处理器。ZigBee协调器和终端节点程序流程图分别如图4和图5所示。

3.3系统应用主程序设计

本系统通过创建打开DS18B20、ZigBee模块的驱动进程,使得系统在操作系统打开后通过进程调度对驱动进行操作[14-15],从而实现无线多点温度采集的目的。系统应用主程序流程图见图6所示。

4结论与讨论

本研究介绍了一种基于ARM与ZigBee技术的温室大棚多点温度采集系统,并给出了详细的系统架构方案,从软硬件方面阐述了设计思路和实现方法。测试表明,将低成本、低功耗的无线ZigBee技术应用于多点分布式温度采集系统,不但能够实现对温室大棚内多处温度的自动实时采集,而且提高了系统的可靠性和灵活性,同时也减少了现场布线带来的各种问题。此外,ARM-Linux具有较强的批量数据处理能力和网络功能,因此本系统在大规模、大面积、监测节点数较多的温室大棚中具有极大的推广应用价值。以后的研究可以进一步深入:软件扩展升级可以在操作系统中进行,使其具有更好的通用性以便于不同的用户通过简单的修改就可以成功添加不同种类和个数的传感器,甚至利用网络功能实现远程数据采集和监测;硬件扩展升级可以添加新的终端节点来采集其他环境参数如光照、湿度、CO2浓度等;此外还可以增加网络接口模块来实现远程数据传输。

参考文献:

[1]黄伟锋,叶祥. 温室环境多点数据嵌入式智能监测系统[J]. 农机化研究,2010,32(6):133-136.

[2]蒋录全. 信息生态与社会可持续发展[M]. 北京:北京图书馆出版社,2003:238-242.

[3]宋蛰存,陈宁,李迪飞. ZigBee无线传感技术在森林火灾监测中的应用[J]. 自动化仪表,2011,32(4):50-52.

[4]侯艳波,秦会斌,胡建人,等. 基于嵌入式和ZigBee技术的节能系统的设计与实现[J]. 电子器件,2012,35(6):670-673.

[5]杨玮,吕科,张栋,等. 基于ZigBee技术的温室无线智能控制终端开发[J]. 农业工程学报,2010,26(3):198-202.

[6]焦哲勇,程友联. 基于ARM的农业温室多点温度采集系统的设计[J]. 农业开发与装备,2007(5):19-21.

[7]张丽莲. 基于S3C2440的温室大棚多点温度监测系统的研究[J]. 安徽农业科学,2010,38(20):10923-10924.

[8]Adams J. Designed with 802.15.4 and Zig-Bee:ZigBee Alliance[EB/OL]. (2009-04-05)[2013-10-01]. http://www.zigbee.org.

[9]韦东山. 嵌入式Linux应用开发完全手册[M]. 北京:人民邮电出版社,2008.

[10]李新春,赵双华. 基于ARM与GPRS的家庭智能控制系统的设计与实现[J]. 计算机系统应用,2010,19(5):227-229.

[11]程昌南,方强. ARM Linux入门与实践[M]. 北京:北京航空航天大学出版社,2008.

[12]闫林生,肖伸平,邓鹏,等. 基于物联网的室内环境监控系统的设计[J]. 计算技术与自动化,2012,31(4):47-50.

[13]关学忠,姜南,王一群,等. 基于ZigBee技术的多点温度监测系统的设计[J]. 自动化技术与应用,2011,30(10):41-44.

[14]白复东. 嵌入式Linux驱动程序的开发[J]. 信息技术,2009(9):185-186,189.

[15]朱珍民,隋雪青,段斌. 嵌入式实时操作系统及其应用开发[M]. 北京:北京邮电大学出版社,2006.endprint

温度传感器选用Dallas半导体公司生产的应用可组网的单线式数字温度传感器DSl8B20,测量温度范围为-55 ℃至125 ℃,精度为0.5 ℃,用9bit数字量表示温度,每次将温度转换成数字量需200 ms。采用直接数字化输出,内部传感元件及转换电路集成在形如1只三极管的集成电路内,3个端口分别是地线(G N D)、数据线(DQ)、电源(VDD),从芯片CC2430的I/O 口上接入温度传感器DS18B20的DQ端。

3系统软件设计

本系统在RedHat9.0下创建嵌入式系统的Linux开发环境,使用arm-linux-gcc3.4.5作为交叉编译器,并采用yaffs类型的根文件系统和Linux2.6.29版本的内核来构建嵌入式系统。linux2.6.29内核具有强大的进程、中断和设备管理,支持各种文件系统。本系统软件设计部分主要包括:Linux操作系统移植、底层设备驱动程序设计和系统应用主程序设计三大部分。

3.1Linux操作系统移植

嵌入式Linux操作系统移植包括:移植U-boot、移植Linux内核以及制作根文件系统[11]。

3.1.1移植U-bootU-boot是在嵌入式操作系统运行前执行的一段Bootloader程序,其作用在于初始化硬件设备、建立内存空间的映射关系,将系统的软硬件环境带到一个合适的状态,为最终调试操作系统内核准备好正确的环境。他的源代码是免费公开的,可从网站上直接下载获得,本系统所用版本为U-boot1.1.4。在U-boot目录下进行相关配置并执行#make CROSS_COMPILE=arm-linux编译成功后,可将其烧入到FLASH中运行。

3.1.2移植Linux内核首先从网站上下载免费开源的Linux2.6.29内核源代码,在编译前进入根目录,修改其目录下的Makefile文件,设置目标平台和交叉编译器。然后运行#make menuconfig进入配置菜单,选择需要配置的选项后保存退出,再执行内核编译命令#make uImage,编译成功后会得到编译好的内核镜像文件zImage。

3.1.3制作根文件系统首先编译安装Busybox,然后根据需要建立相应的根目录,并编辑好系统运行所需的配置文件,最后采用制作yaffs文件系统的软件来制作出文件系统镜像。最终用U-boot通过tftp服务器下载内核镜像和根文件系统镜像到NAND FLASH中,如果系统启动正常,则成功移植了Linux操作系统。

3.2底层设备驱动程序设计

底层设备驱动程序是操作系统和设备进行通信的特殊程序,一般集成在操作系统内核中,有直接编译到内核(静态编译)和模块(动态编译)2种方式,前者是将驱动作为内核的一部分,直接编译到内核中;后者则为动态链接:单独作为1个模块进行编译,按需加载到内核中[12],本设计使用动态编辑方式。本系统的底层设备驱动主要是DS18B20驱动和 ZigBee 无线收发模块驱动;另外LCD触摸屏、串口等的驱动已经按需编译到Linux内核中。

3.2.1DS18B20驱动程序设计DS18B20是在1根总线上读写数据的,因此对读写的数据位有着严格的时序要求,同一时刻单总线上只能有1个控制信号或数据,必须有严格的通信协议来保证各位数据的正确性和完整性。为保证数据可靠地传送,进行数据通信时一定要符合单总线协议[13]。为了读出所有DS18B20的温度值,利用DS18B20的相关ROM命令并结合相关子函数完成该驱动的设计,其流程如图3所示。

3.2.2ZigBee无线收发模块驱动设计本系统采用的是星形网络拓扑结构,网络中存在协调器和终端两种设备。上电后,协调器首先完成应用层初始化,然后初始化I/O端口并打开全局中断,接着协调器搜索选择合适的信道并组建一个ZigBee网络;温度采集节点上电后,初始化后先扫描信道并寻找协调器,与之建立连接,连接成功后,终端节点每隔一定时间采集1次温室内的温度信息,然后传输给协调器,协调器接受各个节点的温度值,最终将其传输给ARM9处理器。ZigBee协调器和终端节点程序流程图分别如图4和图5所示。

3.3系统应用主程序设计

本系统通过创建打开DS18B20、ZigBee模块的驱动进程,使得系统在操作系统打开后通过进程调度对驱动进行操作[14-15],从而实现无线多点温度采集的目的。系统应用主程序流程图见图6所示。

4结论与讨论

本研究介绍了一种基于ARM与ZigBee技术的温室大棚多点温度采集系统,并给出了详细的系统架构方案,从软硬件方面阐述了设计思路和实现方法。测试表明,将低成本、低功耗的无线ZigBee技术应用于多点分布式温度采集系统,不但能够实现对温室大棚内多处温度的自动实时采集,而且提高了系统的可靠性和灵活性,同时也减少了现场布线带来的各种问题。此外,ARM-Linux具有较强的批量数据处理能力和网络功能,因此本系统在大规模、大面积、监测节点数较多的温室大棚中具有极大的推广应用价值。以后的研究可以进一步深入:软件扩展升级可以在操作系统中进行,使其具有更好的通用性以便于不同的用户通过简单的修改就可以成功添加不同种类和个数的传感器,甚至利用网络功能实现远程数据采集和监测;硬件扩展升级可以添加新的终端节点来采集其他环境参数如光照、湿度、CO2浓度等;此外还可以增加网络接口模块来实现远程数据传输。

参考文献:

[1]黄伟锋,叶祥. 温室环境多点数据嵌入式智能监测系统[J]. 农机化研究,2010,32(6):133-136.

[2]蒋录全. 信息生态与社会可持续发展[M]. 北京:北京图书馆出版社,2003:238-242.

[3]宋蛰存,陈宁,李迪飞. ZigBee无线传感技术在森林火灾监测中的应用[J]. 自动化仪表,2011,32(4):50-52.

[4]侯艳波,秦会斌,胡建人,等. 基于嵌入式和ZigBee技术的节能系统的设计与实现[J]. 电子器件,2012,35(6):670-673.

[5]杨玮,吕科,张栋,等. 基于ZigBee技术的温室无线智能控制终端开发[J]. 农业工程学报,2010,26(3):198-202.

[6]焦哲勇,程友联. 基于ARM的农业温室多点温度采集系统的设计[J]. 农业开发与装备,2007(5):19-21.

[7]张丽莲. 基于S3C2440的温室大棚多点温度监测系统的研究[J]. 安徽农业科学,2010,38(20):10923-10924.

[8]Adams J. Designed with 802.15.4 and Zig-Bee:ZigBee Alliance[EB/OL]. (2009-04-05)[2013-10-01]. http://www.zigbee.org.

[9]韦东山. 嵌入式Linux应用开发完全手册[M]. 北京:人民邮电出版社,2008.

[10]李新春,赵双华. 基于ARM与GPRS的家庭智能控制系统的设计与实现[J]. 计算机系统应用,2010,19(5):227-229.

[11]程昌南,方强. ARM Linux入门与实践[M]. 北京:北京航空航天大学出版社,2008.

[12]闫林生,肖伸平,邓鹏,等. 基于物联网的室内环境监控系统的设计[J]. 计算技术与自动化,2012,31(4):47-50.

[13]关学忠,姜南,王一群,等. 基于ZigBee技术的多点温度监测系统的设计[J]. 自动化技术与应用,2011,30(10):41-44.

[14]白复东. 嵌入式Linux驱动程序的开发[J]. 信息技术,2009(9):185-186,189.

[15]朱珍民,隋雪青,段斌. 嵌入式实时操作系统及其应用开发[M]. 北京:北京邮电大学出版社,2006.endprint

猜你喜欢
驱动程序内核嵌入式
强化『高新』内核 打造农业『硅谷』
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
计算机硬件设备驱动程序分析
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
基于MPC8280的CPU单元与内部总线驱动程序设计