0、 引言
本系统利用感知层 ZigBee 无线网络和传输层互联网技术实现物联网技术在草莓种植过程中的应用。
我国草莓总产量在世界各国处于领先地位,但单产及品质却处于落后地位,如何提高草莓单产及品质一直困扰很多种植户。温湿度、光照强度、水肥、土壤酸碱度是影响草莓生长发育的主要因素,将物联网技术应用到草莓种植生长的各个阶段可以提高其监控水平,从而促进草莓品质提高。利用感知层 ZigBee 网络通过在温室里布置各类传感器,实时分析温室内部环境参数,从而更好地选择适宜种植的草莓品种以及控制种植过程中的各个环节; 传输层采用 C#、SQL 数据库和 C# asp . net 构建上位机网站,管理者可以利用物联网技术实时采集草莓温室内温度、湿度等多类信息,实现精细管理,控制执行机构的执行(如风机、低压电机等) ,实现远程控制。
1、 系统的整体设计
本系统主要由监控层和现场采集控制层组成,监控层采用 C#开发上位机操作界面,实现监控和数据交换,如图 1 所示。产生的数据使用 SQL 数据库进行存储,利用易于控制的 Web 发布功能,用户通过 PC 或者手机登陆网站,实现整个控制网络的远程监控。现场采集控制层负责采集环境参数和控制执行机构,由ZigBee 协调器节点和 ZigBee 终端节点组成。ZigBee终端节点扩展温湿度、CO2、水分土壤等传感器,采集草莓温室内的温湿度、CO2浓度等数据,数据通过 Zig-Bee 无线网络发送到 ZigBee 协调器节点,再通过串口传到监控层,存到数据库,实现环境数据的采集。动态网站访问数据库显示实时数据信息,并通过数据库向监控层发送控制命令,由串口传至协调器节点,再由协调器节点传至终端节点实现机构的控制。
2、 系统的硬件设计
2. 1 协调器节点的硬件设计
协调器节点采用 ZigBee 芯片 CC2530F256,节点间使用最新的 ZigBee2007Pro 协议进行相互间的数据交流。协调器节点需要实现的功能有两部分: 控制无线 RF 模块完成节点间的数据收发; 通过串口与上位机监控中心进行数据通信。
2. 2 终端节点的硬件设计
终端节点硬件结构与协调器节点一样,同样采用ZigBee 芯片 CC2530F256 模块,在此基础上扩展外围传感器电路和控制电路。例如,在终端节点上安装数字式温度传感器 DS18B20,可以测量温室内的温度参数。
3、 软件总体设计
3. 1 上位机监控中心的设计
3. 1. 1 数据库的设计上位机监控中心系统的数据库主要用于存储管理系统中的数据,由于所需存储的数据量大,故选择Mircrosoft SQL Server2005 数据库存储这些数据,数据库命名为 db_Greenhouse。根据需要在数据库中创建多个数据表用于存储不同的信息,表中 GH_1、GH_2、GH_3 用于存储各个草莓分区的状态。
为了保障监控中心的安全性,用户需通过登录模块验证用户名和密码的合法性,只有合法用户才能进入上位机监控中心主界面。用户的登录信息存储在数据库表 GH_User 中,通过 SqlDataReader 对象的 Har-sRows 属性判断用户是否合法。主要代码实现如下:
3. 1. 3 监控界面的设计
监控中心主界面使用 ListView 控件显示各个温室分区的基本信息,从数据库检索出每个分区的状态,将每个分区的状态通过 Add 方法与 Listview 控件中的各个项目绑定。用户通过鼠标单击分区可获得分区基本信息。
监控中心菜单栏中有“获取数据”/“数据交换”命令,打开数据交换窗体,该窗体实现数据通讯,选择所需控制查看的温室分区,通过指令选择框中的按钮控制机构的执行、环境参数的查看。数据通讯采用串口通讯,使用 SerialPort 类,直接和电脑串口连接起来,而不需要编写协议,只需要在 ComboBox 中配置串口属性。如按下开启照明系统按键,回调它的事件处理函数 private void buttonLED_Click(object sender,Even-tArgs e) ,执行发送命令消息语句 SendCMDMessage(0,1,0) ,将开启照明系统命令发送出去。
3. 2 动态网站的设计
采用 ASP. Net3 层架构开发动态网站,该架构如图 5 所示。
1) 表现层: 为用户提供一种交互操作界面,用于接收用户输入数据并显示服务器传来的数据,处理用户的输入和用户的输出。为了设计的方便在界面的设计过程中选用母版页,母版页 MasterPage 由 Head 部分、TreeView 控件和ContentPlaceHolder 控件 3 部分组成,如图 6 所示。
TreeView 服务控件使用 SiteMapSource 控件绑定到分层的站点地图数据,将站点地图显示为一个目录。目录的第 1 级菜单是欢迎页,用来介绍网站的详情; 第 2级菜单是对网站所实现的功能的分类菜单,包括温室信息、温室管理和系统管理; 第 3 级菜单是具体的用户的操作,包括对温室信息的查看、对系统的管理。图 6 中,ContentPlaceHolder 控件用于显示温室内执行机构的操作。
2) 业务逻辑层: 连接数据层和表现层的接口,主要实现表现层所要进行的操作。为了让业务逻辑层显得更加有调理,在该层中为每一个数据表建立一个类文件。
用户信息表的业务逻辑层文件 UserInfo. cs、用户权限的业务逻辑层文件 Power. cs、温室信息的业务逻辑层文件 GreenHouse. cs 等用来实现 WEB 表现层连接数据库和网站的操作。
GH_WEB. cs 业务逻辑层文件中主要是操作数据库,通过调用文件中的 UpData 函数更改数据库来实现发送下位机命令,实现网络数据来操作无线网中的设备。控制温室内灯的开关主要代码如下:
3) 数据访问层: 用于访问数据库系统,实现对数据表的选择,插入更新以及删除等操作,为表现层和业务逻辑层提供数据服务。
查看分区信息界面中各个温室分区状态信息是通过 GridView 控件与数据源绑定,再通过绑定函数 Bind() 的执行显示数据信息。其主要代码如下:
4、 结语
本设计实现了基于物联网的草莓生长环境的远程控制。经过理论分析和实验论证,用户可以通过PC 或者手机远程登陆网站实现对上位机中温室控制中心的控制,采集草莓生长过程中的环境参数,控制草莓温室内的执行机构。
参考文献: [1] 钟华辉. 物联网款款步入现代温室[J]. 北京农业,2011(22) : 47-48. [2] 章伟聪,俞新武,李忠诚. 基于 CC2530 及 ZigBee 协议栈设计无线网络传感器节点[J]. 电子设计工程,2011,20(7) :184-187. [3] 韩华锋,杜克明,孙忠富,等. 基于 ZigBee 网络的温室环境远程监控系统的设计与应用[J]. 农业工程学报,2009,25(7) : 158-163. [4] 张烈平,杨帆. 基于 ZigBee 的温室监测系统设计[J]. 中国农机化,2013,34(2) : 113-116. [5] DoYoung. DS18B20 温度传感器应用解析[EB/OL]. [6] 章丽,范滨多,曹乐松,等. 基于 ASP. net 动态网站的设计与实现[J]. 信息技术,2007(1) : 67-70. [7] 胡迎松,彭利文,池楚兵,等. 基于. net 的 Web 的应用三层结构设计技术[J]. 计算机工程,2003,29(5) : 173-175. [8] 马楠,李天宫,吴东月,等. 基于. NET 教学管理系统三层架构设计[C].