郭 杰,雷 刚,罗光伟,陈健生,施 芸
(1. 四川工程职业技术学院,德阳 618000;2. 清华大学 电子工程系,北京 100084)
现代农业中,为提高农产品的生产效率和产品品质,需要及时掌握大棚相关信息,国内外研究人员对农业信息化做了大量的研究。Masayuki Hirafuji等人提出了利用无线网络方式实现田间数据采集的方案[1];中国农业大学精细农业实验室提出了使用蓝牙实现温室检测的方法[2];东北农业大学寒地蔬菜生物学重点实验室设计了一种可以监测温度的无线传感器节点[3],将Zigbee技术应用到了土壤监测中;西北农林科技大学采用ARM9处理器和CC2430结合设计了一种Zigbee无线网络的温室监控系统[4];南京农业大学将GPRS和移动终端技术应用于无线网络中,实现了数据的移动采集和实时处理[5]。
现阶段的研究,主要针对于无线网络中的节点以及多个节点组成的单个Zigbee无线网络进行分析和处理。随着我国现代农业的发展,必定向更大规模、更加精细的方向发展,对此本文提出了一种利用PROFINET(工业以太网)、Mesh网络和Zigbee技术的大棚环境监测系统。
进行监测系统的设计前,需要考虑应用环境的实际情况,充分考虑系统的有利因素和可能遇到的问题。基于PROFINET和Mesh网络的大棚监测系统具有三个方面的特性:1)大棚面积大范围广;2)各区域间具备以太网络连接;3)环境是动态变换的。
另外室外环境的不可预知性、各种恶劣自然环境的存在,对系统的设计和开发提出了挑战。
经过系统的应用分析,同时结合国内外同行的设计经验,提出的大棚环境监测系统总体结构如图1所示。
图1 监测系统整体结构图
该监测系统由监控中心、各区域无线Mesh网络以及PROFINET(工业以太网)组成。每个区域的无线网络由该区域的子网关以及各个参量监测节点组成,各节点将检测到得温度、土壤湿度、土壤盐度、二氧化碳浓度、光照度等参数通过基于Zigbee技术组建的Mesh网络传递到该区域的网关节点上。子网关再通过PROFINET(工业以太网)总线传递到信息监控中心,同时在各子网关上利用人机界面将该子区域的信息显示出来,每个子网关也可以成为一个独立的监测子系统。
PROFINET是一个符合TCP/IP和IT标准的、为自动化制定的开放的工业以太网标准,支持TCP/IP标准通讯、实时(RT)通讯、同步实时(IRT)通讯。
PROFINET网络广泛应用于工业自动化控制领域,具有很强的抗干扰性能以及支持不同制造商设备之间的兼容性,适用于较复杂的工作环境。
在本系统设计中,区域监控中心主机配置西门子工业以太网CP1616卡,用于PROFINET的链接与数据采集;安装工业组态软件WINCC,组态监控画面,CP1616卡通过PROFINET直接与远程子网络进行数据交换,在区域监控中心主机上显示和设定大棚环境参数。
基于监测大棚的数量和距离,在PROFINET(工业以太网)组建过程中配置工业网络交换机(SCALANCE X200),减少监控中心到个区域子网络的布线对数,也便于扩展。配置交换机的数量依据子网络的数量而增减,各子网络通过IP地址及MAC地址进行识别。
该区域子网络采用基于Zigbee技术的Mesh网络结构,该网络无线Mesh网络是一种典型的多跳网络模式,具备动态自组织和自配置功能。网络中的每一个节点都具备路由功能,可以进行数据的发送和接收。在该网络中,数据传递的可靠性和安全性较高,当某节点需要传输数据时,只需要将数据发出即可,附近的节点将对数据进行转发,直到传递到接收位置[6~10]。在大规模的大棚中,如果使用单跳方式,需要设定一个中心节点,但由于WLAN发射功率问题,作用距离一般不超过500米,所以该模式不适应于在大规模大棚中推广使用。而使用无线Mesh网络,由于各节点都具有数据转发功能,可以通过节点间的通信,完成远距离的数据传输。Mesh网络的基本结构如图2所示。
图2 子网络结构图
PROFINET是一个符合TCP/IP和IT标准的、为自动化制定的开放的工业以太网标准,支持TCP/IP标准通讯、实时(RT)通讯、同步实时(IRT)通讯。
网关采用ARM+Zigbee专用CPU模块进行设计。ARM实现数据处理分析、图形图表显示以及通过工业以太网接口与区域中心相连接;结合Zigbee技术的CC2530实现Mesh网络的建立、管理等功能,两个CPU之间通过串口进行数据的交换。基本结构如图3所示。
图3 网关硬件结构图
在实际应用中,为简化ARM板的电路设计、提高效率,选用某公司的SmartARM2300工控开发板为应用平台。该工控板是基于32位的ARM处理器LPC2378开发的平台,在该平台上包含LCD驱动接口、RS232、RS485、CAN_BUS、SD/MMC、10/100M工业级以太网接口等开放接口,实际应用中可以根据需要进行合理的选择,满足不同接口方式的需要。Zigbee专用CPU模块选用TI公司的CC2530芯片进行电路设计,该芯片由TI公司推出,基于 ZigBee/ IEEE 802.15.4 标准的SOC器件。CC2530内部包含低功耗的8051CPU,同时包含一个高性能的射频收发器,工作时功耗只有27mA,同时具备低功耗和休眠模式[13]。
网关的软件设计包含两方面的内容,一是ARM工控板的系统程序开发,二是基于CC2530的Zigbee网关协议开发。
2.2.1 ARM系统程序
ARM程序主要包含显示接口程序、总线数据处理、节点信息接收分析和ARM实时操作系统等几部分。在该工控板中,已经预装μC/OS-II 正版实时操作系统,在开发中对于不同的功能模块,只需要添加任务项目即可。具体程序结构如图4所示。
图4 网关软件流程图
软件包含2个部分,一是对ARM进行初始化设定,启动μC/OS-II实时操作系统,并创建串口、LCD显示和工业以太网任务。二是分别通过任务调度的方式实现各个应用程序的处理。
2.2.2 CC2530网关协调器程序
在本系统中,网关是实现Mesh网络的关键。由于该网络以Zigbee技术作为基础,网关需要完成空闲信道的扫描、网络的初始建立、提供新网络节点的地址、路由表的配置和计算、以及网络管理等工作。在一个Zigbee网络中,包含APL(应用层)、NWK(网络层)、MAC(数据链路层)、PHY(物理层)等结构,各层之间通过服务原语进行数据传递和反馈。实际应用中,当CC2530完成硬件和操作系统的初始化后,即可使用服务原语进行网络的创建工作。
基本流程是:APL层向NWK层发送NLMENETWORK-DISCOVERY.request原语,协调器开始进行附近网络状态的扫描。网络层得到NLMENETWORK-DISCOVERY.confirm原语,包含附近的信道使用和网络状态的详细清单,应用层通过比较信道清单和网络清单,选择一个未使用过的信道,并通过NLME-NETWORK-FORMATION.request原语进行网络的建立。
另外在本应用中,还需要通过串口与ARM进行数据的传递、控制命令的分析和执行等任务。程序流程如图5所示。
图5 协调器程序流程图
对于网络节点,可以分为两类。一类是既具备路由功能也具备检测功能的节点,可以实现环境检测,也可以为其他节点提供路由功能;另一类是终端节点,只具备检测功能和数据发送功能,需要通过路由节点才能将数据传递出去。为简化设计,在实际设计中统一选用CC2530作为节点的控制器。首先利用该CPU的Zigbee功能实现节点的无线网络设计,其次再利用该芯片空余的I/O端口和A/D转换器,添加温度、湿度和盐度的检测探头,实现物理量检测。实际应用中,温度测量使用DS18B20实现,湿度使用HIS-07电阻式温度探头,盐度测量使用FJA-10型土壤盐分测试探头。在使用时,土壤的盐分变化是很慢的,且在一片土壤中,盐分差异较小,但温度和湿度需要实时的检测,所以在实际应用中,每个节点上温度和湿度探头是必须的,盐分探头只是在部分节点上安装。
在传感器与CPU的接口方面,温度探头DS18B20采用一线数字接口方式,只占用CPU的一个I/O端口;湿度和盐度探头是模拟量输出器件,需要设计相应的调整电路,转换为电压量后利用CPU内部的A/D通道进行处理,得到对应的数值。节点电路结构如图6所示。
图6 节点硬件结构图
在该系统中,节点的软件设计主要关注三个内容,一是外围传感器的接口程序设计,二是Zigbee网络接入与路由的程序设计,三是节点的低功耗处理,尽量延长节点的工作时间。
2.3.1 传感器接口程序设计
温度传感器DS18B20程序设计主要包含以下三个步骤:首先进行初始化,其次进行序列号的读取操作,然后启动温度的转换过程,进行温度数据的读取。湿度和盐度探头输出的电压信号使用CC2530的A/D通道进行转换,其中湿度使用A/D通道3,盐度使用A/D通道4,同时利用TI公司提供的ZStack协议栈中的HalAdcRead()函数,实现A/D的软件设计。相应程序流程图如图7所示。
2.3.2 Zigbee节点网络接入程序设计
图7 节点软件流程图
节点的网络接入流程:首先通过APL层发送NLME-NETWORK-DISCOVERY.request原语,其中包含信道参数、扫描持续时间等信息;其次NWK层接收到该原语后,向MAC层发送MLMESCAN.request原语,MAC层进行主动扫描。当MAC层在扫描过程中得到有效的信标帧时,使用MLME-BEACON-NOTIFY.indication原语向NWK层回复。相关的数据包含该扫描得到的网络ZigBee版本号、堆栈结构、网标识符(PANId)、逻辑信道和是否允许连接的信息。节点的网络层对这些信息进行匹配验证,如不匹配,则忽略该信标;反之,节点从接收到的信标中,将相关的信息复制到自己的邻居表中。此时即可通过发送NLME-JOIN.request原语进行网络的连接。
2.3.3 Zigbee节点的节能设计
在节点的设计中采用两节18650锂电池(单节容量2200mAh)进行供电,CC2530内核采用1.8V供电,传感器与外部接口采用3.3V供电。在程序设计中,可以通过CC2530的PCON和SLEEPCMD两个寄存器,工作于5种不同的工作模式,即当需要进行测量和数据传输时,启用正常工作模式,否则进入睡眠模式。实际应用中,温度、湿度和盐度的变换差异较大。在这三者中温度的变化相对较快,采用每隔5分钟检测一次,而湿度则可以每隔一个小时检测一次,而盐度的变化则更慢,每天检测一次即可。
通过网关和节点的硬件和软件分析,进行了系统的软件和硬件设计和调试。网关和节点结构如图8所示。
图8 网关和节点
3.1.1 节点的功率测试
为检验节点的电源消耗情况,对节点的耗电量进行了测试。测试中,使用10欧姆的电阻串联在电源中,测得电阻电压波形如图9所示。
图9 节点功耗测试图
从图9中,可以得知当进行数据传输时,10欧姆电阻上出现峰值电压200mV,其余时间电压基本恒定为20mV~30mV之间。即节点在数据传输时,消耗电流为20mA左右,静态时消耗电流为1mA ~1.5mA。测试表明该节点的节能设计是有效的。
3.1.2 一个子网中的通信性能测试
各无线节点在进行数据传输中,存在路径损耗,为检验一个子网络中的各节点的布局情况,进行试验。首先,在空旷环境中测试节点与子网关之间的通信距离(模块的发射功率为0dBm,接收灵敏度为-92dBm),经测试有效距离为75米~85米之间;其次在生长有辣椒作物(平均高度60厘米)的田间,有效距离降低为50~55米之间;另外如果加高天线高度,有效距离可以得到提高。对此,在进行无线网络节点的布置中,应该注意三个问题。一是在网络中,必须保证每个节点周围50米范围以内至少具有一个路由功能的节点,安全考虑保持两个更可靠;二是在作物高度较高的环境中,可以通过选配高度较高的天线,减小有效距离的损失;三是可以通过增加模块的发射功率增加距离,但是对节点的有效工作时间会产生影响。
通过系统分析、系统设计和实际验证表明,在现代农业中使用无线网络技术与工业以太网结合的方式,可以提供一种成本相对经济的解决方案。该方案具备以下特点:
1)采用工业以太网结合无线Mesh网络的模式,为大面积的大棚监测提供了可行的解决方案;
2)网关采用ARM工控板+CC2530的设计构架,简化了系统设计,降低了系统的开发难度,可行性较强;
3)节点采用一片CC2530完成网络接入、路由和传感器检测,简化了节点设计,采用低功耗设计,提高了电池的正常工作时间;
4)不同的大棚检测环境,对于无线模块的发送功率、天线高低、布置的密度需要进行适当的调整。
[1] Masayuki Hirafuji, Tokihiro Fukatsu, Haoming Hu.Advanced sensor-network with field monitoring servers and MetBroker[A].2004 CIGR International Conference—Beijing Sponsored by CIGR,CSAM and CSAE[C].Beijing,2004: 1 l-14.
[2] 李莉,刘刚.基于蓝牙技术的温室环境监测系统设计[J].农业机械学报.2006,37(10):97-100.
[3] 张喜海,张长利,房俊龙,于啸,梁建权.面向精细农业的土壤温度监测传感器节点设计[J].农业机械学报.2009,40(z1):237-240.
[4] 郭文川,程寒杰,李瑞明,吕健,张海辉.基于无线传感器网络的温室环境信息监测系统[J].农业机械学报.2010,41(7):181-185.
[5] 孙玉文,沈明霞,张祥甫,熊迎军,周良.基于嵌入式ZigBee技术的大棚信息服务系统设计[J].农业机械学报.2010,41(5):148-151.
[6] Fowle T.Mesh networks for broad access[J].IEE Review,2001,47(1):17-22.
[7] Rayner K.Mesh wirless networking[J]. IEEE Communications Engineer,2003,1(5):44-47.
[8] Seong Hoon Kim, Jeong Seok Kang, Hong Seong Park et al. UPnP-ZigBee internetworking architecture mirroring a multi-hop ZigBee network topology[J]. IEEE Transactions on Consumer Electronics, 2009, 55(3): 1286-1294.
[9] Jae Yeol Ha, Hong Seong Park, Sunghyun Choi et al.EHRP: Enhanced hierarchical routing protocol for zigbee mesh networks ee[J]. IEEE communications letters,2007,11(12):1028-1030. 071325.
[10] 黄鑫,冯穗力,柯峰,等.无线mesh网络中基于效用最优的联合信道分配和功率分配算法[J].电子与信息学报,2011, 33(11): 2600-2604.
[11] 刘卉,汪懋华,王跃宣,等.基于无线传感器网络的大棚土壤温湿度监测系统的设计与开发[J].吉林大学学报(工学版),2008,38(3):604-608.
[12] 胡培金,江挺,赵燕东,等.基于zigbee无线网络的土壤墒情监控系统[J].农业工程学报,2011,27(4): 230-234.
[13] 程冬,丁保华,李威.基于片上系统 CC2530 的采煤机远程遥控装置设计[J].矿山机械,2010,3:19-21.
[14] Morais,R.; Fernandes,MA; Matos,SG; Serodio,C; Ferreira,P.J.SG;Reis,M.J.CS.A ZigBee multi-powered wireless acquisition device for remote sensing applications in precision viticulture[J].Computers and electronics in agriculture,2008,62(2): 94-106.
[15] Nadimi, E.S;Jorgensen, R.N; Blanes-Vidal,V; Christensen,S. Monitoring and classifying animal behavior using ZigBee-based mobile ad hoc wireless sensor networks and artif i cial neural networks[J].Computers and Electronics in Agriculture,2012,82:44-54.
[16] 史兵,赵德安,刘星桥,等.工厂化水产养殖智能监控系统设计[J]. 农业机械学报,2011,42(9):191-196.
[17] Mostafa K.A.Al-Harbawi, Mohd Fadlee A. Rasid, Nor Kamariah Noordin. Utilizing Neighbours-Table to Improve Tree Routing Protocol in ZigBee Network[J].Wireless personal communications,2012,65(2):469-488.
[18] 张哲,李宝珠,王存宝,等.基于无线数据传输的冲击波超压测试系统的研究[J].传感器与微系统,2009,28(6):7-9.