摘 要:针对温室大棚的温湿度、光照和土壤含水率,采用TI公司的CC2430芯片设计并开发了一套信息采集的软硬件系统。整个系统由传感器节点、信息汇聚节点以及基于ARM的嵌入式Linux的上位机部分组成。各节点功能由基于TinyOS操作系统架构的应用软件实现。上位机具有数据收集、处理和显示的功能。实验证明,本系统工作稳定且操作简单易行。
关键词:CC2430;温室;信息采集;TinyOS;QT;串口;线程
近些年来,可控环境农业生产技术研究不断发展,目的是研制适应中国的可控环境自动控制系统、信息自动采集系统[1]。通过检测植物的生长环境中的各因子,根据环境因子的变化做出符合植物生长规律、利于产出的环境因子的调整。针对温室大棚的空气温湿度、土壤湿度、光照和CO2浓度等环境因子的综合信息采集监控系统的开发[2],在提高产量与品质中将发挥巨大作用。
无线传感器网络技术在温室大棚可控环境中各信息量采集的环节上起到了革命性的作用。应用无线通信控制传感器采集信息,从有线到无线,大大方便了设施农业的建设[3]。温室大棚内监控环境参数多为小信息量、多信息点的数据通信,应用传统无线方式成本高、体积大,而传感器技术也向更小、更方便使用的方向发展,集成度及能耗成为主要的考虑因素[4]。因此,满足低成本、小体积、低能耗、低传输速率的近距离无线通信技术日益受到青睐,具有代表性的芯片是CC2430,它是一款专门针对2.4 GHz IEEE 802.15.4应用的片上系统,很好地满足了要求。它是一种近距离、低功耗和低成本芯片,高度集成了无线射频、微控制器、内存、A/D转换器、看门狗定时器及休眠定时器等部件,特别适合电池供电的应用领域[5]。TinyOS是一个针对于无线传感器网络应用的小型嵌入式操作系统,通过它可实现无线传感器网络中节点组网通信,传感器数据采集,网络路由协议等功能[6]。
1 系统总体结构设计
系统的总体结构如图1所示,包括前端传感器节点、信息汇聚节点和上位机。传感器节点对其配备的传感器进行读取数据,形成数据帧,同时基于无线路由通信协议组网通信,把数据发送到邻近节点,每个节点具有路由功能,转发其他节点数据到信息汇聚节点。信息汇聚节点必须在这个无线通信网络中,并且是网络的信息汇集中心。每收集到一个节点的数据后,通过串口发送到上位机。上位机采用基于ARM的嵌入式Linux,同时运行两个任务,一个是实时读取串口数据并进行数据处理,另一个是通过LCD显示处理后的结果,即温室大棚内各点传感器测量的环境因子。
2 节点硬件设计
系统含有汇聚节点和传感器节点两种节点。无线传感器网络中的节点是网络的基础,节点的无线通信是节点的必要功能。本系统中的CC2430是集高性能的8051核及CC2420射频核心为一体的芯片,即系统设计中节点的处理器及无线通信单独成为一个模块。因此汇聚节点与传感器节点都包含此核心模块。
2.1 核心模块
根据TI公司提供的CC2430的详细使用手册,这部分电路主要分为芯片最小工作系统电路、无线电射频及天线电路、外部接口和调试接口3个部分。核心模块的电路原理图如图2所示。
CC2430引脚特别小,封装为QLP48。为保证芯片的稳定工作,其外围电路的器件选择要满足芯片手册要求,并且电源必须适当的去耦,去耦电容的位置和大小,以及电源的过滤,对CC2430达到最佳性能都是关键条件。CC2430有3种型号,以内部Flash大小划分,本系统采用的是片内Flash规格为128 KB的CC2430。
2.2 传感器节点与汇聚节点的设计
传感器节点与汇聚节点的区别在于:传感器节点包含传感器接口电路,汇聚节点不包含该电路而具有串口通信电路,如图3所示。传感器节点包括空气温湿度、光照强度和土壤含水率3种类型。由于节点、传感器类型和供电不同,因此分开进行硬件设计。
2.2.1 温湿度传感器节点
空气温湿度传感器采用SHT10,它是一款数字式传感器,具有符合I2C标准的两线制数据通信接口,控制器通过发送指令即可对其操作。其内部包含温度感测和湿度感测器件、信号放大器、A/D转换器和校准存储器。其体积小,采用CMOS工艺,可靠性更高。SHT10供电电压为直流2.4 V~5.5 V,功耗低,特别适用于电池供电的传感器节点应用。
2.2.2 光照强度和土壤含水率传感器节点
光照强度传感器采用了魏图农业科技的WLS-TH100传感器,输入线电阻高,线性度好。其抗干扰能力强,可长距离应用。供电电压为直流12 V,输出信号为4~20mA。
土壤含水率传感器采用了魏图农业科技的SWCP系列土壤水分传感器,该系列传感器的特点是响应速度快、工作稳定、精度高且使用方便。其供电电压为12 V,输出信号为0~2 V。
这两种传感器应用方式类似,因此电路原理一样,只是接口有所区别。此节点电路包括降压电路、继电器控制电路及信号调理电路。调理电路的作用是把传感器输出的电压或电流信号转变成统一的符合CC2430内部A/D转换范围的电压信号,通过运放实现阻抗匹配。
2.2.3 汇聚节点
汇聚节点包含核心模块插槽、降压电路及串行接口电路。电源采用外接5 V直流电源供电。外接串行接口电路主要由MAX3232构成。
2.3 上位机的结构与功能
上位机选用TQ2440开发板作为实验平台,其硬件资源比较丰富,在这里主要应用其串行通信接口及LCD触摸屏,实现串口读取数据和LCD屏幕显示数据信息。
3 系统软件设计
3.1 节点软件设计
本系统节点的应用程序设计是基于TinyOS操作系统来实现的,需要将TinyOS移植到CC2430上。通过添加和修改TinyOS系统的部分源码,编译形成可执行文件,下载到CC2430内部Flash。移植TinyOS的同时添加应用程序代码,即实现无线传感器网络的相关功能。TinyOS由nesC语言编写,nesC应用程序是由一个或多个组件连接起来实现的,组件之间的配合通过组件提供和使用的接口来完成。nesC的组件有模块和配置两种形式。模块是具体的功能实现和对外部操作的代码,提供一个或多个接口,模块内也可以包含其他内部可重用组件的接口;配置的作用是组装组件,对组件间要对接和关联的接口进行连接。
3.1.1 开发环境的建立及移植
建立工具链,安装的软件有Keil C51 7.50A、Java 2 SDK v1.5、Cygwin,把TinyOS的编译工具的安装包安装到Windows XP下的Cygwin环境中,TinyOS8051wg-0.1pre4.tgz解压到Cygwin环境中[7]。
TinyOS是一个具有层次体系结构的操作系统,不同层有不同的组件。组件对不同层次的抽象和平台相关的组件就是底层硬件的抽象[8]。在CC2430上移植工作就是添加底层硬件的抽象,能够和系统组件和库组件连接应用。
3.1.2 传感器节点与汇聚节点程序
传感器节点的应用程序主要包含无线通信协议栈代码程序、发送与接收数据程序以及传感器驱动程序三部分。无线通信协议栈代码实现自组网,负责拓扑结构的建立及维护[9];发送与接收数据程序负责数据成帧,发送或接收邻近节点数据;传感器驱动程序对传感器操作,获得环境因子的原始转换数据。图4为CC2430内部ADC的程序流程图。
测试成功后,移植到开发板,需要重新定义串口,编译下载,设置程序开机自启动。实验结果表明,程序运行正常,可应用触摸屏操作界面。图6为系统硬件图。
应用多线程编程可使上位机界面响应触摸操作速度快,基于CC2430芯片设计制作的模块电路运行良好,焊接所用焊锡以及贴片电阻、电容品质很关键。实验证明,所设计无线模块传输距离在都10 m以上。本系统硬件结构简洁,传感器功耗低,满足了节能的需求。
参考文献
[1] 杜尚丰,李迎霞,马承伟,等.中国温室环境控制硬件系统研究进展[J].农业工程学报,2004,20(1):7-12.
[2] 郑文刚,赵春江,王纪华.温室智能控制的研究进展[J].农业网络信息,2004(2):8-11.
[3] KALRA A, CHECHI R, KHANNA R. Role of ZigBee technology in agriculture sector[C]. National Conference on Computational Instrumentation, 2010(3): 151-152.
[4] VALADA A, KOHANBASH D, KANTOR G. Design and development of a wireless sensor network system for precision agriculture [D]. Pittsburgh: Carnegie Mellon University, 2010.
[5] 梁光胜,刘丹娟,郝福珍.基于CC2430的Zigbee无线网络节点设计[J].电子设计工程,2010,18(2):15-18.
[6] 卜天然,吕立新,汪伟.基于TinyOS无线传感器网络的农业环境监测系统设计[J].农业网络信息,2009(2):23-26.
[7] 徐敬东,赖锡盛.TinyOS2.0在CC2430上的移植[J].计算机工程,2011,37(2):256-260.
[8] Ossama Mohamed Younis. An energy-efficient architecture for wirelss sensor networks[D]. Indiana: Purdue University, 2005.
[9] 颜庭莘,孙利民.TinyOS路由协议原理及性能评估[J].计算机工程,2007,33(1):112-114.
[10] 李国政,张强,杨红卫,等.ARM-Linux嵌入式系统在农业大棚中的应用[J].现代电子技术,2007(6):19-21.
[11] 张保立,王俊,张发明,等.基于QT_Embedded和Qtopia的嵌入式温室无线测控系统GUI设计[J].电子技术,2008(6):26-29.