一种基于NB-IoT的生猪生长关键参数监测系统及方法
技术领域
本发明属于生猪等畜禽养殖领域,尤其涉及一种基于NB-IoT的生猪生长关键参数监测系统及方法。
背景技术
生猪养殖是我国农业的支柱产业之一,中国养猪业正逐步由小规模向集约化、工厂化发展。随着生猪养殖规模化与集约化的程度不断提高,生猪生长环境不断恶化,病害发病率越来越高,对养殖户以及地区经济带来的损失越来越大。对生猪的生长信息进行监测,并有效地检测出参数的异常,采取相应的预防和治疗措施,是最大限度的降低损失的有效途径之一。近年来,计算机技术和远程通信技术在农业中得到了大量的应用,养猪业的信息化管理日益重要,设计一种生猪生长关键参数监测系统对于推动养殖业的发展具有重要意义。
物联网在农业领域有着广泛的应用前景,运用物联网无线传输技术可解决传统有限网络布线困难、覆盖范围小和设备成本较高的问题。现阶段物联网的无线传输方案主要有ZIGBEE、WIFI、GPRS和LTE。但各自都有其缺点,其中ZIGBEE和WIFI传输距离短、穿透能力差且需要自建基站和网关,GPRS和LTE传输稳定,但功耗较大、通讯资费较贵且对网络覆盖的要求较高。窄带物联网(Narrow Band Internet of Things,NB-IoT)作为时下新兴的物联通讯方式,具有低功耗、广覆盖、低成本、大容量四个基础特点,使用License频段,可采取带内、保护带或独立载波三种部署方式,与现有网络共存,降低部署成本,实现平滑升级。
发明内容
本发明的目的在于,为了适应国内生猪养殖规模化和工厂化的要求,解决生猪养殖过程中,生猪生长信息的采集多通过人工采集,记录效率低,耗费大量的人工体力,提供一种生猪生长信息自动采集系统。本系统使用RFID电子标签和多种传感器,实时采集现场生猪的体重,采食量和生长的温湿度信息,运用NB-IoT通讯技术实现现场数据的远程传输。在实际养殖过程中发现,当猪只出现疾病时,会出现体温升高、采食量和采食次数下滑的情况。这些健康异常的猪只通过肉眼观察很难及时发现,情况严重时还可能传染其它猪只,给养殖户造成重大的经济损失。本系统重点监测猪只的体温和采食情况,并将采食数据与历史数据进行对比,及时发现猪只的采食行为异常。发生数据异常时及时通过手机客户端及时通知养殖户,对现场的猪只进行检查,必要时采取治疗措施。
本发明通过以下技术手段实现上述目的。
一种基于NB-IoT的生猪生长关键参数监测系统,包括现场设备端、远程服务器和手机客户端。
所述现场设备端,包括信息识别模块、可编程逻辑控制器、现场参数采集模块、下料驱动模块和下料装置。所述可编程逻辑控制器(PLC)通过PORT口连接其他模块。所述信息识别模块包括电子耳标和电子耳标读写头。所述现场参数采集模块包括多个传感器。所述下料驱动模块,包括步进电机和步进电机驱动器,与下料装置相连接,由PLC控制步进电机驱动下料装置下料。所述数据传输模块和PLC之间进行UART通信,上传数据到NB-IoT连接管理平台,连接管理平台收到并解析数据后,使用HTTPS协议将数据推送到远程服务器。
所述远程服务器,包括数据服务模块、数据库模块、数据处理模块和异常检测模块。所述数据服务模块作为服务端一方面使用NB-IoT连接管理平台的API和自定义的回调函数接收连接管理平台推送的现场采集数据,数据处理模块对数据进行数据类型转换和处理后存入数据库中,另一方面接收手机客户端的连接请求和提供数据信息。所述异常检测模块,检测生猪的采食量、采食次数、体温和生长环境的温湿度是否发生异常,当数据发生异常时将异常信息发送到饲养员的手机客户端,通知饲养员对现场设备和异常猪只进行处理。
所述手机客户端,包括登录模块、监控节点管理模块、预警模块、信息监测模块和历史曲线分析模块。所述登录模块用于用户连接服务器以及身份确认。所述监控节点管理模块用于添加现场参数采集设备和待监测的猪个体的相关信息。所述预警模块用于获取和查询异常猪个体的预警信息。所述信息监测模块用于显示猪个体的生长参数信息。所述历史曲线分析模块用于显示猪个体生长参数历史信息的折线图。
进一步,所述的基于NB-IoT的生猪生长关键参数监测系统,采集生猪生长的生理参数和环境参数,其中生理参数包括体重参数、采食参数和体温参数,并使用采食和体温参数用作疾病预警。
进一步,所述多个传感器包括温湿度传感器、红外非接触式测温传感器、体重传感器和料重传感器。其中料重传感器位于食槽底部,系统在监测到猪只进入和离开采食区域的前后,获取食槽中饲料的重量,从而获取猪只单次进食的采食量。
进一步,所述数据传输模块使用NB-IoT DTU模块连接NB-IoT基站,通过NB-IoT核心网传输现场数据到NB-IoT连接管理平台,默认传输协议为COAP协议。
进一步,所述现场参数采集模块还包括光电开关和隔离围栏。所述光电开关用于检测是否有猪只进入测量区域,所述隔离围栏固定于测量区域两边,防止其它猪只干扰测量过程。
进一步,所述的数据采集模块采集的体重值为多个离散的不稳定值,在远程服务器数据处理模块中使用数字滤波算法进行处理。
进一步,所述的数字滤波算法为卡尔曼滤波算法。
本发明还提出了一种基于NB-IoT的生猪生长关键参数监测系统的监测方法,有如下步骤:
步骤1,首先进行现场采集设备的安装,在猪生活区域的一部分划定采食区域,安装下料装置,隔离围栏,现场参数采集与下料控制的相关电子设备;
步骤2,为猪个体佩戴电子耳标,并将电子耳标值和猪个体的基本信息使用手机客户端或上位机软件输入数据库中;
步骤3,按照NB-IoT连接管理平台的规范定义配置文件和编解码文件,根据NB-IoT模块的IMEI注册平台设备。配置NB-IoT模块,连接NB-IoT连接管理平台,接受现场设备采集到的数据;
步骤4,打开远程服务器,通过NB-IoT连接管理平台的API和自定义的回调函数获得平台推送的猪只体温、体重、采食量和生长环境温湿度数据;
步骤5,调用数据数据处理模块,对采集的体重数据采用卡尔曼滤波算法,预测体重数据的真实值,数据处理完成后将采集的数据和时间存入数据库;
步骤6,调用数据预警模块,根据预先设置的预警阈值,判断数据是否发生异常。其中对于采食量和采食次数,根据猪只耳标号从数据库中查找猪只48小时内所有的采食数据。将前24小时与后24小时的数据分别相加作为当日和历史采食数据,如果当日数据相比历史数据有明显下滑时,判定为采食异常;
步骤7,判定为异常数据,将对应的耳标号信息存储到数据库异常值对应的表中,并发送预警信息给手机客户端;
步骤8,饲养员使用手机客户端通过socket套接字与远程服务器相连,及时接收预警信息,根据预警信息对现场情况进行处理并实现服务器数据的共享,获取猪只的实时生长状态和历史数据。
进一步,所述的步骤5体重数据处理具体执行以下步骤:
步骤5.1,载入现场称量体重的原始时间序列值,由于在传输过程中发生丢包现象,缺失数值用其前值和后值的中值替代,并求取所有数据的平均值;
步骤5.2,使用体重原始数据的平均值作为体重最优估计
的初始值,最优协方差P
k-1的初始值取0,固定过程激励噪声方差Q和测量方差R,Q和R的值由试验确定,一般可取Q=10
-6,R=10
-5;
步骤5.4,计算卡尔曼增益K
k,更新最优估计
和最优协方差P
k,
其中z
k为原始体重序列的数值;
步骤5.5,k=k-1,返回步骤5.3继续迭代,当k=200时停止迭代;
步骤5.6,查找数据库中当天测得的所有体重历史值与本次体重的最优估计值计算平均值作为当天测得猪只体重的测量值并更新数据库中当日体重数据。
本发明的有益效果:
1.现场信息采集设备使用光电开关识别猪只进入采集区,使用步进电机对投喂装置进行控制,设备简单,减少故障发生率。使用PLC进行数据收发,抗干扰能力强,可适应猪场恶劣的现场环境。
2.数据远程通信使用新一代NB-IoT通讯技术,具有低功耗、广覆盖、低成本、大容量等优势,符合物联网发展的趋势。
3.全天监测体温和采食数据,可以有效发现健康异常的猪只。
4.系统交互采用手机客户端,饲养员及时接受异常猪只预警信息,第一时间对可能患有疾病的猪只进行处理,降低养殖风险。并且可随时查询猪个体的生长状态参数和历史曲线图,作为养殖管理的重要参考。
5.针对体重数据采集过程中容易产生的误差,设计了体重数据数字滤波策略,提高了体重数据测量的准确性。
附图说明
图1是本发明的系统整体结构图
图2是本发明的现场硬件安装布局图
图3是本发明的现场参数采集过程流程图
图4是本发明的手机客户端功能框图
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种基于NB-IoT的生猪生长关键参数监测系统包括现场设备端,远程服务器和手机客户端。现场设备端包括信息识别模块、可编程逻辑控制器、现场参数采集模块、下料驱动模块和下料装置。所述可编程逻辑控制器(PLC)通过port口连接其他模块。所述信息识别模块包括RFID电子耳标读写头和电子耳标,根据猪只佩戴的电子耳标对应的耳标号进行猪只身份的识别。所述现场参数采集模块包括温湿度传感器,红外非接触式传感器,体重传感器和料重传感器。所述料重传感器位于食槽底部,系统在监测到猪只进入和离开采食区域的前后,获取食槽中饲料的重量并相减,从而获取猪只单次进食的采食量。所述下料驱动模块,包括步进电机和步进电机驱动器,与下料装置相连接,由PLC控制步进电机控制饲料投喂器旋转的圈数和角度而完成饲料的定量投放。可通过手机客户端设置电机的转速和旋转时间,PLC在内部转换为输出步进电机驱动器的脉冲量进而控制每次的饲料投放速度和投放量。所述数据传输模块为NB-IoT DTU模块,和PLC之间进行UART通信,连接NB-IoT基站,采用COAP传输协议,通过NB-IoT核心网将现场数据传输到NB-IoT连接管理平台。作为具体的实施例,为了不失一般性,NB-IoT连接管理平台可使用华为OceanConnect连接管理平台,用户登入连接管理平台后可应用图形界面快速定义传输数据的格式和相应的编解码文件,并提供SDK方便远程服务器应用的开发。所述NB-IoT连接管理平台在接收到现场端和应用的数据后,根据对应的编解码文件解析数据,执行上报数据的推送和命令的下发。连接管理平台通过HTTPS协议推送信息到远程服务器应用,用户需自行上传数字证书以加密通信数据,保证了通信数据的安全性。
图2是现场设备的硬件安装布局,其中体重传感器和料重传感器通过称重仪表连接PLC的PORT口,在仪表内部进行A/D转换和滤波,输出量为RS-485的数字量信号,温湿度传感器可安装于其它任意位置。RFID读写头、温湿度传感器、和NB-IOT DTU的数据端口皆为RS-485。作为具体的实施例,为了不失一般性,PLC可使用西门字S7-200系列小型可编程控制器。称重仪表和称重传感器可使用XK3190-C8型仪表和其配套的称重传感器,仪表内部AD转换速率可达80次每秒。温湿度传感器可使用AW1485B型传感器,温度测量精度±0.3℃,湿度测量精度±2%。RFID读写头可使用RPD-A04系列读写头,读取距离为45cm±10%,可配套使用畜禽养殖常用的13.5KHz电子耳标。红外非接触式测温传感器可使用TP2304V1型测温传感器,常温范围内测温精度可达±0.5℃。
图3是现场参数采集过程的流程图,当猪只在进食时进入到采食区域内,触发红外光电开关,PLC获得开关的上升沿信号后,驱动步进电机带动下料装置根据预设值下料,完成饲料的投放。一段时间后PLC采用轮询的方式,向电子耳标读写头和传感器发送相应的读取命令,采集猪只的生长环境和生理信息。猪只完成采食后离开采食区域,红外光电开关监测到猪只离开,PLC通过NB-IoT DTU发送采集信息数据到NB-IoT连接管理平台,完成一次数据的采集过程。
由于在进行体重数据采集时,猪只会在体重称上不经意地晃动,导致称量的体重数值不准确,为了提高系统称得体重数据的准确性,本系统设计了体重数据数字滤波策略。具体做法为,首先现场采集数据选择在光电开关识别到猪只进入采食区域后间隔5秒进行,此时猪只相对平稳地站立于称台之上,然后以0.1s一次的采样频率采集200个体重时间序列数据,在AD转换后得到数字量存入PLC连续地址寄存器中,最后数据经过NB-IoT连接管理平台解析后推送至远程服务器,在远程服务器的数据处理模块中首先计算采集数据的平均值,以平均值作为卡尔曼滤波的初始值进行迭代计算得到体重数据的最优预测值。猪只每天会进行多次进食,再将每天所有经过滤波处理的最优预测值再求取平均值,作为每天所测猪只的称重数据。
远程服务器,包括数据服务模块,数据库模块,数据处理模块和异常检测模块。作为具体的实施例,服务器应用可以由用户自行实现NB-IOT连接管理平台的API接口并创建web应用对接连接管理平台,也可以在上述华为Ocean Connect连接管理平台提供的SDK的基础上进行开发,所述SDK已经使用Java语言实现了大部分API功能和回调函数,并且基于Spring Boot框架开发,使用内嵌式Tomcat,用户可以不需要建立动态Web工程和搭建Web服务器便可完成简单应用的开发。所述数据服务模块作为服务端一方面使用NB-IoT连接管理平台的API和回调函数接收连接管理平台推送的现场采集数据,数据处理模块对数据进行数据类型转换和处理后存入数据库中,另一方面接收手机客户端的连接请求和提供数据信息。所述异常检测模块,检测生猪的采食量、采食次数、体温和生长环境温湿度是否发生异常,当数据发生异常时将异常信息发送到饲养员的手机客户端,通知饲养员对现场设备和异常猪只进行处理。
本发明采用猪只体温、采食量和采食次数来判断猪只的健康状态是否发生异常,其中采食量和采食次数在生猪的生长过程中是一个不断变化的量,我国生猪饲养的正常周期为180天,采食量和采食次数会随着猪只日龄和体型的增长呈现上升趋势,一般情况下很少会出现采食量和采食次数下降的情况。当猪只采食量和采食次数有明显下降时,极大可能出现患病状况。本系统采食量和采食次数异常检测的具体做法为,远程服务器接收到NB-IoT连接管理平台推送的现场猪只的测量数据时,根据猪只耳标号从数据库中查找猪只48小时内所有的采食数据,将前24小时与后24小时的数据分别相加作为当日和历史采食数据,如果当日数据相比历史数据有明显下滑时,判定为采食量异常。
为了方便养殖场的养殖技术人员随时随地接受养殖场的预警信息和实时了解生猪生长信息,系统交互方式采用手机客户端。手机客户端采用Socket套接字与远程服务器建立TCP长连接,手机客户端与服务器之间可双向传递信息。图4是手机客户端的模块框图,包括登录模块、监控节点管理模块、预警模块、信息监测模块和历史曲线分析模块。所述登录模块用于用户连接服务器以及身份确认。所述监控节点管理模块用于添加现场参数采集设备和待监测的猪个体的相关信息。所述预警模块用于获取和查询异常猪个体的预警信息。所述猪个体信息监测模块用于显示猪个体的生长参数信息。所述历史曲线分析模块用于显示猪个体的生长参数历史信息的折线图。
本发明的具体实施方法包括如下步骤:
步骤1,首先进行现场采集设备的安装,在猪生活区域的一部分划定采食区域,安装下料装置,隔离围栏,现场参数采集与下料控制的相关电子设备;
步骤2,为猪个体佩戴电子耳标,并将电子耳标值和猪个体的基本信息使用手机客户端或上位机软件输入数据库中;
步骤3,按照NB-IoT连接管理平台的规范定义配置文件和编解码文件,根据NB-IoT模块的IMEI注册平台设备。配置NB-IoT模块,连接NB-IoT连接管理平台,接受现场设备采集到的数据;
步骤4,打开远程服务器,通过NB-IoT连接管理平台的API和自定义的回调函数获得平台推送的猪只体温、体重、采食量和生长环境温湿度数据;
步骤5,调用数据数据处理模块,对采集的体重数据采用卡尔曼滤波算法,预测体重数据的真实值,数据处理完成后将采集的数据和时间存入数据库;
步骤6,调用数据预警模块,根据预先设置的预警阈值,判断数据是否发生异常。其中对于采食量和采食次数,根据猪只耳标号从数据库中查找猪只48小时内所有的采食数据。将前24小时与后24小时的数据分别相加作为当日和历史采食数据,如果当日数据相比历史数据有明显下滑时,判定为采食异常;
步骤7,判定为异常数据,将对应的耳标号信息存储到数据库异常值对应的表中,并发送预警信息给手机客户端;
步骤8,饲养员使用手机客户端通过socket套接字与远程服务器相连,及时接收预警信息,根据预警信息对现场情况进行处理并实现服务器数据的共享,获取猪个体的实时生长状态和历史数据。
进一步,所述的步骤5体重数据处理具体执行以下步骤:
步骤5.1,载入现场称量体重的原始时间序列值,由于在传输过程中发生丢包现象,缺失数值用其前值和后值的中值替代,并求取所有数据的平均值;
步骤5.2,使用体重原始数据的平均值作为体重最优估计
的初始值,最优协方差P
k-1的初始值取0,固定过程激励噪声方差Q和测量方差R,Q和R的值由试验确定,一般可取Q=10
-6,R=10
-5;
步骤5.4,计算卡尔曼增益K
k,更新最优估计
和最优协方差P
k,
其中z
k为原始体重序列的数值;
步骤5.5,k=k-1,返回步骤5.3继续迭代,当k=200时停止迭代;
步骤5.6,查找数据库中当天测得的所有体重历史值与本次体重的最优估计值计算平均值作为当天测得猪只体重的测量值并更新数据库中当日体重数据。
以上实施方式仅用于说明本发明的实施例,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案页,属于本发明的范畴,本发明的专利保护范围应由权利要求所限制。