范庆宇,孙泽军
(平顶山学院 信息工程学院,河南 平顶山 467000)
随着科学技术与数字化水平的不断发展和稳步提高,以大数据、人工智能为基石,网络由虚拟走向现实,连接世间万物,未来即是万物互联的智能时代,中国的养殖场也向着智能化、信息化的方向快速发展[1]。智能化养殖场能够有效地减少环境对禽畜造成的影响,减少人为管理,降低经济损失,提高产品的质量和生产效率,从而带来更大的利润[2]。以往养殖场存在需要的劳动力过多、人为经验控制环境、异常情况处理滞后、成本高和效率低等缺点。为了实现养殖场更好地发展[3],本文提出了一种基于ZigBee的物联网养殖场环境监测控制系统。
本系统结合现代物联网技术和ZigBee无线通信技术建立养殖场环境智能监测控制系统,将物联网智能化感知、无线通信和控制系统与禽畜养殖业结合起来,系统实时感知环境和禽畜活动的变化,并自动做出相应的措施来控制或调整养殖场内部环境[4]。系统主要由数据采集部分、控制部分、安全报警部分组成[5];由数据终端和多个数据采集点组成,采集点检测养殖场内某处温度、湿度、空气质量、光照、沼气浓度及相关参数。各采集点的数据通过基于ZigBee构建的网络传输到ZigBee协调器节点,该协调器节点监视各个采集点参数数值,若超出预设的阈值则启动对应控制模块工作,若超出警告值则会报警并立即通知养殖户[6]。另外,路由节点通过ESP8266模块和TCP协议将实时数据传到服务器,用户可以远程查看养殖场的各个环境参数并调节阈值,从而达到对养殖场环境的监测和智能控制的目的。
由于该系统的底层感知系统是由多个CC2530板构成的,所以终端节点与协调器节点之间的通信须使用ZigBee协议[7]。ZigBee 的网络结构有星型网、树状网和网状网。其中星型网络是最简单的一种,以一个协调器节点为组网核心,将周围的终端节点连接到协调器节点上。在本系统中使用ZigBee的星型拓扑结构,各终端节点和协调器连接构成星型网络结构。协调器与上位机之间的通信使用WiFi方式连接,选择TCP协议作为协调器与上位机之间的通信协议[8]。将ESP8266配置为TCP Client模式,设置IP地址和端口号即可与云服务器建立链路进行数据传输,提高系统的便捷性。其系统整体的框架如图1所示。
图1 系统整体的框架图
本系统主要是由上位机(智能终端设备和OneNET服务器)、下位机(ZigBee组网)两个部分组成[9]。其中上位机利用OneNET作为数据信息的显示、保存和处理的平台;下位机由采用ZigBee的星型拓扑结构和其他一些专业传感器组成,主要负责获取、收集和传输养殖场环境的数据。下位机可以由上位机控制;上位机和下位机之间的通信采用即时通信协议TCP保证数据实时、稳定、高效地上传到OneNET服务器。系统硬件结构设计如图2所示。
图2 系统硬件结构图
各终端节点与协调器连接构成星型网络结构,中心为协调器,周围是终端节点。协调器负责数据上传;而终端节点上连接相应的传感器、继电器和相关的控制模块,负责养殖场内环境参数的采集。
(1)协调器节点结构
协调器节点在WSN中作用非常重要,是整个系统的核心,它的作用是在上位机和下位机之间进行数据交换,在网络中起到纽带的作用;并控制ZigBee网络中其他终端节点的工作,收集各终端节点监测到的养殖场内的环境数据,将数据传输到上位机;同时也可以接收上位机的数据,将上位机的数据发送给终端节点,进而实现控制。在本系统中,协调器节点采用带有ESP8266模块的CC2530主板,与其他终端节点相比多了一个ESP8266模块。本系统的协调器节点实物图如图3所示。
图3 系统协调器节点实物图
(2)终端节点结构
终端节点是WSN的最小单位,它的组成结构主要有传感器模块、无线收发器、电源模块、射频模块和处理器。它有两个功能:第一是负责将监测的环境数据传递给协调器;第二是接收协调器的数据,从而执行一些操作。结合本系统工作场景并考虑到成本,系统选择CC2530芯片,它能为系统提供控制器和ZigBee射频模块,并且功耗非常低,也降低了后期维护成本。
系统设计时,在系统中不同设备之间要想实现理想的通信就必须设计出合理的通信协议。由于系统中ZigBee组网通信是本智能系统中最重要的纽带环节,上连接协调器,下连接养殖场环境智能监测系统的终端数据采集传感节点。因此,在ZigBee 组网协议中需设计的重要通信协议有:协调器与终端节点发出的指令数据结构见表1所列,其数据见表2所列;ZigBee返回指令数据结构见表3所列;协调器与养殖场环境传感器之间的通信数据结构见表4所列;ZigBee网关与OneNET服务器之间的通信协议见表5所列。
表1 终端发出指令数据结构
表2 终端发出指令数据结构中功能位指令的详解
表3 ZigBee返回指令数据结构
表4 ZigBee协调器与传感器节点间通信数据结构
表5 ZigBee协调器与OneNET的通信协议
主控模块是系统的核心部件,其使用的是CC2530芯片,CC2530结合了业界领先的RF收发器、标准的增强型8051 CPU、8 KB RAM,具有系统内可编程闪存以及许多其他强大的功能,其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。ZigBee的技术特性决定它将是无线传感器网络的最好选择,可广泛用于物联网、自动控制和监视等诸多领域。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统,运行模式之间的转换时间短,进一步确保了低能源消耗。其核心板原理如图4所示。
图4 ZigBee核心板原理图
(1)WiFi无线通信模块—ESP8266
ESP8266芯片是面向物联网应用的高性价比、高集成度的WiFi MCU,内置超低功耗Tensilica L106 32位 RISC 处理器,CPU时钟速度最高可达160 MHz,支持实时操作系统 (RTOS)和WiFi协议栈,可将高达80%的处理能力留给应用编程和开发。高集成度、性能稳定、工作温度范围大,且能够保持稳定的性能;具有标准外设接口、天线开关、射频BALUN、功率器、低噪放大器、过滤器和电源管理模块;具有低功耗的特点,适用于可穿戴电子产品和物联网应用。
(2)温湿度传感器—DHT11
DHT11是一款集温度测量和湿度测量于一体的复合型传感器。传感器中测温模块使用了NTC测温元件,测湿模块采用了电阻式感湿元件,其内部还包括一个8位单片机;它的输出为数字型,无须再进行A/D转换,并且数字在输出时已经修正过,可供用户直接读取。实验证明,该产品有可靠性高、稳定性好、响应快、抗干扰能力强、功耗小等特点,满足养殖场监控系统的要求。该产品体积小、价格便宜、连接方便,能够降低室内环境监控系统的整体造价,便于市场推广。
(3)光照传感器—GY-302
GY-302模块是一款基于I2C通信的16 b的数字型传感器。模块主要是以BH1750数字型光强感应芯片为核心,还包括一些外围驱动电路。BH1750是一款内部集成了光电转换、ADC转换、I2C信号转换等电路的芯片,BH1750内部简要框图如图5所示,省去了复杂信号处理电路,又能保持良好的稳定性并节省空间。该芯片内部电路主要分为4部分:
图5 BH1750内部结构图
①光敏二极管:导通电流随着光强的变化而变化。
②I/V转换电路:主要是将电流信号转换为电压信号。
③ADC转换电路:将电压信号转换为数字信号,分辨率为16 b。
④I2C逻辑电路:主要是将光强数据打包成I标准的I2C通信信号。
(4)甲烷传感器模块—MQ-4
MQ-4气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡。当传感器周围存在可燃气体时,传感器的电导率随着空气中的可燃气体浓度的增大而增大。该传感器模块对甲烷(沼气的主要成分)的灵敏度高,对丙烷、丁烷也有较好的灵敏度,是一款低成本易用的传感器。MQ-4灵敏度特征曲线[1]如图6所示;MQ-4型元件温度特征[2]如图7所示。
图6 MQ-4灵敏度特征曲线
图7 MQ-4型元件温度特征图
图中纵坐标是传感器的电阻比(Rs/Ro);Rs表示在含1 000 ppm甲烷、不同温/湿度下传感器的电阻值;Ro表示在含1 000 ppm甲烷、20 ℃/65%RH环境下传感器的电阻值。
养殖场环境监测系统可分为两部分:ZigBee网络和OneNET云服务器。ZigBee网络是由协调器和终端节点两部分组成。协调器负责收集、汇总和处理多个终端节点采集的养殖场环境数据,并将实时环境参数上传到OneNET服务器以供远程查看。此外,养殖场环境出现异常时,协调器的LCD屏上会显示养殖场环境数据异常的警报信息;协调器还会向终端节点发送指令控制对应的功能模块工作,实现主动控制养殖场环境。OneNET云服务器主要负责接收由ZigBee协调器上传的数据,把接收的数据进行统计和保存并以人性化图形进行显示,以便于管理员观察养殖场环境数据并管理养殖场环境。系统软件总体流程如图8所示。
图8 系统软件总体流程
传感器节点程序设计如下:
(1)温湿度传感器程序设计
本系统采用DHT11作为温湿度传感器,通过单总线的通信方式进行数据传输。将主控模块CC2530作为主机,DHT11 温湿度传感器模块作为从机,系统将采用这种主从形式进行数据交换。采用DHT11进行温湿度测量的步骤如图9所示。
图9 温湿度传感器模块工作流程
(2)光照传感器程序设计
GY-302数字光强模块采用的芯片是BH1750,它支持I2C总线方式通信。首先在CC2530中定义两个端口,分别为串行数据线和串行时钟线;通过CC2530中的这两个I/O端口模拟I2C总线的数据传输协议进行光照度信息数据的采集。GY-302光照传感器模块工作流程如图10所示。
图10 光照传感器模块工作流程
(3)沼气传感器程序设计
因本系统检测的气体对象是牲畜粪便发酵产生的沼气,主要成分是甲烷,所以选用MQ-4气体传感器[10]。该传感器输出的信号都是原始的模拟电压信号,须通过CC2530主控模块的ADC模块进行模数转换并输出模拟电压对应的数字值。沼气传感器工作流程如图11所示。
图11 沼气传感器模块工作流程
系统中的控制节点主要包括灯光控制、排气扇控制和水泵控制。协调器将各个传感器节点采集到的环境数据与养殖场管理员设定的范围进行比较;当有某个环境条件不满足要求时,将向控制节点发送控制指令。为了使控制节点能够准确高效地解析所接收的消息,有效执行协调器发送的控制指令,使用表5针对ZigBee协调器与终端节点之间的通信设计的协议。控制节点的工作流程如图12所示。
图12 控制节点的工作流程
本系统的上位机使用OneNET服务器,通过该服务器系统可将从下位机获取的数据进行数据保存和云端网页显示,实现养殖场相关环境信息数据的实时显示、存储和历史查询等功能。如图13为养殖场环境数据浏览界面;图14为可以直观查询到的某天某时的环境信息历史曲线图。同时,还可以对环境参数阈值范围进行设定,当系统检测到某一环境参数超出正常范围时,会发出警报并自动向下位机发送相应的控制指令[11]。
图13 养殖场环境数据浏览界面
图14 养殖场环境湿度折线图
协调器的主要任务是处理接收的数据并发送至OneNET服务器显示和存储。在系统中协调器通过ESP8266模块利用WiFi与云服务器进行数据交互,所以在程序中需要利用TCP协议进行通信。因此,在程序中需配置ESP8266模块的工作模式和连接协议,还需要将OneNET平台产品的APIKE、OneNET平台设备ID、本地无线局域网的SSID和PASSWORD一并写入程序并烧录到协调器节点中。
本系统通过模拟真实养殖场的环境,从对养殖场单一环境参数的机械式控制到多个环境参数的智能控制。力争构建一个简单便捷、稳定可靠的养殖场控制系统,以促进国家的养殖业向着高效率、智能化、信息化的方向快速发展为原则。系统设计过程严格按照软件工程学的方法进行,最终实现物联网智能家居监测控制系统的开发。通过对系统进行多种环境测试,了解和保证系统的质量,提升系统的可靠性。系统硬件测试如图15所示。
图15 系统硬件测试图
针对传统养殖场智能化程度不高和须根据人为经验控制环境等问题,本文设计并实现了基于物联网的养殖场环境智能监测控制系统, 系统由数据终端和多个数据采集点组成。采集点负责检测养殖场内某处温度、湿度、空气质量、光照、沼气浓度及相关参数[12]。各采集点的数据通过基于ZigBee构建的网络传输到ZigBee协调器节点,该协调器节点监视各个采集点参数数值,若超出预设的阈值则启动对应控制模块工作,若超出警告值则会报警并立即通知养殖户。
另外,路由节点通过ESP8266模块接入互联网,将实时数据通过TCP协议上传到服务器,用户可以远程查看养殖场的各个环境参数并调节阈值,从而达到养殖场环境的监测和智能控制,有效地提高养殖效率,并且可以为研究智能化养殖提供重要的数据。