文章信息
- 王欢, 李骅, 尹文庆, 李勇伟, 钱燕, 胡飞.
- WANG Huan, LI Hua, YIN Wenqing, LI Yongwei, QIAN Yan, HU Fei.
- 基于无线传输的鸡舍环境远程监测系统
- Remote monitoring system for henhouse environment based on wireless transmission
- 南京农业大学学报, 2016, 39(01): 175-182
- Journal of Nanjing Agricultural University, 2016, 39(01): 175-182.
- http://dx.doi.org/10.7685/jnau.201503036
-
文章历史
- 收稿日期:2015-03-17
现代化封闭式鸡舍大多采用多层笼养的饲养模式,为了提高经济效益,养殖密度一般较大,除了需要依靠育种、养殖等领域的先进技术外,对鸡舍环境要求非常高,其中温湿度、CO2浓度和氨气浓度等参数对鸡群健康尤为重要[1, 2]。采用现代化的监测技术可以为鸡舍管理人员提供科学的管理依据,提高管理效率,降低生产成本[3]。
采用无线传感器网络技术和计算机技术,可以基本实现鸡舍环境监测系统网络化和智能化,能解决有线方式布线困难、更新维护成本高的问题[4, 5, 6, 7, 8],但相关研究主要集中在系统设计方面,对无线数据的可靠传输研究较少。无线传输存在数据丢包现象,需要设计相应的策略以减小丢包率,提高数据传输的可靠性[9]。同时基于C/S架构的鸡舍远程监测系统需要安装专用的软件才能实现远程监测,且对监测设备有较高的要求,系统跨平台能力较弱,大多不具备多用户并发访问功能。B/S架构具有跨平台能力强,对监测设备要求低,客户端维护和升级简单等特点,适合应用于广域网范围内的环境远程监测。为了兼顾局域网和广域网范围内鸡舍环境监测需求,在前人研究的基础上[10, 11],提出了一种基于无线传输的鸡舍环境远程实时监测系统,以期完成鸡舍温度、湿度、CO2浓度和氨气浓度的可靠监测,为鸡群饲养过程中饲养风险的辨别和避免提供实时、连续的环境参数数据,提高养殖效益。
1 系统总体方案与软硬件设计 1.1 系统总体方案系统总体由鸡舍环境信息采集部分(包括采集节点和网关节点)和养鸡场中心服务器两部分组成(图1)。在每栋鸡舍内,以网关节点为中心,与采集节点组成星型无线网络;网关节点与采集节点、网关节点与中心服务器之间均采用无线方式传输数据;中心服务器对鸡舍环境信息进行存储和加工,固定终端和移动终端通过公共网络与之相连,实现远程访问。
| 图 1 鸡舍远程监测系统总体方案设计 Fig. 1 Overall design of the remote monitoring system for henhouse |
系统硬件结构如图2所示。采集节点和网关节点之间通信的无线模块采用远距离半双工微功率无线通信模块UTC-4432B1,工作频率为430~450 MHz,输出功率1~20 dBm,中间可调,开阔通信距离可达1 000 m以上[12]。系统工作环境并非开阔地,但通信距离远远小于1 000 m,留有较大的通信距离余量。由于网关节点和鸡舍中心服务器之间的距离较远,采用传输距离更远的Power UTC-4432-T500E实现数据传输。
| 图 2 系统硬件结构图 Fig. 2 Diagram of the system hardware structure |
为了减小鸡的应激反应,遵循体积小、安装方便的原则设计采集节点。采集节点控制器为STM32F103VET6,显示模块采用2.8英寸的TFT-LCD,兼顾低功耗和实时显示的要求。传感器选型如表1所示,通过相应的接口与控制器相连。网关节点以S3C6410作为控制器,采用7英寸LCD触摸屏显示,设计有独立按键实现系统进入屏保状态时的唤醒功能。中心服务器通过USB转串口的方式与无线模块连接,实现与各鸡舍网关节点数据通信。通过GPRS Modem实现短信报警功能。在中心服务器没有联网的情况下采用电信3G上网卡拨号上网,实现远程访问。
| 传感器型号Sensor model | 测量参数Measurement parameter | 量程Measuring range | 测量精度Measurement accuracy |
| DHT22 | 温度/℃ Temperature | -40~80 | ±0.5 |
| DHT22 | 相对湿度/% Relative humidity | 0~100 | ±2 |
| COZIR-ambient | CO2浓度/(μmol·mol-1) Concentration of CO2 | 0~5 000 | ±100 |
| NE-NH3 | NH3浓度/(μmol·mol-1) Concentration of NH3 | 0~100 | ±1 |
为了规范数据传输格式,提高数据传输准确率,系统基于Modbus通信协议设计无线传输数据帧[13]。采用RTU传输模式设计了采集命令帧、环境参数数据帧、错误帧和消息确认帧。Modbus网络中的设备通过设备地址进行区别,在本系统内具有唯一性,采集节点分别是0X01、0X02、……,高位表示鸡舍编号,低位表示节点编号,以此类推,网关节点地址为0X10,中心服务器地址为0X20。
1.3.2 鸡舍环境信息采集部分软件设计采集节点软件基于STM32的库函数进行模块化设计,实现环境参数的采集、显示与发送。网关节点移植Android系统,基于Java语言设计软件,实现采集命令的发送、接收处理和显示各节点返回的环境参数数据,同时向中心服务器转发环境参数数据。
1.3.3 中心服务器软件设计中心服务器软件基于C/S(客户端/服务器)和B/S(浏览器/服务器)混合架构进行设计。系统采用MySQL作为数据库服务器,设计了3张关系型数据表:鸡舍环境信息数据表、报警信息数据表和用户账号数据表,实现数据存储、查询、溯源和加工应用。考虑到数据表中某些字段是中文,设计时统一采用GBK编码,程序中操作数据库时遵循先设置编码格式后执行SQL操作的原则,有效地避免了中文乱码的出现。现场监测系统为C/S架构,采用VC++6.0开发,基于多线程技术实现了鸡舍环境参数显示、上下限设置、短信报警、数据库操作等功能。基于B/S架构的Web远程监测系统采用Java Web技术开发,基于MVC开发模式设计实现了用户权限管理、鸡舍环境参数实时显示、实时曲线显示、历史数据查询等功能。在系统的服务器上运行花生壳软件,联网的电脑和智能终端可直接通过域名henhouse.xicp.net进行访问,经过授权查看实时数据以及执行其他操作。
2 系统关键技术的实现 2.1 传感器采集数据的补偿与校正鸡舍环境参数采集的准确性对鸡舍环境建模和调控具有重要影响,除了采用高精度的传感器之外,在不增加系统成本的前提下,采用软件设计的方式进行补偿与校正,提高传感器的采集精度。
2.1.1 氨气浓度的补偿与校正氨气传感器输出0~3 V电压,通过AD转换得到氨气浓度值。ADC参考电压需要外接,受电源电压波动的影响,导致氨气浓度检测存在误差。本文设计2路AD采集,一路直接采集参考电压值,另一路采集氨气传感器输出值,按比例计算得到氨气浓度值,减小电源电压波动带来的误差。同时采用中位值平均滤波法连续采样5次进行滤波处理,既保证了采集速度,又可以获得较好的滤波效果,消除了偶然出现的脉冲性干扰对测量准确性的影响。
2.1.2 温度、湿度的补偿与校正温湿度传感器DHT22采用单总线数据格式输出温度、湿度值,传感器的最小采集周期为2 s。为了兼顾数据采集的实时性,考虑到传感器输出为数字信号,可不做滤波处理,但由于该传感器具有非线性和迟滞性[14],采集值与真实值之间存在误差,需要进行补偿修正。以温度为例,参考鸡舍适宜温度范围[15]设计试验,采用恒温精度为0.5 ℃的恒温箱,恒温范围为8~37 ℃,取步长0.5 ℃。为了同时补偿非线性和迟滞性造成的误差,对传感器进行正反行程试验,分别记录系统采集温度值和恒温箱温度值,以恒温箱温度值为标准值,利用Matlab拟合工具箱对试验数据分别进行1次、2次、3次、4次拟合,得到采集值和标准值之间的拟合函数,均方误差越小,说明拟合精度越高[16]。根据现有鸡舍温度测量要求,选择均方误差0.058、最大绝对误差0.39的一次拟合函数f(x)=0.930 2x-0.054 36作为正向补偿函数,补偿后再次进行试验,将补偿后温度测量绝对误差与补偿前比较(图3),温度测量绝对误差减小,最大误差为0.4 ℃。反向行程采用同样的方法,选取一次拟合函数f(x)=0.984 1x+0.499 7作为反向补偿函数,采集节点软件设计时连续读取2次数据,根据传感器特性,第1次读取的温度值为上一周期的温度值,第2次读取的温度值作为实时采集值,若实时采集值较大,则将实时采集值带入正向补偿函数,否则带入反向补偿函数,计算得到最终的温度值,实现了温度的补偿校正,提高了温度采集的准确性。
| 图 3 正向行程补偿前后温度测量绝对误差曲线 Fig. 3 Absolute error curves before and after compensation for the forward path |
采用无线通信不可避免存在丢包现象,为了提高采集数据传输的可靠性,设计了基于丢失恢复的采集数据传输协议,实现丢失检测和丢失重传。考虑到其他数据帧长度较短,只有4个字节,若采用同样的方法进行丢失恢复则代价较大,且本身丢包率较低,系统只对环境参数数据帧进行丢失恢复,确保采集数据的可靠传输。由采集节点进行丢失检测,采用定时器中断,定时检测设置的发送标志,当环境参数数据帧传输丢失时,采集节点重发数据帧。丢失重传有基于ACK和基于NACK两种策略[9]。本文采用基于ACK的丢失重传策略,在采集节点上编程实现,工作流程如图4所示。相比于在网关节点上基于NACK策略编程实现,本策略更为简单,当采集节点数较多时,对网关节点的压力较小。网关采用多线程编程,实现了多任务的配合执行,提高了软件设计的灵活性,与采集节点配合实现采集数据的可靠传输,工作流程如图5所示。
| 图 4 采集节点程序设计流程图 Fig. 4 Flowchart diagram of acquisition node |
| 图 5 网关节点程序设计流程图 Fig. 5 Flowchart diagram of gateway node |
试验中发现网关节点转发的环境参数数据帧存在重复与缺失现象。针对这种情况,在现场监测系统软件中设计了重复数据过滤与缺失数据估计程序。
1)网关节点通过CRC校验可以过滤掉传输出错的数据帧,但无法过滤采集节点重发的正确数据帧,造成现场监测系统重复存储同一采集数据。导致这一现象的原因是消息确认帧传输丢失,采集节点在定时器中断中重发上次采集的数据帧。针对这一情况,本文提出了基于时间识别的重复数据过滤方案,现场监测系统软件设计时通过与数据库中相关节点最近一条记录的时间字段比较,若时间间隔小于1/2采样周期,则认为是重复的数据,丢弃处理,有效地过滤了重复数据,提高了系统的可靠性。
2)若某一采样周期的环境参数数据帧缺失,则造成系统采集信息不连续,导致这一现象的原因是采集命令帧传输丢失,采集节点没有收到采集命令帧,未执行采集操作,造成数据缺失。为了获得尽可能连续的环境参数数据,为饲养风险的辨别和避免提供实时、连续的采集数据,考虑到试验中采集节点布置具有随机性,各节点采集数据之间空间相关性较弱,且温度、湿度、CO2浓度和氨气浓度为缓慢变化参数,采样周期为10 min时,时间相关性显著,采用三次多项式插值算法对缺失数据进行估计具有较高的精度,且计算简单。现场监测系统软件设计时通过调用数据库中相应节点的最近4组数据和最新采集的数据,对5组数据进行三次多项式插值,将估计值存入数据表中,保证了采集信息的连续性。
3 系统试验与分析 3.1 无线模块丢包率测试无线模块的丢包率与通信距离、发射功率密切相关,一般情况下,发射功率越大,通信距离越短,则丢包率越小。测试环境为无障碍物的校园道路,试验设备为2台笔记本电脑和1对无线模块UTC-4432B1。无线模块通过USB转串口连接到笔记本,一个作为发送端,另一个作为接收端。通过串口调试助手发送100个数据包,数据包长度为4个字节,记录接收端接收到的数据包数量,计算出丢包率。试验中无线模块工作频率设置为433 MHz,工作电压3.3 V,发射功率分别设置为0~7档,数值越大,发射功率越大,测试距离选择50、100和150 m。试验结果如图6所示,同一通信距离,发射功率越大,丢包率越小。系统中采集节点和网关节点的最远通信距离100 m左右,但并非无障碍的空旷距离,需要预留传输距离余量,此时发射功率对丢包率的影响较大,在不考虑节点功耗的情况下,设置最大发射功率等级7,减小丢包率,此时无线信号能够穿透4堵25 cm厚的混凝土墙,满足鸡舍环境中数据无线传输要求。
| 图 6 发射功率和通信距离对丢包率的影响 Fig. 6 Effects of transmit power and communication distance on packet loss rate |
在南京江宁区某养鸡场的封闭式鸡舍进行了试验。鸡舍长88 m,宽8 m,檐高3.7 m,顶高5 m。采用4层层叠式笼养,舍内4架鸡笼背靠背排成2列,每个鸡笼中养殖6只红毛蛋鸡。试验鸡舍纵向和垂直方向环境参数存在差异,为了更好地掌握鸡群附近温度、湿度、CO2浓度和氨气浓度信息,在每层鸡笼前面分层布置采集节点。因鸡舍环境特殊,粉尘多,并且加湿器工作时水汽大,采集节点采取防水防尘等保护措施延长节点使用寿命,增加系统稳定性。网关节点放置在鸡舍东面的控制室内,中心服务器在养鸡场的总控制室内,距离试验鸡舍100 m左右。
针对环境参数测量精度、系统数据传输丢包率进行试验。将中心服务器收到的同一时刻的测量值与标准温湿度计、手持CO2测试仪和氨气测试仪测得的数据比较,如表2所示,各参数测量绝对误差均保持在较小的范围内,满足系统要求。
| 测量参数Measurement parameter | 中心服务器监测数据Central server collection data | 人工测量数据Artificial measurement data | 最大绝对误差Max absoluteerror | ||||||
| 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | ||
| 温度/℃ Temperature | 20.8 | 18.2 | 16.3 | 15.6 | 20.3 | 18.0 | 16.1 | 15.4 | 0.5 |
| 相对湿度/% Relative Humidity | 49.4 | 49.0 | 48.1 | 48.1 | 48.7 | 48.2 | 48.9 | 48.6 | 0.8 |
| CO2浓度/(μmol·mol-1) Concentration of CO2 | 2 204 | 1 858 | 1 786 | 1 725 | 2 226 | 1 821 | 1 795 | 1 742 | 37 |
| NH3浓度/(μmol·mol-1) Concentration of NH3 | 1.5 | 1.6 | 1.5 | 1.5 | 1.3 | 1.7 | 1.4 | 1.6 | 0.2 |
分析2月26日18:00到2月28日18:00共48 h的试验数据,网关节点每10 min向4个采集节点发送一轮采集命令,4个节点理论上共采集4×48×6=1 152条记录。试验结果全部保存在鸡舍环境信息数据表中,通过flag字段判断该记录是采集获得还是估计获得。试验中数据表共存储1 148条记录且无重复数据,其中1 132条是采集记录,16条是估计记录,另外缺失的4条记录是因为某一节点连续2次数据缺失,但现场监测系统软件只对第2次缺失的数据进行估计,造成第1次缺失的记录丢失。参考文献[17]中丢包率的计算方法,丢包率(1 152-1 132)/1 152=1.74%,满足鸡舍环境监测要求。选取一段不含缺失数据的记录,假设某个记录缺失,采用三次多项式插值算法进行估计,比较估计值和真实采集值之间的误差,以验证估计方法的有效性。如图7所示,选取20组数据记录进行估计,采用估计值和采集值的均方根误差RMSE(公式1)作为评判系统估计算法有效性的依据。
| 图 7 温度(A)、湿度(B)、CO2(C)和NH3(D)浓度的估计值与采集值比较 Fig. 7 Comparison of estimation valueand collection value of temperature(A),relative humdiy(B), concentration of CO2(C)and NH3(D) |
式中:
为系统估计值;yi为系统采集值。计算结果如表3所示,估计误差较小,满足鸡舍实际生产要求。
| 温度/℃Temperature | 湿度/%Relative humidity | CO2浓度/(μmol·mol-1)Concentration of CO2 | NH3浓度/(μmol·mol-1)Concentration of NH3 | |
| 最大绝对误差 Max absolute error | 0.5 | 2.3 | 54 | 0.2 |
| RMSE | 0.212 | 1.032 | 24.050 | 0.126 |
针对鸡舍环境远程监测需求,开发了基于无线传输的鸡舍环境远程监测系统,实现了鸡舍内温度、湿度、CO2浓度和氨气浓度的实时检测、存储和显示,历史记录查询,曲线显示,短信报警等功能,获得相应权限的用户通过浏览器可远程查看相关信息,兼顾了局域网和广域网范围内监测的要求。系统在养鸡场进行了试验,得到如下结论:
1)采用2路AD采集、按比例计算的方法得到氨气浓度值,减小了电源电压波动对氨气浓度检测造成的误差;采用数据拟合的方法分别对温湿度传感器正反行程测量数据进行补偿与校正,减小了温湿度传感器非线性和迟滞性造成的测量误差,该方法提高了系统中传感器采集数据的准确性。
2)基于丢失恢复的鸡舍环境参数数据帧传输策略实现了环境参数数据帧无线传输过程中的丢失检测和丢失重传,提高了环境参数数据帧传输的可靠性,丢包率为1.74%,保证了系统的可靠性与实用性。
3)基于时间识别的重复数据过滤方案有效地过滤了重复数据;对缺失数据采用三次多项式插值算法进行估计,温度估计最大误差0.5 ℃,相对湿度估计最大误差2.3%,CO2浓度估计最大误差54 μmol·mol-1,氨气浓度估计最大误差0.2 μmol·mol-1,提高了系统数据的完整性。
| [1] | 吴俊锋,詹凯,李俊营,等. 冬季有窗封闭式鸡舍内环境参数变化及对蛋鸡生产性能和蛋品质的影响[J]. 中国家禽,2011,33(16):16-20. Wu J F,Zhan K,Li J Y,et al. Effect of environment parameters of semi-enclosed layer house on production performance and egg quality of primiparity laying hen in winter[J]. China Poultry,2011,33(16):16-20(in Chinese with English abstract). |
| [2] | Mirzaee-Ghaleh E,Omid M,Keyhani A,et al. Comparison of fuzzy and on/off controllers for winter season indoor climate management in a model poultry house[J]. Computers and Electronics in Agriculture,2015,110:187-195. |
| [3] | 白红武,滕光辉,马亮,等. 蛋鸡健康养殖网络化管理信息系统[J]. 农业工程学报,2006,22(10):171-173. Bai H W,Teng G H,Ma L,et al. Layer healthy breeding management information system based on Internet[J]. Transactions of the CSAE,2006,22(10):171-173(in Chinese with English abstract). |
| [4] | 李丽华,黄仁录,霍利民,等. 蛋鸡个体生产性能参数监测装置设计与试验[J]. 农业工程学报,2012,28(4):160-164. Li L H,Huang R L,Huo L M,et al. Design and experiment on monitoring device for layers individual production performance parameters[J]. Transactions of the CSAE,2012,28(4):160-164(in Chinese with English abstract). |
| [5] | Wu S H,Wu K L,Liang J,et al. Design of remote environment control system of intelligent network henhouse based on ARM9[J]. Procedia Engineering,2011,15:1056-1060. |
| [6] | Dong F W,Zhang N Q. Wireless sensor networks applied on environmental monitoring in fowl farm[C]//Li D L,Zhao C J.Computer and Computing Technologies in Agriculture Ⅲ. Berlin,Heidelberg:Springer,2010. |
| [7] | CihanS,Emine D B. Development of remote control and monitoring of web-based distributed OPC system[J]. Computer Standards & Interfaces,2009,31(5):984-993. |
| [8] | Kittisut P,Pornsuwancharoen N. Design of information environment chicken farm for management which based upon GPRS technology[J]. Procedia Engineering,2012,32:342-347. |
| [9] | 姜兰池,李二涛,张国煊. 基于传感器网络的无线链路丢包率研究[J]. 杭州电子科技大学学报,2009,29(4):42-45. Jiang L C,Li E T,Zhang G X. Research on packet loss rate in wireless sensor networks[J]. Journal of Hangzhou Dianzi University,2009,29(4):42-45(in Chinese with English abstract). |
| [10] | 熊迎军,沈明霞,刘永华,等. 混合架构智能温室信息管理系统的设计[J]. 农业工程学报,2012,28(S1):181-185. Xiong Y J,Shen M X,Liu Y H,et al. Design of intelligent greenhouse information management system with hybrid architecture[J]. Transactions of the CSAE,2012,28(S1):181-185(in Chinese with English abstract). |
| [11] | 吴建华,付仲良,王力,等. 基于C/S与B/S混合架构的排水地理信息系统[J]. 计算机工程与应用,2007,43(7):230-232. Wu J H,Fu Z L,Wang L,et al. Drainage geographic information system based on C/S and B/S hybrid architecture[J]. Computer Engineering and Applications,2007,43(7):230-232(in Chinese with English abstract). |
| [12] | 崔丽珍,李璋,史明泉. 一种新型多用无线传感器网络平台硬件设计与实现[J]. 传感器与微系统,2014,33(7):82-85. Cui L Z,Li Z,Shi M Q. Design and implementation of a new multi-use WSNs platform hardware[J]. Transducer and Microsystem Technologies,2014,33(7):82-85(in Chinese with English abstract). |
| [13] | 贺洪江,程琳. 基于STM32和Modbus的电参数采集系统[J]. 自动化与仪表,2014,29(6):26-29. He H J,Cheng L. Electric parameter acquisition system based on STM32 and Modbus[J]. Automation and Instrumentation,2014,29(6):26-29(in Chinese with English abstract). |
| [14] | 林大鹏,刘辉,胡振球. 压力传感器的非线性校正和迟滞补偿[J]. 电子元器件应用,2012,14(7):4-7. Lin D P,Liu H,Hu Z Q. Non-linearity calibration and hysteresis compensation of pressure sensor[J]. Electronic Component & Device Applications,2012,14(7):4-7(in Chinese with English abstract). |
| [15] | 中华人民共和国农业部质量标准办公室. NY/T 388—1999 畜禽场环境质量标准[S]. 北京:中国标准出版社,1999. Quality Standards Office of Ministry of Agriculture of the People's Republic of China. NY/T 388-1999 Environmental quality standard for the livestock and poultry farm[S]. Beijing:Standards Press of China,1999(in Chinese). |
| [16] | 栗鹏飞,杨永平. 提高太阳能热泵系统温度传感器测量准确性的研究[J]. 传感技术学报,2014,27(8):1017-1021. Li P F,Yang Y P. Research on improving measurement accuracy of solar heat pump system of temperature sensor[J]. Chinese Journal of Sensors and Actuators,2014,27(8):1017-1021(in Chinese with English abstract). |
| [17] | 张传帅,张天蛟,张漫,等. 基于WSN的温室环境信息远程监测系统[J]. 中国农业大学学报,2014,19(5):168-173. DOI:10.11841/j.issn.1007-4333.2014.05.23. Zhang C S,Zhang T J,Zhang M,et al. Remote environmental monitoring system for greenhouse based on WSN[J]. Journal of China Agricultural University,2014,19(5):168-173(in Chinese with English abstract). |


