袁玉卓 王卿璞 鲁海瑞 卢忠花 袁帅 陈玉贤 赵玉杰
摘 要: 介绍了一种基于ZigBee与OpenWrt的植物生长环境监测及控制系统的设计方法。该系统采用多个传感器节点采集生长环境数据并进行预处理后发给协调器节点,由协调器节点经I2C接口将数据发送给路由器单元进行多数据融合,更客观、真实地反映各个传感器的测量数据。结果表明该系统具有实时视频监控、数据显示、处理分析、记录存储以及远程控制等功能。
关键词: ZigBee; OpenWrt; 数据融合; 植物生长环境
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2016)04?0055?04
Abstract: A design method of plant growth environmental information monitoring and control system based on ZigBee and OpenWrt is introduced in this paper. The plant growth environmental data is collected by some sensor nodes in the system, then transmitted to coordinator node after data preprocessing, and finally sent to router unit by coordinator node through IIC bus to do multiple data fusion and reflect the data measured by each sensor. The test result shows this system has the functions of automatic collection of environment data, real?time video monitoring, real?time data display, processing analysis, record, storage, remote control, etc.
Keywords: ZigBee; OpenWrt; data fusion; plant growth environment
0 引 言
随着物联网技术的发展,使得人们对家中的设备进行监测和控制变成现实。当今高速度的生活节奏和高压力的社会生存环境,使得人们喜欢在闲时养殖各类植物,但是时常疏于管理,使得植物没有得到有利的生长环境。市面现有的装置并不能实现真正的远程监测和控制。为了能检测多花盆内及周围环境多点数据,设计一种基于ZigBee与OpenWrt的植物生长环境监测及控制系统。在每个花盆上层和底层各放置一个土壤湿度传感器和pH值检测传感器。在花盆外部放置温湿度传感器、光照传感器和串口摄像头等。传感器节点将采集到的多传感器数据进行预处理,并通过ZigBee无线网络发送给ZigBee协调器,然后ZigBee协调器通过I2C接口将数据传送给RT5350路由单元。在PC机上用Web界面进行监测和进一步控制。同时手机也可通过WiFi网络接入系统进行远程监测和控制。实现了基于ZigBee与OpenWrt的多数据的采集、无线传输、显示、处理和报警功能。系统整体结构框图,如图1所示。
1 硬件设计
本系统协调器和传感器节点均采用以CC2530芯片为核心的单元。TI(德州仪器)的CC2530芯片,是基于2.4 GHz IEEE 802.15.4,ZigBee和RF4CE的SoC(片上系统)解决方案,并支持低功耗及安全可靠的无线通信[1]。
在本系统中传感器节点主要负责协调控制传感器单元进行多参数综合采集,实现对相关环境参数控制并进行数据传输。传感器单元是多数智能传感终端的重要组成部分;本系统中的传感器单元由AM2303温湿度传感器、TSL2561光照强度传感器、SHT10土壤湿度传感器和E?201?C土壤pH值传感器构成,以上传感器可对植物生长所需的几种关键环境参数进行检测。
由于ZigBee低速、低功耗等特点决定了其传输范围有限,并不能实现真正有效的远程监测管理。故本系统在协调器节点的I2C接口处外接了由支持OpenWrt系统RT5350构成的路由器单元。当前主流路由器固件有DD?Wrt,Tomato,OpenWrt三类。OpenWrt不同于其他两类固件,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统,其建立的不是一个单一的、静态的系统[2]。OpenWrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,它还提供了100 多个已编译好的软件,而且数量还在不断增加,而OpenWrt SDK 更简化了开发软件的工序。RT5350兼容IEEE 802.11b/g/n标准,内置360 MHz的MIPS24KEs CPU、无线基带和射频前端以及多种外设总线,可以单芯片解决了终端设备的无线连接和控制功能,以其高集成度和低成本,易于二次开发[3]。
为了实现对植物生长更直观的监测,通过在RT5350路由器单元外接USB摄像头,用户可远程采集植物生长的图像信息,为科学管理和决策提供更为直观的资料。本节点及路由器单元硬件结构连接如图3所示。
2 软件设计
根据功能设计要求,本系统的应用软件设计分别包括ZigBee协调器节点软件设计、ZigBee传感器节点软件设计以及OpenWrt路由器单元设计。
节点程序开发主要是基于Z?Stack协议栈。ZigBee协议架构主要由两部分组成:物理层(PHY) 和媒介访问控制层(MAC) ,其遵循成熟的IEEE 802.15. 4标准;网络层(NWK) 和应用层(APL),则是由ZigBee 联盟进行定义。ZigBee设备主要分为三类:
(1) 协调器(Coordinator):整个ZigBee网络只有一个协调器,它是整个网络的核心,负责配置和协调整个网络。
(2) 路由器(Rounter):主要为其他的采集节点转发数据。
(3) 终端设备(EndDevice):主要负责采集相关数据,然后发送给路由器或者协调器。
ZigBee协议栈的核心部分在网络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,支持Cluster?Tree 等多种路由算法,支持星形(Star)、族树形(Cluster?Tree)、网格(Mesh)等多种拓扑结构,如图4所示[4?5]。
2.1 协调器节点的程序设计
Z?Stack协议栈由main函数开始执行,首先初始化CC2530以及电路板上相应的资源,然后开始执行轮转查询式操作系统。程序流程图如图5所示,协议栈中的每一层都设计了一个事件处理函数,用于处理该层操作相关的各种事件。各ZigBee传感器节点周期性的向协调器发送采集的数据,而协调器接收到数据后通过UART接口发送给RT5350路由器单元,路由器单元的主程序通过监听UART接口来接收数据并共享至Web客户端进行相关分析,进一步给出控制指令。其部分监听UART代码如下所示:
2.2 传感器节点及各接口程序设计
在协调器建立好ZigBee网络后,传感器节点上电,各个传感器节点与协调器节点之间会完成ZigBee自动组网。ZigBee网络以网络拓扑结构为基础架构,在各个节点之间自动选择最优传输路径,传感器节点将采集到相关数据进行融合,融合后经路由器将传感器节点采集的数据以最优、最短、最快方式发送到协调器[6]。传感器节点在此随机配置为Rounter和Enddevice以组成网状网,增强ZigBee系统网络结构的鲁棒性,并且当需要反向控制时,传感器控制对应的外设进行调节,传感器节点程序框图如图6所示。
2.3 RT5350路由节点程序设计
对RT5350芯片刷入对应的OpenWrt固件可使其建立有线路由和无线路由通路以及USB摄像头的初始化,并根据本项目要求进行多传感器数据的融合与分析,供用户在Web页面上进行远程监测和反向控制。本部分为设计的重点以及创新点。
由RT5350构成的路由器单元在构建有线和无线网络通路回路的同时还作为主要的数据整合、分析和处理平台。该系统通过把接收到的采集数据存到数据库SQL Server中,以实现历史数据查询和当前数据的实时查看。通过在系统中设置相应的阈值,实现当植物生长将某一点采集的数据超过阈值时就会发出报警消息及进行反向控制。
当OpenWrt系统接收到数据时,首先进行解析数据,判断对应花盆的各个传感器数据信息,之后对数据进行模糊算法处理,得出各个参数的语言变量值,最后将环境健康结果显示在客户终端上。
为了提高检测精度及减少误差,在数据处理时本系统采用OVA(OneVsAll)的多类分类支持向量机(Support Vector Machine,SVM)的多数据融合方法[7]。只需要训练k个标准的SVM,故其所得到的分类函数的个数较少,分类速度相对较快。对k类分类问题,OVA方法构造k个分类器,第m个分类器[fmx=?mΦxi?bm]将第m类样本与其他类别的所有样本分开。对[fmx]进行训练时,属于m类的样本标记为+1,其他所有样本都标记为-1。采用OVA的多类分类支持向量机,等同于求解k个二次优化问题。通过以上数据融合技术可更客观、真实地反映各个传感器所测量数据,来提供决策参考如图7所示。且为了更加直观远程监测植物生长情况,通过RT5330的USB串口外接UVC驱动摄像头。UVC摄像头的驱动程序已经固化在硬件的芯片里,因此不要需要在OpenWrt进行驱动开发,只需要进行初始化即可,来实现在Web界面的实时监测。Socket设计部分代码及实现最终界面如下所示:
2.4 智能数据库匹配
在植物实际生长过程中,以光照强度为例,分别经历光补偿点、光饱和点和光抑制。在光补偿点时植物自身光合作用,呼吸作用平衡;光饱和点时植物能最大化的进行光合作用,光强继续增加植物则会进入光抑制,进行自我保护的状态。植物达到最佳的生长环境即达到光饱和点。以项目所用普通阳性绿色植物需要的光照为例,通过查阅相关资料,其需要的光照[8]为18 000~20 000 lx。即为此植物设置18 000的阈值,并与采集到的数据进行比对分析,进而进行报警提醒或智能控制。
其他诸如湿度、pH等参数的控制原理类似。
3 结 语
本文设计的基于ZigBee与OpenWrt的植物生长环境监测及控制系统,实现了植物生长环境的多传感器参数采集融合和处理、远程视频监控和智能反向控制等功能,其特点是实现了真正地远程控制以及多客户端通用的Web接入,具有良好的可扩展性及市场推广性。
参考文献
[1] GISLASON D. ZigBee wireless networking [M]. London: Newnes, 2008: 127?129.
[2] PALAZZI C E, BRUNATI M, ROCCETTI M. An OpenWRT solution for future wireless homes [C]// Proceedings of IEEE International Conference on Multimedia and Expo. Singapore: IEEE, 2010: 1701?1706.
[3] 闫巧,李保广.嵌入式3G路由器实用功能的设计与实现[J].计算机工程与设计,2014,35(5):1634?1638.
[4] FARAHANI S. ZigBee wireless networks and transceivers [M]. London: Newnes, 2011.
[5] 蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006.
[6] 曾超,陈向东.基于WSN的高层建筑物地基沉降动态监测系统的设计[J].现代电子技术,2015,38(4):53?55.
[7] 王东.基于多传感器融合的温室环境智能控制系统研究与实现[D].杨凌:西北农林科技大学,2012.
[8] 张丽,张兴昌.植物生长过程中水分、氮素、光照的互作效应[J].干旱地区农业研究,2003,21(1):43?46.